:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, Menlo, Consolas, monospace;--color-bg: #ffffff;--color-canvas: #e6f0ee;--color-sidebar: #f5f6f7;--color-surface: #f4f6f7;--color-text: #161b22;--color-muted: #5a6472;--color-border: #e1e5ea;--color-accent: #0e7c52;--color-accent-soft: #e3f4ec;--color-accent-text: #ffffff;--color-danger: #c4203a;--color-danger-soft: #fdebee;--color-warning: #9a5b00;--color-warning-soft: #fff3dc;--color-success: #0e7c52;color-scheme:light;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--shadow-card: 0 1px 2px rgb(16 24 40 / 4%);--shadow-float: 0 20px 50px rgb(16 24 40 / 10%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #12171d;--color-canvas: #0b0f13;--color-sidebar: #161c23;--color-surface: #1a2028;--color-text: #e8ecf2;--color-muted: #9aa4b2;--color-border: #2a313b;--color-accent: #3ecb90;--color-accent-soft: #15332a;--color-accent-text: #07130e;--color-danger: #ff7088;--color-danger-soft: #3a1820;--color-warning: #f0b44c;--color-warning-soft: #33280f;--color-success: #3ecb90;--shadow-card: none;--shadow-float: none;color-scheme:dark}}:root[data-theme=dark]{--color-bg: #12171d;--color-canvas: #0b0f13;--color-sidebar: #161c23;--color-surface: #1a2028;--color-text: #e8ecf2;--color-muted: #9aa4b2;--color-border: #2a313b;--color-accent: #3ecb90;--color-accent-soft: #15332a;--color-accent-text: #07130e;--color-danger: #ff7088;--color-danger-soft: #3a1820;--color-warning: #f0b44c;--color-warning-soft: #33280f;--color-success: #3ecb90;--shadow-card: none;--shadow-float: none;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5}h1{font-size:1.375rem;margin:0 0 var(--space-3)}h1:focus{outline:none}.muted{color:var(--color-muted)}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--space-4);background:var(--color-surface)}.auth-card{width:100%;max-width:400px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}.auth-brand{margin:0 0 var(--space-4);font-weight:600;color:var(--color-muted);letter-spacing:.02em}.field{display:grid;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-weight:600;font-size:.875rem}.hint{color:var(--color-muted);font-size:.8125rem}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:44px;padding:0 var(--space-3);font:inherit;color:inherit;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{font:inherit;cursor:pointer}button.primary{width:100%;min-height:44px;border:0;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-text);font-weight:600}button.primary:disabled{opacity:.6;cursor:default}a.link,button.link{background:none;border:0;padding:var(--space-1) 0;color:var(--color-accent);text-align:left;text-decoration:underline}button.link:disabled{opacity:.6}.links{display:grid;gap:var(--space-1);margin:var(--space-4) 0 0}.error{margin:0 0 var(--space-3);color:var(--color-danger);font-size:.9375rem}.notice{margin:0 0 var(--space-3);color:var(--color-success);font-size:.9375rem}.qr{display:grid;justify-items:center;gap:var(--space-3);margin:var(--space-4) 0}.qr img{background:#fff;padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.key{display:block;margin-top:var(--space-2);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-mono);word-break:break-all;user-select:all}textarea{padding:var(--space-2) var(--space-3);resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--color-accent);flex:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{min-height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr);background:var(--color-canvas)}.skip{position:absolute;left:-999px;top:0;background:var(--color-bg);padding:var(--space-2) var(--space-3);z-index:100}.skip:focus{left:var(--space-2);top:var(--space-2)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:var(--space-5) 0 var(--space-4);background:var(--color-sidebar);border-right:1px solid var(--color-border);overflow-y:auto}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5) var(--space-5)}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--color-accent);color:var(--color-accent-text);font-weight:700}.brand-name{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group{margin-bottom:var(--space-4)}.nav-label{margin:0;padding:var(--space-2) var(--space-5);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.nav-item{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:0 var(--space-5);border:0;background:none;color:var(--color-muted);font:inherit;font-size:.9375rem;text-decoration:none;text-align:left;cursor:pointer}.nav-item:hover{color:var(--color-text)}.nav-item.is-active{color:var(--color-text);font-weight:600}.nav-item.is-active:before{content:"";position:absolute;right:0;top:6px;bottom:6px;width:3px;border-radius:3px 0 0 3px;background:var(--color-accent)}.nav-item.is-active svg{color:var(--color-accent)}.nav-item:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.icon-btn.only-mobile{display:none}.sidebar-foot{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.whoami{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5) var(--space-3);min-width:0}.whoami-text{display:grid;min-width:0;line-height:1.3;font-size:.875rem}.whoami-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem}.avatar{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-weight:700}.main{min-width:0;padding:var(--space-4)}.page{min-height:calc(100dvh - 2 * var(--space-4));background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-head h1{font-size:1.75rem;font-weight:600;margin:0;letter-spacing:-.01em}.page-head p{margin:var(--space-1) 0 0}.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);padding:0;background:none;box-shadow:none}.page-main{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card)}.page-aside{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-6);display:grid;gap:var(--space-4);align-content:start;box-shadow:var(--shadow-card)}.card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);background:var(--color-bg)}.card-soft{background:var(--color-surface);border-color:transparent}.card+.card{margin-top:var(--space-4)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card-head h2{margin:0;font-size:1.125rem;font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.stat-grid .card+.card{margin-top:0}.stat-value{margin:var(--space-2) 0 0;font-size:2rem;font-weight:600;line-height:1.1}.stat p.muted{margin:var(--space-1) 0 0;font-size:.875rem}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.empty{padding:var(--space-6) var(--space-2);text-align:center}.empty-title{margin:0 0 var(--space-1);font-weight:600}.empty p.muted{margin:0}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-surface);color:var(--color-muted)}.badge-success{background:var(--color-accent-soft);color:var(--color-accent)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-outline{background:var(--color-bg);color:var(--color-accent);border-color:var(--color-accent)}.btn-ghost{background:none;color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.mobilebar,.scrim{display:none}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--radius-sm);background:none;color:var(--color-text);cursor:pointer}@media(max-width:1200px){.with-aside{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.mobilebar{display:flex;align-items:center;gap:var(--space-2);position:sticky;top:0;z-index:20;padding:var(--space-2) var(--space-3);background:var(--color-sidebar);border-bottom:1px solid var(--color-border)}.icon-btn.only-mobile{display:grid}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:min(300px,86vw);transform:translate(-100%);visibility:hidden;box-shadow:var(--shadow-float)}.sidebar.is-open{transform:none;visibility:visible}.scrim{display:block;position:fixed;inset:0;z-index:30;background:#0006}.main{padding:var(--space-2)}.page,.page-main{padding:var(--space-5);border-radius:var(--radius-md)}.page-aside{border-radius:var(--radius-md)}.page-head h1{font-size:1.5rem}}@media(prefers-reduced-motion:no-preference){.sidebar{transition:transform .2s ease,visibility .2s}.btn,.nav-item{transition:background-color .15s,color .15s,opacity .15s}}.btn-link{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none}.back{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);color:var(--color-muted);text-decoration:none;font-size:.9375rem}.back:hover{color:var(--color-text)}.banner{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-text)}.stack{display:grid;gap:var(--space-4)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.toolbar select{width:auto;min-width:160px}.search{position:relative;flex:1 1 240px}.search svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-muted);pointer-events:none}.search input:not([type=checkbox]):not([type=radio]){padding-left:38px}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.table-wrap.flush{border:0;border-radius:0}.table-wrap.is-stale{opacity:.6}.table{width:100%;border-collapse:collapse;font-size:.9375rem}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);background:var(--color-surface);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);vertical-align:middle}.table tbody tr:hover{background:var(--color-surface)}.table.compact td input{min-height:36px}.row-link{font-weight:600;color:var(--color-text);text-decoration:none}.row-link:hover{color:var(--color-accent);text-decoration:underline}.sub{display:block;font-size:.8125rem;color:var(--color-muted)}code{font-family:var(--font-mono);font-size:.875em}.chips.tight{margin-top:0;gap:var(--space-1)}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4)}.stepper{display:flex;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;list-style:none;flex-wrap:wrap}.stepper li{display:flex;align-items:center;gap:var(--space-2);padding-right:var(--space-4);color:var(--color-muted);font-size:.9375rem}.step-dot{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--color-border);font-size:.8125rem;font-weight:600}.stepper .current{color:var(--color-text);font-weight:600}.stepper .current .step-dot{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.stepper .done .step-dot{background:var(--color-accent-soft);border-color:var(--color-accent-soft);color:var(--color-accent)}.field-set{border:0;margin:0;padding:0}.field-set legend{font-weight:600;font-size:.875rem;margin-bottom:var(--space-2);padding:0}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-3)}.type-card{display:grid;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;position:relative}.type-card input{position:absolute;opacity:0}.type-card.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.type-card:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.form-grid{align-items:start;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 var(--space-4)}.check{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}.chip-check{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:999px;cursor:pointer}.chip-check:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.chip-check:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.matrix{border-collapse:collapse;margin-top:var(--space-2)}.matrix th,.matrix td{padding:var(--space-2) var(--space-3);text-align:center;border-bottom:1px solid var(--color-border);font-weight:600;font-size:.875rem}.matrix th[scope=row]{text-align:left}.matrix .mini{display:block;font-weight:400;font-size:.75rem}.matrix .mini .link{font-size:.75rem}.swatch-label{display:inline-flex;align-items:center;gap:var(--space-2)}.swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid var(--color-border)}.summary{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-6);margin:0 0 var(--space-4)}.summary dt{color:var(--color-muted)}.summary dd{margin:0;font-weight:600}.review-list{list-style:none;margin:0 0 var(--space-4);padding:0;border-top:1px solid var(--color-border)}.review-list li{display:grid;grid-template-columns:1fr 1fr 130px;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.problems{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-6);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger)}.wizard-actions{display:flex;justify-content:space-between;margin-top:var(--space-6)}.review-list li span:last-child{text-align:right}@media(max-width:720px){.table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-wrap{border:0;overflow:visible}.table,.table tbody,.table tr,.table td{display:block}.table tr{margin-bottom:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.table td{display:flex;justify-content:space-between;gap:var(--space-4);border-top:0;padding:var(--space-2) 0;text-align:right}.table td:before{content:attr(data-label);color:var(--color-muted);font-size:.8125rem;text-align:left;flex:none}.table td input{max-width:60%}.review-list li{grid-template-columns:1fr auto}.review-list li span:last-child{text-align:right}.review-list code,.step-label{display:none}.stepper .current .step-label{display:inline}}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}td.row-actions{display:table-cell;white-space:nowrap;text-align:right}.inline-form{display:flex;gap:var(--space-3);align-items:center}.inline-form input{max-width:420px}.attr-list{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.attr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.attr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.attr-head .chips{margin-top:var(--space-2)}.attr-edit,.add-option{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--color-border)}.options{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.options h3{margin:0 0 var(--space-2);font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.opt-list{list-style:none;margin:0 0 var(--space-3);padding:0}.opt-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.opt-list li.is-off .opt-main{opacity:.55}.opt-main{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.swatch.none{background:repeating-linear-gradient(45deg,var(--color-border) 0 3px,transparent 3px 6px)}.icon-btn:disabled{opacity:.35;cursor:default}@media(max-width:720px){.inline-form{flex-direction:column;align-items:stretch}td.row-actions{text-align:left}}.table.items td input:not([type=checkbox]),.table.items td select{min-height:36px;min-width:90px}.table.items tr.is-changed td{background:var(--color-warning-soft)}.table.items .sub{display:block;font-size:.8125rem;color:var(--color-muted);margin-top:2px}.sub.neg,.neg{color:var(--color-danger)}.pos{color:var(--color-success)}.expander{display:flex;align-items:center;gap:var(--space-2);background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.expander:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.expander span{display:grid}.panel-row td{background:var(--color-surface);padding:var(--space-5)}.item-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-8)}.item-panel h3{margin:0 0 var(--space-3);font-size:1rem}.item-panel h4{margin:var(--space-4) 0 var(--space-2);font-size:.875rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.item-panel .row-actions{margin-bottom:var(--space-3)}.history{list-style:none;margin:0;padding:0;font-size:.875rem}.history li{display:grid;grid-template-columns:56px 80px 1fr auto;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--color-accent-soft);border-radius:var(--radius-sm)}.bulk-field{display:inline-flex;gap:var(--space-2);align-items:center}.bulk-field input,.bulk-field select{width:130px;min-height:36px}.bulkbar .btn{min-height:36px}.savebar{position:sticky;bottom:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-float)}.savebar .btn-ghost{color:var(--color-bg)}.warn-note{margin:var(--space-3) 0 0;color:var(--color-warning)}.add-items{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.head-editor{margin-bottom:var(--space-5);max-width:640px}@media(max-width:720px){.history li{grid-template-columns:48px 1fr}.panel-row td{display:block;padding:var(--space-3)}.savebar{flex-direction:column;align-items:stretch}}.bulkbar .btn{white-space:nowrap}.thumb{position:relative;display:grid;place-items:center;flex:none;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-muted)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-md{width:100%;aspect-ratio:4 / 3}.thumb-sm{width:48px;height:48px}.thumb-play{position:absolute;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0009;color:#fff}.media-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}.media-card{display:grid;gap:var(--space-2);width:100%;padding:var(--space-2);text-align:left;background:var(--color-bg);color:inherit;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.media-card:hover{border-color:var(--color-accent)}.media-card.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.media-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.media-meta{display:grid;gap:2px;padding:0 var(--space-1) var(--space-1);font-size:.875rem;min-width:0}.media-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-detail{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:var(--space-6)}.media-preview{display:grid;gap:var(--space-2);align-content:start}.dropzone{position:relative;display:grid;place-items:center;gap:var(--space-1);padding:var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:center}.dropzone:hover,.dropzone:focus-within{border-color:var(--color-accent);background:var(--color-accent-soft)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-list{list-style:none;margin:var(--space-4) 0;padding:0;display:grid;gap:var(--space-2)}.upload-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap}.upload-row.is-done{background:var(--color-accent-soft)}.upload-row.is-error{border-color:var(--color-danger)}.upload-fields{display:grid;gap:var(--space-1);flex:1;min-width:200px}.upload-fields input{min-height:36px}.upload-row select{width:auto;min-height:36px}.media-section{margin-top:var(--space-4)}.media-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.media-strip li{display:grid;gap:var(--space-1);width:110px}.media-strip .thumb-md{aspect-ratio:1}.link-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.link-list li{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.link-list select{width:auto;min-height:36px}.link-name{flex:1;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);display:grid;gap:var(--space-3)}@media(max-width:720px){.media-detail{grid-template-columns:1fr}}.banner-warn{background:var(--color-warning-soft);color:var(--color-warning)}.plain{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.dup-form{margin-bottom:var(--space-5)}.order-list{list-style:none;margin:0;padding:0}.order-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.order-list li:last-child{border-bottom:0}.order-pos{width:2ch;color:var(--color-muted);text-align:right}.order-name{flex:1;display:flex;align-items:center;gap:var(--space-2)}.order-btns{display:flex}.stock-summary{display:flex;gap:var(--space-2);margin:0 0 var(--space-4)}.chip{background:none;border:0;padding:0;cursor:pointer}.chip{font:inherit;padding:var(--space-1) var(--space-3);border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);color:inherit;cursor:pointer}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.chips+.toolbar{margin-top:var(--space-4)}.plain{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.timeline li{display:flex;justify-content:space-between;gap:var(--space-4)}.row-actions.wrap{flex-wrap:wrap}.inline-form{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.quote-line{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.quote-line .field{margin:0;min-width:160px}.request{margin:var(--space-1) 0 0;font-style:italic}.quote-total{margin:var(--space-3) 0}.accept-box{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface)}.accept-box p{margin:0 0 var(--space-3)}.history{margin-top:var(--space-4)}.customer-note{padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm)}@media(max-width:720px){.quote-line{flex-direction:column}}.stat-link{text-decoration:none;color:inherit;display:block}.stat-link:hover .card{border-color:var(--color-accent)}.failure{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.payload{margin:0;padding:var(--space-3);max-height:320px;overflow:auto;background:var(--color-surface);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8125rem}.subhead{margin:var(--space-4) 0 var(--space-1);font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.band-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.band-row .field{margin:0;width:8rem}.band-range{min-width:8rem;color:var(--color-muted)}.band-row .field.grow{flex:1;min-width:14rem;width:auto}.slip-img{max-width:100%;max-height:360px;border:1px solid var(--border, #ddd);border-radius:6px;margin-top:8px}.slips ul.plain{list-style:none;padding:0;margin:0 0 8px}.section-h{font-size:1.1rem;margin:var(--space-4, 24px) 0 var(--space-2, 8px)}.lib-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-6);align-items:start}.lib-side{display:grid;gap:var(--space-4);position:sticky;top:var(--space-4);min-width:0;grid-template-columns:minmax(0,1fr)}.lib-side>button{width:100%;justify-content:center}.lib-main{min-width:0}.tree,.tree ul{list-style:none;margin:0;padding:0}.tree-row{box-sizing:border-box;display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:transparent;color:inherit;font:inherit;border:0;border-radius:var(--radius-sm);cursor:pointer}.tree-row:hover{background:var(--color-surface)}.tree-row.is-on{background:var(--color-accent-soft);font-weight:600}.tree-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-newfolder{display:grid;gap:var(--space-2)}.lib-cell{position:relative}.lib-check{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;width:20px;height:20px;accent-color:var(--color-accent)}.tag-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.tag-chip-btn{padding:0;font:inherit;color:inherit;background:none;border:0;cursor:pointer}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);font:inherit;font-size:.875rem;color:inherit;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;cursor:pointer}.tag-chip:hover{border-color:var(--color-accent)}.tag-chip.is-on{background:var(--color-accent-soft);border-color:var(--color-accent)}.tag-x{padding:0 2px;font:inherit;color:inherit;background:none;border:0;cursor:pointer}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.bulk-field{display:inline-flex;align-items:center;gap:var(--space-2)}.bulk-field select,.bulk-field input{width:auto;min-width:140px}.lib-h{margin:var(--space-5) 0 var(--space-2);font-size:1rem}@media(max-width:900px){.lib-layout{grid-template-columns:1fr}.lib-side{position:static}}.lib-check-field{display:grid;gap:var(--space-1);align-content:start}.lib-check-field label{display:flex;align-items:center;gap:var(--space-2)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;background:var(--color-surface);border-radius:var(--radius-md)}.segmented button{padding:var(--space-1) var(--space-3);font:inherit;font-size:.875rem;color:var(--color-muted);background:none;border:0;border-radius:var(--radius-sm);cursor:pointer}.segmented button[aria-pressed=true]{color:var(--color-text);background:var(--color-bg);box-shadow:0 1px 2px #0000001f;font-weight:600}.segmented button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.design{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:var(--space-6);align-items:start}.design-view{display:grid;gap:var(--space-3);justify-items:start;min-width:0}.design-preview{display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.design-preview img{width:100%;height:100%;object-fit:contain}.design-preview.print{aspect-ratio:auto;min-height:120px}.design-preview.print img{width:auto;height:auto;max-width:100%;max-height:520px;outline:1px dashed var(--color-border)}.design-preview p{margin:0;text-align:center;font-size:.9375rem}.backdrop-checker{background:repeating-conic-gradient(#e6e8ea 0% 25%,#fff 0% 50%) 50% / 16px 16px}.backdrop-white{background:#fff}.backdrop-black{background:#111}.design-facts{min-width:0}.warn-list{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-6);background:var(--color-warning-soft, #fff7e0);border-radius:var(--radius-md);font-size:.9375rem}.warn-list li+li{margin-top:var(--space-2)}.design-form{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.versions{margin-top:var(--space-4)}.placement{margin:0;display:grid;gap:var(--space-2);width:100%}.placement-area{position:relative;width:min(100%,320px);border:1px dashed var(--color-muted);background:repeating-conic-gradient(#f1f2f3 0% 25%,#fff 0% 50%) 50% / 12px 12px}.placement-design{position:absolute;outline:1px solid var(--color-accent);transform-origin:center}.placement-design img{display:block;width:100%;height:100%;object-fit:fill}.review-line{display:grid;gap:var(--space-4)}.review-line+.review-line{margin-top:var(--space-6)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.page-actions .btn,.page-actions .badge{white-space:nowrap}.review-line-head{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:var(--space-4)}.review-line-head h2{margin:0;font-size:1.125rem}.review-line-head p{margin:0}.review-decisions{display:grid;gap:var(--space-2);justify-items:end}.design-note{white-space:pre-wrap;margin:0 0 var(--space-3)}.design-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.design-list li{display:flex;align-items:center;gap:var(--space-4)}.erase-files{display:grid;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.erase-files:empty{display:none}.design-list li>div{flex:1;min-width:0}.design-thumb{display:grid;place-items:center;flex:none;width:56px;height:56px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.design-thumb img{max-width:100%;max-height:100%;object-fit:contain}@media(max-width:900px){.design{grid-template-columns:1fr}.review-decisions{justify-items:start}}@media(max-width:720px){.page-head{flex-direction:column}}.mockup-wrap{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.mockup-wrap h3{margin:0 0 var(--space-2);font-size:1rem}.mockup-stage{position:relative;max-width:420px;width:100%;margin:var(--space-3) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);touch-action:none;user-select:none}.mockup-stage img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.mockup-area{position:absolute;box-sizing:border-box;border:2px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,transparent);cursor:move;outline-offset:2px}.mockup-size{position:absolute;left:4px;top:2px;font-size:.6875rem;font-weight:600;color:var(--color-accent);background:var(--color-bg, #fff);padding:0 4px;border-radius:3px;white-space:nowrap}.mockup-handle{position:absolute;right:-8px;bottom:-8px;width:16px;height:16px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg, #fff);cursor:nwse-resize;touch-action:none}.mockup-zoom{display:flex;align-items:center;gap:var(--space-3);max-width:420px;margin-bottom:var(--space-3);font-size:.875rem}.mockup-zoom input{flex:1}
