/* Opt-in admin theme: load after storefront.css. All selectors are scoped to admin hosts/components. */
body.admin-host {
    background: radial-gradient(ellipse at 12% 8%,rgba(141,225,239,.38),transparent 45%),radial-gradient(ellipse at 90% 45%,rgba(185,169,246,.27),transparent 45%),#edf3fa;
    background-attachment: fixed;
}
:root[data-theme=dark] body.admin-host {
    background: radial-gradient(ellipse at 10% 0%,rgba(13,129,147,.19),transparent 43%),radial-gradient(ellipse at 100% 35%,rgba(95,53,166,.2),transparent 45%),#090f1d;
}
.admin-root {
    --primary:#08757b; --primary-dark:#075e66; --on-primary:#fff;
    --text:#1a2c40; --secondary:#52657a; --surface:rgba(255,255,255,.42);
    --surface-raised:rgba(244,249,255,.84); --solid-surface:#f5f9fd;
    --soft-green:rgba(25,165,178,.13); --neu-well:rgba(67,111,151,.06);
    --highlight:rgba(255,255,255,.7); --line:rgba(81,117,157,.12);
    --neon-cyan:#07838c; --neon-violet:#7553ba; --neon-pink:#b8428f; --neon-lime:#4b7d28;
    --neon-glow:rgba(14,169,180,.12); --shadow:0 16px 48px rgba(48,75,125,.07);
    --glass-blur:32px; --neu-shadow-dark:rgba(49,83,132,.1); --neu-shadow-light:rgba(255,255,255,.7);
    --overlay:rgba(5,14,28,.42); min-height:100dvh; color:var(--text);
    display:grid; grid-template-columns:254px minmax(0,1fr); gap:0;
}
:root[data-theme=dark] .admin-root {
    color-scheme:dark; --primary:#62e8e5; --primary-dark:#a0f6ef; --on-primary:#082b33;
    --text:#e9f1fc; --secondary:#a4b3cd; --surface:rgba(22,34,54,.38);
    --surface-raised:rgba(24,37,59,.8); --solid-surface:#17243a;
    --soft-green:rgba(82,227,224,.1); --neu-well:rgba(3,10,24,.22);
    --highlight:rgba(176,220,255,.12); --line:rgba(157,196,239,.1);
    --neon-cyan:#62e8e5; --neon-violet:#bba5ff; --neon-pink:#f6a2df; --neon-lime:#b8ee94;
    --neon-glow:rgba(45,233,229,.08); --shadow:0 20px 55px rgba(0,4,15,.2);
    --neu-shadow-dark:rgba(0,3,12,.32); --neu-shadow-light:rgba(106,155,207,.04); --overlay:rgba(2,7,17,.64);
}
.admin-root .sf-surface {
    border:0; box-shadow:var(--shadow),0 0 32px var(--neon-glow);
    background-color:var(--surface); border-radius:22px;
}
.admin-root .sf-button { box-shadow:0 6px 24px var(--neon-glow); }
.admin-root .sf-button.secondary,.admin-root .sf-icon-button { background:var(--surface); color:var(--text); box-shadow:var(--neu-control-shadow); }
.admin-root .sf-button:hover:not(:disabled) { box-shadow:0 8px 34px var(--neon-glow),0 0 20px var(--neon-glow); }
.admin-root .sf-input { border:0; background-color:var(--neu-well); }
.admin-root .sf-avatar { background:var(--soft-green); color:var(--primary); width:40px; height:40px; font-weight:650; }
.admin-root .sf-drawer { background-color:var(--surface-raised); }
.admin-desktop-sidebar { position:sticky; top:0; height:100dvh; padding:22px 14px; background:var(--surface); backdrop-filter:blur(32px); -webkit-backdrop-filter:blur(32px); box-shadow:-5px 0 45px var(--neon-glow); z-index:35; overflow-y:auto; }
.admin-sidebar { min-height:100%; display:flex; flex-direction:column; }
.admin-brand { display:flex; gap:12px; align-items:center; padding:12px 14px 28px; }
.admin-brand strong { display:block; font-size:1.04rem; letter-spacing:-.03em; }
.admin-brand small { display:block; font-size:.65rem; color:var(--secondary); margin-top:4px; }
.admin-brand-symbol { display:grid; place-items:center; flex-shrink:0; width:46px; height:46px; font-size:2.15rem; color:var(--primary); background:var(--soft-green); border-radius:16px; text-shadow:0 0 20px var(--neon-cyan); box-shadow:0 0 30px var(--neon-glow); }
.admin-nav-group { font-size:.64rem; letter-spacing:.05em; color:var(--secondary); margin:24px 18px 10px; }
.admin-nav-item { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 14px; margin-block:5px; border-radius:14px; color:var(--secondary); position:relative; transition:color var(--sf-motion) ease,background-color var(--sf-motion) ease,box-shadow var(--sf-motion) ease,transform var(--sf-motion) var(--sf-ease); font-size:.82rem; }
.admin-nav-icon { display:grid; place-items:center; }
.admin-nav-icon svg { width:20px; height:20px; }
.admin-nav-item:hover { background:var(--neu-well); color:var(--text); transform:translateX(-3px); }
[dir=ltr] .admin-nav-item:hover { transform:translateX(3px); }
.admin-nav-item.active { color:var(--primary); background:linear-gradient(110deg,var(--soft-green),transparent); box-shadow:0 0 24px var(--neon-glow); }
.admin-nav-item.active::after { content:""; position:absolute; inset-inline-start:0; top:30%; bottom:30%; width:3px; background:var(--primary); box-shadow:0 0 12px var(--neon-cyan); border-radius:6px; }
.admin-nav-badge { margin-inline-start:auto; font-size:.65rem; background:var(--soft-green); color:var(--primary); border-radius:8px; padding:2px 7px; }
.admin-sidebar-footer { margin-top:auto; padding:24px 12px 8px; }
.admin-workspace { min-width:0; padding:0 32px; }
.admin-shell-header { display:flex; align-items:center; gap:14px; min-height:92px; position:sticky; top:0; z-index:25; background:var(--surface); backdrop-filter:blur(26px); -webkit-backdrop-filter:blur(26px); margin-inline:-32px; padding-inline:32px; }
.admin-topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; flex:1; min-width:0; }
.admin-topbar-title { display:flex; gap:10px; align-items:center; font-size:.83rem; }
.admin-topbar-title small { font-size:.66rem; color:var(--secondary); }
.admin-live-dot { width:7px; height:7px; background:var(--primary); border-radius:50%; box-shadow:0 0 16px var(--neon-cyan); }
.admin-topbar-actions { display:flex; align-items:center; gap:16px; }
.admin-user { display:flex; gap:10px; align-items:center; }
.admin-user strong { display:block; font-size:.74rem; font-weight:550; }
.admin-user small { display:block; font-size:.62rem; color:var(--secondary); }
.admin-mobile-toggle { display:none; flex-shrink:0; }
.admin-content { max-width:1540px; margin:auto; padding-block:30px; }
.admin-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:var(--secondary); font-size:.65rem; padding:24px 0; }
.admin-page-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.admin-eyebrow { font-size:.62rem; letter-spacing:.2em; color:var(--primary); text-transform:uppercase; margin-bottom:10px; }
.admin-page-header h1 { font-size:clamp(1.65rem,2.8vw,2.45rem); line-height:1.4; letter-spacing:-.04em; }
.admin-page-description { font-size:.8rem; margin-top:9px; line-height:1.9; }
.admin-page-actions,.admin-filter-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-block:24px; }
.admin-tone-cyan { --admin-accent:var(--neon-cyan); }
.admin-tone-violet { --admin-accent:var(--neon-violet); }
.admin-tone-pink { --admin-accent:var(--neon-pink); }
.admin-tone-lime { --admin-accent:var(--neon-lime); }
.admin-metric { padding:22px 22px 12px; overflow:hidden; position:relative; transition:transform var(--sf-motion) var(--sf-ease),box-shadow var(--sf-motion) ease; }
.admin-metric:hover { transform:translateY(-4px); box-shadow:var(--shadow),0 0 42px var(--neon-glow); }
.admin-metric-top { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.76rem; color:var(--secondary); }
.admin-metric-icon { color:var(--admin-accent); padding:9px; border-radius:13px; background:var(--neu-well); filter:drop-shadow(0 0 8px var(--neon-glow)); }
.admin-metric-value { font-size:clamp(1.5rem,2.5vw,2.2rem); font-weight:600; display:block; line-height:1.8; letter-spacing:-.035em; }
.admin-metric-value small { font-size:.62rem; margin-inline-start:7px; color:var(--secondary); font-weight:400; }
.admin-metric-bottom { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.64rem; }
.admin-metric-bottom small { color:var(--secondary); }
.admin-trend-positive { color:var(--neon-cyan); }
.admin-trend-negative { color:var(--neon-pink); }
.admin-sparkline { width:100%; height:38px; display:block; margin-top:14px; color:var(--admin-accent); opacity:.75; filter:drop-shadow(0 0 5px var(--neon-glow)); }
.admin-panel { padding:24px; min-width:0; margin-bottom:22px; }
.admin-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.admin-panel-heading h2 { font-size:.98rem; letter-spacing:-.02em; }
.admin-panel-heading p { font-size:.7rem; margin-top:6px; }
.admin-panel .sf-chart { box-shadow:none; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; padding:0; border-radius:0; }
.admin-panel .sf-chart>figcaption { display:none; }
.admin-panel .sf-chart svg path { filter:drop-shadow(0 0 4px var(--neon-glow)); }
.admin-panel .sf-chart svg text { font-size:11px; }
.admin-chart-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:22px; }
.admin-content-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:22px; }
.admin-status { display:inline-flex; align-items:center; gap:6px; font-size:.65rem; padding:5px 10px; border-radius:999px; color:var(--secondary); background:var(--neu-well); white-space:nowrap; }
.admin-status>span { width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 9px currentColor; }
.admin-status-success { color:var(--neon-cyan); background:var(--soft-green); }
.admin-status-warning { color:var(--neon-lime); }
.admin-status-danger { color:var(--neon-pink); }
.admin-status-info { color:var(--neon-violet); }
.admin-data-table { margin-bottom:22px; }
.admin-data-table .sf-data-grid { border:0; background:var(--surface); }
.admin-data-table .sf-table { font-size:.75rem; }
.admin-data-table .sf-table caption { font-size:.95rem; padding:4px 0 20px; }
.admin-data-table .sf-table th { color:var(--secondary); font-weight:400; font-size:.65rem; }
.admin-data-table .sf-table th button { font-weight:400; }
.admin-data-table .sf-table td { padding-block:16px; }
.admin-data-table .sf-table tbody tr:nth-child(odd) { background:var(--neu-well); }
.admin-data-table .sf-button { min-height:36px; font-size:.68rem; padding:6px 12px; border-radius:10px; }
.admin-data-table .sf-pagination { font-size:.7rem; justify-content:end; }
.admin-filter-bar { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:14px 18px; margin-bottom:20px; }
.admin-search { display:flex; align-items:center; gap:10px; flex:1; min-width:180px; color:var(--secondary); }
.admin-search input { border:0; background:transparent; color:var(--text); padding:6px; width:100%; font:inherit; font-size:.78rem; outline-offset:3px; }
.admin-filter-options { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.admin-filter-options .sf-field { margin:0; font-size:.7rem; }
.admin-filter-options select { min-height:42px; padding:8px 12px; }
.admin-activity-feed { list-style:none; padding:0; margin:0; }
.admin-activity-feed li { display:flex; align-items:start; gap:12px; padding-block:14px; }
.admin-activity-icon { padding:10px; display:inline-grid; border-radius:13px; color:var(--admin-accent); background:var(--neu-well); }
.admin-activity-icon svg { width:18px; height:18px; }
.admin-activity-feed li>div { flex:1; min-width:0; }
.admin-activity-feed strong { font-size:.74rem; font-weight:500; }
.admin-activity-feed p { font-size:.65rem; margin-top:5px; line-height:1.8; }
.admin-activity-feed time { color:var(--secondary); font-size:.6rem; white-space:nowrap; }
.admin-empty-state { display:grid; justify-items:center; gap:12px; padding:42px 20px; text-align:center; }
.admin-empty-state p { max-width:360px; font-size:.8rem; }
.admin-empty-icon { display:grid; place-items:center; width:72px; height:72px; background:var(--soft-green); color:var(--primary); border-radius:24px; box-shadow:0 0 30px var(--neon-glow); margin-bottom:5px; }
.admin-empty-icon svg { width:32px; height:32px; }
.admin-form-actions { display:flex; gap:12px; margin-top:24px; justify-content:end; }
.admin-theme { position:relative; }
.admin-theme>summary { list-style:none; cursor:pointer; display:grid; place-items:center; }
.admin-theme>summary::-webkit-details-marker { display:none; }
.admin-theme-options { position:absolute; inset-inline-end:0; top:calc(100% + 14px); min-width:155px; z-index:50; padding:8px; animation:sf-reveal var(--sf-motion-slow) var(--sf-ease); }
.admin-theme-options button { display:block; width:100%; font-size:.78rem; }
.admin-theme-options button[aria-pressed=true] { color:var(--primary); background:var(--soft-green); }
.admin-demo-notice { padding:10px 16px; margin-bottom:24px; border-radius:14px; background:var(--soft-green); color:var(--primary-dark); font-size:.69rem; display:flex; align-items:center; gap:10px; }
.admin-inline-stats { display:flex; flex-wrap:wrap; gap:22px; }
.admin-inline-stats strong { font-size:1.25rem; color:var(--primary); display:block; }
.admin-inline-stats small { color:var(--secondary); font-size:.7rem; }
.admin-root .sf-scroll-top { bottom:24px; }
.admin-root .sf-snackbar { bottom:28px; }
@media(min-width:1600px) { .admin-workspace { padding-inline:44px; } .admin-shell-header { padding-inline:44px; margin-inline:-44px; } }
@media(max-width:1199px) { .admin-root { grid-template-columns:220px minmax(0,1fr); } .admin-workspace { padding-inline:22px; } .admin-shell-header { padding-inline:22px; margin-inline:-22px; } .admin-metrics { gap:14px; } .admin-metric { padding:18px 16px 10px; } .admin-metric-value { font-size:1.5rem; } }
@media(max-width:959px) {
    .admin-root { display:block; } .admin-desktop-sidebar { display:none; } .admin-mobile-toggle { display:inline-grid; }
    .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-chart-layout,.admin-content-grid { grid-template-columns:minmax(0,1fr); }
    .admin-user>div,.admin-topbar-title small { display:none; } .admin-topbar-actions { gap:10px; }
}
@media(max-width:599px) {
    .admin-workspace { padding-inline:16px; } .admin-shell-header { padding-inline:16px; margin-inline:-16px; min-height:78px; }
    .admin-content { padding-block:22px; } .admin-page-header { align-items:start; flex-direction:column; gap:16px; }
    .admin-page-header h1 { font-size:1.7rem; } .admin-metrics { gap:12px; } .admin-metric { padding:16px 13px 8px; }
    .admin-metric-top { font-size:.63rem; } .admin-metric-icon { padding:6px; } .admin-metric-icon svg { width:18px; height:18px; }
    .admin-metric-value { font-size:1.32rem; } .admin-metric-value small { font-size:.55rem; } .admin-metric-bottom { font-size:.56rem; }
    .admin-panel { padding:18px; } .admin-topbar-title { font-size:.72rem; } .admin-topbar-actions { gap:8px; }
    .admin-topbar-actions .admin-user { display:none; } .admin-filter-options { width:100%; } .admin-filter-options .sf-field { flex:1; }
    .admin-demo-notice { line-height:1.8; align-items:start; } .admin-filter-actions { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
    .admin-root *,.admin-root *::before,.admin-root *::after { animation:none!important; transition:none!important; }
    .admin-metric:hover,.admin-nav-item:hover { transform:none; }
}
@media print {
    .admin-desktop-sidebar,.admin-shell-header,.admin-footer { display:none; } .admin-root { display:block; color:#111; }
    .admin-root .sf-surface { background:white; box-shadow:none; backdrop-filter:none; } .admin-workspace { padding:0; }
}
