/* Admin modernization layer. Scoped by html.admin-modern so unrelated pages stay unchanged. */
html.admin-modern,
html.admin-modern[data-theme="light"] {
  --am-bg:#f4f7f6;
  --am-bg-soft:#e9f2f1;
  --am-surface:#ffffff;
  --am-surface-2:#f4f7f6;
  --am-surface-3:#e6efee;
  --am-text:#07201f;
  --am-text-soft:#294441;
  --am-muted:#5b6b6a;
  --am-faint:#7d908e;
  --am-border:rgba(0,49,47,.10);
  --am-border-strong:rgba(0,49,47,.18);
  --am-brand:#00312f;
  --am-brand-2:#015450;
  --am-accent:#00312f;
  --am-success:#15803d;
  --am-danger:#dc2626;
  --am-warning:#c2410c;
  --am-shadow:0 8px 28px rgba(0,49,47,.08);
  --am-shadow-lg:0 22px 65px rgba(0,49,47,.18);
  --am-radius:16px;
  --blue:var(--am-brand);
  --blue-l:var(--am-brand-2);
  --blue-light:var(--am-brand-2);
  --orange:var(--am-accent);
  --text-main:var(--am-text);
  --text-muted:var(--am-muted);
  color-scheme:light;
}

html.admin-modern[data-theme="dark"] {
  --am-bg:#0b0b0b;
  --am-bg-soft:#111111;
  --am-surface:#151515;
  --am-surface-2:#1c1c1c;
  --am-surface-3:#242424;
  --am-text:#f5f5f5;
  --am-text-soft:#e5e5e5;
  --am-muted:#b5b5b5;
  --am-faint:#929292;
  --am-border:rgba(255,255,255,.10);
  --am-border-strong:rgba(255,255,255,.18);
  --am-brand:#ff8a1f;
  --am-brand-2:#ff6a00;
  --am-accent:#ff8a1f;
  --am-success:#4ade80;
  --am-danger:#fb7185;
  --am-warning:#fb923c;
  --am-shadow:0 10px 34px rgba(0,0,0,.55);
  --am-shadow-lg:0 24px 70px rgba(0,0,0,.68);
  --blue:var(--am-brand);
  --blue-l:var(--am-brand-2);
  --blue-light:var(--am-brand-2);
  --orange:var(--am-accent);
  --text-main:var(--am-text);
  --text-muted:var(--am-muted);
  color-scheme:dark;
}

html.admin-modern { width:100%; min-height:100%; background:var(--am-bg); }
html.admin-modern body { color:var(--am-text); accent-color:var(--am-brand-2); }
html.admin-modern *, html.admin-modern *::before, html.admin-modern *::after { box-sizing:border-box; }
html.admin-modern :focus-visible { outline:3px solid color-mix(in srgb,var(--am-brand-2) 35%,transparent); outline-offset:2px; }
html.admin-modern ::selection { background:color-mix(in srgb,var(--am-brand-2) 28%,transparent); }
html.admin-modern ::-webkit-scrollbar { width:8px; height:8px; }
html.admin-modern ::-webkit-scrollbar-track { background:transparent; }
html.admin-modern ::-webkit-scrollbar-thumb { background:var(--am-border-strong); border-radius:999px; }

