:root{--brand-primary:#0056b3;--brand-secondary:#00408a;--brand-soft:#e6f0ff;--brand-accent-ink:#fff;--side-bg:#0b1626;--side-ink:#eaf2ff;--side-sub:#8197b5;--side-line:#1b2740;--side-active:#13233c;--bg-main:#eef3fb;--bg-card:#fff;--bg-subtle:#f4f7fa;--bg-nav-active:#e6f0ff;--bg-nav-hover:#f4f7fa;--text-main:#0f1b2d;--text-muted:#5d6b7e;--text-subtle:#7d8a9c;--border-color:#e1e8f3;--border-strong:#c4cdda;--status-pending-bg:#fffbeb;--status-pending-text:#b45309;--status-pending-border:#fde68a;--status-paid-bg:#e6f0ff;--status-paid-text:#0056b3;--status-paid-border:#cfe2ff;--status-fulfilled-bg:#e3f6ee;--status-fulfilled-text:#0f9d6b;--status-fulfilled-border:#c3ead9;--status-cancelled-bg:#fef2f2;--status-cancelled-text:#b91c1c;--status-cancelled-border:#fee2e2;--stock-in-bg:#e3f6ee;--stock-in-text:#0f9d6b;--stock-in-border:#c3ead9;--stock-low-bg:#fffbeb;--stock-low-text:#b45309;--stock-low-border:#fde68a;--stock-out-bg:#fef2f2;--stock-out-text:#b91c1c;--stock-out-border:#fee2e2;--radius-button:10px;--radius-card:14px;--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Space Grotesk","Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--shadow-card:0 1px 2px rgba(15,27,45,.05),0 10px 26px -14px rgba(15,27,45,.16);--shadow-raised:0 6px 16px -8px rgba(15,27,45,.18),0 2px 6px -3px rgba(15,27,45,.1);color-scheme:light;font-family:var(--font-sans);color:var(--text-main);background:var(--bg-main)}.dark{--brand-primary:#4d9fff;--brand-secondary:#2e8bff;--brand-soft:rgba(77,159,255,.12);--brand-accent-ink:#04162e;--side-bg:#05090f;--side-ink:#eaf2ff;--side-sub:#7e93b3;--side-line:#1b2740;--side-active:#16223a;--bg-main:#080d18;--bg-card:#111b2e;--bg-subtle:#16223a;--bg-nav-active:rgba(77,159,255,.12);--bg-nav-hover:#16223a;--text-main:#eaf2ff;--text-muted:#8ea2c2;--text-subtle:#66758a;--border-color:#212f49;--border-strong:#2a3a55;--status-pending-bg:rgba(180,83,9,.16);--status-pending-border:rgba(180,83,9,.32);--status-paid-bg:rgba(37,99,235,.18);--status-paid-border:rgba(37,99,235,.34);--status-fulfilled-bg:rgba(15,157,107,.16);--status-fulfilled-text:#34d399;--status-fulfilled-border:rgba(15,157,107,.32);--status-cancelled-bg:rgba(185,28,28,.16);--status-cancelled-border:rgba(185,28,28,.32);--shadow-card:0 1px 0 hsla(0,0%,100%,.03),0 22px 46px -22px rgba(0,0,0,.7);--shadow-raised:0 8px 22px -10px rgba(0,0,0,.6),0 2px 8px -4px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;border-radius:var(--radius-button);font-weight:600;letter-spacing:-.01em;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease}.btn-primary{background-color:var(--brand-primary);color:#fff;box-shadow:0 1px 2px #0f1b2d1f}.btn-primary:hover{background-color:var(--brand-secondary);transform:translateY(-1px);box-shadow:var(--shadow-raised)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #0f1b2d1f}.btn-ghost{background-color:transparent;color:var(--text-main);border-color:var(--border-strong)}.btn-ghost:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card-interactive,a .card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card-interactive:hover,a:hover .card{border-color:var(--border-strong);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding:.55rem 2.25rem .55rem .8rem;border-radius:var(--radius-button);border:1px solid var(--border-strong);background-color:var(--bg-card);color:var(--text-main);font:inherit;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23455168' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}.select:focus{outline:none;border-color:var(--brand-primary)}.admin-shell{width:min(680px,calc(100% - 40px));margin:18vh auto}.admin-shell p{max-width:60ch;color:var(--text-muted);line-height:1.7}.input,.textarea{width:100%;padding:.55rem .8rem;border-radius:var(--radius-button);border:1px solid var(--border-strong);background-color:var(--bg-card);color:var(--text-main);font:inherit}.textarea{min-height:5rem;resize:vertical}.input:focus,.textarea:focus{outline:none;border-color:var(--brand-primary)}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px var(--brand-soft)}.btn:disabled,.input:disabled,.select:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.field-error{font-size:.78rem;color:var(--status-cancelled-text)}.field-help{font-size:.78rem;color:var(--text-subtle)}.btn-sm{padding:.35rem .7rem;font-size:.82rem}.btn-danger{background-color:var(--status-cancelled-text);color:#fff}.btn:focus-visible,.nav-link:focus-visible,.select:focus-visible,a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;font-weight:600;border:1px solid var(--border-color);white-space:nowrap}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending-text);border-color:var(--status-pending-border)}.badge-paid{background:var(--status-paid-bg);color:var(--status-paid-text);border-color:var(--status-paid-border)}.badge-fulfilled{background:var(--status-fulfilled-bg);color:var(--status-fulfilled-text);border-color:var(--status-fulfilled-border)}.badge-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text);border-color:var(--status-cancelled-border)}.badge-neutral{background:var(--bg-subtle);color:var(--text-muted)}.badge-stock-in{background:var(--stock-in-bg);color:var(--stock-in-text);border-color:var(--stock-in-border)}.badge-stock-low{background:var(--stock-low-bg);color:var(--stock-low-text);border-color:var(--stock-low-border)}.badge-stock-out{background:var(--stock-out-bg);color:var(--stock-out-text);border-color:var(--stock-out-border)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:700;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);padding:.7rem .75rem}.table td,.table th{border-bottom:1px solid var(--border-color)}.table td{padding:.65rem .75rem;color:var(--text-main);vertical-align:middle}.table tbody tr:hover{background:var(--bg-nav-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-title{margin:0;font-size:1.4rem;font-weight:700}.page-title,h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}.page-sub{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.toolbar .field{margin-bottom:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1.5rem}.tile{padding:1rem 1.1rem}.tile-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle)}.tile-value{margin-top:.4rem;font-family:var(--font-display);font-size:1.65rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:.4rem 1rem;font-size:.9rem}.dl dt{color:var(--text-subtle)}.dl dd{margin:0;color:var(--text-main)}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-nav-hover) 50%,var(--bg-subtle) 75%);background-size:200% 100%;border-radius:6px;animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.state-block{padding:2rem 1.25rem;text-align:center;color:var(--text-muted)}.state-title{font-weight:600;color:var(--text-main);margin-bottom:.35rem}.notice{padding:.7rem .9rem;border-radius:var(--radius-button);border:1px solid var(--border-color);font-size:.88rem;margin-bottom:1rem}.notice-error{background:var(--status-cancelled-bg);color:var(--status-cancelled-text);border-color:var(--status-cancelled-border)}.notice-success{background:var(--status-fulfilled-bg);color:var(--status-fulfilled-text);border-color:var(--status-fulfilled-border)}.notice-info{background:var(--bg-subtle);color:var(--text-muted)}.shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;background:var(--side-bg);border-right:1px solid var(--side-line);padding:.5rem .75rem;overflow-y:auto}.brand{display:flex;align-items:center;gap:.65rem;padding:1rem .6rem 1.25rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;color:var(--side-ink)}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--brand-primary);display:grid;place-items:center;color:var(--brand-accent-ink);font-size:.95rem}.brand-words{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-size:.95rem;color:var(--side-ink)}.brand-tag{font-size:.625rem;font-weight:500;letter-spacing:.04em;color:var(--side-sub)}.nav{display:flex;flex-direction:column;gap:.2rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:var(--radius-button);color:var(--side-sub);text-decoration:none;font-size:.9rem;font-weight:500}.nav-link.is-active,.nav-link:hover{background:var(--side-active);color:var(--side-ink)}.nav-link.is-active{font-weight:600}.nav-link.is-active .nav-icon{color:var(--brand-primary);opacity:1}.nav-icon{width:18px;height:18px;flex:none;font-size:18px;opacity:.9}.sidebar-foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--side-line)}.actor{display:flex;align-items:center;gap:.65rem;font-size:.85rem;padding:.4rem .4rem .75rem}.actor-avatar{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-primary);color:var(--brand-accent-ink);font-family:var(--font-display);font-weight:700;font-size:.8rem}.actor-text{min-width:0}.actor-name{font-weight:600;color:var(--side-ink)}.actor-role{color:var(--side-sub);text-transform:capitalize;font-size:.78rem}.sidebar-foot .btn-ghost{background:transparent;color:var(--side-ink);border-color:var(--side-line)}.sidebar-foot .btn-ghost:hover{background:var(--side-active);border-color:var(--side-line);color:var(--side-ink)}.content{min-width:0;display:flex;flex-direction:column}.topbar{display:none;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-card);position:sticky;top:0;z-index:20}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;font-size:1.25rem;border-radius:var(--radius-button);border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-main);cursor:pointer}.main{padding:1.5rem;max-width:1180px;width:100%}.scrim{display:none}@media(max-width:880px){.shell{grid-template-columns:1fr}.topbar{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;z-index:40;transform:translate(-100%);transition:transform .2s ease}.sidebar.is-open{transform:translate(0)}.scrim.is-open{display:block;position:fixed;inset:0;background:#00000073;z-index:35}.main{padding:1rem}}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(400px,100%);padding:1.75rem}.auth-card h1{margin:0 0 .35rem;font-size:1.4rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:1rem}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.85em}
