/* ============================================================
   IAMD brand theme  (load AFTER hms-site.css — later values win)
   Palette: violet, aligned to IAMD / muscular-dystrophy "Purple"
   branding. To match the logo exactly, tweak --primary* below;
   every screen re-themes from these tokens.
   ============================================================ */
:root{
  --primary:#6D28D9;
  --primary-600:#5B21B6;
  --primary-700:#4C1D95;
  --primary-050:#F2ECFC;
  --teal-bright:#8B5CF6;                 /* accent now violet */
  --ring:0 0 0 3px rgba(109,40,217,.28);

  /* sidebar → deep plum for brand cohesion */
  --sidebar-bg:#1E1233;
  --sidebar-fg:#B9A9D6;
  --sidebar-fg-strong:#FFFFFF;
  --sidebar-hover:rgba(255,255,255,.07);
  --sidebar-active:rgba(139,92,246,.18);

  --ink-800:#1F2D38;
}

/* primary actions pick up the violet */
.btn-primary{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-600) 100%);border-color:var(--primary-700)}
.btn-primary:hover{background:linear-gradient(180deg,var(--primary-600) 0%,var(--primary-700) 100%)}
a{color:var(--primary-700)}

/* ---- logo ---- */
.brand-logo{display:inline-flex;align-items:center;gap:.5rem}
.brand-logo img{display:block;height:34px;width:auto}

/* ---- page chrome helpers ---- */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:var(--space-5)}
.page-head h1{font-family:var(--font-display);font-size:1.6rem;line-height:1.1;color:var(--ink-900);margin:0}
.page-head .sub{color:var(--ink-500);margin:.3rem 0 0}
.toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}
.search-inline{display:flex;gap:.5rem;flex:1;min-width:240px;max-width:460px}
.spacer{flex:1}
.empty{text-align:center;color:var(--ink-500);padding:var(--space-9) var(--space-5)}
.empty .ic{width:54px;height:54px;border-radius:14px;background:var(--primary-050);color:var(--primary-700);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-3)}

/* ---- table ---- */
.hms-table{width:100%;border-collapse:collapse;font-size:.9rem}
.hms-table th{text-align:left;font-weight:600;color:var(--ink-500);padding:.6rem .8rem;border-bottom:1px solid var(--line);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.hms-table td{padding:.72rem .8rem;border-bottom:1px solid var(--line);color:var(--ink-800);vertical-align:middle}
.hms-table tbody tr:hover td{background:var(--surface-2)}
.hms-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.table-wrap{overflow-x:auto}

/* ---- dashboards ---- */
.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}
.dash-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--space-5);box-shadow:var(--shadow-1)}
.dash-kpi .ic{width:42px;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-050);color:var(--primary-700);margin-bottom:var(--space-3)}
.dash-kpi .n{font-family:var(--font-display);font-size:2.1rem;line-height:1;color:var(--ink-900)}
.dash-kpi .l{display:block;margin-top:.4rem;color:var(--ink-500);font-size:.85rem}
.dash-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-4)}
.dash-quick a{display:flex;gap:.8rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--space-4);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.dash-quick a:hover{border-color:var(--primary);box-shadow:var(--shadow-2);transform:translateY(-1px)}
.dash-quick .ic{width:38px;height:38px;border-radius:10px;background:var(--primary-050);color:var(--primary-700);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.dash-quick .t{font-weight:600;color:var(--ink-900)}
.dash-quick .d{font-size:.82rem;color:var(--ink-500);margin-top:.15rem}

/* ---- forms ---- */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-5)}
.form-grid .col-span-2{grid-column:1 / -1}
.form-section{margin:var(--space-6) 0 var(--space-3)}
.form-section h3{font-family:var(--font-display);font-size:1.05rem;color:var(--ink-900);margin:0 0 .15rem}
.form-section p{color:var(--ink-500);font-size:.84rem;margin:0}
select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6B76' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}
.req:after{content:" *";color:var(--danger)}
.consent{display:flex;gap:.6rem;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .9rem}
.consent input{margin-top:.2rem}

/* ---- journey ---- */
.j-steps{display:flex;flex-direction:column;gap:.65rem}
.j-step{display:flex;gap:.85rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.8rem 1rem}
.j-step.na{opacity:.55}
.j-dot{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex:0 0 auto;font-size:.85rem}
.j-dot.done{background:var(--st-active)}
.j-dot.prog{background:var(--st-followup)}
.j-dot.todo{background:var(--ink-400)}
.j-step .nm{font-weight:600;color:var(--ink-900)}
.j-step .st{margin-left:auto;font-size:.8rem;color:var(--ink-500)}
.j-flow{display:inline-flex;gap:5px;align-items:center}
.j-flow i{width:11px;height:11px;border-radius:50%;display:inline-block;background:var(--ink-400)}
.j-flow i.done{background:var(--st-active)}
.j-flow i.prog{background:var(--st-followup)}

/* doctor board tabs */
.board-tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:var(--space-5)}
.board-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:.6rem .85rem;cursor:pointer;color:var(--ink-500);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.45rem}
.board-tab .dotc{width:9px;height:9px;border-radius:50%}
.board-tab.is-active{color:var(--ink-900);border-bottom-color:var(--primary)}
.board-tab .cnt{background:var(--surface-2);border-radius:var(--r-pill);padding:.05rem .45rem;font-size:.72rem;color:var(--ink-500)}
.worklist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}

@media (max-width:720px){ .form-grid{grid-template-columns:1fr} }

/* Enquiry capture form: let the tab bar wrap instead of scrolling (removes the scrollbar). */
.enq-form-tabs .tabs{flex-wrap:wrap;overflow:visible}
