:root{--bg: #f9fafb;--panel: #fff;--raised: #f3f4f6;--ink: #111827;--muted: #5f6672;--line: #e5e7eb;--rule: #f2f2f2;--control: #d1d5db;--brand: #117865;--accent: #117865;--accent-d: #0b5c4d;--soft: #e8f4f1;--track: #c5e3dc;--accent-ink: #0b4a3f;--good: #247b50;--bad: #c4242a;--side: 230px;font:14px/1.5 DM Sans Variable,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--control);background:var(--panel);border-radius:6px;min-height:32px;padding:0 12px}button:hover:not(:disabled){background:var(--raised)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-d)}button.link,button.icon{min-height:0}button.link{border:0;background:none;color:var(--accent);padding:4px 6px;text-decoration:underline}button.icon{border:0;background:none;padding:2px 8px;font-size:18px;line-height:1}input,select{border:1px solid var(--control);border-radius:6px;min-height:32px;padding:5px 10px;background:#fff}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted);font-weight:400}.small{font-size:12px}.err{color:var(--bad)}div.err{background:#fde7e9;border:1px solid #f1bbbc;padding:8px 12px;border-radius:4px;margin:8px 0}.boot{display:grid;place-items:center;height:100vh;color:var(--muted)}.login{min-height:100vh;background:var(--bg)}.login form{background:#fff;width:min(380px,100%);padding:32px;border-radius:8px;display:grid;gap:14px;border:1px solid var(--line)}.login-h{margin:0 0 4px;font-size:26px;font-weight:700;letter-spacing:-.02em}.login label{display:grid;gap:6px;font-weight:500}.brand{display:flex;gap:8px;align-items:center;font-weight:700;font-size:16px}.brand.big{font-size:22px;margin-bottom:8px}.brand sa-logo{display:contents}.side a{align-items:center}.side a .ic{font-size:16px}.shell{display:grid;grid-template:"top top" 48px "side main" 1fr / var(--side) 1fr;min-height:100vh}.top{grid-area:top;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--panel);color:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.top .who{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:13px}.top .who .role{background:var(--soft);color:var(--accent-ink);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:500}.top button.link{color:var(--muted)}.hamburger{display:none;border:0;background:none;color:var(--ink);font-size:20px}.side{grid-area:side;background:#fff;border-right:1px solid var(--line);padding:12px 8px;display:flex;flex-direction:column;justify-content:space-between}.side nav{display:grid;gap:2px}.side a{color:var(--muted);text-decoration:none;padding:7px 12px;border-radius:6px;display:flex;gap:10px}.side a:hover{background:var(--raised);color:var(--ink)}.side a[aria-current=page]{background:var(--soft);color:var(--accent-ink);font-weight:500}.side a[aria-current=page] .ic{color:var(--accent)}.side>p{padding:0 12px}main{grid-area:main;min-width:0;padding:16px 20px 40px}.tabbar,.scrim{display:none}.dash-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.dash-head h1,.page h1{margin:0;font-size:32px;font-weight:700;letter-spacing:-.02em}.dash-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.crumbs{font-size:13px;color:var(--muted)}.crumbs button{border:0;background:none;padding:0 2px;color:var(--accent)}.crumbs button:disabled{color:var(--muted);opacity:1}.filters-toggle{display:none}.slicers{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.slicer{position:relative}.slicer>button{min-width:150px;text-align:left;display:flex;gap:6px;align-items:center}.slicer>button .lbl{color:var(--muted);font-size:12px}.slicer>button b{flex:1;font-weight:600}.slicer-pop{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:240px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;gap:6px}.slicer-pop input[type=text],.slicer-pop input:not([type]){width:100%}.slicer-pop ul{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}.slicer-pop li label,.slicer-pop .all{display:flex;gap:8px;padding:4px;border-radius:4px;cursor:pointer}.slicer-pop li label:hover{background:var(--raised)}.slicer-pop .all{border-bottom:1px solid var(--line);font-weight:600}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 10px}.chips li{background:var(--soft);color:var(--accent-ink);border:1px solid var(--track);border-radius:14px;padding:2px 4px 2px 10px;font-size:12px;display:flex;gap:4px;align-items:center}.chips button{border:0;background:none;padding:0 6px;font-size:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;min-height:92px}.kpi-label{color:var(--muted);font-size:13px}.kpi-value{font-size:24px;font-weight:600;margin:2px 0;font-variant-numeric:tabular-nums}.kpi-delta{font-size:12px;font-weight:600}.kpi-delta span{color:var(--muted);font-weight:400}.kpi-delta.good{color:var(--good)}.kpi-delta.bad{color:var(--bad)}.skeleton{background:var(--raised);animation:sk 1.2s ease-in-out infinite alternate;color:transparent;min-height:120px;border-radius:6px}@keyframes sk{to{opacity:.55}}.visuals{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-bottom:12px}.visual{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}.visuals>.visual:nth-child(1){grid-column:span 8}.visuals>.visual:nth-child(2){grid-column:span 4}.visuals>.visual:nth-child(3){grid-column:span 4}.visuals>.visual:nth-child(4){grid-column:span 8}.visuals>.visual:nth-child(5){grid-column:span 12}.visual>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.visual h3{margin:0;font-size:14px}.vis-actions{position:relative;display:flex;gap:6px;align-items:center}.menu{position:absolute;right:0;top:100%;z-index:25;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:150px}.menu button{border:0;width:100%;text-align:left}.seg{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.seg button{border:0;border-radius:0;padding:3px 10px;font-size:12px}.seg button.on{background:var(--accent);color:#fff}.chart{width:100%}.hint{margin:2px 0 0;font-size:12px;color:var(--muted)}.tbl-wrap{overflow:auto;max-height:480px}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th,table.grid td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.grid th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-size:12px;font-weight:500}table.grid th button{border:0;background:none;padding:0;font-weight:600}table.grid td.num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr.returned td{color:var(--bad)}table.grid td.empty{text-align:center;color:var(--muted);padding:24px}.orders header input{width:min(320px,100%)}.pager{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding-top:8px}.drp{position:relative}.drp-btn{white-space:nowrap}.drp-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:40;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex}.presets{list-style:none;margin:0;padding:8px;border-right:1px solid var(--line);display:grid;align-content:start;gap:2px;min-width:140px}.presets button{border:0;width:100%;text-align:left}.presets button.on{background:var(--soft);color:var(--accent-ink);font-weight:500}.cal-wrap{padding:10px 12px;position:relative}.cal-nav{position:absolute;left:8px;right:8px;top:8px;display:flex;justify-content:space-between;pointer-events:none}.cal-nav button{pointer-events:auto;border:0;font-size:18px;padding:0 10px}.cals{display:flex;gap:18px}.cal-title{text-align:center;font-weight:600;margin-bottom:6px;height:24px;line-height:24px}.cal-dow,.cal-days{display:grid;grid-template-columns:repeat(7,34px);text-align:center}.cal-dow span{font-size:12px;color:var(--muted);padding:4px 0}.cal-days button{border:0;border-radius:0;height:32px;padding:0;background:none}.cal-days button.in{background:var(--soft)}.cal-days button.edge{background:var(--accent);color:#fff;border-radius:4px}.cal-days button:disabled{color:#9ca3af}.drp-foot{display:flex;gap:8px;align-items:center;justify-content:flex-end;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.drp-foot span{margin-right:auto;font-size:12px;color:var(--muted)}.page{display:grid;gap:14px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.card h3{margin:0 0 4px}.row-end{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.subform{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.subform label,.subform .field{display:grid;gap:4px;font-weight:600}.subform fieldset{border:1px solid var(--line);border-radius:4px;display:flex;gap:12px;flex-wrap:wrap}.subform label.inline{display:flex;gap:6px;font-weight:400;align-items:center}.subform .field,.subform .row-end{grid-column:1 / -1}.chipbox{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--control);border-radius:6px;padding:4px;background:#fff}.chipbox input{border:0;flex:1;min-width:180px;outline:none}.chip{background:var(--raised);border-radius:12px;padding:2px 4px 2px 10px;font-weight:400;font-size:13px;display:inline-flex;align-items:center}.chip button{border:0;background:none;padding:0 6px}.modal{border:0;border-radius:8px;padding:0;width:min(440px,calc(100vw - 32px));border:1px solid var(--line)}.modal::backdrop{background:#0006}.modal form{padding:20px;display:grid;gap:12px}.modal h2{margin:0;font-size:18px}.modal label{display:grid;gap:4px;font-weight:600}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#111827;color:#fff;padding:10px 18px;border-radius:8px;z-index:60;max-width:calc(100vw - 32px)}@media(max-width:1024px){.visuals>.visual:nth-child(n){grid-column:span 12}.cals>.cal:nth-child(2){display:none}}@media(max-width:720px){.shell{grid-template:"top" 48px "main" 1fr / 1fr}.hamburger{display:block}.top .who{font-size:0}.top .who .role,.top .who button{font-size:12px}.side{position:fixed;z-index:50;top:48px;bottom:0;left:0;width:260px;transform:translate(-100%);transition:transform .2s;border-right:1px solid var(--line)}.side.open{transform:none}.scrim{display:block;position:fixed;top:48px;right:0;bottom:0;left:0;background:#00000059;z-index:45}main{padding:12px 16px 80px}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:grid;justify-items:center;padding:6px 0;color:var(--muted);text-decoration:none;font-size:18px}.tabbar a small{font-size:12px}.tabbar a[aria-current=page]{color:var(--accent)}.dash-head{align-items:stretch;flex-direction:column}.dash-actions>*{flex:1 1 auto}.drp,.drp-btn{width:100%}.drp-btn{white-space:normal;text-align:left}.filters-toggle{display:block}.slicers{display:none;flex-direction:column;align-items:stretch}.slicers.open{display:flex}.slicer>button{width:100%}.slicer-pop{width:100%}.drp-pop{position:fixed;inset:auto 0 0 0;flex-direction:column;border-radius:12px 12px 0 0;max-height:85vh;overflow:auto}.presets{grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid var(--line)}.cal-dow,.cal-days{grid-template-columns:repeat(7,minmax(36px,1fr))}.cals{justify-content:center}.kpis{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:20px}.orders header input{width:100%}}
