/* Unique Amaze admin — builds on site.css tokens and components. */
body.admin { display:grid; grid-template-columns:248px 1fr; min-height:100dvh; background:var(--bg-alt); }
.admin-side { position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; gap:var(--space-5); padding:var(--space-5) var(--space-3); overflow:auto; }
.admin-brand { display:flex; align-items:center; gap:10px; padding:4px 10px 12px; text-decoration:none; font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-secondary); }
.admin-side nav, .admin-side__foot { display:grid; gap:2px; }
.admin-side__foot { margin-top:auto; padding-top:var(--space-4); border-top:1px solid var(--border-subtle); }
.admin-side a, .admin-side button { display:flex; align-items:center; gap:12px; width:100%; padding:10px 12px; border-radius:10px; text-decoration:none; font-size:14px; font-weight:500; color:var(--text-secondary); text-align:left; }
.admin-side a:hover, .admin-side button:hover { background:var(--hover-wash); color:var(--text-primary); }
.admin-side a.is-active { background:rgba(45,212,191,.12); color:#fff; }
.admin-side a.is-active .icon { color:var(--teal-400); }
.admin-count { margin-left:auto; min-width:22px; padding:2px 7px; border-radius:6px; background:var(--accent); color:#fff; font-size:12px; text-align:center; }
.admin-main { padding:clamp(20px,3vw,40px); max-width:1240px; width:100%; display:grid; gap:var(--space-5); align-content:start; }
.admin-head { display:flex; justify-content:space-between; align-items:end; gap:var(--space-4); flex-wrap:wrap; }
.admin-head a { text-decoration:none; }
.toast { display:flex; gap:10px; align-items:center; padding:12px 16px; border-radius:12px; font-weight:500; animation:fade-in .4s var(--ease-out); }
.toast--ok { background:var(--success-soft); color:var(--success); }
.toast--err { background:var(--danger-soft); color:var(--danger); }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:var(--space-4); }
.stat { display:grid; gap:4px; }
.stat__n { font-family:var(--font-display); font-weight:800; font-size:40px; line-height:1; }
.stat__l { color:var(--text-secondary); font-size:14px; }
.admin-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:var(--space-5); align-items:start; }
.admin-card-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:var(--space-4); flex-wrap:wrap; }
.admin-card-head a { font-size:14px; color:var(--accent-on-soft); text-decoration:none; }
.admin-list { list-style:none; padding:0; display:grid; }
.admin-list a { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; padding:12px 8px; border-top:1px solid var(--border-subtle); text-decoration:none; border-radius:8px; }
.admin-list a:hover { background:var(--hover-wash); }
.admin-list span { color:var(--text-secondary); font-size:14px; }
.admin-list time { margin-left:auto; font-size:13px; color:var(--text-muted); }
.muted { color:var(--text-muted); font-size:14px; }
.card--flush { padding:0; overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:14px; }
.admin-table th { text-align:left; font-family:var(--font-mono); font-weight:400; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-muted); padding:14px 18px; border-bottom:1px solid var(--border-subtle); }
.admin-table td { padding:12px 18px; border-bottom:1px solid var(--border-subtle); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table tr:hover td { background:var(--surface-card-hover); }
.admin-table__title { font-weight:600; text-decoration:none; }
.admin-table__actions { text-align:right; width:1%; white-space:nowrap; }
.admin-form { display:grid; gap:var(--space-6); }
.admin-fields { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); }
@media (max-width:760px) { .admin-fields { grid-template-columns:1fr; } }
.field__help { font-size:13px; color:var(--text-muted); }
.input--color { padding:6px; width:96px; }
.admin-form__bar { display:flex; gap:10px; align-items:center; }
.admin-form__bar--sticky { position:sticky; bottom:16px; padding:12px; border-radius:14px; background:color-mix(in srgb, var(--bg-page) 85%, transparent); backdrop-filter:blur(12px); border:1px solid var(--border-subtle); box-shadow:var(--shadow-2); }
.admin-settings { display:grid; gap:var(--space-5); }
.admin-settings .card { display:grid; gap:var(--space-5); }
.image-field { display:grid; grid-template-columns:200px 1fr; gap:var(--space-4); align-items:center; }
.image-field__preview { aspect-ratio:3/2; border-radius:12px; overflow:hidden; background:var(--bg-sunken); display:grid; place-items:center; color:var(--text-muted); font-size:13px; border:1px solid var(--border-subtle); }
.image-field__preview img { width:100%; height:100%; object-fit:cover; }
.image-field__preview span { display:flex; gap:6px; align-items:center; }
.image-field__controls { display:grid; gap:10px; justify-items:start; }
@media (max-width:640px) { .image-field { grid-template-columns:1fr; } }
.admin-gallery { display:grid; gap:var(--space-5); }
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:var(--space-4); }
.gallery-item { display:grid; gap:10px; padding:12px; border-radius:14px; border:1px solid var(--border-subtle); background:var(--bg-alt); font-size:13px; }
.gallery-item img { border-radius:10px; aspect-ratio:3/2; object-fit:cover; width:100%; }
.gallery-item label:not(.check) { display:grid; gap:4px; font-weight:600; }
.gallery-item .input { min-height:40px; font-size:14px; }
.dropzone { display:grid; justify-items:center; gap:10px; padding:var(--space-7); border:2px dashed var(--border-strong); border-radius:var(--radius-lg); text-align:center; transition:border-color var(--dur-fast), background var(--dur-fast); }
.dropzone.is-over { border-color:var(--accent); background:var(--accent-soft); }
.dropzone__icon { width:32px; height:32px; color:var(--accent-on-soft); }
.dropzone__opts { display:flex; flex-wrap:wrap; gap:10px; align-items:end; justify-content:center; }
.dropzone__opts label { display:grid; gap:4px; font-size:13px; font-weight:600; text-align:left; }
.dropzone__opts .input { min-height:40px; }
.link { color:var(--accent-on-soft); text-decoration:underline; cursor:pointer; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:var(--space-4); }
.media-item img { aspect-ratio:3/2; object-fit:cover; width:100%; }
.media-item figcaption { display:grid; gap:4px; padding:12px; font-size:13px; }
.media-item__actions { display:flex; justify-content:space-between; }
.danger-zone { justify-self:start; }
.danger-link { color:var(--danger); }
.admin-dl { display:grid; gap:12px; margin-bottom:var(--space-5); }
.admin-dl div { display:grid; grid-template-columns:120px 1fr; gap:12px; font-size:15px; }
.admin-dl dt { color:var(--text-muted); font-size:13px; }
.admin-dl--compact div { grid-template-columns:1fr 1fr; font-size:14px; }
.admin-message { white-space:pre-wrap; background:var(--bg-alt); padding:16px; border-radius:12px; margin-top:8px; }
.admin-status { display:flex; gap:10px; align-items:center; margin-block:var(--space-5); }
.admin-status .input { max-width:200px; min-height:40px; }
.admin-filter { margin-bottom:-8px; }
.admin-narrow { max-width:520px; display:grid; gap:var(--space-4); }
body.admin-bare { min-height:100dvh; display:grid; place-items:center; padding:24px; }
.auth { width:min(440px,100%); padding:clamp(24px,5vw,40px); border-radius:var(--radius-xl); display:grid; gap:var(--space-4); }
.auth img { width:110px; }
.auth__form { display:grid; gap:var(--space-4); }
.auth__lede { color:var(--text-secondary); }
.auth__back { font-size:14px; color:var(--text-secondary); text-decoration:none; }
.auth .input { background:rgba(0,0,0,.3); }
@media (max-width:900px) {
  body.admin { grid-template-columns:1fr; }
  .admin-side { position:static; height:auto; flex-direction:row; flex-wrap:wrap; padding:12px; gap:8px; }
  .admin-side nav, .admin-side__foot { display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; border:0; }
  .admin-side a, .admin-side button { width:auto; padding:8px 10px; }
  .admin-side a span, .admin-side button span { font-size:13px; }
}

