.admin-table-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.admin-table-search { display:flex; align-items:center; gap:10px; border:1px solid #c9d8e6; border-radius:12px; background:white; padding:0 var(--control-padding-x); min-height:var(--control-height); flex:1; min-width:0; }
.admin-table-search .icon { width:20px; height:20px; color:var(--muted); }
.admin-table-search input { border:0; outline:0; min-width:0; width:100%; height:calc(var(--control-height) - 2px); padding:var(--control-padding-y) 0; font-size:14px; line-height:22px; color:var(--ink); background:transparent; }
.admin-table-search:focus-within { outline:2px solid var(--primary); outline-offset:2px; }
.admin-table-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; flex:0 1 480px; }
.admin-page-size { flex:none; }
.admin-page-size select { width:76px; min-width:76px; height:var(--control-height); }
.admin-filter-button { display:grid; place-items:center; position:relative; width:var(--control-height); height:var(--control-height); flex:none; border:1px solid #c9d8e6; border-radius:12px; background:#fff; color:var(--navy); }
.admin-filter-button:hover { background:#edf3fa; border-color:#a9c2dc; }
.admin-filter-button .icon { width:18px; height:18px; }
.admin-filter-dot { position:absolute; right:7px; top:6px; width:6px; height:6px; border-radius:50%; background:var(--primary); }
.admin-table-filter-form input[type="date"] { min-width:0; max-width:100%; }
.admin-status-toggle { display:inline-grid; place-items:center; position:relative; width:40px; height:32px; vertical-align:middle; cursor:pointer; }
.admin-status-toggle input { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; }
.admin-status-toggle > span { display:block; pointer-events:none; width:34px; height:20px; border:1px solid #a6b4c5; background:#d3dce7; border-radius:99px; transition:background-color 160ms ease; }
.admin-status-toggle > span::after { content:''; display:block; width:14px; height:14px; border-radius:50%; background:white; margin:2px; box-shadow:0 1px 3px #172d4926; transition:transform 160ms ease; }
.admin-status-toggle input:checked + span { background:#124c8c; border-color:#124c8c; }
.admin-status-toggle input:checked + span::after { transform:translateX(14px); }
.admin-status-toggle input:focus-visible + span { outline:2px solid var(--primary); outline-offset:3px; }
.admin-status-toggle input:disabled { cursor:not-allowed; }
.admin-status-toggle input:disabled + span { opacity:.5; }
.admin-table-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:14px; color:var(--muted); font-size:12px; }
.admin-row-actions { display:flex; gap:6px; align-items:center; justify-content:flex-end; flex-wrap:nowrap; }
.admin-icon-action { display:inline-grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid #dce5ef; border-radius:var(--control-radius); color:#315b86; background:#f7f9fc; vertical-align:middle; }
.admin-icon-action .icon { width:16px; height:16px; }
.admin-icon-action:hover { background:#e8f1fb; border-color:#a9c2dc; color:var(--navy); }
.admin-icon-action.is-danger { color:#a12b3b; }
.admin-icon-action.is-danger:hover { background:#fff0f2; border-color:#dfb7bf; }
.admin-actions-col { width:1%; text-align:right; }
.admin-cell-sub { display:block; font-size:11px; font-weight:400; color:var(--muted); margin-top:3px; }
.admin-cell-wrap { white-space:normal; min-width:200px; max-width:380px; line-height:1.6; }
.admin-role-tags { display:flex; flex-wrap:wrap; gap:5px; }
.admin-inline-note { display:flex; align-items:start; gap:8px; font-size:12px; color:var(--muted); margin:0 0 18px; }
.admin-inline-note .icon { width:17px; height:17px; }
.access-detail-list { list-style:none; padding:0; display:grid; gap:14px; margin:18px 0; }
.access-detail-list li { display:flex; gap:10px; align-items:start; }
.access-detail-list .icon { width:17px; height:17px; color:#176644; }
.access-detail-list small { display:block; color:var(--muted); font-size:12px; margin-top:3px; line-height:1.6; }
.app-shell:has(.admin-dashboard,.admin-history,.admin-access,#users-table,#reference-table) .admin-compact-card { padding:16px; }
.admin-data-table [data-table-results] > :is(.table-wrap,.ad-table-scroll) { border:1px solid #e1e6ed; border-radius:8px; overflow:auto; }
.app-shell .admin-standard-table { border-collapse:separate; border-spacing:0; background:white; }
.app-shell .admin-standard-table :is(td,th) { padding:11px 12px; font-size:12px; line-height:1.45; border-bottom:1px solid #e8ecf1; vertical-align:middle; }
.app-shell .admin-standard-table thead th { background:#f5f7fa; color:#617084; letter-spacing:.35px; font-size:10px; font-weight:600; padding-block:11px; white-space:nowrap; }
.app-shell .admin-standard-table tbody tr:last-child > * { border-bottom:0; }
.app-shell .admin-standard-table tbody td { background:#fff; }
.app-shell .admin-standard-table tbody tr:nth-child(even) td { background:#f6f8fb; }
.app-shell .admin-standard-table tbody tr:hover td { background:#eef3f9; }
.app-shell .admin-standard-table tbody tr.is-selected:nth-child(odd) td { background:#eaf2fc; }
.app-shell .admin-standard-table tbody tr.is-selected:nth-child(even) td { background:#dce9f8; }
.app-shell .admin-standard-table tbody tr.is-selected:hover td { background:#d1e2f6; }
.app-shell .admin-standard-table strong { font-size:12px; font-weight:600; }
.app-shell .admin-standard-table td:last-child { text-align:right; }
.admin-select-col { width:38px; min-width:38px; text-align:center; }
.admin-number-col { width:48px; min-width:48px; color:#7b8898; font-variant-numeric:tabular-nums; }
.admin-standard-table :is([data-table-select-all],[data-table-select-row]) { width:16px; height:16px; margin:0; vertical-align:middle; accent-color:#124c8c; cursor:pointer; }
.admin-user-cell { display:flex; align-items:center; gap:10px; min-width:200px; }
.admin-user-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; object-fit:cover; flex:none; background:#edf3fa; color:#315b86; }
.admin-user-avatar > .icon { width:24px; height:24px; }
.admin-user-menu > summary { font-size:12px; padding:12px; cursor:pointer; }
.admin-user-menu > summary::after { transform:rotate(0deg); transition:transform 180ms ease; }
.admin-user-menu[open] > summary::after { transform:rotate(90deg); }
.admin-user-menu .nav-link { margin-left:22px; width:calc(100% - 22px); padding:12px; font-size:12px; border:0; border-radius:8px; }
@media (prefers-reduced-motion: reduce) { .admin-user-menu > summary::after { transition:none; } }
.ad-metric { padding:14px 16px; }
.ad-metric > strong { font-size:27px; margin:6px 0 3px; }
.ad-metric-top { font-size:11px; }
.ad-metric-icon { width:28px; height:28px; }
.ad-metric p { font-size:11px; line-height:1.5; }
.ad-metrics { gap:12px; margin-bottom:18px; }
.ad-panel { padding:16px; border-radius:14px; }
.ad-panel-head { margin-bottom:14px; }
.ad-chart-layout { gap:16px; margin-bottom:18px; align-items:stretch; }
.ad-readonly-note { padding:8px 0; }
.ad-period-summary { margin:12px 0; }
.ad-chart-data { margin-top:10px; }
.ad-chart-layout > .ad-panel { display:flex; flex-direction:column; }
.ad-chart-layout .ad-panel-head { min-height:48px; flex:none; }
.ad-chart-layout .ad-pie-layout { flex:1; align-content:center; }
.ad-category-panel > .ad-chart-note { margin-top:auto; padding-top:16px; }
.admin-reference-name { display:flex; align-items:center; gap:10px; }
.admin-reference-icon { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:8px; background:var(--case-light,#edf3fa); color:var(--case-ink,#315b86); }
.admin-reference-icon .icon { width:17px; height:17px; }
.admin-standard-table .reference-copy { min-height:28px; padding:3px 6px; gap:6px; border-color:#d8e2ef; background:#f3f6fb; border-radius:6px; white-space:nowrap; }
.admin-standard-table .reference-copy-label { display:none; }
.admin-standard-table .reference-copy-value { font-size:12px; user-select:text; overflow-wrap:normal; }
.admin-standard-table .reference-copy > .icon { width:13px; height:13px; }
.admin-standard-table .reference-copy + .admin-cell-sub { margin-top:5px; }
@media(max-width:650px) {
  .admin-table-toolbar { gap:10px; }
  .admin-table-tools { flex:1; }
  .admin-table-search { padding-inline:10px; }
  .admin-table-search input { font-size:16px; }
  .admin-page-size select { width:64px; min-width:64px; padding-left:10px; }
  .admin-filter-button { width:44px; height:44px; }
  .admin-icon-action { width:44px; height:44px; }
  .admin-status-toggle { height:44px; }
}
@media(min-width:651px) and (max-width:900px) {
  .admin-table-search input { font-size:16px; }
  .admin-icon-action { width:44px; height:44px; }
}