/* Theme selector */
.admin-theme-host { display:inline-flex !important; align-items:center; flex:0 0 auto; margin-right:6px; }
.admin-theme-control {
  display:flex; align-items:center; gap:3px; padding:3px;
  border:1px solid var(--am-border); border-radius:12px;
  background:var(--am-surface-2); box-shadow:0 2px 10px rgba(15,23,42,.06);
}
.admin-theme-option {
  min-height:30px; padding:5px 9px; border:0; border-radius:9px;
  display:flex; align-items:center; justify-content:center; gap:5px;
  color:var(--am-muted); background:transparent; cursor:pointer;
  font:600 11px/1 'Inter',sans-serif; transition:background .18s,color .18s,box-shadow .18s;
}
.admin-theme-option span { font-size:14px; line-height:1; }
.admin-theme-option.active { color:#fff; background:linear-gradient(135deg,var(--am-brand),var(--am-brand-2)); box-shadow:0 4px 12px color-mix(in srgb,var(--am-brand) 28%,transparent); }
[data-theme="dark"] .admin-theme-option.active { color:#111827; background:linear-gradient(135deg,#ffb15e,var(--am-accent)); }
.admin-theme-floating { position:fixed; top:max(12px,env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); z-index:2000; }
.sp-toggle.admin-theme-compat { display:none !important; }

/* Admin shell: one viewport, content scrolls internally. */
body.admin-shell-page { height:100vh; height:100dvh; min-height:0 !important; overflow:hidden !important; background:var(--am-bg) !important; }
.admin-shell-page .dash-layout { height:100vh !important; height:100dvh !important; min-height:0; overflow:hidden !important; background:var(--am-bg); }
.admin-shell-page .main-content { min-width:0; height:100%; display:flex; flex-direction:column; overflow:hidden !important; background:var(--am-bg) !important; }
.admin-shell-page .content-body { flex:1 1 auto; min-height:0; overflow:auto !important; overscroll-behavior:contain; padding:20px clamp(14px,1.55vw,28px) 24px !important; background:var(--am-bg) !important; }

/* Sidebar remains recognisable but gains depth and touch behaviour. */
.admin-shell-page .sidebar-wrap { height:100vh !important; height:100dvh !important; background:#002725; box-shadow:8px 0 28px rgba(0,49,47,.16); }
.admin-shell-page .sidebar-rail { background:linear-gradient(180deg,#00312f 0%,#002422 100%) !important; }
.admin-shell-page .sub-panel { background:#013b38 !important; }
[data-theme="dark"] .admin-shell-page .sidebar-wrap { background:#0b0b0b; box-shadow:8px 0 28px rgba(0,0,0,.42); }
[data-theme="dark"] .admin-shell-page .sidebar-rail { background:linear-gradient(180deg,#151515 0%,#0b0b0b 100%) !important; }
[data-theme="dark"] .admin-shell-page .sub-panel { background:#151515 !important; }
.admin-shell-page .rail-item { min-height:52px; }
.admin-shell-page .rail-item:hover,
.admin-shell-page .rail-item.active-rail { background:rgba(255,255,255,.13) !important; }
[data-theme="dark"] .admin-shell-page .rail-item:hover,
[data-theme="dark"] .admin-shell-page .rail-item.active-rail { background:rgba(255,138,31,.16) !important; }
.admin-shell-page .sub-link { border-radius:7px; margin:1px 7px; padding-right:10px; }
.admin-shell-page .sub-link:hover,
.admin-shell-page .sub-link.active-link { background:rgba(255,255,255,.13) !important; color:#fff !important; }
[data-theme="dark"] .admin-shell-page .sub-link:hover,
[data-theme="dark"] .admin-shell-page .sub-link.active-link { background:rgba(255,138,31,.16) !important; color:#fff3e8 !important; }
.admin-shell-page .sb-icon { background:var(--am-brand-2) !important; }
[data-theme="dark"] .admin-shell-page .sb-icon { background:var(--am-brand) !important; color:#111 !important; }

/* Header */
.admin-shell-page .topbar {
  flex:0 0 auto; min-height:64px; padding:10px clamp(12px,1.4vw,24px) !important;
  gap:10px; border-bottom:1px solid var(--am-border) !important;
  background:color-mix(in srgb,var(--am-surface) 92%,transparent) !important;
  color:var(--am-text); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 4px 18px rgba(15,23,42,.035); z-index:40 !important;
}
.admin-shell-page .topbar-title { min-width:145px; }
.admin-shell-page .topbar-title h1 { color:var(--am-text) !important; font-size:clamp(1rem,1.2vw,1.25rem) !important; }
.admin-shell-page .topbar-title p { color:var(--am-muted) !important; }
.admin-shell-page .topbar > .search-box {
  width:min(265px,21vw); min-width:150px; min-height:40px; margin:0;
  background:var(--am-surface-2) !important; border-color:var(--am-border) !important;
}
.admin-shell-page .search-box input { color:var(--am-text) !important; }
.admin-shell-page .search-box input::placeholder { color:var(--am-faint) !important; }
.admin-shell-page .notif-btn,
.admin-shell-page .tb-avatar,
.admin-shell-page .new-sale-btn { min-width:40px; min-height:40px; }
.admin-shell-page .notif-btn { background:var(--am-surface-2) !important; border-color:var(--am-border) !important; color:var(--am-muted) !important; }
.admin-shell-page #liveClock { border-color:var(--am-border) !important; }
.admin-shell-page #clockTime { color:var(--am-text) !important; }
.admin-shell-page #clockTz { color:var(--am-muted) !important; }
.admin-shell-page :is(.new-sale-btn,.view-more,.btn-primary,.ftab.active,.wizard-tab.active,.tp-tab.active,.tp-ftab.active,.or-toggle-btn.active,.page-btn.active) {
  background:linear-gradient(135deg,var(--am-brand),var(--am-brand-2)) !important;
  color:#fff !important;
}
[data-theme="dark"] .admin-shell-page :is(.new-sale-btn,.view-more,.btn-primary,.ftab.active,.wizard-tab.active,.tp-tab.active,.tp-ftab.active,.or-toggle-btn.active,.page-btn.active) { color:#111 !important; }
.admin-shell-page .scard::before,
.admin-shell-page .pay-bar-fill { background:var(--am-brand) !important; }
.admin-shell-page :is(.rank-num,.avatar,.ops-cat-icon) { background:var(--am-brand) !important; color:#fff !important; }
[data-theme="dark"] .admin-shell-page :is(.rank-num,.avatar,.ops-cat-icon) { color:#111 !important; }

/* Premium surfaces shared by dashboard and every report. */
.admin-shell-page :is(.panel,.stat-card,.scard,.ops-panel,.ops-cat-block,.report-wrapper,.summary-wrapper,.summary-card,.tax-summary-card,.card-wrap,.comm-box,.cb-item,.month-card,.tp-chart-card,.tp-sum-card,.or-daily-card,.or-donut-card,.or-right-card,.sr-card,.table-wrapper,.tax-table-box,.tbl-wrap) {
  background:var(--am-surface) !important;
  color:var(--am-text) !important;
  border-color:var(--am-border) !important;
  box-shadow:var(--am-shadow) !important;
}
.admin-shell-page :is(.panel,.stat-card,.scard,.ops-panel,.report-wrapper,.summary-wrapper,.card-wrap,.comm-box,.tp-chart-card,.or-daily-card,.or-donut-card,.or-right-card,.table-wrapper,.tax-table-box,.tbl-wrap) { border-radius:var(--am-radius) !important; }
.admin-shell-page :is(.stat-card,.scard,.summary-card,.tax-summary-card,.cb-item,.month-card,.tp-sum-card,.sr-card) { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
@media (hover:hover) {
  .admin-shell-page :is(.stat-card,.scard,.summary-card,.tax-summary-card,.cb-item,.month-card,.tp-sum-card,.sr-card):hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--am-brand-2) 35%,var(--am-border)) !important; }
}

.admin-shell-page :is(.ov-title,.report-header h2,.report-header h3,.tax-header h2,.summary-header h2,.card-wrap-head h3,.panel-hd h3,.panel-header h3,.tp-topbar h2,.tp-chart-hd h3,.or-section-title,.ops-title,.comm-box h2,.modal-title,.settings-item-title,.settings-desc-title,.toggle-title,.export-btn-title,.mc-month,.cb-val,.val,.stat-value,.scard-value,.tp-sum-amount,.tp-sum-qty,.sr-metric) { color:var(--am-text) !important; }
.admin-shell-page :is(p,.sub,.lbl,.stat-label,.scard-label,.scard-sub,.panel-hd p,.panel-header p,.report-header p,.tp-topbar p,.cb-lbl,.cb-sub,.mc-rows,.modal-sub,.settings-item-sub,.settings-desc-text,.toggle-desc,.export-btn-sub,.no-data,.tax-empty,.or-note,.sr-card-name,.p-sub) { color:var(--am-muted) !important; }
.admin-shell-page :is(.summary-card h3,.summary-card h4,.table-head h4,.card-wrap-head h3,.prod-name,.prod-val,.month-card .mc-sales,.sr-metric b,td strong,.print-state-title) { color:var(--am-text) !important; }
.admin-shell-page :is(.summary-card span,.page-info,.date-separator,td small,.empty-state,.report-empty,.month-card .mc-month,.print-state-msg) { color:var(--am-muted) !important; }
.admin-shell-page :is(.red,.stat-card.refund .val) { color:var(--am-danger) !important; }
.admin-shell-page :is(.text-green,.stat-card.payout .val,.month-card .mc-net) { color:var(--am-success) !important; }
.admin-shell-page :is(.text-purple,.stat-card.comm .val,.month-card .mc-comm,.sr-metric b.amt) { color:var(--am-brand) !important; }
.admin-shell-page :is(.tag,.badge-comm) { color:var(--am-brand) !important; border-color:color-mix(in srgb,var(--am-brand) 28%,var(--am-border)) !important; background:color-mix(in srgb,var(--am-brand) 10%,var(--am-surface)) !important; }
.admin-shell-page :is(.page-wrap,.report-wrapper,.tax-wrapper,.tp-page) { width:100%; max-width:none !important; }
.admin-shell-page .report-wrapper { padding:clamp(12px,1.5vw,24px) !important; }
.admin-shell-page .report-header,
.admin-shell-page .ov-header,
.admin-shell-page .tax-header,
.admin-shell-page .summary-header,
.admin-shell-page .tp-topbar,
.admin-shell-page .sr-toolbar { gap:12px; }

/* Controls */
.admin-shell-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.dropdown-selected,.filter-dropdown-btn,.ov-select,.sr-select,.tp-date-select,.time-select) {
  min-height:40px; max-width:100%; color:var(--am-text) !important;
  background:var(--am-surface-2) !important; border-color:var(--am-border) !important;
  border-radius:10px !important; box-shadow:none !important;
}
.admin-shell-page :is(input,select,textarea)::placeholder { color:var(--am-faint) !important; }
.admin-shell-page :is(input,select,textarea,.dropdown-selected,.filter-dropdown-btn):focus { border-color:var(--am-brand-2) !important; box-shadow:0 0 0 3px color-mix(in srgb,var(--am-brand-2) 17%,transparent) !important; }
.admin-shell-page :is(.dropdown-menu,.filter-dropdown-menu,.calendar-menu) {
  max-width:min(92vw,440px); max-height:min(70vh,520px); overflow:auto;
  background:var(--am-surface) !important; border-color:var(--am-border) !important;
  color:var(--am-text) !important; box-shadow:var(--am-shadow-lg) !important;
}
.admin-shell-page :is(.dropdown-item,.quick-filter-btn) { color:var(--am-text-soft) !important; background:transparent !important; }
.admin-shell-page :is(.dropdown-item,.quick-filter-btn):hover { color:var(--am-brand-2) !important; background:color-mix(in srgb,var(--am-brand-2) 10%,transparent) !important; }
.admin-shell-page :is(button,.btn-primary,.btn-secondary,.ov-btn,.ops-btn,.export-btn,.wizard-tab,.tp-tab,.tp-ftab,.or-toggle-btn,.page-btn) { font-family:'Inter',sans-serif; }
.admin-shell-page :is(.btn-secondary,.ov-btn,.ops-btn,.export-btn,.calendar-icon-btn,.page-btn,.filter-bar a,.filter-bar button,.sr-btn,.ftab,.modal-close) { background:var(--am-surface-2) !important; color:var(--am-text-soft) !important; border-color:var(--am-border) !important; }
.admin-shell-page .calendar-icon-btn { background:var(--am-brand) !important; color:#fff !important; border-color:transparent !important; }
[data-theme="dark"] .admin-shell-page .calendar-icon-btn { color:#111 !important; }
.admin-shell-page :is(.btn-primary,.new-sale-btn,.wizard-tab.active,.tp-tab.active,.tp-ftab.active,.or-toggle-btn.active,.page-btn.active) { background:linear-gradient(135deg,var(--am-brand-2),var(--am-brand)) !important; color:#fff !important; border-color:transparent !important; }
.admin-shell-page :is(.wizard-tabs,.tp-tabs,.tp-ftabs,.ftabs,.or-toggle,.filter-bar) { background:var(--am-surface-2) !important; border-color:var(--am-border) !important; padding:4px; border-radius:12px; }

/* Report pages contain several page-local legacy white surfaces. Keep those
   selectors intact for their JavaScript and neutralize only their paint. */
.admin-shell-page :is(.summary-box,.report-table-box,.tax-filter,.summary-filter,.pagination-bar,.table-footer,.table-head,.sr-toolbar) {
  background:var(--am-surface) !important;
  color:var(--am-text) !important;
  border-color:var(--am-border) !important;
}
.admin-shell-page :is(.date-range-picker,.quick-filters,.filter-dropdown-menu,.dropdown-menu,.modal-close,.toggle-track) {
  background:var(--am-surface-2) !important;
  color:var(--am-text-soft) !important;
  border-color:var(--am-border) !important;
}
.admin-shell-page :is(.tax-filter select,.summary-filter select,.sr-select) {
  background:var(--am-surface-2) !important;
  color:var(--am-text) !important;
  border-color:var(--am-border) !important;
}
.admin-shell-page :is(.wizard-tab,.tp-tab,.tp-ftab,.ftab,.or-toggle-btn) { color:var(--am-muted) !important; border-radius:9px; }
.admin-shell-page :is(.wizard-tab.active,.tp-tab.active,.tp-ftab.active,.ftab.active,.or-toggle-btn.active) { color:#fff !important; }
[data-theme="dark"] .admin-shell-page :is(.wizard-tab.active,.tp-tab.active,.tp-ftab.active,.ftab.active,.or-toggle-btn.active) { color:#111 !important; }

.admin-shell-page .tp-sum-card.highlight {
  background:linear-gradient(135deg,var(--am-brand),var(--am-brand-2)) !important;
  border-color:transparent !important;
}
.admin-shell-page .tp-sum-card.highlight :is(.tp-sum-label,.tp-sum-amount,.tp-sum-qty,.tp-sum-qty strong) { color:#fff !important; }
[data-theme="dark"] .admin-shell-page .tp-sum-card.highlight :is(.tp-sum-label,.tp-sum-amount,.tp-sum-qty,.tp-sum-qty strong) { color:#111 !important; }

/* Tables: only the table container scrolls horizontally. */
.admin-shell-page :is(.table-wrapper,.tax-table-box,.tbl-wrap) { width:100%; max-width:100%; overflow-x:auto !important; overflow-y:visible; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.admin-shell-page table { border-collapse:separate; border-spacing:0; color:var(--am-text-soft); background:transparent !important; }
.admin-shell-page :is(.table-wrapper,.tax-table-box,.tbl-wrap) table { min-width:max(720px,100%); }
.admin-shell-page table th {
  color:var(--am-muted) !important; background:var(--am-surface-2) !important;
  border-color:var(--am-border) !important; font-size:11px !important; letter-spacing:.045em;
  white-space:nowrap;
}
.admin-shell-page table td { color:var(--am-text-soft) !important; background:transparent !important; border-color:var(--am-border) !important; }
.admin-shell-page table tbody tr { background:transparent !important; }
.admin-shell-page table tbody tr:hover td { background:color-mix(in srgb,var(--am-brand-2) 7%,transparent) !important; }
.admin-shell-page :is(.oid,.p-name,.order-id) { color:var(--am-text) !important; }
.admin-shell-page :is(.summary-grid,.summary-stats,.stat-grid,.stat-cards,.tp-summary-row,.sr-cards) { gap:12px !important; }

/* Modals, popups and notification panels */
.admin-shell-page :is(.modal-overlay,#orderDetailModal) { padding:12px; overscroll-behavior:contain; }
.admin-shell-page .modal,
.admin-shell-page #orderDetailModal > div {
  width:min(100%,520px) !important; max-height:calc(100vh - 24px) !important; max-height:calc(100dvh - 24px) !important;
  display:flex; flex-direction:column; overflow:hidden !important;
  background:var(--am-surface) !important; border:1px solid var(--am-border) !important; color:var(--am-text) !important; box-shadow:var(--am-shadow-lg) !important;
}
.admin-shell-page :is(.modal-body,#orderDetailBody) { overflow:auto; min-height:0; color:var(--am-text-soft); }
.admin-shell-page :is(.modal-header,#orderDetailModal > div > div:first-child) { flex:0 0 auto; background:var(--am-surface) !important; border-color:var(--am-border) !important; }
.admin-shell-page #notifPanel { width:min(360px,calc(100vw - 24px)) !important; max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); background:var(--am-surface) !important; border-color:var(--am-border) !important; color:var(--am-text) !important; box-shadow:var(--am-shadow-lg) !important; }
.admin-shell-page #notifPanel > div { background:var(--am-surface) !important; border-color:var(--am-border) !important; color:var(--am-text-soft) !important; }
.admin-shell-page .notif-item { border-color:var(--am-border) !important; }
.admin-shell-page .notif-item:hover { background:var(--am-surface-2) !important; }
.admin-shell-page :is(.notif-item .ni-order,.notif-item .ni-amount) { color:var(--am-text) !important; }
.admin-shell-page :is(.notif-item .ni-detail,.notif-item .ni-time) { color:var(--am-muted) !important; }
.admin-shell-page .avatar-dropdown { background:var(--am-surface) !important; border-color:var(--am-border) !important; box-shadow:var(--am-shadow-lg) !important; }
.admin-shell-page :is(.dd-profile,.dd-divider) { border-color:var(--am-border) !important; background-color:var(--am-border) !important; }
.admin-shell-page .dd-profile { background:transparent !important; }
.admin-shell-page :is(.dd-name,.dd-item) { color:var(--am-text-soft) !important; }
.admin-shell-page .dd-email { color:var(--am-muted) !important; }
.admin-shell-page .dd-item:hover { background:var(--am-surface-2) !important; }

[data-theme="dark"] .admin-shell-page #srPrint { background:var(--am-surface) !important; color:var(--am-text) !important; }
[data-theme="dark"] .admin-shell-page .print-state.success { background:rgba(34,197,94,.12) !important; border-color:rgba(74,222,128,.24) !important; }
[data-theme="dark"] .admin-shell-page .print-state.error { background:rgba(239,68,68,.12) !important; border-color:rgba(251,113,133,.24) !important; }
[data-theme="dark"] .admin-shell-page .print-state.success .print-state-title { color:#86efac !important; }
[data-theme="dark"] .admin-shell-page .print-state.error .print-state-title { color:#fda4af !important; }

/* Catch hardcoded light inline surfaces only inside the scoped admin shell. */
[data-theme="dark"].admin-modern .admin-shell-page [style*="background:#fff"],
[data-theme="dark"].admin-modern .admin-shell-page [style*="background: #fff"],
[data-theme="dark"].admin-modern .admin-shell-page [style*="background:white"],
[data-theme="dark"].admin-modern .admin-shell-page [style*="background: white"] { background:var(--am-surface) !important; }
[data-theme="dark"].admin-modern .admin-shell-page [style*="color:#111"],
[data-theme="dark"].admin-modern .admin-shell-page [style*="color: #111"] { color:var(--am-text) !important; }
[data-theme="dark"].admin-modern .admin-shell-page [style*="border-bottom:1px solid #f"],
[data-theme="dark"].admin-modern .admin-shell-page [style*="border-top:1px solid #f"] { border-color:var(--am-border) !important; }

/* Dashboard-specific grids */
.admin-shell-page .row-2 { grid-template-columns:minmax(0,2fr) minmax(260px,1fr) !important; }
.admin-shell-page .row-eq { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.admin-shell-page .ops-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.admin-shell-page .chart-wrap { height:clamp(180px,24vh,250px) !important; }
.admin-shell-page .chart-wrap-sm { height:clamp(150px,20vh,200px) !important; }
.admin-shell-page .pay-bar-bg { background:var(--am-surface-3) !important; }

/* Responsive navigation */
.admin-nav-toggle,
.admin-sidebar-close,
.admin-nav-overlay { display:none; }

@media (max-width:1200px) {
  .admin-shell-page :is(.stat-grid,.stat-cards,.summary-grid,.summary-stats,.tp-summary-row,.sr-cards) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .admin-shell-page .topbar > .search-box { width:190px; }
  .admin-theme-option b { display:none; }
  .admin-theme-option { width:32px; padding:5px; }
}

@media (max-width:900px) {
  .admin-shell-page .sidebar-wrap {
    position:fixed !important; inset:0 auto 0 0; z-index:1100 !important;
    width:min(272px,88vw); transform:translateX(-105%); transition:transform .25s cubic-bezier(.4,0,.2,1);
  }
  .admin-nav-open .sidebar-wrap { transform:translateX(0); }
  .admin-shell-page .sidebar-rail { width:72px; }
  .admin-shell-page .sub-panel.open { width:min(200px,calc(88vw - 72px)); }
  .admin-shell-page .sub-panel-inner { width:100%; }
  .admin-nav-toggle { width:40px; height:40px; flex:0 0 40px; border:1px solid var(--am-border); border-radius:11px; background:var(--am-surface-2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; cursor:pointer; }
  .admin-nav-toggle span { width:17px; height:2px; border-radius:2px; background:var(--am-text-soft); }
  .admin-sidebar-close { position:absolute; top:max(8px,env(safe-area-inset-top)); right:8px; z-index:5; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.12); color:#fff; font-size:24px; line-height:1; cursor:pointer; }
  .admin-nav-overlay { position:fixed; inset:0; z-index:1050; display:block; border:0; background:rgba(2,6,23,.62); opacity:0; pointer-events:none; transition:opacity .2s; backdrop-filter:blur(3px); }
  .admin-nav-open .admin-nav-overlay { opacity:1; pointer-events:auto; }
  .admin-shell-page .topbar > .search-box { display:none !important; }
  .admin-shell-page .row-2,
  .admin-shell-page .row-eq,
  .admin-shell-page .ops-grid { grid-template-columns:1fr !important; }
  .admin-shell-page .content-body { padding:14px !important; }
  .admin-shell-page :is(.report-header,.ov-header,.tax-header,.summary-header,.tp-topbar,.sr-toolbar) { align-items:flex-start; }
  .admin-shell-page :is(.report-filter-group,.ov-actions) { width:100%; }
}

@media (max-width:640px) {
  .admin-shell-page .topbar { min-height:58px; padding:8px 10px !important; gap:7px; }
  .admin-shell-page .topbar-title p { display:none; }
  .admin-shell-page #liveClock { display:none !important; }
  .admin-shell-page .new-sale-btn { padding:7px 10px !important; }
  .admin-shell-page .tb-avatar { width:38px !important; height:38px !important; }
  .admin-theme-host { margin:0; }
  .admin-theme-control { padding:2px; gap:1px; }
  .admin-theme-option { min-height:32px; width:30px; }
  .admin-shell-page :is(.stat-grid,.stat-cards,.summary-grid,.summary-stats,.tp-summary-row,.sr-cards) { grid-template-columns:1fr !important; }
  .admin-shell-page :is(.wizard-tabs,.tp-tabs,.tp-ftabs,.ftabs,.or-toggle,.filter-bar) { width:100%; overflow-x:auto; justify-content:flex-start; flex-wrap:nowrap !important; }
  .admin-shell-page :is(.wizard-tab,.tp-tab,.tp-ftab,.ftab,.or-toggle-btn) { flex:0 0 auto; min-height:38px; }
  .admin-shell-page :is(.report-filter-group,.ov-actions,.quick-filters,.date-range,.date-range-picker) { display:flex; flex-wrap:wrap; gap:8px; }
  .admin-shell-page :is(.report-filter-group,.ov-actions) > * { flex:1 1 145px; min-width:0; }
  .admin-shell-page .filter-dropdown-container { width:100%; }
  .admin-shell-page .filter-dropdown-menu { position:fixed !important; left:12px !important; right:12px !important; top:auto !important; bottom:12px !important; width:auto !important; min-width:0 !important; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:16px !important; }
  .admin-shell-page .modal-overlay { align-items:flex-end !important; padding:8px !important; }
  .admin-shell-page .modal { max-width:none !important; border-radius:18px !important; }
  .admin-shell-page .content-body { padding:10px !important; }
  .admin-shell-page :is(.panel,.scard,.ops-panel,.report-wrapper,.summary-wrapper,.card-wrap,.comm-box,.tp-chart-card,.or-daily-card,.or-donut-card,.or-right-card) { padding:14px !important; }
  .admin-shell-page :is(.table-wrapper,.tax-table-box,.tbl-wrap) table { min-width:680px; }
}

@media (orientation:landscape) and (max-height:600px) {
  .admin-shell-page .topbar { min-height:50px; padding:5px 10px !important; }
  .admin-shell-page .topbar-title p,
  .admin-shell-page #liveClock,
  .admin-shell-page .kb-hint { display:none !important; }
  .admin-shell-page .content-body { padding:8px 10px !important; }
  .admin-shell-page .rail-brand { padding:7px 0; }
  .admin-shell-page .sb-icon { width:34px; height:34px; }
  .admin-shell-page .rail-item { min-height:42px; padding:6px 3px; }
  .admin-shell-page .modal,
  .admin-shell-page #orderDetailModal > div { max-height:calc(100vh - 16px) !important; max-height:calc(100dvh - 16px) !important; }
  .admin-shell-page .chart-wrap { height:150px !important; }
  .admin-shell-page .chart-wrap-sm { height:130px !important; }
}

/* Login */
body.admin-login-page { min-height:100vh; min-height:100dvh; background:var(--am-bg) !important; color:var(--am-text) !important; overflow:auto; }
.admin-login-page::before { background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--am-brand-2) 22%,transparent),transparent 38%),radial-gradient(circle at 90% 90%,color-mix(in srgb,var(--am-accent) 15%,transparent),transparent 34%),var(--am-bg) !important; }
.admin-login-page .page-layout { min-height:100vh; min-height:100dvh; max-width:1440px; grid-template-columns:minmax(0,1fr) minmax(360px,460px); padding:24px clamp(24px,5vw,76px); }
.admin-login-page :is(.brand-name,.hero-title,.feat-title,.sf-num,.card-title) { color:var(--am-text) !important; }
.admin-login-page :is(.hero-desc,.feat-sub,.sf-lbl,.card-sub,.field-label,.remember-me,.card-footer,.copyright) { color:var(--am-muted) !important; }
.admin-login-page :is(.feat-card,.sf-card) { background:color-mix(in srgb,var(--am-surface) 74%,transparent) !important; border-color:var(--am-border) !important; box-shadow:var(--am-shadow); }
.admin-login-page .login-card { background:color-mix(in srgb,var(--am-surface) 92%,transparent) !important; border-color:var(--am-border) !important; box-shadow:var(--am-shadow-lg) !important; }
.admin-login-page .role-btn { min-height:44px; background:var(--am-surface-2) !important; color:var(--am-muted) !important; border-color:var(--am-border) !important; }
.admin-login-page .role-btn.active { color:var(--am-brand-2) !important; border-color:var(--am-brand-2) !important; background:color-mix(in srgb,var(--am-brand-2) 10%,var(--am-surface)) !important; }
.admin-login-page .field-input { min-height:46px; background:var(--am-surface-2) !important; border-color:var(--am-border) !important; color:var(--am-text) !important; }
.admin-login-page .field-input::placeholder { color:var(--am-faint) !important; }
.admin-login-page .check-custom { border-color:var(--am-border-strong) !important; }
.admin-login-page .divider::before,.admin-login-page .divider::after,.admin-login-page .card-footer { border-color:var(--am-border) !important; background-color:var(--am-border); }
.admin-login-page .card-footer { background:transparent; }
.admin-login-page :is(.brand-icon,.submit-btn) { background:linear-gradient(135deg,var(--am-brand),var(--am-brand-2)) !important; box-shadow:0 10px 30px color-mix(in srgb,var(--am-brand) 30%,transparent) !important; }
.admin-login-page .submit-btn { color:#fff !important; }
[data-theme="dark"] .admin-login-page .submit-btn { color:#111 !important; }
.admin-login-page .gradient-text {
  background:linear-gradient(90deg,var(--am-brand),var(--am-brand-2),var(--am-accent)) !important;
  -webkit-background-clip:text !important; background-clip:text !important; -webkit-text-fill-color:transparent !important;
}
.admin-login-page :is(.brand-name span,.brand-tag,.forgot-link:hover) { color:var(--am-brand) !important; }
.admin-login-page .role-btn.active { color:var(--am-brand) !important; }
.admin-login-page .role-btn::before { background:color-mix(in srgb,var(--am-brand) 12%,transparent) !important; }
.admin-login-page .feat-card:hover { background:color-mix(in srgb,var(--am-brand) 9%,var(--am-surface)) !important; border-color:color-mix(in srgb,var(--am-brand) 32%,var(--am-border)) !important; }
.admin-login-page .card-glow { background:linear-gradient(135deg,color-mix(in srgb,var(--am-brand) 35%,transparent),color-mix(in srgb,var(--am-accent) 22%,transparent),transparent) !important; }
.admin-login-page .orb-1 { background:color-mix(in srgb,var(--am-brand) 20%,transparent) !important; }
.admin-login-page .orb-2 { background:color-mix(in srgb,var(--am-accent) 15%,transparent) !important; }
.admin-login-page .orb-3 { background:color-mix(in srgb,var(--am-brand-2) 12%,transparent) !important; }

@media (max-width:900px) {
  .admin-login-page .page-layout { display:block; max-width:560px; padding:68px 18px 22px; }
  .admin-login-page .left-panel { display:none; }
  .admin-login-page .right-panel { padding:0; min-height:calc(100vh - 90px); min-height:calc(100dvh - 90px); }
}
@media (max-width:480px) {
  .admin-login-page .page-layout { padding-inline:10px; }
  .admin-login-page .login-card { padding:26px 18px 22px; border-radius:19px; }
  .admin-login-page .card-title { font-size:1.4rem; }
}
@media (orientation:landscape) and (max-height:600px) {
  .admin-login-page .page-layout { max-width:760px; padding:54px 14px 10px; }
  .admin-login-page .right-panel { min-height:0; }
  .admin-login-page .login-card { padding:18px 22px 16px; }
  .admin-login-page .card-sub { margin-bottom:12px; }
  .admin-login-page .role-tabs { margin-bottom:10px; }
  .admin-login-page .divider { margin-bottom:10px; }
  .admin-login-page .field-group { margin-bottom:9px; }
  .admin-login-page .form-meta { margin-bottom:12px; }
  .admin-login-page .card-footer { margin-top:12px; padding-top:10px; }
  .admin-login-page .copyright { margin-top:8px; }
}

/* Loading */
body.admin-loading-page { width:100%; min-height:100vh; min-height:100dvh; background:var(--am-bg) !important; color:var(--am-text); }
.admin-loading-page::before { background:radial-gradient(ellipse 70% 55% at 20% 10%,color-mix(in srgb,var(--am-brand-2) 28%,transparent),transparent 65%),radial-gradient(ellipse 55% 45% at 85% 90%,color-mix(in srgb,var(--am-accent) 20%,transparent),transparent 62%),var(--am-bg) !important; }
.admin-loading-page .brand-name { color:var(--am-text) !important; }
.admin-loading-page :is(.brand-sub,.progress-msg,.progress-pct,.version-tag) { color:var(--am-muted) !important; }
.admin-loading-page .progress-track { background:var(--am-surface-3) !important; border:1px solid var(--am-border); }
.admin-loading-page .particle { background:color-mix(in srgb,var(--am-brand-2) 55%,transparent); }
.admin-loading-page :is(.logo-icon,.progress-fill,.bdot) { background:linear-gradient(135deg,var(--am-brand),var(--am-brand-2)) !important; }
.admin-loading-page .logo-badge { background:linear-gradient(135deg,var(--am-accent),var(--am-brand-2)) !important; }
.admin-loading-page .ring-1 { border-color:color-mix(in srgb,var(--am-brand) 72%,transparent) transparent transparent !important; }
.admin-loading-page .ring-2 { border-color:transparent color-mix(in srgb,var(--am-accent) 62%,transparent) transparent transparent !important; }
.admin-loading-page .ring-3 { border-color:color-mix(in srgb,var(--am-brand-2) 52%,transparent) transparent color-mix(in srgb,var(--am-brand-2) 52%,transparent) transparent !important; }
.admin-loading-page .progress-pct { background:var(--am-brand) !important; -webkit-background-clip:text !important; background-clip:text !important; }
.admin-loading-page .orb-1 { background:color-mix(in srgb,var(--am-brand) 20%,transparent) !important; }
.admin-loading-page .orb-2 { background:color-mix(in srgb,var(--am-accent) 15%,transparent) !important; }
.admin-loading-page .orb-3 { background:color-mix(in srgb,var(--am-brand-2) 12%,transparent) !important; }
@media (max-width:480px) {
  .admin-loading-page .loader-wrap { width:min(92vw,360px); }
  .admin-loading-page .brand-name { font-size:clamp(2rem,11vw,3rem); }
}
@media (orientation:landscape) and (max-height:600px) {
  .admin-loading-page .loader-wrap { transform:scale(.78); }
  .admin-loading-page .logo-container { margin-bottom:12px; }
  .admin-loading-page .progress-section { margin-top:16px; }
}

@media (pointer:coarse) {
  .admin-shell-page :is(button,a,input,select,.dropdown-selected,.wizard-tab,.tp-tab,.ftab) { min-height:40px; }
  .admin-shell-page .sub-link { min-height:38px; display:flex; align-items:center; }
}

@media (prefers-reduced-motion:reduce) {
  html.admin-modern *,html.admin-modern *::before,html.admin-modern *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Keep existing report/receipt print actions paper-friendly regardless of the
   selected on-screen theme. */
@media print {
  html.admin-modern {
    color-scheme:light !important;
    --am-bg:#fff; --am-surface:#fff; --am-surface-2:#fff; --am-surface-3:#f8fafc;
    --am-text:#111827; --am-text-soft:#374151; --am-muted:#6b7280; --am-faint:#9ca3af;
    --am-border:#d1d5db; --am-border-strong:#9ca3af;
  }
  html.admin-modern,
  html.admin-modern body,
  .admin-shell-page .main-content,
  .admin-shell-page .content-body,
  .admin-shell-page :is(.panel,.stat-card,.scard,.summary-wrapper,.summary-card,.tax-summary-card,.card-wrap,.sr-card,.table-wrapper,.tax-table-box,.tbl-wrap,.summary-box,.report-table-box) {
    height:auto !important; min-height:0 !important; overflow:visible !important;
    background:#fff !important; color:#111827 !important; box-shadow:none !important;
  }
  .admin-shell-page :is(.sidebar-wrap,.topbar,.admin-theme-control,.admin-nav-overlay,.admin-nav-toggle,.admin-mobile-menu) { display:none !important; }
  .admin-shell-page table,
  .admin-shell-page table :is(thead,tbody,tr,th,td) { background:#fff !important; color:#111827 !important; border-color:#d1d5db !important; }
}
