.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}.admin-table th,.admin-table td{padding:10px var(--space-3);text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table thead th{position:sticky;top:0;z-index:1;font-weight:600;color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2);border-bottom:1px solid var(--line)}.admin-table tr:last-child td{border-bottom:0}.admin-table tbody tr{transition:background-color var(--duration) var(--ease)}.admin-table tbody tr:nth-child(2n){background:var(--panel-2)}.admin-table tbody tr:hover{background:var(--panel-hover)}.admin-table .row-inactive{opacity:.5}.admin-table .row-inactive:hover{opacity:.75}.admin-table input[type=text],.admin-table input[type=number]{width:100%}.admin-table .actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.admin-table .tabular,.admin-table .money,.admin-table .num{font-variant-numeric:tabular-nums;text-align:right}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-xs)}.toolbar{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .spacer{flex:1}.toolbar input[type=text],.toolbar input[type=search],.toolbar select{width:auto;min-width:180px}.toolbar-group{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 9px;font-size:var(--text-xs);font-weight:600;margin-right:4px;text-transform:capitalize;letter-spacing:.01em}.badge.accent{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.badge.success{background:var(--accent-2-soft);border-color:transparent;color:var(--accent-2)}.badge.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.badge.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}.badge.muted-badge{color:var(--muted)}.banner{padding:10px var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);margin-bottom:var(--space-3);border:1px solid transparent}.banner.error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.banner.info{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.banner.success{background:var(--accent-2-soft);border-color:var(--accent-2);color:var(--accent-2)}.banner.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;justify-content:flex-end;animation:drawer-fade-in var(--duration) var(--ease)}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.drawer{background:var(--panel);border-left:1px solid var(--line);width:min(560px,100%);height:100%;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-lg);animation:drawer-slide-in var(--duration) var(--ease)}@keyframes drawer-slide-in{0%{transform:translate(24px)}to{transform:translate(0)}}.drawer h3{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text-strong, var(--text));letter-spacing:-.005em}.drawer .drawer-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:var(--space-3)}.drawer .drawer-actions{display:flex;gap:var(--space-2);justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--line);margin-top:auto}.field{display:flex;flex-direction:column;gap:4px;font-size:13px}.field label{color:var(--muted);font-weight:600;font-size:12px}.field input[type=text],.field input[type=number],.field input[type=email],.field input[type=tel],.field textarea,.field select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);padding:8px 10px;border-radius:var(--radius);font-size:14px;width:100%;font-family:inherit}.field textarea{min-height:72px;resize:vertical}.field .check{display:flex;gap:8px;align-items:center;font-size:14px}.field .check input{width:auto}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.card-list{display:flex;flex-direction:column;gap:8px}.card-list .card{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--panel-2);display:flex;justify-content:space-between;align-items:center;gap:8px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}.kv .k{color:var(--muted)}@media (max-width: 768px){.field-row{grid-template-columns:1fr}.drawer{width:100%}}.table-wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}@media (max-width: 900px) and (min-width: 601px){.drawer{width:min(560px,100vw - 24px)}}@media (max-width: 600px){.drawer-backdrop{justify-content:stretch}.drawer{width:100%;max-width:none;top:0;right:0;bottom:0;left:0;border-left:0;padding:16px}.field-row{grid-template-columns:1fr}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:8px 10px}.admin-table .actions{justify-content:flex-start}.toolbar{gap:6px}.toolbar input[type=text],.toolbar select{min-width:140px;flex:1 1 140px}.drawer button,.toolbar button,.admin-table .actions button{min-height:44px}.field input[type=text],.field input[type=number],.field input[type=email],.field input[type=tel],.field textarea,.field select,.toolbar input[type=text],.toolbar select,.admin-table input[type=text],.admin-table input[type=number]{font-size:16px}}@media (hover: none){.admin-table tbody tr:hover{background:transparent}}@media print{.drawer-backdrop,.drawer,.toolbar{display:none!important}.table-wrap{overflow:visible!important;border-color:#ccc!important}.admin-table th,.admin-table td{border-color:#ccc!important;background:#fff!important;color:#000!important}}.dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard-meta{font-size:var(--text-sm)}.dash-section{display:flex;flex-direction:column;gap:var(--space-3)}.dash-section-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.dash-section-head h2{margin:0;font-size:var(--text-lg)}.dash-section-head .muted{font-size:var(--text-xs)}.dash-section .kpi-grid+.kpi-grid{margin-top:var(--space-3)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.kpi-grid{grid-template-columns:1fr}}.kpi-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;grid-template-areas:"icon  label" "icon  primary" "icon  secondary";column-gap:var(--space-4);row-gap:2px;align-items:center;padding:var(--space-4) var(--space-5);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.kpi-tile-link{text-decoration:none;color:inherit;cursor:pointer}.kpi-tile-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--line-strong);text-decoration:none}.kpi-icon{grid-area:icon;width:40px;height:40px;border-radius:var(--radius);background:var(--panel-2);color:var(--muted);display:grid;place-items:center}.kpi-icon svg{width:20px;height:20px}.kpi-icon.tone-accent{background:var(--accent-soft);color:var(--accent)}.kpi-icon.tone-warn{background:var(--warn-soft);color:var(--warn)}.kpi-icon.tone-danger{background:var(--danger-soft);color:var(--danger)}.kpi-label{grid-area:label;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.kpi-primary{grid-area:primary;font-size:var(--text-2xl);font-weight:700;color:var(--text-strong);letter-spacing:-.01em;line-height:1.1}.kpi-secondary{grid-area:secondary;font-size:var(--text-xs)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.panel-head h2{margin:0}.panel-head-link{font-size:var(--text-xs);color:var(--muted);text-decoration:none}.panel-head-link:hover{color:var(--accent);text-decoration:none}.weekly-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2);align-items:end;height:180px;padding-top:var(--space-2)}.weekly-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);height:100%;justify-content:flex-end}.weekly-bar{width:100%;min-height:3px;background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-radius:var(--radius-sm) var(--radius-sm) 2px 2px;transition:filter var(--duration) var(--ease)}.weekly-bar:hover{filter:brightness(1.1)}.weekly-bar-label{font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em}.lean-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.lean-list li{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:0;padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.lean-list li:last-child{border-bottom:0}.lean-list-primary{grid-column:1;grid-row:1;font-weight:500;color:var(--text)}.lean-list-secondary{grid-column:1;grid-row:2;font-size:var(--text-xs)}.lean-list-right{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:600;font-variant-numeric:tabular-nums}.lean-list-right.warn{color:var(--warn)}.lean-list-right.danger{color:var(--danger)}.aging{display:flex;flex-direction:column;gap:var(--space-3)}.aging-bar{display:flex;width:100%;height:22px;border-radius:var(--radius-sm);overflow:hidden;background:var(--panel-2)}.aging-seg{height:100%;transition:filter var(--duration) var(--ease)}.aging-seg:hover{filter:brightness(1.1)}.aging-seg-0{background:var(--accent-2, #2da77a)}.aging-seg-1{background:var(--accent, #3b82f6)}.aging-seg-2{background:var(--warn, #d97706)}.aging-seg-3{background:#b45309}.aging-seg-4{background:var(--danger, #b91c1c)}.aging-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2) var(--space-3)}.aging-legend li{display:grid;grid-template-columns:10px auto 1fr auto;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.aging-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.aging-legend-label{font-weight:500}.aging-legend-pct{text-align:right;font-variant-numeric:tabular-nums}.aging-legend-cost{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.basket-meta{font-size:var(--text-xs);margin-bottom:var(--space-3)}.basket-table-wrap{overflow-x:auto}.basket-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.basket-table th,.basket-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--line)}.basket-table th{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.basket-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.basket-table tbody tr:last-child td{border-bottom:0}.basket-pair{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.basket-prod{font-weight:500;color:var(--text)}.basket-arrow{font-size:var(--text-sm)}.basket-lift{font-weight:600}.basket-lift.tone-accent{color:var(--accent)}.basket-lift.tone-warn{color:var(--warn)}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.activity-list li{display:grid;grid-template-columns:auto 1fr auto;column-gap:var(--space-3);align-items:center;padding:6px 0}.activity-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.activity-main{display:flex;flex-direction:column;gap:2px;min-width:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-4px 0 16px;padding-bottom:0}.tabs button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer}.tabs button:hover{color:var(--text);filter:none}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.variance-pos{color:var(--accent-2, #2ca36b);font-weight:600}.variance-neg{color:var(--danger);font-weight:600}.variance-zero{color:var(--muted)}.reason-help{display:block;color:var(--muted);font-size:11px;margin-top:2px}.banner.success{background:#3ca0641f;border:1px solid var(--accent-2, #2ca36b);color:var(--accent-2, #2ca36b)}.variant-picker{position:relative}.variant-picker .results{position:absolute;top:100%;left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-height:240px;overflow-y:auto;z-index:50;box-shadow:0 4px 12px #00000026}.variant-picker .result{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--line);font-size:13px}.variant-picker .result:last-child{border-bottom:0}.variant-picker .result:hover{background:var(--panel-2)}.variant-picker .result .sku{color:var(--muted);font-size:12px}.variant-picker .picked{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);font-size:13px}.receiving-lines{display:flex;flex-direction:column;gap:10px}.receiving-lines .line{border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:var(--panel-2);display:flex;flex-direction:column;gap:8px}.receiving-lines .line-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.delta-controls{display:flex;gap:6px;align-items:center}.delta-controls input{flex:1}.tab-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tab-toolbar .spacer{flex:1}.tab-toolbar select,.tab-toolbar input[type=number],.tab-toolbar input[type=text]{width:auto;min-width:160px}@media (max-width: 768px){.receiving-lines .line-grid{grid-template-columns:1fr}}.vendor-products{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.vendor-products-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.vendor-products-head h4{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text-strong)}.vendor-products-head-actions{display:flex;align-items:center;gap:var(--space-3)}.vendor-products-head-actions .check{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.vendor-products-new{display:flex;flex-direction:column;gap:var(--space-2);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3)}.vendor-products-new-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:var(--space-2)}@media (max-width: 640px){.vendor-products-new-row{grid-template-columns:1fr 1fr}.vendor-products-new-row>button{grid-column:1 / -1}}.vendor-products-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.vendor-products-table th,.vendor-products-table td{padding:8px 10px;font-size:var(--text-sm)}.vendor-products-table .actions button{padding:4px 10px;font-size:var(--text-xs)}.vendor-products-table input[type=text],.vendor-products-table select{padding:6px 8px;font-size:var(--text-sm)}.drawer-backdrop:has(.vendor-products) .drawer{width:min(760px,100%)}.tpl-toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.5rem 0}.tpl-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--border)}.tpl-pill.default{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tpl-pill.tag{background:var(--accent-2-soft);color:var(--accent-2);border-color:var(--accent-2)}.tpl-pill.receipt{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.designer{display:grid;grid-template-columns:220px 1fr 280px;gap:.75rem;height:calc(100vh - 9rem)}@media (max-width: 1100px){.designer{grid-template-columns:180px 1fr 240px}}@media (max-width: 900px){.designer{grid-template-columns:1fr;height:auto}}.designer-pane{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem;overflow:auto}.designer-pane h4{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.palette-btn{display:block;width:100%;text-align:left;padding:.5rem .6rem;margin-bottom:.25rem;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--ink);cursor:pointer;font-size:.85rem}.palette-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.canvas-wrap{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--surface) 6px,var(--surface) 12px);min-height:300px;border-radius:6px;overflow:auto;padding:1.5rem}.canvas{position:relative;background:#fff;box-shadow:0 4px 16px #00000026;border:1px solid var(--border)}.canvas-element{position:absolute;box-sizing:border-box;border:1px dashed transparent;cursor:move;-webkit-user-select:none;user-select:none}.canvas-element:hover{border-color:var(--accent)}.canvas-element.selected{border:1px solid var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.props-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.5rem}.props-row.full{grid-template-columns:1fr}.props-row label{font-size:.7rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.props-row input,.props-row select,.props-row textarea{width:100%;box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--ink);font-size:.85rem}.props-row textarea{min-height:60px;resize:vertical;font-family:ui-monospace,monospace}.token-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.token-chip{position:relative;display:inline-flex;align-items:center;gap:.3rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;font-weight:500;letter-spacing:.01em;padding:.25rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;cursor:pointer;color:var(--ink-soft);transition:all .12s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.token-chip:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink-soft);opacity:.5;transition:background .12s ease,opacity .12s ease}.token-chip:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.token-chip:hover:before{background:var(--accent);opacity:1}.token-chip:active{transform:translateY(0)}.token-chip.copied{background:var(--accent-2-soft, var(--accent-soft));color:var(--accent-2, var(--accent));border-color:var(--accent-2, var(--accent))}.token-chip[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:.35rem .55rem;font-family:system-ui,sans-serif;font-size:.7rem;font-weight:400;white-space:normal;width:max-content;max-width:220px;text-align:center;background:var(--ink, #111);color:var(--surface, #fff);border-radius:4px;pointer-events:none;z-index:10;box-shadow:0 2px 8px #0000002e;letter-spacing:normal}.block-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:.4rem;cursor:pointer}.block-row.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.block-row .block-label{flex:1;font-size:.85rem}.block-row .block-type{font-size:.7rem;color:var(--ink-soft);text-transform:uppercase}.block-handle{cursor:grab;color:var(--ink-soft);padding:0 .25rem}.receipt-preview{font-family:ui-monospace,monospace;font-size:.8rem;background:#fff;color:#000;padding:.75rem;border-radius:4px;border:1px solid var(--border);white-space:pre;overflow-x:auto;max-width:100%}:root,[data-theme=dark]{--bg: #0b1222;--bg-elevated: #111a2e;--panel: #151f36;--panel-2: #1b2742;--panel-hover: #1f2c4b;--line: #27324e;--line-strong: #3a4771;--muted: #8b93a7;--muted-strong: #a6adc0;--text: #e7ecf3;--text-strong: #ffffff;--accent: #6aa5ff;--accent-strong: #84b6ff;--accent-ink: #081026;--accent-soft: rgba(106, 165, 255, .14);--accent-2: #34d399;--accent-2-ink: #052e20;--accent-2-soft: rgba(52, 211, 153, .14);--danger: #f87171;--danger-ink: #ffffff;--danger-soft: rgba(248, 113, 113, .14);--warn: #fbbf24;--warn-ink: #3a2a00;--warn-soft: rgba(251, 191, 36, .14);--shadow-xs: 0 1px 0 rgba(0, 0, 0, .18);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 2px 8px rgba(0, 0, 0, .32), 0 1px 2px rgba(0, 0, 0, .22);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .38), 0 4px 8px rgba(0, 0, 0, .22);--shadow: var(--shadow-sm);color-scheme:dark}[data-theme=light]{--bg: #f7f8fb;--bg-elevated: #ffffff;--panel: #ffffff;--panel-2: #f3f5f9;--panel-hover: #eef1f7;--line: #e2e6ee;--line-strong: #c5ccd8;--muted: #616a7d;--muted-strong: #4a5160;--text: #0f172a;--text-strong: #0b1220;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-ink: #ffffff;--accent-soft: rgba(37, 99, 235, .08);--accent-2: #059669;--accent-2-ink: #ffffff;--accent-2-soft: rgba(5, 150, 105, .08);--danger: #dc2626;--danger-ink: #ffffff;--danger-soft: rgba(220, 38, 38, .08);--warn: #b45309;--warn-ink: #ffffff;--warn-soft: rgba(180, 83, 9, .08);--shadow-xs: 0 1px 0 rgba(15, 23, 42, .04);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 2px 8px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 24px rgba(15, 23, 42, .1), 0 4px 8px rgba(15, 23, 42, .05);--shadow: var(--shadow-sm);color-scheme:light}:root{--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-sans: "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--duration-fast: 90ms;--duration: .12s;--ease: cubic-bezier(.2, .7, .3, 1)}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}.tabular{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html,body,#root{height:100%}body{font-size:var(--text-base)}button{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;padding:8px 14px;border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);font-weight:600;line-height:1.2;cursor:pointer;transition:background-color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease),opacity var(--duration) var(--ease)}button:hover{background:var(--accent-strong)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.secondary{background:transparent;color:var(--text);border-color:var(--line)}button.secondary:hover{background:var(--panel-hover);border-color:var(--line-strong)}button.danger{background:var(--danger);color:var(--danger-ink)}button.danger:hover{filter:brightness(1.05)}button.success{background:var(--accent-2);color:var(--accent-2-ink)}button.success:hover{filter:brightness(1.05)}button.ghost{background:transparent;color:var(--muted);border-color:transparent}button.ghost:hover{background:var(--panel-hover);color:var(--text)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=date],input[type=search],input[type=tel],select,textarea{background:var(--bg-elevated);color:var(--text);border:1px solid var(--line);padding:8px 12px;border-radius:var(--radius);font-family:inherit;font-size:var(--text-base);line-height:1.4;width:100%;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-xs)}.panel+.panel{margin-top:var(--space-4)}.panel h2{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);font-weight:600;color:var(--text-strong);letter-spacing:-.005em}.panel h3{margin:0 0 var(--space-2) 0;font-size:var(--text-md);font-weight:600;color:var(--text)}.admin-shell{display:grid;grid-template-columns:244px 1fr;grid-template-rows:100vh;height:100vh;background:var(--bg)}.admin-sidebar{background:var(--bg-elevated);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3);gap:var(--space-3);min-height:0;overflow-y:auto}.admin-sidebar .brand{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:700;color:var(--text-strong);letter-spacing:-.01em;padding:var(--space-1) var(--space-2) var(--space-3) var(--space-2);border-bottom:1px solid var(--line)}.admin-sidebar .brand-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));display:grid;place-items:center;color:var(--accent-ink);font-size:11px;font-weight:800;letter-spacing:.02em}.admin-sidebar .sidebar-footer{margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--line)}.admin-nav{display:flex;flex-direction:column;gap:2px;font-weight:500}.admin-nav-top{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.admin-nav-top-item{display:flex;align-items:center;gap:var(--space-2);padding:7px 10px;border-radius:var(--radius);color:var(--text);font-size:var(--text-base);font-weight:500;text-decoration:none;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.admin-nav-top-item:hover{background:var(--panel-hover);text-decoration:none}.admin-nav-top-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-nav-top-item .icon{width:16px;height:16px;flex-shrink:0}.admin-nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:2px}.admin-nav-group-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font-size:var(--text-sm);font-weight:600;letter-spacing:0;cursor:pointer;text-align:left;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.admin-nav-group-header:hover{background:var(--panel-hover);color:var(--text)}.admin-nav-group.has-active .admin-nav-group-header{color:var(--text)}.admin-nav-group-header .icon{width:16px;height:16px;flex-shrink:0;color:currentColor}.admin-nav-group-header .label{flex:1}.admin-nav-group-header .caret{font-size:10px;opacity:.6;transition:transform var(--duration) var(--ease)}.admin-nav-group.open .admin-nav-group-header .caret{transform:rotate(0)}.admin-nav-group-children{display:flex;flex-direction:column;gap:1px;padding-left:var(--space-2);margin-bottom:var(--space-1);margin-left:18px;border-left:1px solid var(--line)}.admin-nav a{display:block;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;color:var(--muted);text-decoration:none;border:1px solid transparent;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.admin-nav a:hover{background:var(--panel-hover);color:var(--text);text-decoration:none}.admin-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background:var(--bg-elevated);border-bottom:1px solid var(--line);gap:var(--space-4)}.admin-header .title{font-size:var(--text-xl);font-weight:700;color:var(--text-strong);letter-spacing:-.01em}.admin-header .header-right{display:flex;align-items:center;gap:var(--space-4)}.admin-header .user{font-size:var(--text-sm);color:var(--muted)}.admin-content{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-6) var(--space-8) var(--space-6)}.theme-toggle{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:3px;gap:2px}.theme-toggle button{background:transparent;color:var(--muted);border:0;padding:5px 12px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.theme-toggle button:hover{color:var(--text);filter:none;background:transparent}.theme-toggle button.active{background:var(--accent);color:var(--accent-ink)}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;height:auto;min-height:100vh}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px;gap:10px;flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;position:sticky;top:0;z-index:30;-webkit-overflow-scrolling:touch}.admin-sidebar .brand{border-bottom:0;padding:4px 8px;flex-shrink:0}.admin-sidebar .sidebar-footer{margin-top:0;padding-top:0;border-top:0;flex-shrink:0;margin-left:auto}.admin-nav{flex-direction:row;gap:4px;flex:1}.admin-nav a{white-space:nowrap}.admin-main{height:auto;overflow:visible}.admin-content{overflow-y:visible}}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 900px) and (min-width: 601px){.admin-header{padding:10px 14px}}@media (max-width: 600px){.admin-sidebar{white-space:nowrap}.admin-sidebar .sidebar-footer{margin-left:8px}.admin-nav a{min-height:44px;display:inline-flex;align-items:center;padding:10px 12px}.admin-header{flex-wrap:wrap;padding:10px 14px;gap:8px 12px}.admin-header .title{flex:1 1 100%;font-size:16px}.admin-header .header-right{flex:1 1 100%;gap:10px;flex-wrap:wrap}.admin-content,.panel{padding:12px}button{min-height:44px;padding:12px 16px}.theme-toggle button{min-height:36px;padding:6px 10px}input[type=text],input[type=number],input[type=date],input[type=email],input[type=tel],input[type=password],input[type=search],select,textarea{font-size:16px}}@media (hover: none){button:hover{filter:none}.admin-nav a:hover{background:transparent}a:hover{text-decoration:none}}@media print{html,body,#root{height:auto;background:#fff!important;color:#000!important}.admin-shell{display:block;height:auto}.admin-shell .admin-sidebar,.admin-shell .admin-header,.theme-toggle{display:none!important}.admin-main,.admin-content{overflow:visible!important;height:auto!important;padding:0!important;background:#fff!important;color:#000!important}.panel{background:#fff!important;color:#000!important;border-color:#ccc!important;box-shadow:none!important}}
