:root{--bg:#f7f7f8;--surface:#fff;--text:#1c1c1e;--muted:#6b6b70;--accent:#2f5bd3;--border:#e2e2e6;--problem-bg:#fff7e6;--problem-border:#f3d79a;--problem-text:#6b4a00;--ok-bg:#e3f4e8;--ok-text:#1f6b3a;--warn-bg:#fff1d6;--warn-text:#7a5200;--bad-bg:#fde2e1;--bad-text:#9b1c1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141416;--surface:#1d1d20;--text:#ececef;--muted:#9a9aa0;--accent:#7a9cff;--border:#2e2e33;--problem-bg:#2b2412;--problem-border:#5c4a1c;--problem-text:#f0d48a;--ok-bg:#16321f;--ok-text:#8fd6a4;--warn-bg:#3a2c0d;--warn-text:#f2c66b;--bad-bg:#3d1515;--bad-text:#f4a3a0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141416;--surface:#1d1d20;--text:#ececef;--muted:#9a9aa0;--accent:#7a9cff;--border:#2e2e33;--problem-bg:#2b2412;--problem-border:#5c4a1c;--problem-text:#f0d48a;--ok-bg:#16321f;--ok-text:#8fd6a4;--warn-bg:#3a2c0d;--warn-text:#f2c66b;--bad-bg:#3d1515;--bad-text:#f4a3a0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg)}*{box-sizing:border-box}body{margin:0}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.topbar h1{margin:0;font-size:1.1rem}.topbar nav{flex-wrap:wrap;gap:4px;display:flex}.topbar button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px}.topbar button.active{background:var(--bg);color:var(--accent);font-weight:600}.topbar .user{align-items:center;gap:8px;display:flex}.login{max-width:360px;margin:12vh auto;padding:24px 16px}.login form{flex-direction:column;gap:14px;display:flex}.login label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.login input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px 10px}main{max-width:1100px;margin:0 auto;padding:24px 16px}.muted{color:var(--muted)}button{font:inherit;color:inherit}.small{font-size:.85rem}.error{color:#c8262c}kbd{border:1px solid var(--border);color:var(--muted);border-radius:3px;padding:0 4px;font:.7rem ui-monospace,monospace}.review{grid-template-columns:260px 1fr;min-height:calc(100vh - 57px);display:grid}.review-list{border-right:1px solid var(--border);background:var(--surface);max-height:calc(100vh - 57px);padding:16px 12px;position:sticky;top:0;overflow-y:auto}.review-list h2{align-items:center;gap:8px;margin:0 4px 8px;font-size:1rem;display:flex}.review-list ul{margin:0;padding:0;list-style:none}.count{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:.75rem}.item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.item:hover{background:var(--bg)}.item.active{background:var(--bg);box-shadow:inset 3px 0 0 var(--accent)}.item-problem{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.review-main{min-width:0;padding:20px 24px}.review-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.review-head h2{margin:0;font-size:1.25rem}.review-head p{margin:4px 0 0}.review-actions{gap:8px;display:flex}.overlay{z-index:20;background:#00000073;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--bg);width:min(1100px,100%);color:var(--text);border-radius:10px;padding:20px;box-shadow:0 10px 40px #0000004d}@media (width<=860px){.overlay{padding:0}.sheet{border-radius:0;min-height:100%}}.file-pick input{opacity:0;width:1px;height:1px;position:absolute}.file-pick span.primary{background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:8px 16px;font-weight:600;display:inline-block}.file-pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.dropzone{border:2px dashed var(--border);text-align:center;border-radius:10px;margin-top:16px;padding:48px 16px}.sandbox-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}.qty-input{font:inherit;border:1px solid var(--border);background:var(--surface);width:6em;color:var(--text);border-radius:6px;padding:4px 8px}.sandbox .add-code{flex-wrap:wrap}.sandbox .add-code input.codes-input{width:min(22em,70vw)}.sandbox .stop{grid-template-columns:72px 90px 1fr}.cycler{align-items:center;gap:6px;min-width:0;display:flex}.cycler select{flex:1;min-width:0}.usage{margin-top:12px;overflow-x:auto}.usage table{border-collapse:collapse;width:100%;font-size:.9rem}@media (width<=860px){.sandbox .stop{grid-template-columns:64px 1fr}.sandbox .stop .cycler{grid-column:1/-1}}button.primary{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;padding:8px 18px;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}.problems{background:var(--problem-bg);border:1px solid var(--problem-border);color:var(--problem-text);border-radius:6px;margin:12px 0;padding:10px 14px 10px 30px}.review-body{grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);align-items:start;gap:24px;display:grid}.preview-pane{position:sticky;top:16px}.preview,.thumb{background:#5b6878;border-radius:8px;display:block}.preview{width:100%;max-height:60vh}.legend{flex-wrap:wrap;gap:6px 16px;margin:10px 0;font-size:.85rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.notes-box summary{cursor:pointer;color:var(--muted);font-size:.85rem}.notes{white-space:pre-wrap;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:.85rem}.stops{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stop{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;grid-template-columns:72px 90px 1fr;align-items:center;gap:12px;padding:8px;display:grid}.stop.current{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.thumb{width:72px;height:54px}.stop-info{flex-direction:column;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.85rem;display:inline-flex}.chip[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--surface));font-weight:600}.swatch{border-radius:50%;flex:none;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #80808099}.swatch.light{box-shadow:inset 0 0 0 1px #8a8f96}.add-code{align-items:center;gap:8px;margin:14px 0 6px;font-size:.85rem;display:flex}.add-code input{font:inherit;border:1px solid var(--border);background:var(--surface);width:9em;color:var(--text);border-radius:6px;padding:4px 8px}.add-code button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;padding:4px 10px}@media (width<=860px){.review{grid-template-columns:1fr}.review-list{border-right:0;border-bottom:1px solid var(--border);max-height:220px;position:static}.review-main{padding:16px}.review-body{grid-template-columns:1fr}.preview-pane{position:static}.stop{grid-template-columns:64px 1fr}.stop .chips{grid-column:1/-1}}main.wide{max-width:1200px}.screen-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;display:flex}.screen-head h2{margin:0 0 4px}.screen-head p{margin:0}.search,select,.inline-form input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:6px 10px}.search{min-width:220px}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:12px 0;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tabs.small button{padding:6px 10px;font-size:.85rem}button.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}main button:not(.link):not(.primary):not(.chip):not(.item):not(.kpi):not(.thread-row):not([role=tab]){border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:6px 12px}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok-text)}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}.badge.bad{background:var(--bad-bg);color:var(--bad-text)}.badge.muted{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.success{color:#1f8a46}.notice{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:6px;padding:10px 14px}.num{text-align:right;font-variant-numeric:tabular-nums}.neg{color:#b42318}.swatch.unknown{box-shadow:inset 0 0 0 1.5px var(--muted);background:0 0;border:0;outline:1px dashed #0000}.thread-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.thread+.thread{border-top:1px solid var(--border)}.thread-row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:20px minmax(140px,2fr) 1fr 1fr 130px;align-items:center;gap:12px;width:100%;padding:10px 14px;display:grid}.thread-row:hover,.thread.open .thread-row{background:var(--bg)}.thread-name{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.thread-row .num{flex-direction:column;align-items:flex-end;display:flex}.thread-panel{background:var(--bg);padding:4px 14px 14px 46px}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.inline-form label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.inline-form label.grow{flex:1;min-width:200px}.inline-form input[type=number]{width:9em}.color-input{align-items:center;gap:8px;display:flex}.color-input input{width:44px;height:32px;padding:0}.history{border-collapse:collapse;width:100%;font-size:.85rem}.history th,.history td{border-bottom:1px solid var(--border);text-align:left;padding:6px 8px}.jobs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.job{border:1px solid var(--border);background:var(--surface);border-radius:8px}.job header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:12px;padding:10px 14px;display:flex}.due{font-size:.85rem}.due.overdue{color:#b42318;font-weight:600}.imprints{margin:0;padding:0;list-style:none}.imprint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.imprint+.imprint{border-top:1px dashed var(--border)}.imprint-main{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.qty{min-width:4.5em;font-weight:600}.file{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.thread-chips{flex-wrap:wrap;gap:6px;display:flex}.thread-chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:.85rem;display:inline-flex}.imprint-action{align-items:center;gap:8px;display:flex}.confirm{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 20px;display:grid}.kpi{border:1px solid var(--border);background:var(--surface);text-align:left;font:inherit;color:inherit;border-radius:8px;flex-direction:column;gap:4px;padding:14px;display:flex}button.kpi{cursor:pointer}button.kpi:hover{border-color:var(--accent)}.kpi-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.kpi-value.bad{color:#b42318}.kpi-value.warn{color:#b26b00}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px 16px}.card h3{margin:0 0 10px;font-size:1rem}.compact{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:.9rem}.compact th,.compact td{border-bottom:1px solid var(--border);text-align:left;padding:6px 4px}.compact th.num,.compact td.num{text-align:right}.due-list{margin:0 0 8px;padding:0;list-style:none}.due-list li{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:6px 0;display:flex}@media (width<=700px){.thread-row{grid-template-columns:20px 1fr auto;row-gap:4px}.thread-row .need{flex-direction:row;grid-area:2/2;justify-self:start;align-items:baseline;gap:6px}.thread-row .badge{grid-area:2/3;justify-self:end}.thread-panel{padding-left:14px}.search{width:100%;min-width:0}}.settings{flex-direction:column;gap:16px;max-width:640px;display:flex}.settings fieldset{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:14px;padding:14px 16px;display:flex}.settings legend{padding:0 4px;font-weight:600}.settings fieldset>p{margin:0}.settings label{flex-direction:column;gap:4px;display:flex}.with-unit{align-items:center;gap:6px;display:flex}.with-unit input{width:7em;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:6px 10px}.example{background:var(--bg);border-radius:6px;margin:0;padding:8px 12px}.actions{align-items:center;gap:12px;display:flex}.unit-switch{align-items:center;gap:2px;display:flex}.unit-switch .muted{margin-right:6px}.topbar .unit-switch button{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:0;padding:4px 10px;font-size:.85rem}.topbar .unit-switch button:first-of-type{border-radius:6px 0 0 6px}.topbar .unit-switch button:last-of-type{border-radius:0 6px 6px 0}.topbar .unit-switch button[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.inline-form .with-unit select{font:inherit;padding:6px 8px}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.85rem}.topbar .theme-toggle{color:var(--text);border:1px solid var(--border);background:var(--surface);padding:4px 10px}.login-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.collections{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}.collection-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px}.collection-list ul{margin:0;padding:0;list-style:none}.collection-editor{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:14px 16px}.collection-form h3{margin:0 0 12px}.collection-form h4{margin:0}.members-head{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 8px;display:flex}.members-head .search{flex:1;min-width:180px}.member-list{border:1px solid var(--border);border-radius:6px;max-height:420px;margin:0 0 14px;padding:0;list-style:none;overflow-y:auto}.member-list li+li{border-top:1px solid var(--border)}.member{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.member:hover{background:var(--bg)}.badge.collection{background:color-mix(in srgb, var(--accent) 15%, var(--surface));color:var(--accent)}button.danger{color:#fff;cursor:pointer;background:#b42318;border:0;border-radius:6px;padding:6px 12px;font-weight:600}.search-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.thread-panel .sources{margin:8px 0 4px}.level-choice{border:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.level-choice legend{margin-bottom:4px;padding:0}.level-choice .radio{flex-direction:row;align-items:center;gap:6px}.level-choice .radio input[type=number]{width:6em}@media (width<=860px){.collections{grid-template-columns:1fr}}.filters{flex-direction:column;gap:10px;margin:12px 0;display:flex}.status-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-chips .chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--surface));color:var(--accent);font-weight:600}.status-chips .divider{background:var(--border);width:1px;height:20px;margin:0 4px}.filters .search-row .search{flex:1;min-width:200px}.filters select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:6px 8px}main button.icon{min-width:34px;padding:4px 10px}.range-filters{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;gap:12px 20px;padding:10px 12px;display:flex}.range-filters label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.range-filters input{width:6.5em;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:4px 8px}.result-count{margin:0}.add-thread{border:1px solid var(--accent);background:var(--surface);border-radius:8px;margin:12px 0;padding:12px 14px}.add-thread .grow-line{flex-basis:100%;margin:0}.brands{max-width:760px;margin-top:28px}.brands h3{margin:0 0 4px}.brand-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:10px 0 0;padding:0;list-style:none}.brand-row{flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.brand-row+.brand-row{border-top:1px solid var(--border)}.brand-name{flex-direction:column;flex:1;min-width:180px;display:flex}.brand-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:5px 8px}.brand-row input[list]{width:11em}.brand-row input[type=number]{width:6em}.props{white-space:nowrap}.fields-shown{max-width:760px;margin-top:28px}.fields-shown h3{margin:0 0 4px}.field-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:10px 0 0;padding:0;list-style:none}.field-list li+li{border-top:1px solid var(--border)}.field-option{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.field-option>span{flex-direction:column;display:flex}.field-option input{margin-top:3px}.email-alerts{max-width:760px;margin-top:28px}.email-alerts h3{margin:0 0 4px}.alert-part{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:8px;margin:12px 0 0;padding:10px 14px;display:flex}.alert-part legend{padding:0 4px;font-weight:600}.alert-part p{margin:0}.recipient-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.recipient-list li{align-items:center;gap:8px;display:flex}.add-recipient{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.add-recipient input{min-width:200px;max-width:340px;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:5px 8px}.alert-statuses{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.alert-statuses label{cursor:pointer;align-items:center;gap:4px;display:flex}.alert-part .actions{margin:0}.history-screen{max-width:900px}.history-screen .search-row{margin:12px 0}.history-screen .search-row .search{flex:1;min-width:200px}.history-day{margin:18px 0 6px;font-size:.95rem}.history-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:0;padding:0;list-style:none}.history-list>li{flex-direction:column;gap:2px;padding:8px 12px;display:flex}.history-list>li+li{border-top:1px solid var(--border)}.history-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.history-by{overflow-wrap:anywhere;margin-left:auto}.history-changes{border-left:2px solid var(--border);margin:2px 0 0;padding:0 0 0 12px;list-style:none}.history-changes del{color:var(--muted)}.count-screen{flex-direction:column;gap:16px;max-width:520px;display:flex}.count-field{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.count-field select,.count-code input,.stepper input{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);border-radius:8px;padding:8px 12px;font-size:1.15rem}.count-code{gap:8px;display:flex}.count-code input{letter-spacing:.04em;flex:1;min-width:0;font-size:1.4rem}main button.count-kbd{min-width:64px}.count-thread p{margin:6px 0 0}.count-title{align-items:center;gap:8px;font-size:1.1rem;display:flex}.count-title .swatch{width:22px;height:22px}.count-warn{background:var(--warn-bg);color:var(--warn-text);border-radius:6px;padding:6px 10px}.count-thread .chips{margin-top:8px}.stepper{grid-template-columns:64px 1fr 64px;gap:8px;display:grid}.stepper input{text-align:center;width:100%;font-size:1.4rem;font-weight:600}main .stepper button,main .open-sizes button{min-height:48px;font-size:1.3rem}.open-sizes{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}main .open-sizes button{padding:6px 4px;font-size:1rem}.count-screen .chip{min-height:36px;padding:4px 12px;font-size:.95rem}.count-save{background:var(--bg);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;bottom:0}.count-save button.primary{min-height:48px;padding:8px 22px;font-size:1.05rem}.count-log h3{margin:0 0 8px;font-size:1rem}.count-log ul{margin:0;padding:0;list-style:none}.count-log li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.count-log li.undone{opacity:.5;text-decoration:line-through}.count-log .grow{flex:1}@media (width<=600px){.topbar{gap:8px;padding:8px 12px}.topbar nav{scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:10;overflow-x:auto}.topbar nav button{flex:none}.topbar .user .muted{display:none}.open-sizes{grid-template-columns:repeat(3,1fr)}}