/* The admin is a tool: no page-morph transitions. */
@view-transition { navigation: none; }
/* Enquiry page: status + internal notes, and AI readiness scan reports */
.admin-lead-form { display:grid; grid-template-columns:1fr; align-items:stretch; }
.admin-lead-form .input { max-width:none; }
.admin-lead-form textarea.input { min-height:110px; padding:12px 14px; }
.admin-lead-form .btn { justify-self:start; }
.admin-findings { padding-left:1.2em; display:grid; gap:8px; margin-top:8px; font-size:14px; }
.admin-rule { border:0; border-top:1px solid var(--border-subtle); margin-block:var(--space-5); }
.admin-scan-h { margin-top:var(--space-5); }
.admin-scan-cat { padding:18px 18px 0; }

/* ── Billing ─────────────────────────────────────────────────────────── */
.mono { font-family:var(--font-mono); font-size:.92em; letter-spacing:.02em; }
.num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.admin-head__actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.bill-alerts { display:flex; flex-wrap:wrap; gap:10px; }
.bill-alert { display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border-radius:10px; background:var(--accent-soft); color:var(--accent-on-soft); text-decoration:none; font-size:14px; }
.bill-alert--warn { background:var(--danger-soft); color:var(--danger); }
.bill-filters { display:grid; grid-template-columns:2fr repeat(4,1fr) auto; gap:12px; align-items:end; }
.bill-filters label { display:grid; gap:4px; font-size:13px; font-weight:600; color:var(--text-secondary); }
.bill-filters .input { min-height:40px; font-size:14px; }
.bill-filters__go { display:flex; gap:12px; align-items:center; }
@media (max-width:1000px) { .bill-filters { grid-template-columns:1fr 1fr; } .bill-filters label:first-child { grid-column:1 / -1; } }
.bill-from-lead { display:grid; gap:6px; }
.bill-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.bill-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:var(--space-5); align-items:start; }
.bill-money dd strong { font-size:1.05em; }
.bill-exception { padding:10px 14px; border-radius:10px; background:var(--premium-soft); font-size:14px; }
.bill-next { display:grid; gap:14px; border-left:3px solid var(--accent); }
.bill-action { display:grid; gap:10px; justify-items:start; max-width:640px; }
.bill-action .input { min-height:40px; width:100%; }
.bill-action--inline { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.bill-confirm { padding:10px 12px; border-radius:10px; background:var(--bg-alt); }
.bill-pad { padding:18px 18px 0; }
.bill-inv, .bill-pay { display:grid; gap:10px; padding:16px 18px; border-top:1px solid var(--border-subtle); }
.bill-inv:first-of-type, .bill-pay:first-of-type { border-top:0; }
.bill-pay.is-awaiting { background:color-mix(in srgb, var(--accent-soft) 45%, transparent); }
.bill-inv__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; }
.bill-inv__nums { font-size:14px; }
.bill-inv__actions { display:flex; flex-wrap:wrap; gap:8px; }
.bill-inv .admin-dl, .bill-pay .admin-dl { margin:0; }
.bill-verify { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:var(--space-5); padding-top:10px; border-top:1px dashed var(--border-subtle); }
.bill-row { display:flex; flex-wrap:wrap; gap:10px; align-items:end; width:100%; }
.bill-row label { display:grid; gap:4px; font-size:13px; font-weight:600; flex:1 1 140px; }
.bill-row .input { min-height:40px; }
.bill-row > .input { flex:1 1 200px; }
.bill-cancel summary { cursor:pointer; color:var(--text-secondary); font-size:14px; }
.bill-cancel[open] summary { margin-bottom:10px; }
.bill-audit { list-style:none; padding:0; margin:var(--space-4) 0; display:grid; gap:10px; font-size:14px; max-height:420px; overflow:auto; }
.bill-audit li { display:grid; gap:2px; padding-bottom:10px; border-bottom:1px solid var(--border-subtle); }
.bill-audit time { font-size:12px; color:var(--text-muted); font-family:var(--font-mono); }
.bill-link { display:grid; gap:8px; border-left:3px solid var(--success); }
.label { font-weight:600; }
.admin-main, .admin-fields > *, .admin-form { min-width:0; }
.admin-form input.input, .admin-form select.input, .admin-form textarea.input { max-width:100%; }
