.crm-hero h1 { font-size:clamp(2rem, 4vw, 3.4rem); }
.crm-page-title { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; }
.crm-auth-wrap { display:grid; place-items:center; }
.crm-auth-card { width:min(100%, 460px); display:grid; gap:1rem; }
.crm-message { min-height:1.5rem; margin:.2rem 0 1rem; color:var(--clr-warning); font-weight:700; }
.crm-message.success { color:var(--clr-success); }
.crm-table-wrap { overflow:auto; border:1px solid var(--clr-line); border-radius:12px; background:var(--clr-white); box-shadow:var(--shadow-card); }
.crm-table { width:100%; border-collapse:collapse; min-width:720px; }
.crm-table th,.crm-table td { padding:.9rem 1rem; border-bottom:1px solid var(--clr-line); text-align:left; vertical-align:top; }
.crm-table th { color:var(--clr-primary); background:var(--clr-offwhite); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.crm-table tr:last-child td { border-bottom:0; }
.crm-actions { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.crm-back-link { display:inline-block; color:var(--clr-primary); font-weight:800; margin-bottom:.75rem; }
.crm-info-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; margin-bottom:2rem; }
.crm-info-item { padding:1rem; border:1px solid var(--clr-line); border-radius:12px; background:var(--clr-white); }
.crm-info-item span { display:block; color:var(--text-subtle); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.crm-info-item strong { display:block; margin-top:.2rem; overflow-wrap:anywhere; }
.crm-panel { margin-top:2rem; }
.crm-panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.crm-record-list { display:grid; gap:.9rem; }
.crm-record-card { border:1px solid var(--clr-line); border-radius:12px; background:var(--clr-white); padding:1rem; box-shadow:var(--shadow-card); }
.crm-record-top { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.crm-record-title { margin:0; font-size:1.05rem; overflow-wrap:anywhere; }
.crm-field-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.7rem; margin-top:.9rem; }
.crm-field { background:var(--clr-offwhite); border:1px solid var(--clr-line); border-radius:10px; padding:.65rem; }
.crm-field span { display:block; color:var(--text-subtle); font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.crm-field strong { display:block; overflow-wrap:anywhere; }
.crm-status { display:inline-flex; align-items:center; border-radius:999px; padding:.22rem .55rem; background:var(--clr-primary-soft); color:var(--clr-primary); font-weight:900; font-size:.75rem; }
.crm-status.warn { background:#FFF7ED; color:var(--clr-warning); }
.crm-status.ok { background:#ECFDF5; color:var(--clr-success); }
.crm-dialog { width:min(760px, calc(100% - 2rem)); border:0; border-radius:14px; padding:0; box-shadow:0 24px 70px rgba(15,23,42,.24); }
.crm-dialog::backdrop { background:rgba(15,23,42,.45); }
.crm-dialog form { padding:1.2rem; }
.crm-dialog-head { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; }
.crm-dialog-actions { display:flex; justify-content:flex-end; gap:.7rem; margin-top:1rem; }
.crm-icon-button { width:38px; height:38px; border:1px solid var(--clr-line); border-radius:999px; background:var(--clr-white); cursor:pointer; font-weight:900; }
.crm-empty { color:var(--text-muted); padding:1rem; border:1px dashed var(--clr-line); border-radius:12px; background:var(--clr-offwhite); }
@media (max-width:900px) {
  .crm-page-title,.crm-record-top,.crm-panel-head { align-items:flex-start; flex-direction:column; }
  .crm-info-grid,.crm-field-grid { grid-template-columns:1fr; }
}
