.dm-section { padding: 60px 0; }
.dm-container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.dm-title { font-size: 34px; margin-bottom: 24px; font-weight: 700; letter-spacing: .2px; }

.dm-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 14px; padding: 22px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.dm-card + .dm-card { margin-top: 16px; }
.dm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width: 900px) { .dm-grid { grid-template-columns: 1fr; } }

.dm-table-wrap { overflow-x: auto; }
.dm-table { width: 100%; border-collapse: collapse; }
.dm-table th, .dm-table td { padding: 14px 12px; border-bottom: 1px solid #eee; }
.dm-table thead th { font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: .5px; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.dm-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 18px; }
.inline { display: inline; }

.btn-custom, .btn-outline {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: 999px; text-decoration: none; cursor: pointer;
  font-weight: 600; letter-spacing: .2px; transition: .2s ease;
}
.btn-custom { background: #e30613; color: #fff; border: 1px solid #e30613; }
.btn-custom:hover { filter: brightness(1.05); transform: translateY(-1px); }
.btn-outline { background: #fff; color: #333; border: 1px solid #ddd; }
.btn-outline:hover { border-color: #bbb; transform: translateY(-1px); }

.dm-list { list-style: none; padding: 0; margin: 0; }
.dm-list-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px dashed #eee; }
.dm-total { display: flex; justify-content: space-between; padding-top: 12px; font-size: 18px; font-weight: 700; }

.dm-form .dm-field { margin-bottom: 14px; }
.dm-form label { display: block; margin-bottom: 6px; font-weight: 600; }
.dm-form input, .dm-form textarea {
  width: 100%; border: 1px solid #ddd; border-radius: 10px; padding: 10px 12px; outline: none;
}
.dm-form input:focus, .dm-form textarea:focus { border-color: #e30613; box-shadow: 0 0 0 3px rgba(227,6,19,.08); }
.req { color: #e30613; margin-left: 4px; }

.dm-alert { padding: 12px 14px; border: 1px solid #ffdad6; background: #fff3f2; color: #9b1c13; border-radius: 10px; margin-bottom: 16px; }
.dm-success { padding: 18px; border: 1px solid #d4f5dd; background: #f3fff6; color: #0b6b2d; border-radius: 12px; }
