/* Existing Mifzza brand, quiet decision surfaces, responsive admin only. */
.admin-shell {
  --admin-gap: 1rem;
  --admin-line: rgba(var(--theme-rgb),.18);
  --admin-muted: #5b605b;
  --admin-text: var(--navy-800,#102a36);
  --admin-radius: .875rem;
}
.admin-shell .main { min-width: 0; max-width: 100%; }
.admin-shell .page-head { margin-block: 1.25rem; }
.admin-shell .page-head h1 { font-size: clamp(1.5rem, 1.2rem + .7vw, 1.875rem); }
.admin-shell .page-head p { color: var(--admin-muted); font-size: .875rem; }
#admin-body, #admin-tab, #admin-body * { min-width: 0; box-sizing: border-box; }
#admin-body { font-variant-numeric: tabular-nums; color: var(--admin-text); }
#admin-tab { display: grid; gap: var(--admin-gap); padding-block-end: 2rem; }
#admin-tab > .card { margin: 0; }
#admin-body .card { border-radius: var(--admin-radius); border-color: var(--admin-line); box-shadow: 0 2px 10px #102a3605; }
#admin-body h2, #admin-body h3 { line-height: 1.6; }
#admin-body p, #admin-body td, #admin-body code, #admin-body .report-line { overflow-wrap: anywhere; }
#admin-body .muted { color: var(--admin-muted); }
#admin-body .row { flex-wrap: wrap; row-gap: .75rem; }
#admin-body .btn { white-space: normal; line-height: 1.5; }
#admin-body .input, #admin-body select, #admin-body textarea { max-width: 100%; }
#admin-body .badge { max-width: 100%; white-space: normal; }
#admin-body .adm-nav { padding: 1rem; background: #fff; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); }
#admin-body .adm-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin-block-end: 1rem; overflow: visible; }
#admin-body .adm-grp { border-radius: .625rem; min-height: 2.75rem; padding: .625rem .75rem; white-space: normal; line-height: 1.6; }
#admin-body .adm-items { display: flex; flex-wrap: wrap; gap: .5rem; overflow: visible; border: 0; }
#admin-body .adm-item { flex: 0 1 auto; padding: .5rem .75rem; border-radius: .5rem; border: 1px solid transparent; white-space: normal; font-size: .875rem; }
#admin-body .adm-item.active { background:var(--theme-soft); border-color:rgba(var(--theme-rgb),.4); color:var(--theme-action); }
#admin-body .admin-table-scroll { width:100%; max-width:100%; overflow-x:auto; max-height:none; -webkit-overflow-scrolling:touch; }
#admin-body .admin-pending-list-scroll { overflow:auto; max-height:48vh; max-height:min(360px,48vh); overscroll-behavior:contain; scrollbar-gutter:stable; }
#admin-body .adm-uwrap { overflow:auto; max-height:62vh; max-height:min(520px,calc(72vh - 5rem)); overscroll-behavior:contain; scrollbar-gutter:stable; }
#admin-body #adm-tax-results .admin-table-scroll { overflow:auto; max-height:62vh; max-height:min(520px,calc(72vh - 5rem)); overscroll-behavior:contain; scrollbar-gutter:stable; }
#admin-body .admin-application-history { max-height:60vh; max-height:min(520px,calc(65vh - 3rem)); overflow:auto; }
#admin-body .admin-bounded-panel { max-height:none; overflow:visible; }
#admin-body .admin-bounded-panel:focus-visible,#admin-body .admin-table-scroll:focus-visible { outline:3px solid var(--theme-action); outline-offset:2px; }
#admin-body .admin-table-scroll::-webkit-scrollbar,#admin-body .admin-bounded-panel::-webkit-scrollbar { width:9px; height:9px; }
#admin-body .admin-table-scroll::-webkit-scrollbar-thumb,#admin-body .admin-bounded-panel::-webkit-scrollbar-thumb { background:rgba(var(--theme-rgb),.5); border-radius:8px; }
#admin-body .admin-table-scroll::-webkit-scrollbar-track,#admin-body .admin-bounded-panel::-webkit-scrollbar-track { background:var(--theme-soft); }
#admin-body .admin-app-time { white-space:nowrap; font-variant-numeric:tabular-nums; line-height:1.7; }
#admin-body .admin-app-time small { display:block; color:var(--admin-muted); font-size:11px; }
#admin-body table { width: 100%; border-collapse: collapse; font-size: .875rem; }
#admin-body th { background:var(--theme-soft); text-align:start; font-weight:700; position:sticky; top:0; z-index:1; }
#admin-body th, #admin-body td { padding: .75rem; vertical-align: top; }
#admin-body .adm-uemail { white-space: normal; overflow: visible; font-size: .8125rem; overflow-wrap: anywhere; }
#admin-body .adm-uid { font-size: .75rem; }
#admin-body .admin-timezone { display: block; color: var(--admin-muted); font-weight: 400; font-size: .75rem; margin-block-start: .25rem; }
#admin-body #chart-range { width: min(100%,22rem); min-height: 2.75rem; font: inherit; }
#admin-body #chart-custom-wrap { width: 100%; flex-wrap: wrap; align-items: end !important; }
#admin-body .admin-date-field { display: grid; flex: 1 1 13rem; gap: .5rem; font-size: .8125rem; color: var(--admin-muted); }
#admin-body .admin-date-field input { width: 100%; min-height: 2.75rem; }
.mz-chart-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior: contain; padding-block: .5rem; direction: ltr; }
.mz-chart-bars > div { min-width: 2rem; }
#admin-body .oc-opt { display: flex; align-items: center; gap: .5rem; border: 1px solid var(--admin-line); border-radius: .625rem; padding: .75rem; }
#admin-body .oc-opt { color:var(--navy-800) !important; border-color:var(--admin-line) !important; }
#admin-body .oc-opt:has(input:checked) { border-color:var(--theme-action) !important; background:var(--theme-soft); }
#admin-body :is(button,a,input,select,summary):focus-visible { outline:2px solid var(--theme-action); outline-offset:3px; }
.admin-shell .admin-taxonomy-filters { display:grid; grid-template-columns:2fr 1fr; gap:1rem; margin-block:1rem; }
.admin-shell .admin-taxonomy-filters label { display:grid; gap:.375rem; min-width:0; }
.admin-shell #admin-body .admin-overview-charts { grid-template-columns:minmax(150px,1fr) minmax(0,3fr); }
.admin-shell .admin-applications-chart { grid-column:auto; }
@media (max-width: 760px) {
  .admin-shell .admin-taxonomy-filters { grid-template-columns:1fr; }
  .admin-shell .admin-applications-chart { grid-column:1 / -1; }
  .admin-shell #admin-body .admin-overview-charts { grid-template-columns:minmax(0,1fr); }
  .admin-shell .main { padding-inline: 1rem; }
  #admin-body .adm-nav { padding: .75rem; }
  #admin-body .adm-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #admin-body .adm-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  #admin-body .adm-item { width: 100%; text-align: start; }
  #admin-body .card { padding: 1rem; }
  #admin-body .admin-responsive-grid { grid-template-columns: minmax(0,1fr) !important; }
  #admin-body .admin-data-table, #admin-body .admin-data-table tbody { display: block; min-width: 0 !important; }
  #admin-body .admin-data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  #admin-body .admin-data-table tbody > tr { display: grid; gap: 0; margin-block: .75rem; padding: .5rem; border: 1px solid var(--admin-line); border-radius: .75rem; background: #fff; }
  #admin-body .admin-data-table tbody > tr > :is(td,th) { display: block; min-width: 0 !important; max-width: 100% !important; white-space: normal !important; padding: .625rem .5rem; border: 0; }
  #admin-body .admin-data-table [data-admin-label]:before { content: attr(data-admin-label); display: block; color: var(--admin-muted); font-size: .75rem; margin-block-end: .25rem; }
  #admin-body .adm-utable td:before { content: none; }
  #admin-body .adm-utable td[data-admin-label]:before { content: attr(data-admin-label); }
  #admin-body .adm-utable tr { grid-template-columns: minmax(0,1fr); }
  #admin-body .adm-uact { display: flex !important; flex-wrap: wrap; gap: .5rem; }
  #admin-body .adm-uact > .btn { margin: 0 !important; min-width: 2.5rem; min-height: 2.5rem; }
  #admin-body .report-line { flex-wrap: wrap; gap: .5rem; }
  #admin-body .adm-prow > .row { flex-wrap: wrap; }
}
