@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/back-office/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/back-office/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/back-office/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/back-office/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/back-office/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/back-office/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/back-office/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/back-office/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/back-office/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/back-office/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/back-office/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/back-office/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins Fallback;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_6add84{font-family:Poppins,Poppins Fallback;font-style:normal}.__variable_6add84{--font-poppins:"Poppins","Poppins Fallback"}:root{--z-brand-600:#15803d;--z-brand-500:#16a34a;--z-brand-400:#22c55e;--z-brand-100:#dcfce7;--z-bg:#e3e7e9;--z-surface:#ffffff;--z-surface-raised:#ffffff;--z-surface-hover:color-mix(in srgb,var(--z-border) 40%,var(--z-surface));--z-border:#e2e5e4;--z-text:#16201c;--z-text-muted:#5b6863;--z-text-inverse:#ffffff;--z-success:#158a51;--z-warning:#b97d10;--z-danger:#c23934;--z-info:#2563eb;--z-cash:var(--z-success);--z-mpesa:#159f4a;--z-offline:var(--z-warning);--z-credit:#7c3aed;--z-accent-fg:var(--z-brand-600);--z-pill-ok-bg:var(--z-brand-100);--z-pill-ok-fg:var(--z-accent-fg);--z-pill-warn-bg:#fdf0dc;--z-pill-warn-fg:#8a5c0a;--z-pill-info-bg:#ede9fe;--z-pill-info-fg:#6d28d9;--z-pill-danger-bg:#fbe0df;--z-pill-danger-fg:#b3261e;--z-font-sans:var(--font-poppins,"Poppins"),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--z-font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace;--z-text-xs:0.75rem;--z-text-sm:0.875rem;--z-text-md:1rem;--z-text-lg:1.125rem;--z-text-xl:1.375rem;--z-text-2xl:1.75rem;--z-text-money:1.5rem;--z-space-1:0.25rem;--z-space-2:0.5rem;--z-space-3:0.75rem;--z-space-4:1rem;--z-space-5:1.25rem;--z-space-6:1.5rem;--z-space-8:2rem;--z-radius-sm:6px;--z-radius-md:10px;--z-radius-lg:16px;--z-shadow-1:0 1px 2px rgb(22 32 28/0.06);--z-shadow-2:0 4px 12px rgb(22 32 28/0.1);--z-touch-target-min:44px;--z-touch-target:48px;--z-touch-target-lg:64px}[data-theme=dark]{--z-bg:#0d1211;--z-surface:#1e2723;--z-surface-raised:#29332e;--z-border:#3a473f;--z-text:#eef2f0;--z-text-muted:#96a39d;--z-brand-100:#14532d;--z-shadow-1:0 1px 2px rgb(0 0 0/0.4);--z-shadow-2:0 4px 12px rgb(0 0 0/0.5);--z-accent-fg:#4ade80;--z-pill-warn-bg:#3a2c10;--z-pill-warn-fg:#eec377;--z-pill-info-bg:#2a2440;--z-pill-info-fg:#c4b5fd;--z-pill-danger-bg:#3d1513;--z-pill-danger-fg:#f2a099}:focus-visible{outline:2px solid var(--z-brand-400);outline-offset:2px}[data-industry=restaurant]{--z-brand-600:#b3400f;--z-brand-500:#d34e14;--z-brand-400:#ea6a2f;--z-brand-100:#fde8dc}[data-industry=pharmacy]{--z-brand-600:#0e7490;--z-brand-500:#0e8aab;--z-brand-400:#22a8c9;--z-brand-100:#d5f1f8}[data-industry=hardware]{--z-brand-600:#92610b;--z-brand-500:#b17510;--z-brand-400:#d0901e;--z-brand-100:#fcf0d4}[data-industry=services]{--z-brand-600:#9d2463;--z-brand-500:#bb2d77;--z-brand-400:#d64b93;--z-brand-100:#fbe4f0}[data-theme=dark][data-industry=restaurant]{--z-brand-100:#3a1c0d;--z-accent-fg:#f29068}[data-theme=dark][data-industry=pharmacy]{--z-brand-100:#0c2f3a;--z-accent-fg:#67cfe8}[data-theme=dark][data-industry=hardware]{--z-brand-100:#32240a;--z-accent-fg:#e8b95c}[data-theme=dark][data-industry=services]{--z-brand-100:#37102a;--z-accent-fg:#f094c4}[data-accent=emerald]{--z-brand-600:#15803d;--z-brand-500:#16a34a;--z-brand-400:#22c55e;--z-brand-100:#dcfce7}[data-accent=ocean]{--z-brand-600:#1666c4;--z-brand-500:#1f77d8;--z-brand-400:#3d91ea;--z-brand-100:#dbe9fb}[data-accent=violet]{--z-brand-600:#6d28d9;--z-brand-500:#7c3aed;--z-brand-400:#965bf0;--z-brand-100:#ede4fc}[data-accent=indigo]{--z-brand-600:#4f46e5;--z-brand-500:#6366f1;--z-brand-400:#818cf8;--z-brand-100:#e5e6fd}[data-accent=rose]{--z-brand-600:#be185d;--z-brand-500:#db2777;--z-brand-400:#ec4a94;--z-brand-100:#fbe0ec}[data-accent=terracotta]{--z-brand-600:#b3400f;--z-brand-500:#d34e14;--z-brand-400:#ea6a2f;--z-brand-100:#fde8dc}[data-accent=amber]{--z-brand-600:#92610b;--z-brand-500:#b17510;--z-brand-400:#d0901e;--z-brand-100:#fcf0d4}[data-accent=teal]{--z-brand-600:#0e7490;--z-brand-500:#0e8aab;--z-brand-400:#22a8c9;--z-brand-100:#d5f1f8}[data-theme=dark][data-accent=emerald]{--z-brand-100:#14532d;--z-accent-fg:#4ade80}[data-theme=dark][data-accent=ocean]{--z-brand-100:#10233b;--z-accent-fg:#7db4f2}[data-theme=dark][data-accent=violet]{--z-brand-100:#241141;--z-accent-fg:#b79cf5}[data-theme=dark][data-accent=indigo]{--z-brand-100:#1e1c46;--z-accent-fg:#a5b0fb}[data-theme=dark][data-accent=rose]{--z-brand-100:#3a1024;--z-accent-fg:#f490b8}[data-theme=dark][data-accent=terracotta]{--z-brand-100:#3a1c0d;--z-accent-fg:#f29068}[data-theme=dark][data-accent=amber]{--z-brand-100:#32240a;--z-accent-fg:#e8b95c}[data-theme=dark][data-accent=teal]{--z-brand-100:#0c2f3a;--z-accent-fg:#67cfe8}.zira-error-boundary{display:grid;place-items:center;min-height:100dvh;padding:var(--z-space-4);background:var(--z-bg)}.zira-error-card{max-width:30rem;padding:var(--z-space-6);background:var(--z-surface);border:1px solid var(--z-border);border-top:3px solid var(--z-danger);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);color:var(--z-text);text-align:center}.zira-error-card h1{margin:0 0 var(--z-space-3);font-size:var(--z-text-xl);color:var(--z-danger)}.zira-error-card p{margin:0 0 var(--z-space-3);line-height:1.5}.zira-error-hint{color:var(--z-text-muted);font-size:var(--z-text-sm)}.zira-error-actions{display:flex;gap:var(--z-space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--z-space-4)}.zira-error-actions button{min-height:var(--z-touch-target);padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);background:var(--z-brand-600);color:var(--z-text-inverse);font-weight:600;font-size:var(--z-text-md);cursor:pointer}.zira-error-actions button.secondary{background:var(--z-bg);color:var(--z-text-muted);border:1px solid var(--z-border)}.zira-modal-backdrop{position:fixed;inset:0;background:rgb(0 0 0/.45);display:grid;place-items:center;z-index:100;padding:var(--z-space-4)}.zira-modal{width:min(560px,94vw);max-height:85dvh;display:flex;flex-direction:column;background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-2);color:var(--z-text)}.zira-modal:focus{outline:none}.zira-modal-head{display:flex;align-items:center;gap:var(--z-space-3);padding:var(--z-space-4);border-bottom:1px solid var(--z-border)}.zira-modal-head h2{margin:0;flex:1 1;font-size:var(--z-text-lg);color:var(--z-brand-600)}.zira-modal-head button{min-width:var(--z-touch-target);min-height:var(--z-touch-target);border:none;background:none;color:var(--z-text-muted);font-size:var(--z-text-xl);cursor:pointer;border-radius:var(--z-radius-sm)}@media (hover:hover){.zira-modal-head button:hover{background:var(--z-surface-hover)}}.zira-modal-body{padding:var(--z-space-4);overflow-y:auto}.zira-modal-foot{display:flex;justify-content:flex-end;gap:var(--z-space-2);padding:var(--z-space-4);border-top:1px solid var(--z-border)}.zira-field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--z-space-3)}.zira-field>label{font-size:var(--z-text-sm);color:var(--z-text-muted);font-weight:600}.zira-field input,.zira-field select,.zira-field textarea{width:100%;min-height:var(--z-touch-target);padding:0 var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text);font-size:var(--z-text-md)}.zira-req{color:var(--z-danger)}.zira-field-hint{color:var(--z-text-muted);font-size:var(--z-text-xs)}.zira-field-err{color:var(--z-danger);font-size:var(--z-text-xs)}.zira-confirm-body{margin-bottom:var(--z-space-3);line-height:1.5}.zira-btn,.zira-btn-danger,.zira-btn-ghost{min-height:var(--z-touch-target);padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);font-weight:600;font-size:var(--z-text-md);cursor:pointer}.zira-btn{background:var(--z-brand-600)}.zira-btn,.zira-btn-danger{color:var(--z-text-inverse)}.zira-btn-danger{background:var(--z-danger)}.zira-btn-ghost{background:var(--z-bg);color:var(--z-text-muted);border:1px solid var(--z-border)}.zira-btn-danger:disabled,.zira-btn:disabled{opacity:.4;cursor:default}:root{--z-logo-knockout:#ffffff}:root[data-theme=dark]{--z-logo-knockout:#101513}*{box-sizing:border-box}button,input,select,textarea{color:inherit}.accent-swatch{width:42px;height:42px;min-width:42px;border-radius:999px;border:2px solid var(--z-border);color:var(--z-text-inverse);font-weight:700;font-size:var(--z-text-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.accent-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--z-surface),0 0 0 4px var(--z-text)}body{margin:0;background:var(--z-bg);color:var(--z-text);font-family:var(--z-font-sans)}.centered{display:grid;place-items:center;min-height:100dvh;background:var(--z-bg);position:relative;z-index:0}.centered,.shell{padding:var(--z-space-4)}.shell{flex:1 1;min-width:0;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:var(--z-space-4)}.tab{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:var(--z-space-2) var(--z-space-3);border-radius:var(--z-radius-sm);color:var(--z-text-muted);cursor:pointer;font-size:var(--z-text-md);min-height:44px;touch-action:manipulation}.tab.active{background:var(--z-brand-100);color:var(--z-accent-fg);font-weight:600}.app-layout{display:flex;min-height:100dvh;align-items:stretch}.sidebar{flex:0 0 240px;width:240px;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--z-space-3);padding:var(--z-space-3);background:var(--z-surface);border-right:1px solid var(--z-border)}.sidebar-head{display:flex;align-items:center;gap:var(--z-space-2);padding:var(--z-space-2)}.side-nav{display:flex;flex-direction:column;gap:var(--z-space-3);flex:1 1}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--z-text-muted);padding:0 var(--z-space-2);margin-top:var(--z-space-1)}.nav-group-tabs{display:flex;flex-direction:column;gap:2px}.side-nav .tab{width:100%;justify-content:flex-start}.sidebar-foot{display:flex;gap:var(--z-space-3);padding-top:var(--z-space-3);border-top:1px solid var(--z-border)}.mobile-bar{display:none}.hamburger{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;padding:var(--z-space-2);color:inherit}.sidebar-backdrop{position:fixed;inset:0;background:rgb(0 0 0/.45);z-index:40}@media (max-width:900px){.mobile-bar{display:flex;align-items:center;gap:var(--z-space-2);padding-bottom:var(--z-space-3);margin-bottom:var(--z-space-2);border-bottom:1px solid var(--z-border)}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:82vw;max-width:320px;z-index:50;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--z-shadow-1)}.sidebar.open{transform:translateX(0)}}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--z-space-3);gap:var(--z-space-3)}.stat-card{display:flex;flex-direction:column;gap:var(--z-space-1);align-items:flex-start;text-align:left;cursor:pointer;color:inherit}.stat-card .label{color:var(--z-text-muted);font-size:var(--z-text-sm)}.stat-card .value{font-size:var(--z-text-2xl);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-card .sub{color:var(--z-text-muted);font-size:var(--z-text-sm)}@media (hover:hover){.stat-card:hover{border-color:var(--z-brand-400)}}.dash-alerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--z-space-2)}.dash-alerts .link{font-size:var(--z-text-md);text-align:left}.dash-links{display:flex;flex-wrap:wrap;gap:var(--z-space-2)}.link{background:none;border:none;color:var(--z-text-muted);cursor:pointer}.link.danger{color:var(--z-danger)}.modal-backdrop{position:fixed;inset:0;background:rgb(0 0 0/.45);display:grid;place-items:center;z-index:20;padding:var(--z-space-4)}.modal-card{width:min(560px,94vw);max-height:85dvh;overflow-y:auto}.card{background:var(--z-surface);border:1px solid var(--z-border);border-radius:var(--z-radius-lg);box-shadow:var(--z-shadow-1);padding:var(--z-space-4);overflow-x:auto}.stack{display:flex;flex-direction:column;gap:var(--z-space-3)}.stack h1,.stack h2{margin:0;color:var(--z-brand-600)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--z-space-3);gap:var(--z-space-3)}.stat{display:flex;flex-direction:column;gap:var(--z-space-1)}.stat .label{color:var(--z-text-muted);font-size:var(--z-text-sm)}.stat .value{font-size:var(--z-text-2xl);font-weight:700}.stat .value,table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:var(--z-space-2) var(--z-space-3);border-bottom:1px solid var(--z-border)}th{color:var(--z-text-muted);font-size:var(--z-text-sm);font-weight:600}.num{text-align:right}textarea{padding:var(--z-space-2) var(--z-space-3);font-family:var(--z-font-mono);font-size:var(--z-text-sm);resize:vertical}input,select,textarea{border:1px solid var(--z-border);border-radius:var(--z-radius-md);background:var(--z-bg);color:var(--z-text)}input,select{min-height:40px;padding:0 var(--z-space-3);font-size:var(--z-text-md)}.form-row{display:flex;flex-wrap:wrap;gap:var(--z-space-2);align-items:center}.stack-field{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:140px}.check-label,.stack-field>span{font-size:var(--z-text-sm);color:var(--z-text-muted)}.check-label input{min-height:auto;width:18px;height:18px}.form-row input{flex:1 1;min-width:140px}.primary{min-height:40px;padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);background:var(--z-brand-600);color:var(--z-text-inverse);font-weight:600;cursor:pointer}@media (hover:hover){.primary:hover:not(:disabled){background:var(--z-brand-500)}}.primary:disabled{opacity:.4}.error{color:var(--z-danger);margin:0;font-size:var(--z-text-sm)}.img-upload{cursor:pointer;display:inline-block}.thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--z-radius-sm);border:1px solid var(--z-border);display:inline-flex;align-items:center;justify-content:center}.thumb-empty{background:var(--z-bg);font-size:var(--z-text-lg)}.muted,.thumb-empty{color:var(--z-text-muted)}.station-input{width:7.5rem;padding:var(--z-space-1) var(--z-space-2)}.batch-expired{color:var(--z-danger);font-weight:600}.batch-near-expiry{color:var(--z-warning)}.check-label{white-space:nowrap}.check-label,.pill{display:inline-flex;align-items:center;gap:var(--z-space-1)}.pill{padding:var(--z-space-1) var(--z-space-2);border:1px solid var(--z-border);border-radius:999px;font-size:var(--z-text-sm)}.btn{min-height:40px;padding:0 var(--z-space-6);border:none;border-radius:var(--z-radius-md);background:var(--z-brand-600);color:var(--z-text-inverse);font-weight:600;cursor:pointer}@media (hover:hover){.btn:hover:not(:disabled){background:var(--z-brand-500)}}.btn:disabled{opacity:.4}.btn-sm{display:inline-flex;align-items:center;padding:var(--z-space-1) var(--z-space-3);border:1px solid var(--z-border);border-radius:var(--z-radius-sm);background:var(--z-bg);color:var(--z-text-muted);font-size:var(--z-text-sm);cursor:pointer;white-space:nowrap;min-height:32px}@media (hover:hover){.btn-sm:hover:not(:disabled){background:var(--z-surface)}}.btn-sm.active{background:var(--z-brand-100);color:var(--z-accent-fg);border-color:var(--z-brand-600);font-weight:600}.btn-sm.danger{color:var(--z-danger);border-color:var(--z-danger)}@media (hover:hover){.btn-sm.danger:hover:not(:disabled){background:var(--z-danger);color:var(--z-text-inverse)}}@keyframes z-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{display:inline-block;border-radius:4px;background:linear-gradient(90deg,var(--z-border) 25%,color-mix(in srgb,var(--z-border) 60%,var(--z-bg)) 50%,var(--z-border) 75%);background-size:800px 100%;animation:z-shimmer 1.4s linear infinite}.skeleton-row td .skeleton{height:1em;width:80%}.skeleton-row td:first-child .skeleton{width:40px;height:40px;border-radius:6px}tr.skeleton-row{pointer-events:none}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (max-width:900px){.shell{padding:var(--z-space-3)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width:640px){.shell{padding:var(--z-space-2);gap:var(--z-space-3)}.card{padding:var(--z-space-3)}td,th{padding:var(--z-space-1) var(--z-space-2);font-size:var(--z-text-sm)}.form-row{flex-direction:column;align-items:stretch}.form-row input,.form-row select,.stack-field{width:100%;min-width:0}.btn,.primary{min-height:var(--z-touch-target);width:100%}.btn-sm{min-height:40px}.modal-card{width:96vw;max-height:88dvh}}.grace-banner,.suspended-banner{padding:var(--z-space-3) var(--z-space-4);border-radius:var(--z-radius-md);font-size:var(--z-text-sm);line-height:1.45}.suspended-banner{background:color-mix(in srgb,var(--z-danger) 12%,var(--z-surface));border:1px solid color-mix(in srgb,var(--z-danger) 45%,transparent)}.suspended-banner strong{color:var(--z-danger)}.grace-banner{background:color-mix(in srgb,var(--z-warning) 12%,var(--z-surface));border:1px solid color-mix(in srgb,var(--z-warning) 45%,transparent)}.grace-banner strong{color:var(--z-warning)}.load-error-banner,.offline-banner{padding:var(--z-space-3) var(--z-space-4);border-radius:var(--z-radius-md);font-size:var(--z-text-sm);line-height:1.45}.offline-banner{background:color-mix(in srgb,var(--z-warning) 12%,var(--z-surface));border:1px solid color-mix(in srgb,var(--z-warning) 45%,transparent)}.offline-banner strong{color:var(--z-warning)}.load-error-banner{background:color-mix(in srgb,var(--z-danger) 12%,var(--z-surface));border:1px solid color-mix(in srgb,var(--z-danger) 45%,transparent);color:var(--z-danger)}.flash-banner,.load-error-banner{display:flex;align-items:center;gap:var(--z-space-3);justify-content:space-between}.flash-banner{padding:var(--z-space-3) var(--z-space-4);border-radius:var(--z-radius-md);font-size:var(--z-text-sm);line-height:1.45;background:color-mix(in srgb,var(--z-success) 12%,var(--z-surface));border:1px solid color-mix(in srgb,var(--z-success) 45%,transparent);color:var(--z-success)}.th-sort{display:inline-flex;align-items:center;gap:.35em;width:100%;padding:0;background:none;border:0;font:inherit;color:inherit;font-weight:inherit;text-align:inherit;cursor:pointer}th.num .th-sort{justify-content:flex-end}@media (hover:hover){.th-sort:hover{color:var(--z-brand-600)}}.th-sort-ind{font-size:.8em;opacity:.35}th[aria-sort=ascending] .th-sort-ind,th[aria-sort=descending] .th-sort-ind{opacity:1;color:var(--z-brand-600)}td.truncate{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.void-tag{margin-left:6px;font-size:var(--z-text-xs);font-weight:700;color:var(--z-danger)}