body{background:var(--bg)}a{color:var(--accent)}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}h1{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:1.4rem;display:flex}h2{margin:0 0 12px;font-size:1.05rem}h3{margin:0 0 12px;font-size:.95rem}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:12px 24px;display:flex}.topbar nav{flex:1;gap:16px;display:flex}.topbar nav a{color:var(--ink);text-decoration:none}.topbar nav a.router-link-exact-active{font-weight:600}.brand{color:var(--ink);letter-spacing:.02em;margin:0;font-weight:700;text-decoration:none}.brand span{color:var(--muted);font-weight:400}.who{align-items:center;gap:10px;display:flex}.admin{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:20px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side-head{justify-content:space-between;align-items:center;gap:8px;padding:0 10px;display:flex}.side nav{flex-direction:column;flex:1;gap:18px;display:flex}.side-group{flex-direction:column;gap:2px;display:flex}.side-group p{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;padding:0 10px;font-size:.72rem;font-weight:600}.side-group a{color:var(--ink);border-radius:6px;padding:7px 10px;text-decoration:none}.side-group a:hover{background:var(--bg)}.side-group a.router-link-active{background:var(--bg);font-weight:600}.get-started-link{background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:8px 10px;font-weight:600;text-decoration:none}.signup .card{width:min(440px,100%)}.signup h1{margin:0}.signup .address-row{align-items:baseline;gap:6px;display:flex}.signup .address-row input{flex:1;min-width:0}.signup .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.signup .two label{flex-direction:column;gap:4px;display:flex}.signup select{border:1px solid var(--line);border-radius:var(--radius);background:0 0;width:100%;padding:9px 10px}.side .who{border-top:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 10px 0;font-size:13px}.side .who a{color:var(--ink);text-decoration:none}.side .bell span,.menu-toggle .dot{background:var(--accent);min-width:18px;color:var(--accent-ink);text-align:center;border-radius:999px;margin-left:4px;padding:0 5px;font-size:11px;display:inline-block}.menu-toggle{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;display:none}.main{min-width:0}@media (width<=760px){.admin{grid-template-columns:minmax(0,1fr);align-content:start}.list-head{flex-wrap:wrap}.side{z-index:20;border-right:0;border-bottom:1px solid var(--line);gap:14px;height:auto;max-height:100vh;padding:10px 6px;position:sticky}.menu-toggle{display:inline-block}.side:not(.open) nav,.side:not(.open) .who{display:none}}.page{max-width:1500px;margin:0 auto;padding:20px 24px 48px}.crumbs{color:var(--muted);margin:0;font-size:.85rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:16px}table.list{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%}.card table.list{border:0}table.list th,table.list td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}table.list th{color:var(--muted);font-size:.8rem;font-weight:600}table.list tr.clickable:hover{background:var(--bg)}.num{text-align:right}.actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.tag{background:var(--info-bg);color:var(--ink);border-radius:999px;margin-right:4px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.tag.live,.tag.same{color:var(--accent);background:#e3efe9}.tag.draft,.tag.price_changed,.tag.bom_changed{background:var(--warn-bg);color:var(--warn)}.tag.offline,.tag.error{background:var(--error-bg);color:var(--error)}button.secondary{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer;padding:8px 14px}button.secondary:disabled{opacity:.45;cursor:not-allowed}button.secondary.small{padding:5px 10px;font-size:.85rem}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}button.link.danger{color:var(--error)}button.link:disabled{opacity:.45;cursor:not-allowed}.error-text{color:var(--error)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{flex-direction:column;gap:8px;width:min(360px,100%);padding:24px;display:flex}.login .brand{margin-bottom:8px;font-size:1.1rem}.login input{border:1px solid var(--line);border-radius:var(--radius);background:0 0;margin-bottom:6px;padding:9px 10px}.login button{margin-top:6px}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-grid{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:20px;margin-top:8px;display:grid}.editor-main{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:0 20px 20px}.editor-side{position:sticky;top:16px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:0 -20px 16px;padding:0 12px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 10px}.tabs button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.count{background:var(--bg);border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;display:inline-block}.form-section{border-bottom:1px solid var(--line);margin-bottom:12px;padding:4px 0 12px}.form-section:last-child{border-bottom:0}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h3{margin-bottom:8px}.section-note{margin:-4px 0 8px 10px}.field{border-left:3px solid #0000;padding:6px 0 8px 10px}.field.changed{border-left-color:var(--warn)}.field>label{margin-bottom:4px;font-size:.85rem;font-weight:600;display:block}.field input:not([type=range]){border:1px solid var(--line);background:var(--panel);border-radius:6px;min-width:0;padding:6px 8px}.field input[readonly]{background:var(--bg);color:var(--muted)}.field>input{width:min(100%,420px)}.field input[type=number]{width:100px}.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline label{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.unit{color:var(--muted);font-size:.85rem}.grow{flex:1;font-size:.875rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 20px;max-width:640px;display:grid}.hint{color:var(--muted);margin:4px 0 0;font-size:.8rem}.value-line{margin:0 0 8px;font-size:.875rem}.size-input{flex-direction:column;gap:6px;display:flex}.size-input .inline>input{width:min(100%,320px)}.toggle{border:1px solid var(--line);border-radius:6px;align-self:flex-start;display:inline-flex;overflow:hidden}.toggle button{background:var(--panel);cursor:pointer;border:0;padding:4px 10px;font-size:.8rem}.toggle button.on{background:var(--ink);color:var(--panel)}table.mini{border-collapse:collapse;width:100%;max-width:760px;font-size:.85rem}table.mini th,table.mini td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:5px 8px 5px 0}table.mini th{color:var(--muted);font-weight:600}table.mini td input{width:100%}.changes .before{color:var(--muted);word-break:break-word;text-decoration:line-through}.changes .after{word-break:break-word;font-weight:600}.json-editor textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;min-height:560px;color:var(--ink);resize:vertical;padding:12px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.json-editor .row{align-items:center;gap:12px;margin-top:8px;display:flex}.status-line{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 8px;font-weight:600;display:flex}.status-line.ok{color:var(--accent)}.status-line.bad{color:var(--error)}.issues{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.issue{border-radius:6px;padding:6px 8px;font-size:.8rem}.issue.error{background:var(--error-bg);color:var(--error)}.issue.warning{background:var(--warn-bg);color:var(--warn)}.preview{flex-direction:column;gap:14px;display:flex}.preview-stage{border-radius:var(--radius);background:radial-gradient(ellipse at 50% 40%, #fbf9f5, var(--bg) 70%);height:340px;position:relative;overflow:hidden}.preview-controls{flex-direction:column;gap:14px;display:flex}.preview-store select,.store-form select{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:5px 8px}.preview .price{padding-top:12px}@media (width<=1100px){.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-side{position:static}}@media (width<=640px){.page{padding:16px}.topbar{flex-wrap:wrap;gap:12px;padding:12px 16px}.topbar nav{scrollbar-width:none;white-space:nowrap;flex:1 0 100%;order:3;min-width:0;padding-bottom:2px;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.who{justify-content:space-between;width:100%}table.list th,table.list td{padding:8px}}.button-link{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);padding:8px 14px;text-decoration:none}.store-form{flex-direction:column;gap:14px;max-width:760px;display:flex}.grid-form{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 20px;display:grid}.grid-form label{flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.grid-form input{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:7px 9px;font-weight:400}.grid-form .inline input{width:110px}.grid-form .hint{font-weight:400}.check-row{align-items:center;gap:8px;font-size:.9rem;display:flex}.store-form fieldset{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.store-form legend{padding:0 4px;font-size:.85rem;font-weight:600}.store-form .row{align-items:center;gap:12px;display:flex}table.rates{border-collapse:collapse;width:100%}table.rates td{vertical-align:middle;border-bottom:1px solid #eee;padding:5px 6px}table.rates .rate-name{font-size:13px}table.rates .rate-note{color:#8a8a8a;font-size:11px;display:block}table.rates .rate-input{white-space:nowrap;width:1%}table.rates .rate-input input{text-align:right;width:90px;margin-left:4px}table.rates .rate-per{color:#6a6a6a;white-space:nowrap;width:1%;font-size:12px}table.rates tr.changed td{background:#fff8e1}.checklist{flex-wrap:wrap;gap:6px;display:flex}.check-chip{cursor:pointer;background:var(--kw-card);border:1px solid #ddd;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:12px;display:inline-flex}.check-chip.on{background:#eef4ff;border-color:#266de8}.check-chip input{margin:0}.chip-swatch{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.pair-swatch{border-radius:50%;width:22px;height:22px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001f}.table-wrap{overflow-x:auto}.table-wrap table.mini{width:max-content;min-width:100%}.table-wrap table.mini input:not([type=checkbox]){min-width:90px}.table-wrap table.mini td:first-child input,.table-wrap table.mini td:nth-child(2) input{min-width:130px}.table-wrap table.mini select{min-width:150px}table.list{border-collapse:collapse;background:var(--kw-card);border-radius:10px;width:100%;overflow:hidden}table.list th,table.list td{text-align:left;border-bottom:1px solid #eee;padding:10px 12px;font-size:13px}table.list tr.clickable{cursor:pointer}table.list tr.clickable:hover td{background:#f7f9ff}.num{text-align:right;font-variant-numeric:tabular-nums}.status{text-transform:capitalize;color:#555;vertical-align:middle;background:#eee;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.status.pending{color:#8a6200;background:#fff4d6}.status.confirmed{color:#1d4fb3;background:#e6efff}.status.in_production{color:#5b2bb3;background:#efe6ff}.status.shipped{color:#0d6b58;background:#e3f6f2}.status.delivered{color:#2b7a2b;background:#e5f5e5}.status.cancelled{color:#a3352b;background:#fde8e6}.status.applied{color:#8a6200;background:#fff4d6}.status.approved{color:#2b7a2b;background:#e5f5e5}.status.paused{color:#555;background:#eee}.status.rejected{color:#a3352b;background:#fde8e6}.status.trade{color:#2f5d50;text-transform:none;background:#e3efe9;margin-left:6px}.order-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.order-head h1{margin:4px 0}.order-actions,.item-actions{flex-wrap:wrap;gap:8px;display:flex}.order-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.card{background:var(--kw-card);border-radius:12px;padding:16px 18px;box-shadow:0 0 0 1px #0000000d}.card h2{margin:0 0 8px;font-size:15px}.card h3{margin:16px 0 6px;font-size:13px}table.totals{width:100%}table.totals td{padding:4px 0}table.totals tr.sum td,table.cost tr.sum td{border-top:1px solid #ddd;font-weight:700}.order-item{margin-bottom:18px}.item-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.item-body{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:18px;margin-top:10px;display:grid}.item-viewer{background:#f4f1ec;border-radius:10px;height:460px;position:relative;overflow:hidden}.item-viewer .viewer{position:absolute;inset:0}.boq h3:first-child{margin-top:0}.boq table.mini,table.cost{width:100%}.boq table.mini td,table.cost td,table.cut-list td{border-bottom:1px solid #f0f0f0;padding:4px 6px;font-size:12px}@media print{header.top,nav,.order-actions,.item-actions{display:none!important}.item-body{grid-template-columns:1fr}.item-viewer{height:360px}.card{box-shadow:none;break-inside:avoid;border:1px solid #ddd}}@media (width<=900px){.order-grid,.item-body{grid-template-columns:1fr}}.item-filter{color:#666;align-items:center;gap:6px;font-size:12px;display:inline-flex}.station-tabs{flex-wrap:wrap;gap:6px;margin:4px 0 14px;display:flex}.station-tabs button{background:var(--kw-card);cursor:pointer;text-align:left;border:1px solid #e3ded5;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;min-width:112px;padding:8px 12px;font-size:12.5px;display:flex}.station-tabs button.active{border-color:var(--accent,#2f5d50);box-shadow:0 0 0 1px var(--accent,#2f5d50)}.station-tabs small{color:#666;background:#f1efe9;border-radius:4px;width:100%;height:14px;padding-left:4px;font-size:10px;line-height:14px;display:block;position:relative;overflow:hidden}.station-tabs small i{z-index:0;background:#cfe6d8;position:absolute;inset:0 auto 0 0}.station-tabs small{isolation:isolate}.station-tabs small i{z-index:-1}.job-group+.job-group{margin-top:18px}.job-group h2{align-items:baseline;gap:10px;display:flex}.job-group h2 .link{margin-left:auto;font-size:12px}table.job{width:100%}table.job td,table.job th{vertical-align:top;text-align:left;border-bottom:1px solid #f0f0f0;padding:5px 6px;font-size:12.5px}table.job th.num,table.job td.num{text-align:right}table.job tr.done td{color:#8a9a90}table.job tr.done td strong{text-decoration:line-through}table.job tr.qc td{background:#fbfaf6}.step-no{color:#888;width:28px;font-weight:700}.label-link{font-family:ui-monospace,monospace;font-size:12px}.label-sheet{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;display:grid}.part-label{box-sizing:border-box;background:#fff;border:1px dashed #ccc;border-radius:4px;align-items:center;gap:10px;width:100mm;height:50mm;padding:3mm;display:flex;overflow:hidden}.part-label img{flex:none;width:30mm;height:30mm}.label-text{flex-direction:column;gap:1mm;min-width:0;font-size:9pt;line-height:1.15;display:flex}.label-text strong{font-family:ui-monospace,monospace;font-size:11pt}.ticks{flex-wrap:wrap;gap:2px;display:flex}.ticks i{border:1px solid #555;padding:0 2px;font-size:7pt;font-style:normal}.drawing-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.drawing-card h3{margin:0 0 6px;font-size:13px}ul.ops{margin:8px 0 0;padding-left:16px;font-size:12px}ul.ops li{margin-bottom:4px}.pos{font-family:ui-monospace,monospace;font-size:10.5px}.op-station{text-transform:uppercase;letter-spacing:.04em;color:#666;background:#f1efe9;border-radius:4px;margin-right:4px;padding:1px 5px;font-size:10px;display:inline-block}.part-title{margin:6px 0 2px;font-family:ui-monospace,monospace;font-size:26px}.part-sub{margin:0 0 4px;font-size:15px}.station-buttons{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.station-buttons button{flex-direction:column;align-items:center;min-width:120px;padding:10px 14px;font-size:14px;display:flex}.station-buttons small{opacity:.8;font-size:10px}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{margin-bottom:8px;font-weight:700;display:block}.label-sheet{display:block}.part-label{break-inside:avoid;border:1px solid #ddd;margin:0 2mm 2mm 0;display:inline-flex}.drawing-card,.job-group{break-inside:avoid}}@media (width<=700px){.part-page{padding:12px}.station-buttons button{flex:45%}}.station-list{gap:4px;margin:4px 0 0;padding-left:22px;display:grid}.station-list li{align-items:center;gap:10px;display:flex}.station-list li.off{color:#999;margin-left:-18px;list-style:none}.station-list .move{gap:2px;display:inline-flex}table.joints{width:100%}table.joints th{vertical-align:bottom;font-size:12px}table.joints th .rate-note{font-weight:400;display:block}table.joints td{border-bottom:1px solid #f0f0f0;padding:5px 6px;font-size:13px}table.joints td.center{text-align:center}table.joints tr.changed td:first-child{box-shadow:inset 3px 0 0 var(--accent,#2f5d50)}.pay-form{flex-direction:column;gap:8px;display:flex}.pay-form .inline{flex-wrap:wrap;gap:6px;display:flex}.pay-form input{flex:1;min-width:160px}.pay-form input.amount{flex:0 0 110px;min-width:0}.mono{font-family:ui-monospace,monospace}.list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.chips{gap:6px;display:flex}.chips button{background:var(--kw-card);cursor:pointer;border:1px solid #ddd;border-radius:999px;padding:4px 12px;font-size:12px}.chips button.on{border-color:var(--accent,#2f5d50);color:var(--accent,#2f5d50);font-weight:600}.store-form fieldset>label:not(.check-row){flex-direction:column;align-items:stretch;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.store-form fieldset textarea{box-sizing:border-box;width:100%;font:inherit;border:1px solid #ddd;border-radius:8px;padding:8px 10px;font-size:13px}.store-form fieldset select{max-width:100%}.variant-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.variant-grid label{flex-direction:column;gap:4px;font-size:12px;display:flex}.status.active{color:#2b7a2b;background:#e5f5e5}.status.draft{color:#1d4fb3;background:#e6efff}.status.archived{color:#777;background:#eee}.catalogue-list{padding:0;overflow:hidden}.catalogue-list table.list{border:0;border-radius:0}.catalogue-list>.check,.catalogue-list>.muted{margin:0;padding:16px}.catalogue-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.catalogue-filters input[type=search]{border:1px solid var(--line);border-radius:6px;flex:1;min-width:180px;padding:6px 10px}.catalogue-filters select,.catalogue select,.catalogue-product select{border:1px solid var(--line);background:var(--panel);font:inherit;border-radius:6px;padding:6px 8px}.tabs-inline{gap:2px;display:flex}.tabs-inline button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 12px}.tabs-inline button.on{background:var(--bg);color:var(--ink);font-weight:600}table.list .pic{width:56px}table.list .pic img,.no-pic{object-fit:cover;border:1px solid var(--line);background:var(--bg);border-radius:6px;width:40px;height:40px;display:block}.add-product{flex-direction:column;gap:8px;display:flex}.add-product label,.piece-form label,label.block{flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.add-product input,.piece-form input,label.block textarea,.collection-form textarea{border:1px solid var(--line);font:inherit;border-radius:6px;padding:7px 9px;font-weight:400}.sticky-bar{z-index:5;background:var(--bg);padding:8px 0;position:sticky;top:0}.sticky-bar.dirty{box-shadow:0 1px 0 var(--warn)}.ok-text{color:var(--accent)}.catalogue-product .editor-grid{grid-template-columns:minmax(0,1fr) 320px}.catalogue-side .card h3,.catalogue-main .card h3{margin-bottom:8px}.grid-form.one{grid-template-columns:1fr}.grid-form textarea,.grid-form select{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;padding:7px 9px;font-weight:400}.hint.inline{font-weight:400;display:inline}.full{width:100%}.check-line,.grid-form label.check-line{flex-direction:row;align-items:center;gap:8px;padding:3px 0;font-size:.9rem;font-weight:400;display:flex}fieldset.collections{border:0;flex-direction:column;margin:0;padding:0;display:flex}fieldset.collections legend{margin-bottom:4px;padding:0;font-size:.85rem;font-weight:600}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.media-grid figure{border:1px solid var(--line);background:var(--bg);border-radius:8px;margin:0;overflow:hidden}.media-grid figure.main{grid-area:span 2/span 2}.media-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.media-grid figcaption{justify-content:center;gap:10px;padding:4px;font-size:.8rem;display:flex}.media-add{aspect-ratio:1;border:1px dashed var(--line);cursor:pointer;color:var(--accent);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;display:flex}.inline-add,.pic-row{align-items:center;gap:8px;margin-top:10px;display:flex}.inline-add input,.pic-row input:not([type=file]),.cell-input{border:1px solid var(--line);font:inherit;border-radius:6px;flex:1;min-width:0;padding:6px 8px}.cell-input.short,.pic-row .short{max-width:90px}.option-names{flex-wrap:wrap;gap:10px;display:flex}.option-name{align-items:center;gap:4px;display:inline-flex}.option-name input{border:1px solid var(--line);border-radius:6px;width:160px;padding:6px 8px}table.variants td{vertical-align:middle;padding:6px 8px}table.variants input:not([type=checkbox]){border:1px solid var(--line);font:inherit;border-radius:6px;padding:5px 7px}.opt-input{width:130px}.sku-input{width:150px}.price-input{text-align:right;width:100px}table.variants .pic{align-items:center;gap:6px;display:flex}.pic-select{width:96px;font-size:.8rem}table.variants .pic{width:150px}.piece-form{grid-template-columns:2fr repeat(auto-fit,minmax(120px,1fr));align-items:end;gap:10px;margin-bottom:12px;display:grid}.reprice{background:var(--bg);border-radius:8px;margin-bottom:12px;padding:12px}.reprice p{margin:0 0 8px}.reprice .actions{margin-top:10px}.collection-form{flex-direction:column;gap:10px;display:flex}.collection-products{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.collection-products li{align-items:center;gap:10px;display:flex}.collection-products img{object-fit:cover;border-radius:4px}.categories-head{margin-top:36px}.add-category{max-width:560px}@media (width<=1100px){.catalogue-product .editor-grid{grid-template-columns:1fr}}.order-lines .section-head{margin-bottom:8px}.order-table td{vertical-align:top}.order-table .room-row td{background:var(--bg);padding:6px 12px;font-size:.85rem;font-weight:600}.order-table tr.unpriced td{background:var(--warn-bg)}.line-name{align-items:flex-start;gap:8px;display:flex}.line-name img{object-fit:cover;border-radius:4px;flex:none}.order-table input,.add-line input,.add-line select,.discount-edit select{border:1px solid var(--line);font:inherit;border-radius:6px;padding:4px 6px;font-size:.85rem}.room-input{width:160px;margin-top:4px;font-size:.8rem!important}.qty-input,.disc-input{text-align:right;width:64px}.why-input{width:120px}.why-input.wide{width:200px}.short-input{width:110px}.order-table .price-input{text-align:right;width:100px}.discount-edit{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.add-line{background:var(--bg);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.add-line.inline,.add-line .inline{flex-flow:wrap;align-items:center}.add-line>input{max-width:420px}.found{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.order-totals{max-width:560px;margin:12px 0 0 auto}.order-totals td{padding:4px 8px}.order-billing h2{margin-bottom:8px}.order-billing .docs-head{margin-top:18px}.payments,.invoices{flex-direction:column;gap:8px;margin:8px 0;padding:0;font-size:.9rem;list-style:none;display:flex}.invoices li{justify-content:space-between;gap:10px;display:flex}.invoices li.cancelled{opacity:.6}.order-history ol{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex;overflow:auto}.made-head{margin:24px 0 12px}.team-form{align-items:end;max-width:900px;margin-top:20px}.team-form h3{grid-column:1/-1;margin:0}.lang-input{border:1px solid var(--line);width:80px;font:inherit;border-radius:6px;margin-left:8px;padding:4px 6px;font-size:.85rem}.translations .tabs-inline{align-items:center}.bulk-prices{background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,160px)) 1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.bulk-prices label{flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;display:flex}.bulk-prices input{border:1px solid var(--line);font:inherit;border-radius:6px;padding:6px 8px;font-weight:400}.bulk-prices .hint{font-weight:400}table.list tr.dim td{opacity:.6}.status.sent{color:#1d4fb3;background:#e6efff}.status.accepted{color:#2b7a2b;background:#e5f5e5}.status.declined,.status.expired{color:#a3352b;background:#fde8e6}.status.superseded{color:#777;background:#eee}.quotes-head{padding-bottom:0}.big-tabs button{padding:6px 14px;font-size:1.2rem}.comments .thread{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.comments .thread li{background:var(--bg);border-radius:8px;max-width:760px;padding:8px 12px}.comments .thread li.customer{background:#eef4ff}.comments .thread li.internal{background:var(--warn-bg)}.comments .thread p{white-space:pre-wrap;margin:4px 0 0}.comments .meta{color:var(--muted);font-size:.8rem}.comment-form{flex-direction:column;gap:8px;max-width:760px;display:flex}.comment-form textarea{font:inherit;border:1px solid var(--line);border-radius:6px;padding:8px}.invoices a.current{font-weight:700}.grow{flex:1}.testing-form{grid-template-columns:1fr 1fr 160px auto;align-items:end;margin:16px 0}.testing-made pre{white-space:pre-wrap;font:inherit;background:var(--bg);border-radius:var(--radius);padding:12px;font-size:13px}.testing-send{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.testing progress{vertical-align:middle;width:120px}.testing-cell{background:var(--info-bg);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.testing-cell.pass{color:#2b7a2b;background:#e5f5e5}.testing-cell.fail{background:var(--error-bg);color:var(--error)}.testing-cell.blocked{background:var(--warn-bg);color:var(--warn)}.testing-problems{gap:10px;padding:0;list-style:none;display:grid}.testing-problems p{margin:4px 0}.testing-note{white-space:pre-wrap}.testing-shot{border-radius:var(--radius);border:1px solid var(--line);max-width:320px;max-height:200px}@media (width<=760px){.testing-form{grid-template-columns:1fr}}.look-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;margin:12px 0;display:grid}.look-controls{flex-direction:column;gap:12px;display:flex}.look-colour{align-items:center;gap:12px;display:flex}.look-colour input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;width:44px;height:44px;padding:2px}.look-preview{border-radius:var(--ui-radius-lg);background:var(--ui-bg);color:var(--ui-ink);font-family:var(--ui-font-body);border:1px solid var(--line);flex-direction:column;gap:14px;padding:24px;display:flex}@media (width<=900px){.look-editor{grid-template-columns:1fr}}.testing-as{margin:16px 0}.testing-as h2{margin-top:0}.testing-as input[type=email]{flex:280px}.testing-link{border-radius:var(--radius);background:var(--bg);margin-top:12px;padding:12px}.testing-link code{word-break:break-all}.store-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:20px;display:grid}.store-tabs{flex-direction:column;gap:4px;display:flex;position:sticky;top:12px}.store-tabs button{border-radius:var(--radius);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.store-tabs button span{color:var(--muted);font-size:12px}.store-tabs button:hover{background:var(--panel)}.store-tabs button.on{background:var(--panel);box-shadow:inset 3px 0 0 var(--accent), 0 0 0 1px var(--line)}.store-panel{min-width:0;padding-bottom:0}.store-tab>h2{margin:0 0 12px;font-size:1.15rem}.store-tab fieldset{margin-top:16px}.store-save{z-index:4;border-top:1px solid var(--line);background:var(--panel);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin:20px -18px 0;padding:14px 18px;display:flex;position:sticky;bottom:0}@media (width<=760px){.store-layout{grid-template-columns:1fr;gap:12px}.store-tabs{z-index:5;background:var(--bg);scrollbar-width:none;flex-direction:row;margin:0 -16px;padding:8px 16px;top:0;overflow-x:auto}.store-tabs::-webkit-scrollbar{display:none}.store-tabs button{box-shadow:0 0 0 1px var(--line);border-radius:999px;flex:none;padding:8px 14px}.store-tabs button span{display:none}.store-tabs button.on{background:var(--ink);color:var(--panel);box-shadow:none}.store-save{margin:16px -18px 0;padding:12px 18px}.store-save .primary{flex:1}}.store-form.store-layout{gap:20px;max-width:1180px;display:grid}.store-tab{flex-direction:column;gap:14px;display:flex}.store-tab>label:not(.check-row){flex-direction:column;gap:4px;display:flex}.store-tab textarea{box-sizing:border-box;width:100%;font:inherit}.team-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;margin:12px 0 20px;display:grid}.team-member{flex-direction:column;gap:10px;margin:0;display:flex}.team-member.off{opacity:.65}.team-member header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.team-roles{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-roles li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.team-roles li>span:first-child{flex:1;min-width:120px}.team-add-store{flex-wrap:wrap;gap:6px;display:flex}.team-member footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding-top:8px;display:flex}.offering-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin-top:16px;display:grid}.offering-card{flex-direction:column;gap:6px;margin:0;display:flex}.offering-card img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.offering-card h3{margin:0}.design-products .two-col,.page .two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=900px){.page .two-col{grid-template-columns:1fr}}.chips-row{flex-wrap:wrap;gap:6px 14px;display:flex}.plain{margin:6px 0;padding:0;list-style:none}.notes{gap:8px;padding:0;list-style:none;display:grid}.notes li p{margin:2px 0}.notes li.unread{box-shadow:inset 3px 0 0 var(--accent), 0 0 0 1px var(--line)}.warn-text{color:var(--warn);font-weight:600}.topbar .bell{font-size:13px}.topbar .bell span{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;display:inline-block}@media (width<=640px){table.list.stack,table.list.stack tbody,table.list.stack tr,table.list.stack td{width:100%;display:block}table.list.stack{background:0 0;border:0}table.list.stack thead{display:none}table.list.stack tr{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;padding:8px 0}table.list.stack td{text-align:right;border:0;padding:3px 12px;line-height:1.45}table.list.stack td:before{content:attr(data-label);float:left;color:var(--muted);margin-right:12px;font-size:.8rem;font-weight:600}table.list.stack td:first-child{font-weight:600}}.deliver-by{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deliver-by input{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:4px 6px}.pay-row{justify-content:flex-end;gap:6px;display:flex}.pay-row input{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:170px;padding:5px 8px}.preset-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.preset-filters input,.preset-filters select{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:6px 8px}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.preset-grid li{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.preset-grid li.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.preset-grid label{cursor:pointer;grid-template-columns:auto 1fr;gap:2px 8px;padding:10px 12px;display:grid}.preset-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;grid-column:1/-1;width:100%}.preset-grid .muted{grid-column:2}.own-head{margin:20px 0 8px}.own-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.own-form input{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex:200px;padding:6px 8px}.offer .offer-sizes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 24px;margin:4px 0 16px;display:grid}.offer .offer-size{flex-direction:column;gap:6px;display:flex}.offer .offer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.offer .range{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.offer .range input{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:90px;padding:6px 8px}.offer .offer-group{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.offer .offer-head,.offer .finish-head{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.offer .finish-group{margin-bottom:12px}.offer .swatches{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.offer .swatch-check{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.offer .swatch-check.on{border-color:var(--accent)}.offer .swatch-check:not(.on){opacity:.55}.offer .swatch-check input{margin:0}.offer .swatch{border:1px solid #0000001f;border-radius:50%;flex:none;width:22px;height:22px}.offer .chip-checks{flex-wrap:wrap;gap:6px;display:flex}.offer .chip-checks label{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;display:inline-flex}.offer .chip-checks label.on{border-color:var(--accent)}.offer .chip-checks input{margin:0}.offer summary{cursor:pointer;list-style:none}.offer summary::-webkit-details-marker{display:none}.offer summary h2:before{content:"▸ ";color:var(--muted)}.offer details[open] summary h2:before{content:"▾ "}.product-card{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.product-card img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%}.product-form{border-top:1px solid var(--line);flex-direction:column;gap:14px;margin-top:14px;padding-top:14px;display:flex}.product-form h3{margin:0}.product-form>label input{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:min(420px,100%);margin-top:4px;padding:7px 9px;display:block}.start-from .chip-checks{margin-top:6px}.start-from input.grow{border:1px solid var(--line);border-radius:6px;width:min(520px,100%);margin-top:6px;padding:7px 9px;display:block}.product-form .offer-sizes{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 24px;display:grid}.product-form .offer-size,.product-form .offer-group{flex-direction:column;gap:6px;display:flex}.product-form .offer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.product-form .range{align-items:center;gap:6px;display:flex}.product-form .range input{border:1px solid var(--line);border-radius:6px;width:90px;padding:6px 8px}.product-form .swatches,.product-form .chip-checks{flex-wrap:wrap;gap:6px;display:flex}.product-form .swatch-check{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.product-form .swatch-check.on,.product-form .chip-checks label.on{border-color:var(--accent)}.product-form .swatch-check:not(.on){opacity:.55}.product-form .swatch{border:1px solid #0000001f;border-radius:50%;width:20px;height:20px}.product-form .chip-checks label{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;display:inline-flex}.ready{margin-bottom:16px}.ready .preset-grid{margin-top:6px}.add-product .chip-checks{flex-wrap:wrap;gap:6px;display:flex}.add-product .chip-checks label{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.add-product .chip-checks label.on{border-color:var(--accent)}.look-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.look-grid li{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.look-grid li.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.look-grid label{cursor:pointer;flex-direction:column;gap:4px;padding:6px;display:flex}.look-grid input{opacity:0;position:absolute}.look-grid img,.look-blank{aspect-ratio:1;object-fit:cover;background:var(--bg);width:100%;color:var(--muted);border-radius:6px;place-items:center;font-size:.8rem;display:grid}.variants tr.has-piece td{border-bottom:0}.variants tr.piece-row td{padding-top:0;font-size:.8rem}.on-stores{flex-wrap:wrap;gap:4px 16px;margin:-4px 0 8px;display:flex}.variants tr.piece-row .render-ask{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.variants tr.piece-row .render-ask input{min-width:240px}
