@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f5f9;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#eef1f6;--text:#0f172a;--text-2:#3f4b5f;--muted:#64748b;--faint:#94a3b8;--line:#e4e8ef;--line-strong:#cfd6e1;--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#eef2ff;--primary-soft-2:#e0e7ff;--primary-ring:#4f46e533;--danger:#b42318;--danger-soft:#fef3f2;--ok:#067647;--ok-soft:#ecfdf3;--amber:#b54708;--amber-soft:#fffaeb;--violet:#5925dc;--violet-soft:#f4f3ff;--sidebar:#0b1120;--sidebar-2:#111a2e;--sidebar-text:#9aa8c2;--sidebar-w:264px;--sidebar-w-collapsed:76px;--topbar-h:64px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 6px 16px -6px #0f172a1f, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 28px 56px -16px #0f172a4d;color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01", "tnum";font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3,p,ul,ol{margin:0}h2{letter-spacing:-.01em;font-size:1rem;font-weight:600}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.5rem 0 .7rem;font-size:.78rem;font-weight:600}small{font-size:.82rem}button{font:inherit}svg{flex-shrink:0}.muted{color:var(--muted)}.center{text-align:center}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums;font-weight:600}.mono{color:var(--text-2);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.84rem}.splash{text-align:center;color:var(--muted);padding:5rem 1rem}.splash.full{place-items:center;min-height:100vh;display:grid}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.sidebar{background:linear-gradient(180deg, var(--sidebar-2) 0%, var(--sidebar) 100%);height:100vh;color:var(--sidebar-text);border-right:1px solid #ffffff0d;flex-direction:column;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow:hidden}.brand{white-space:nowrap;align-items:center;gap:.75rem;padding:.35rem .6rem 1.35rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#818cf8 0%,#4f46e5 60%,#3730a3 100%);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 6px 14px -4px #4f46e5b3,inset 0 1px #ffffff4d}.brand-text{min-width:0;line-height:1.2;display:grid}.brand-text strong{color:#fff;letter-spacing:-.01em;font-size:1rem}.brand-text span{color:#6b7a99;font-size:.72rem}.sidebar nav{flex:1;align-content:start;gap:.35rem;display:grid;overflow:hidden auto}.nav-group{gap:2px;display:grid}.nav-label{text-transform:uppercase;letter-spacing:.1em;color:#55647f;white-space:nowrap;padding:.9rem .75rem .4rem;font-size:.66rem;font-weight:600}.nav-item{width:100%;height:40px;color:var(--sidebar-text);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.75rem;padding:0 .75rem;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:linear-gradient(90deg,#6366f147,#6366f11f);box-shadow:inset 0 0 0 1px #818cf840}.nav-item.active:before{content:"";background:#818cf8;border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-.75rem}.nav-item.active svg{color:#a5b4fc}.nav-item span{text-overflow:ellipsis;flex:1;overflow:hidden}.nav-count{color:#fff;background:#6366f1;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .4rem;font-size:.7rem;font-style:normal;font-weight:700;display:grid}.sidebar-foot{border-top:1px solid #ffffff12;padding-top:.75rem}.collapse-icon{transition:transform .18s}.collapsed .collapse-icon{transform:rotate(180deg)}.collapsed .brand-text,.collapsed .nav-label,.collapsed .nav-item span{display:none}.collapsed .sidebar{padding-inline:.6rem}.collapsed .brand{justify-content:center;padding-inline:0}.collapsed .nav-group{padding-top:.5rem}.collapsed .nav-item{justify-content:center;padding:0}.collapsed .nav-item.active:before{left:-.6rem}.collapsed .nav-count{min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.62rem;position:absolute;top:4px;right:4px}.content{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);background:#ffffffd9;grid-template-columns:minmax(0,1fr) minmax(260px,480px) auto;align-items:center;gap:1.5rem;padding:0 1.75rem;display:grid;position:sticky;top:0}.crumbs{color:var(--muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.86rem;display:flex;overflow:hidden}.crumbs strong{color:var(--text);font-weight:600}.global-search{align-items:center;display:flex;position:relative}.global-search>svg{color:var(--faint);pointer-events:none;position:absolute;left:.8rem}.global-search input{background:var(--surface-3);height:40px;box-shadow:none;border-color:#0000;border-radius:10px;padding-left:2.4rem;padding-right:2.6rem}.global-search input:focus{background:var(--surface);border-color:var(--primary)}.global-search kbd{color:var(--faint);border:1px solid var(--line-strong);pointer-events:none;background:#fff;border-bottom-width:2px;border-radius:6px;padding:.25rem .45rem;font:600 .7rem/1 inherit;position:absolute;right:.6rem}.topbar-right{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.topbar-date{color:var(--muted);white-space:nowrap;font-size:.84rem}.topbar-right .badge{flex-shrink:0}.user-menu{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:.6rem;padding:.3rem .35rem;display:flex}.user-menu-text{min-width:0;padding-right:.35rem;line-height:1.2;display:grid}.user-menu-text strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.82rem;font-weight:600;overflow:hidden}.user-menu-text span{color:var(--muted);font-size:.72rem}.avatar{letter-spacing:.03em;color:#fff;background:linear-gradient(135deg,#6366f1,#4338ca);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:700;display:grid}.avatar.light{background:var(--primary-soft-2);color:var(--primary)}main{width:100%;max-width:1400px;margin:0 auto;padding:1.75rem 1.75rem 3.5rem}.banner{background:var(--amber-soft);color:var(--amber);border-bottom:1px solid #fedf89;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 1.75rem;font-size:.86rem;display:flex}.banner.view-as{background:var(--violet-soft);color:var(--violet);border-color:#d9d6fe}.banner.view-as span{flex:1}.banner.error{background:var(--danger-soft);color:var(--danger);border-color:#fecdca;justify-content:space-between}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:1.4rem;display:flex}.page-header h1{letter-spacing:-.03em;font-size:1.55rem;font-weight:700;line-height:1.2}.page-header p{color:var(--muted);max-width:70ch;margin-top:.3rem}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.35rem}.card.flush{padding:0;overflow:hidden}.card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.card-head.padded{border-bottom:1px solid var(--line);margin:0;padding:1.1rem 1.35rem}.card-head p{margin-top:.1rem;font-size:.84rem}.list-caption{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:.6rem;font-size:.7rem;font-weight:700}.list-caption.padded{margin:0;padding:.9rem 1.35rem 0}.callout{background:var(--primary-soft);color:#3730a3;border-radius:var(--radius);border:1px solid #c7d2fe;margin:1rem 0 0;padding:.75rem 1rem;font-size:.9rem}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.1rem 1.25rem;display:flex}.stat-body{gap:.2rem;min-width:0;display:grid}.stat-label{color:var(--muted);font-size:.8rem;font-weight:500}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.15}.stat-hint{color:var(--faint);font-size:.78rem}.stat-icon{border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.stat-icon.primary{background:var(--primary-soft);color:var(--primary)}.stat-icon.ok{background:var(--ok-soft);color:var(--ok)}.stat-icon.amber{background:var(--amber-soft);color:var(--amber)}.stat-icon.violet{background:var(--violet-soft);color:var(--violet)}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:.35rem;padding:2.75rem 1.5rem;display:grid}.empty-state strong{color:var(--text);font-size:.98rem}.empty-state p{max-width:38ch;font-size:.9rem}.empty-state .btn{margin-top:.75rem}.empty-icon{background:var(--surface-3);width:48px;height:48px;color:var(--muted);border-radius:14px;place-items:center;margin-bottom:.5rem;display:grid}.badge{white-space:nowrap;background:var(--surface-3);color:var(--text-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.3rem;padding:.14rem .6rem;font-size:.74rem;font-weight:600;display:inline-flex}.badge.strong{background:var(--primary);color:#fff;border-color:var(--primary)}.badge.info{color:#175cd3;background:#eff8ff;border-color:#b2ddff}.badge.violet{background:var(--violet-soft);color:var(--violet);border-color:#d9d6fe}.badge.amber{background:var(--amber-soft);color:var(--amber);border-color:#fedf89}.color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #0f172a33}.color-dot.unknown{opacity:.6;background:conic-gradient(#f87171,#fbbf24,#34d399,#60a5fa,#a78bfa,#f87171)}.with-dot{align-items:center;gap:.45rem;display:inline-flex}label{color:var(--text-2);flex-direction:column;flex:1;gap:.35rem;min-width:0;font-size:.82rem;font-weight:500;display:flex}label small{color:var(--faint);font-weight:400}input,select{font:inherit;color:var(--text);border:1px solid var(--line-strong);background:var(--surface);height:38px;box-shadow:var(--shadow-sm);border-radius:8px;width:100%;min-width:0;padding:0 .75rem;font-weight:400;transition:border-color .12s,box-shadow .12s,background .12s}input::placeholder{color:var(--faint)}input:hover,select:hover{border-color:#b3bccb}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}input:disabled{background:var(--surface-2);color:var(--muted)}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox],input[type=radio]{width:16px;height:16px;box-shadow:none;accent-color:var(--primary);flex-shrink:0;padding:0}label.check{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:.55rem;font-size:.9rem;font-weight:400}.row{flex-wrap:wrap;gap:.85rem;margin-bottom:.85rem;display:flex}.row>label{flex:150px}.row.checks{gap:.6rem 1.5rem}.row.checks>label{flex:none}.form-grid{gap:.9rem;display:grid}.form-grid .row{margin:0}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecdca;border-radius:8px;margin:.5rem 0;padding:.6rem .8rem;font-size:.88rem}.form-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.1rem;display:flex}.form-actions .form-error{margin:0 auto 0 0}.unsaved{color:var(--amber);margin-right:auto;font-size:.85rem;font-weight:500}.search-box{flex:1;align-items:center;min-width:240px;display:flex;position:relative}.search-box>svg{color:var(--faint);pointer-events:none;position:absolute;left:.9rem}.search-box input{border-radius:var(--radius);height:44px;padding-left:2.6rem;padding-right:2.6rem;font-size:.98rem}.search-box .icon-btn{position:absolute;right:.4rem}.search-box.compact{max-width:420px}.search-box.compact>svg{left:.7rem}.search-box.compact input{border-radius:8px;height:36px;padding-left:2.2rem;font-size:.9rem}.toolbar-row{border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:1rem 1.35rem;display:flex}.btn{border:1px solid var(--line-strong);background:var(--surface);height:38px;color:var(--text);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);border-radius:9px;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-size:.9rem;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s,transform 80ms;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:#b3bccb}.btn:active{transform:translateY(1px)}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible,.product-card:focus-visible,.nav-item:focus-visible,.quick-action:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.btn.primary{background:linear-gradient(180deg, #5b52ea, var(--primary));border-color:var(--primary-hover);color:#fff;font-weight:600;box-shadow:0 1px 2px #0f172a1a,inset 0 1px #ffffff2e}.btn.primary:hover{background:var(--primary-hover)}.btn.big{border-radius:var(--radius);width:100%;height:46px;font-size:.98rem;font-weight:600}.btn.small{border-radius:7px;height:30px;padding:0 .7rem;font-size:.82rem}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000;width:100%}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft);border-color:#fecdca}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background .12s,color .12s;display:inline-grid}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn.on-dark{color:#7c89a3}.icon-btn.on-dark:hover{color:#fff;background:#ffffff14}.stepper{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem;padding:0;list-style:none;display:grid}.stepper li{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--muted);align-items:center;gap:.65rem;padding:.7rem .9rem;font-size:.88rem;font-weight:500;display:flex}.stepper li.active{color:var(--text);border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow-sm)}.stepper li.done{color:var(--ok)}.step-dot{background:var(--surface-3);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:.74rem;font-weight:700;display:grid}.stepper li.active .step-dot{background:var(--primary);color:#fff}.stepper li.done .step-dot{background:var(--ok-soft);color:var(--ok)}.print-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:1.25rem;display:grid}.print-main{min-width:0}.product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem;padding:.9rem 1.35rem 1.35rem;display:grid}.product-card{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;gap:.35rem;padding:1rem;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.product-card:hover{box-shadow:var(--shadow-md);border-color:#a5b4fc;transform:translateY(-1px)}.product-card-top{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.product-card strong{letter-spacing:-.005em;font-weight:600;line-height:1.3}.product-card small{color:var(--muted)}.swatches{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem;display:flex}.swatches small{color:var(--faint);margin-left:.2rem;font-size:.72rem}.group-tile{letter-spacing:.03em;background:linear-gradient(135deg, var(--primary-soft-2), var(--primary-soft));width:38px;height:38px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:700;display:grid}.group-tile.large{border-radius:14px;width:52px;height:52px;font-size:1rem}.picker{gap:.25rem;display:grid}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-self:start;align-items:center;gap:.35rem;margin-left:-.3rem;padding:.2rem .3rem;font-size:.86rem;font-weight:500;display:inline-flex}.back-link:hover{color:var(--primary)}.picked{align-items:center;gap:1rem;margin-top:.6rem;display:flex}.picked-text{min-width:0}.picked-name{letter-spacing:-.025em;font-size:1.3rem;font-weight:700;line-height:1.25}.picker-section h3{margin-top:1.5rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);height:38px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:.5rem;padding:0 .95rem;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.chip:hover{background:var(--surface-2);border-color:#b3bccb}.chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.chips.small .chip{height:32px;padding:0 .8rem;font-size:.84rem}.table-scroll.bordered{border:1px solid var(--line);border-radius:var(--radius)}.size-matrix th.qty,.size-matrix td.qty{text-align:right;width:150px}.size-matrix td.qty input{text-align:center;width:120px;height:40px;margin-left:auto;font-size:1.02rem;font-weight:600}.size-matrix tr.filled td{background:var(--primary-soft)}.size-pill{background:var(--surface-3);letter-spacing:-.01em;border-radius:8px;place-items:center;min-width:44px;height:32px;padding:0 .6rem;font-size:.95rem;font-weight:700;display:inline-grid}.picker-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:1.1rem;padding-top:1.1rem;display:flex}.picker-footer .fill-all{flex:0 0 300px}.picker-footer .btn{flex:260px;width:auto}.fill-all input{text-align:center;height:46px;font-size:1.05rem;font-weight:600}.cart{top:calc(var(--topbar-h) + 1.25rem);gap:.9rem;display:grid;position:sticky}.cart .card-head{margin-bottom:0}.cart-list{min-height:80px;max-height:calc(100vh - 420px);margin:0 -.25rem;padding:0 .25rem;list-style:none;overflow-y:auto}.cart-list li{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.7rem 0;display:flex}.cart-list li:last-child{border-bottom:0}.cart-info{flex:1;gap:.15rem;min-width:0;line-height:1.3;display:grid}.cart-info strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.cart-variant{color:var(--text-2);align-items:center;gap:.4rem;font-size:.86rem;display:inline-flex}.cart-list input{text-align:center;width:84px;font-weight:600}.last-printed{color:var(--amber);align-items:flex-start;gap:.3rem;margin-top:.15rem;font-size:.76rem;display:inline-flex}.last-printed svg{margin-top:1px}.cart-total{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;padding-top:.9rem;display:flex}.cart-total strong{color:var(--text);letter-spacing:-.04em;font-size:1.6rem;font-weight:700}.cart-total small{color:var(--muted);letter-spacing:0;font-size:.85rem;font-weight:500}.dash-hero{color:#fff;box-shadow:var(--shadow-md);background:radial-gradient(circle at 12% 0,#818cf873,#0000 40%),radial-gradient(circle at 95% 100%,#4f46e58c,#0000 45%),linear-gradient(135deg,#111a2e,#0b1120);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:1.75rem 2rem;display:flex}.dash-date{color:#a5b4fc;font-size:.8rem;font-weight:500}.dash-hero h1{letter-spacing:-.035em;margin:.2rem 0 .35rem;font-size:1.75rem;font-weight:700}.dash-hero p{color:#c7d0e4;max-width:60ch}.btn.big.hero-cta{flex-shrink:0;width:auto;padding-inline:1.4rem}.dash-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:1.25rem;display:grid}.dash-side{gap:1.25rem;display:grid}.activity{padding:0;list-style:none}.activity li{border-bottom:1px solid var(--line);align-items:center;gap:.85rem;padding:.8rem 1.35rem;display:flex}.activity li:last-child{border-bottom:0}.activity-text{flex:1;min-width:0;line-height:1.3;display:grid}.activity-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.activity-text small{color:var(--muted)}.activity-qty{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:700}.ranking{gap:.7rem;padding:0;list-style:none;display:grid}.ranking li{align-items:center;gap:.75rem;display:flex}.rank-pos{background:var(--surface-3);width:24px;height:24px;color:var(--muted);border-radius:7px;place-items:center;font-size:.74rem;font-weight:700;display:grid}.ranking li:first-child .rank-pos{background:var(--primary);color:#fff}.rank-text{flex:1;gap:.3rem;min-width:0;display:grid}.rank-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.quick-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.quick-action{border:1px solid var(--line);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;justify-items:start;gap:.5rem;padding:.9rem;font-size:.86rem;font-weight:500;transition:border-color .12s,background .12s;display:grid}.quick-action svg{color:var(--primary)}.quick-action:hover{background:var(--primary-soft);border-color:#a5b4fc}.table-toolbar{border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.35rem;display:flex}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{z-index:1;text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--surface-2);white-space:nowrap;font-size:.7rem;font-weight:700;position:sticky;top:0}.table th,.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.7rem 1.1rem}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fafbfd}.table td.strong{font-weight:600}.table.compact th,.table.compact td{padding:.45rem .75rem;font-size:.85rem}.table-note{text-align:center;color:var(--muted);border-top:1px solid var(--line);background:var(--surface-2);padding:.75rem 1.35rem;font-size:.85rem}.row-actions{white-space:nowrap;text-align:right}.row-actions>*{vertical-align:middle;margin-left:.2rem}.user-cell{align-items:center;gap:.7rem;display:flex}.user-cell div{line-height:1.3;display:grid}.user-cell strong{font-weight:600}.user-cell small{color:var(--muted)}.meter{background:var(--surface-3);border-radius:999px;width:100%;max-width:140px;height:6px;margin-bottom:.2rem;overflow:hidden}.meter i{border-radius:inherit;background:linear-gradient(90deg, #818cf8, var(--primary));height:100%;display:block}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b112099;place-items:center;padding:1.5rem;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(780px,100%);max-height:calc(100vh - 3rem);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;animation:.18s ease-out pop-in;display:flex;overflow:hidden}.modal.sm{width:min(500px,100%)}.modal.lg{width:min(1200px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem;display:flex}.modal-head h2{letter-spacing:-.02em;font-size:1.12rem}.modal-head p{color:var(--muted);margin-top:.15rem;font-size:.88rem}.modal-body{padding:1.5rem;overflow-y:auto}.modal-body h3:first-child{margin-top:0}.modal-foot{border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;padding:.95rem 1.5rem;display:flex}.foot-note{color:var(--muted);margin-right:auto;font-size:.88rem}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.preview-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.preview-side{align-content:start;gap:1rem;display:grid}.summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1rem;display:grid}.summary-item{line-height:1.2;display:grid}.summary-item strong{letter-spacing:-.04em;font-size:1.6rem;font-weight:700}.summary-item span,.summary-note{color:var(--muted);font-size:.8rem}.summary-note{border-top:1px solid var(--line);grid-column:1/-1;padding-top:.7rem}.hint{color:var(--text-2);gap:.5rem;font-size:.84rem;display:flex}.hint svg{color:var(--faint);margin-top:2px}.after-print{border-radius:var(--radius);background:var(--ok-soft);border:1px solid #abefc6;gap:.55rem;padding:1rem;display:grid}.preview-main,.profile-preview .pages-preview{border-radius:var(--radius);border:1px solid var(--line);background-color:#e7eaf0;background-image:radial-gradient(#cbd2dd 1px,#0000 1px);background-size:14px 14px;padding:1.25rem;overflow-y:auto}.preview-main{max-height:calc(100vh - 15rem)}.pages-preview{justify-items:center;gap:.7rem;display:grid}.preview-sheet{background:#fff;border-radius:2px;overflow:hidden;box-shadow:0 1px 3px #0f172a33,0 0 0 1px #0f172a0f}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--muted);text-align:center;cursor:pointer;align-items:center;gap:.3rem;padding:2.75rem 1.5rem;font-weight:400;transition:border-color .12s,background .12s}.dropzone:hover{border-color:var(--primary);background:var(--primary-soft)}.dropzone svg{color:var(--primary);margin-bottom:.4rem}.dropzone strong{color:var(--text);font-size:.98rem}.dropzone input{display:none}.import-done{text-align:center;justify-items:center;gap:.5rem;padding:1.5rem;display:grid}.import-done svg{color:var(--ok)}.import-done h3{color:var(--text);text-transform:none;letter-spacing:0;margin:0;font-size:1.1rem}.mapping{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.modal-body .table-scroll{border:1px solid var(--line);border-radius:var(--radius)}.modal-body .chips{margin-top:.5rem}.modal-body .search-box.compact{max-width:none}.plan{gap:.4rem;padding:0;list-style:none;display:grid}.plan li{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:.55rem .8rem}.plan li.danger{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}.problems{background:var(--danger-soft);max-height:170px;color:var(--danger);border-radius:8px;margin-top:.6rem;padding:.7rem .85rem;font-size:.84rem;line-height:1.6;overflow-y:auto}.access-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.6rem;display:grid}.option{border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--text);flex-direction:row;align-items:flex-start;gap:.65rem;padding:.85rem;font-size:.9rem;font-weight:400;transition:border-color .12s,background .12s}.option:hover{border-color:#b3bccb}.option.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.option input{margin-top:.15rem}.option span{gap:.1rem;display:grid}.option small{color:var(--muted)}.access-label{margin:1.1rem 0 .45rem;font-size:.82rem;font-weight:500}.check-list{border:1px solid var(--line);border-radius:var(--radius);max-height:250px;margin-top:.6rem;display:grid;overflow-y:auto}.check-list .check{border-bottom:1px solid var(--line);padding:.55rem .85rem}.check-list .check:last-of-type{border-bottom:0}.check-list .check:hover{background:var(--surface-2)}.check-list>p{text-align:center;padding:1rem}.profiles-layout{grid-template-columns:260px minmax(0,1fr) minmax(300px,400px);align-items:start;gap:1.25rem;display:grid}.profile-list{gap:.25rem;padding:1rem .75rem;display:grid}.profile-list .list-caption{padding:0 .4rem}.profile-item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.7rem;padding:.65rem .6rem;display:flex}.profile-item svg{color:var(--faint)}.profile-item span{min-width:0;line-height:1.3;display:grid}.profile-item strong{font-size:.88rem;font-weight:600}.profile-item small{color:var(--muted)}.profile-item:hover{background:var(--surface-2)}.profile-item.active{background:var(--primary-soft);border-color:#c7d2fe}.profile-item.active svg{color:var(--primary)}.profile-form h3:first-of-type{margin-top:1.5rem}.profile-preview{top:calc(var(--topbar-h) + 1.25rem);position:sticky}.profile-preview .muted{margin-bottom:.75rem;font-size:.84rem}.login-wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-hero{color:#c7d0e4;background:radial-gradient(circle at 15% 10%,#818cf866,#0000 45%),radial-gradient(circle at 90% 90%,#4f46e573,#0000 50%),linear-gradient(160deg,#111a2e,#0b1120);flex-direction:column;justify-content:space-between;gap:2rem;padding:2.5rem 3.25rem;display:flex}.login-hero .brand{padding:0}.login-hero h1{color:#fff;letter-spacing:-.035em;max-width:17ch;font-size:2.3rem;font-weight:700;line-height:1.12}.login-hero ul{gap:.9rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.login-hero li{align-items:center;gap:.75rem;font-size:.98rem;display:flex}.login-hero li svg{color:#a5b4fc}.login-hero small{color:#55647f}.login-panel{background:var(--surface);place-items:center;padding:2rem;display:grid}.login{gap:1rem;width:100%;max-width:360px;display:grid}.login h2{letter-spacing:-.03em;font-size:1.6rem;font-weight:700}.login input{height:44px}.toaster{z-index:80;gap:.5rem;display:grid;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius);background:var(--sidebar);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:.6rem;padding:.8rem 1.05rem;font-size:.9rem;font-weight:500;animation:.2s ease-out pop-in;display:flex}.toast svg{color:#6ee7b7}@media (width<=1280px){.topbar{grid-template-columns:minmax(0,1fr) minmax(220px,380px) auto;gap:1rem}.topbar-date{display:none}.dash-grid{grid-template-columns:minmax(0,1fr)}.profiles-layout{grid-template-columns:240px minmax(0,1fr)}.profile-preview{grid-column:1/-1;position:static}}@media (width<=1100px){.shell,.shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.brand-text,.nav-label,.nav-item span,.sidebar-foot{display:none}.sidebar{padding-inline:.6rem}.brand{justify-content:center;padding-inline:0}.nav-group{padding-top:.5rem}.nav-item{justify-content:center;padding:0}.nav-item.active:before{left:-.6rem}.nav-count{min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.62rem;position:absolute;top:4px;right:4px}.topbar{padding:0 1.25rem}.user-menu-text{display:none}main{padding:1.4rem 1.25rem 2.5rem}.banner{padding-inline:1.25rem}}@media (width<=960px){.topbar{grid-template-columns:minmax(0,1fr) auto}.global-search{display:none}.print-layout,.preview-layout,.profiles-layout,.login-wrap{grid-template-columns:minmax(0,1fr)}.cart{position:static}.cart-list{max-height:none}.stepper{grid-template-columns:1fr}.stepper li:not(.active) .step-text,.stepper li:not(.active){display:none}.dash-hero{padding:1.4rem 1.5rem}.login-hero{padding:2rem 1.5rem}.login-hero h1{margin-top:1rem;font-size:1.7rem}}.label-page{color:#000;break-after:page;break-inside:avoid;background:#fff;position:relative;overflow:hidden}.label-page:last-child{break-after:auto}.label-slot{contain:strict;position:absolute;overflow:hidden}.label-slot.outlined{outline-offset:-.1mm;border-radius:1mm;outline:.2mm dashed #9ca3af}.label-slot.empty{background:repeating-linear-gradient(45deg,#f3f4f6 0 1mm,#fff 1mm 2mm)}.label-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.3mm;font-family:Arial,Helvetica,sans-serif;line-height:1.1;display:flex;position:absolute;top:50%;left:50%;overflow:hidden}.label-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;max-width:100%;font-weight:700;display:-webkit-box;overflow:hidden}.label-variant{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:1.5mm;display:flex}.label-variant strong{font-size:1.25em}.label-barcode{image-rendering:pixelated;flex-shrink:0;display:block}.label-small{white-space:nowrap;flex-shrink:0}.label-digits{letter-spacing:.08em}.label-error{color:#b91c1c;font-size:5pt}#print-root{display:none}@media print{html,body{background:#fff;margin:0;padding:0}#root{display:none}#print-root{display:block}.label-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
