/* Shared admin shell on every route; .dashboard / .dash-* styles remain dashboard-only. */
.admin-icon { width:20px; height:20px; flex:none; vertical-align:middle; }
.nav-item .icon { display:flex; align-items:center; justify-content:center; }
.nav-item:focus-visible { outline:2px solid #f4adc1; outline-offset:-4px; }
.admin-shell .sidebar { width:228px; }
.admin-shell .main { margin-left:228px; min-width:0; }
.admin-shell .sidebar-brand { padding:26px 24px; }
.admin-shell .sidebar-brand h1 { font-size:25px; letter-spacing:-.6px; }
.admin-shell .sidebar-brand span { color:#bba9af; margin-top:6px; }
.admin-shell .nav-section { color:#b5a1a8; padding:18px 22px 8px; font-size:11px; letter-spacing:.6px; }
.admin-shell .nav-item { margin:2px 12px; padding:10px 12px; border:0; border-radius:7px; font-size:13px; color:#d3c5ca; gap:10px; }
.admin-shell .nav-item.active { background:#442c35; color:#ffc1d2; }
.admin-shell .nav-item:hover { background:#33222a; color:#fff; }
.admin-shell .nav-item .badge { padding:2px 6px; font-size:10px; background:#815061; color:#fff; }
.admin-shell .topbar { padding:17px 32px; }
.admin-shell .topbar h2 { font-size:16px; }
.admin-shell .content { padding:28px 32px 40px; }
.dashboard { --dash-ink:#30252b; --dash-muted:#73636b; --dash-line:#eee5e9; --dash-accent:#9e3d56; color:var(--dash-ink); max-width:1600px; margin:0 auto; font-size:14px; line-height:1.5; }
.dashboard *, .dashboard *::before, .dashboard *::after { box-sizing:border-box; }
.dashboard ::selection { color:#472433; background:#f6cada; }
.dashboard button { font:inherit; cursor:pointer; }
.dashboard button:focus-visible, .dashboard summary:focus-visible { outline:3px solid #9e3d56; outline-offset:3px; }
.dashboard button:disabled { opacity:.55; cursor:wait; }
.dashboard h1, .dashboard h2, .dashboard p { margin:0; }
.dashboard h1 { font-size:26px; line-height:1.3; font-weight:650; letter-spacing:-.6px; }
.dashboard h2 { font-size:16px; line-height:1.4; font-weight:650; }
.dash-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.dash-heading p { color:var(--dash-muted); font-size:13px; margin-top:7px; }
.dash-heading p span { margin:0 7px; }
.dash-heading-tools { display:flex; align-items:center; gap:16px; font-size:12px; color:var(--dash-muted); }
.dash-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 13px; min-height:40px; border:1px solid #e3d6dd; border-radius:7px; color:var(--dash-ink); background:#fff; transition:background .16s ease-out,border-color .16s ease-out; }
.dash-button:hover { background:#fff5f8; border-color:#c98da2; }
.dash-button .admin-icon { width:17px; height:17px; }
.dash-overview { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; background:#fff; border:1px solid var(--dash-line); border-radius:12px; margin-bottom:22px; overflow:hidden; }
.dash-metric { padding:24px 26px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; position:relative; }
.dash-metric:not(:first-child)::before { content:''; position:absolute; left:0; top:28px; bottom:28px; border-left:1px solid var(--dash-line); }
.dash-metric-primary { background:#fff; }
.dash-metric > span { color:var(--dash-muted); font-size:13px; }
.dash-metric > strong { font-size:32px; font-weight:650; line-height:1.2; letter-spacing:-.7px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.dash-metric small { color:var(--dash-muted); font-size:12px; }
.dash-currency { font-size:.52em; letter-spacing:0; font-weight:550; }
.dash-text-button { display:inline-flex; align-items:center; gap:7px; border:0; padding:3px 0; background:transparent; color:var(--dash-accent); font-size:12px!important; text-align:left; min-height:26px; }
.dash-text-button:hover { text-decoration:underline; text-underline-offset:4px; }
.dash-text-button .admin-icon { width:14px; height:14px; }
.dash-main-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr); gap:22px; margin-bottom:26px; align-items:stretch; }
.dash-panel { background:#fff; border:1px solid var(--dash-line); border-radius:12px; min-width:0; overflow:hidden; }
.dash-panel-header { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:22px 24px 14px; }
.dash-panel-header > .admin-icon { color:var(--dash-muted); }
.dash-panel-header p { color:var(--dash-muted); font-size:12px; margin-top:6px; }
.dash-segment { display:flex; padding:3px; border-radius:7px; background:#f6f2f4; flex:none; }
.dash-segment button { border:0; background:transparent; color:var(--dash-muted); padding:5px 11px; font-size:12px; border-radius:5px; min-height:30px; }
.dash-segment button[aria-pressed="true"] { background:#fff; color:var(--dash-accent); box-shadow:0 1px 4px #30252b14; font-weight:600; }
.dash-trend-summary { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:3px 24px 18px; }
.dash-trend-summary span { color:var(--dash-muted); font-size:12px; }
.dash-trend-summary strong { display:block; font-size:26px; letter-spacing:-.4px; font-variant-numeric:tabular-nums; }
.dash-trend-summary strong .dash-currency { font-size:14px; }
.dash-trend-summary p { font-size:12px; color:var(--dash-muted); padding-bottom:3px; }
.dash-trend-summary b { display:inline-block; margin-left:5px; color:var(--dash-ink); font-size:18px; }
.dash-chart { margin:0 24px; height:158px; position:relative; padding-top:23px; }
.dash-chart-scale { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:space-between; padding-bottom:21px; font-size:10px; color:var(--dash-muted); pointer-events:none; }
.dash-bars { display:flex; align-items:stretch; gap:8px; height:100%; padding-left:28px; border-bottom:1px solid var(--dash-line); background:repeating-linear-gradient(to top,transparent,transparent 43px,#f3eef1 43px,#f3eef1 44px); }
.dash-bar-column { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; }
.dash-bar-space { flex:1; width:100%; display:flex; align-items:flex-end; justify-content:center; }
.dash-bar { display:block; width:min(100%,32px); border-radius:4px 4px 0 0; background:#df88a3; }
.dash-bar-column:last-child .dash-bar { background:#a54b69; }
.dash-bar-date { flex:none; height:21px; line-height:21px; background:#fff; width:100%; text-align:center; font-size:10px; color:var(--dash-muted); white-space:nowrap; }
.dash-chart-note { padding:14px 24px 0; color:var(--dash-muted); font-size:11px; line-height:1.6; }
.dash-daily-detail { margin:10px 24px 17px; }
.dash-daily-detail summary { width:fit-content; cursor:pointer; font-size:12px; color:var(--dash-accent); padding:4px 0; }
.dash-daily-detail .dash-table-scroll { max-height:280px; margin-top:10px; }
.dash-queue { width:calc(100% - 48px); margin:0 24px; display:flex; align-items:center; gap:12px; padding:14px 0; border:0; border-bottom:1px solid var(--dash-line); background:transparent; color:inherit; text-align:left; }
.dash-queue:hover .dash-queue-copy strong { color:var(--dash-accent); }
.dash-queue-icon { display:flex; color:#a95772; }
.dash-queue-copy { flex:1; min-width:0; }
.dash-queue-copy strong { display:block; font-size:13px; font-weight:550; }
.dash-queue-copy small { display:block; font-size:11px; color:var(--dash-muted); margin-top:3px; }
.dash-queue > b { font-size:23px; font-weight:650; font-variant-numeric:tabular-nums; }
.dash-queue > .admin-icon { width:15px; height:15px; color:#a38a95; }
.dash-warehouse-total { margin:15px 24px 20px; display:flex; justify-content:space-between; gap:14px; color:var(--dash-muted); font-size:12px; }
.dash-warehouse-total strong { color:var(--dash-ink); }
.dash-section-heading { margin-bottom:14px; }
.dash-section-heading p { color:var(--dash-muted); font-size:12px; margin-top:5px; }
.dash-finance { margin-bottom:26px; }
.dash-finance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.dash-finance-item { padding:20px 24px; background:#f0e9ed; border-radius:10px; min-width:0; }
.dash-finance-item > span { display:flex; align-items:center; gap:10px; font-size:12px; color:#65515e; }
.dash-finance-item .admin-icon { width:18px; height:18px; }
.dash-finance-item > strong { display:block; margin:10px 0 7px; font-size:27px; line-height:1.2; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.4px; overflow-wrap:anywhere; }
.dash-finance-item small { font-size:11px; color:#65515e; display:block; }
.dash-detail-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:stretch; gap:22px; margin-bottom:22px; }
.dash-table-scroll { overflow:auto; scrollbar-width:thin; scrollbar-color:#c6acb7 transparent; }
.dash-table-scroll:focus-visible { outline:2px solid var(--dash-accent); outline-offset:-3px; }
.dash-table { width:100%; border-collapse:collapse; font-size:12px; font-variant-numeric:tabular-nums; }
.dashboard .dash-table th, .dashboard .dash-table td { padding:15px 20px; white-space:nowrap; border-bottom:1px solid var(--dash-line); }
.dashboard .dash-table thead th { background:#faf7f9; color:var(--dash-muted); font-weight:500; font-size:11px; }
.dashboard .dash-table tbody th { font-weight:500; text-align:left; }
.dashboard .dash-table td { text-align:right; }
.dashboard .dash-table tbody tr:last-child > * { border-bottom:0; }
.dash-refund, .dash-warning { color:#a3263f!important; }
.dash-state-grid { padding:2px 24px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dash-order-state span { display:block; font-size:11px; color:var(--dash-muted); }
.dash-order-state strong { font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.dash-state-total { font-size:11px; color:var(--dash-muted); padding:14px 24px 20px; }
.dash-health { margin-bottom:24px; }
.dashboard .dash-health td { text-align:left; }
.dash-cell-note { display:block; font-size:11px; color:var(--dash-muted); margin-top:4px; }
.dash-shortcuts h2 { margin-bottom:12px; }
.dash-shortcuts > div { display:flex; gap:10px; flex-wrap:wrap; }
.dash-shortcuts .dash-button { font-size:12px; }
.dash-loading, .dash-error { padding:48px 24px; border-radius:12px; background:#fff; color:var(--dash-muted); }
.dash-error p { margin:12px 0 20px; }
.dash-chart-state { min-height:314px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; text-align:center; color:var(--dash-muted); }
@media (max-width:1600px) { .dash-detail-grid { grid-template-columns:1fr; } }
@media (max-width:1250px) {
  .admin-shell .content { padding:24px; }
  .dash-metric { padding:20px; }
  .dash-metric > strong { font-size:27px; }
  .dash-main-grid { grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr); gap:16px; }
  .dash-finance-grid { gap:16px; }
  .dash-finance-item { padding:18px; }
  .dash-finance-item > strong { font-size:23px; }
  .dash-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:1050px) {
  .dash-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dash-main-grid { grid-template-columns:1fr; }
  .dash-finance-grid { grid-template-columns:1fr; gap:10px; }
  .dash-finance-item { display:grid; grid-template-columns:1fr auto; gap:6px 16px; }
  .dash-finance-item > strong { margin:0; }
  .dash-finance-item small { grid-column:1/-1; }
  .dash-heading { align-items:flex-start; }
  .dash-heading-tools { flex-direction:column-reverse; align-items:flex-end; gap:6px; }
}
@media (max-width:760px) {
  body.admin-shell { display:block; }
  .admin-shell .sidebar { position:static; width:100%; overflow:visible; }
  .admin-shell .sidebar-brand { padding:14px 18px 8px; }
  .admin-shell .sidebar-brand h1 { font-size:21px; }
  .admin-shell .sidebar-brand span { display:none; }
  .admin-shell .sidebar-nav { display:flex; padding:6px 8px 10px; overflow-x:auto; scrollbar-width:thin; }
  .admin-shell .nav-section { display:none; }
  .admin-shell .nav-item { flex:none; margin:0 3px; padding:10px; }
  .admin-shell .main { margin-left:0; }
  .admin-shell .topbar { padding:12px 16px; gap:10px; }
  .admin-shell .topbar-right { gap:8px; }
  .admin-shell .admin-name { display:none; }
  .admin-shell .btn-logout { padding:8px; font-size:12px; }
  .admin-shell .content { padding:22px 16px; }
  .dashboard h1 { font-size:23px; }
  .dash-heading { gap:12px; }
  .dash-heading-tools > span { display:none; }
  .dash-heading p { font-size:11px; }
  .dash-metric { padding:18px 16px; }
  .dash-metric > strong { font-size:25px; }
  .dash-panel-header { padding:20px 18px 14px; }
  .dash-trend-summary { padding:3px 18px 18px; flex-wrap:wrap; }
  .dash-chart { margin:0 18px; }
  .dash-chart-note { padding:14px 18px 0; }
  .dash-daily-detail { margin:10px 18px 17px; }
  .dash-bars { gap:4px; }
  .dash-queue { margin:0 18px; width:calc(100% - 36px); }
  .dash-finance-item { display:block; }
  .dash-finance-item > strong { margin:10px 0 7px; }
  .dash-state-grid { gap:14px 8px; padding:2px 18px 0; }
  .dash-shortcuts .dash-button { flex:1 1 45%; }
}
@media (prefers-reduced-motion:reduce) { .dashboard *, .admin-shell .nav-item { transition:none!important; } }
