@font-face{font-family:Inter;src:url(/fonts/inter-latin-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#eef1fa;--color-surface:#f6f8fd;--color-text:#0d1742;--color-accent:#0030ff;--color-divider:#0d174224;--color-accent-100:#f0f3ff;--color-accent-200:#e5eaff;--color-accent-300:#c9d3ff;--color-accent-400:#99acff;--color-accent-500:#4d6bff;--color-accent-600:#0026cc;--color-accent-700:#0020b3;--color-accent-800:#001a8f;--color-accent-900:#0a1033;--color-neutral-100:#f5f6fa;--color-neutral-200:#e7e9f2;--color-neutral-300:#d3d8e6;--color-neutral-400:#b4bbd0;--color-neutral-500:#959db5;--color-neutral-600:#767e98;--color-neutral-700:#5b6280;--color-neutral-800:#424862;--color-neutral-900:#2a2f45;--color-ink-soft:color-mix(in srgb, var(--color-text) 70%, transparent);--color-ink-marker:color-mix(in srgb, var(--color-text) 55%, transparent);--bg:var(--color-bg);--panel:#fff;--panel-alt:#fff;--panel-sunken:color-mix(in srgb, var(--color-text) 4%, transparent);--panel-inset:var(--color-accent-100);--border:var(--color-divider);--border-strong:color-mix(in srgb, var(--color-text) 32%, transparent);--divider:var(--color-divider);--rule:var(--color-divider);--rule-soft:color-mix(in srgb, var(--color-text) 22%, transparent);--text:var(--color-text);--text-soft:var(--color-ink-soft);--text-icon:var(--color-ink-marker);--text-on-dark:var(--color-bg);--text-on-dark-soft:color-mix(in srgb, var(--color-bg) 78%, transparent);--border-on-dark:color-mix(in srgb, var(--color-bg) 32%, transparent);--accent:var(--color-accent);--accent-dark:var(--color-accent-700);--accent-tint:var(--color-accent-100);--accent-tint-strong:var(--color-accent-200);--accent-border:var(--color-accent);--accent-selection:color-mix(in srgb, var(--color-accent) 30%, transparent);--ink:var(--color-accent);--ink-hover:var(--color-accent-600);--ink-2:var(--color-accent-700);--ok:#14783a;--ok-bg:#eaf3ec;--ok-tint:#f4faf6;--ok-border:#d6e6da;--ok-dash:#9ec9ac;--warn:#8a4b06;--warn-strong:#b45309;--warn-deep:#7c4a0c;--warn-bg:#fdf1e2;--warn-strip:#fffaf3;--warn-border:#e3c9a3;--warn-hover:#fdf7ef;--danger:#c0392b;--danger-bg:#fdecea;--danger-border:#f0c4bf;--status-info:var(--accent);--status-info-bg:var(--accent-tint);--status-done:var(--ok);--status-done-bg:var(--ok-bg);--status-attn:var(--warn);--status-attn-bg:var(--warn-bg);--status-error:var(--danger);--status-error-bg:var(--danger-bg);--status-idle:var(--text-soft);--status-idle-bg:var(--panel-inset);--bar-bed:var(--color-neutral-200);--bar-trim:var(--color-neutral-300);--hatch:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-text) 22%, transparent) 0 1px, transparent 1px 5px);--hatch-flat:color-mix(in srgb, var(--color-text) 10%, transparent);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:14px;--r-3xl:18px;--r-btn:8px;--r-pill:999px;--sh-hairline:0 0 0 1px var(--color-divider);--sh-card:0 1px 2px #0d17420f;--sh-raised:0 1px 2px #0d17420f, 0 12px 30px #0d174214;--sh-float:0 8px 22px #0d174224;--sh-modal:0 18px 44px #0d17423d;--sh-accent:0 10px 24px #0030ff47;--s-1:4px;--s-2:6px;--s-3:8px;--s-4:10px;--s-5:12px;--s-6:14px;--s-7:16px;--s-8:18px;--s-9:20px;--s-10:22px;--s-12:28px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:var(--font);--font-mono:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-micro:10.5px;--fs-tiny:11.5px;--fs-xs:12px;--fs-sm:12.5px;--fs-base:13px;--fs-md:13.5px;--fs-lg:14px;--fs-xl:14.5px;--fs-2xl:15px;--fs-h1:24px;--fs-stat:27px;--lh-tight:1.2;--lh-normal:1.45;--lh-loose:1.55;--track-caps:.08em;--track-caps-wide:.09em;--track-tight:-.01em;--track-tighter:-.025em;--sidebar-w:236px;--topbar-h:48px;font-family:var(--font);font-size:var(--fs-lg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}h1,h2,h3,h4{letter-spacing:var(--track-tight);margin:0;font-weight:600}input,select,button,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline}::selection{background:var(--accent-selection);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.eyebrow{font-size:var(--fs-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-soft);font-weight:600}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-variant-numeric:tabular-nums}.btn{justify-content:center;align-items:center;gap:var(--s-2);border:1px solid var(--border);border-radius:var(--r-btn);background:var(--panel);min-height:40px;color:var(--text);font-family:inherit;font-size:var(--fs-md);white-space:nowrap;cursor:pointer;padding:0 16px;line-height:1;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--panel-alt);color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:36px;font-size:var(--fs-sm);padding:0 14px}.btn-xs{min-height:28px;font-size:var(--fs-xs);padding:0 9px}.btn-lg{border-radius:var(--r-btn);min-height:44px;padding:0 20px}.btn-strong{font-weight:600}.btn-ink{background:var(--ink);color:var(--text-on-dark);box-shadow:var(--sh-raised);border:none;font-weight:600}.btn-ink:hover:not(:disabled){background:var(--ink-hover);color:var(--text-on-dark);border:none}.btn-accent{background:var(--accent);color:var(--text-on-dark);box-shadow:var(--sh-accent);border:none;font-weight:600}.btn-accent:hover:not(:disabled){background:var(--accent-dark);color:var(--text-on-dark);border:none}.btn-ok{border-color:var(--ok-border);background:var(--ok-tint);color:var(--ok);font-weight:600}.btn-ok:hover:not(:disabled){border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok)}.btn-warn{border-color:var(--warn-border);background:var(--panel);color:var(--warn-deep);font-weight:600}.btn-warn:hover:not(:disabled){border-color:var(--warn-border);background:var(--warn-hover);color:var(--warn-deep)}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.btn-ghost{color:var(--text-soft);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--panel-sunken);color:var(--text);border-color:#0000}.btn-square{width:30px;min-height:30px;color:var(--text-soft);padding:0}.btn-square-lg{width:34px;min-height:34px;padding:0}.kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-micro);color:var(--text-soft);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--panel-alt);padding:1px 4px;line-height:1.3}.btn-ink .kbd,.btn-accent .kbd{color:var(--text-on-dark-soft);border-color:var(--border-on-dark);background:0 0}.card{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--sh-card);overflow:hidden}.card-head{justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-6);display:flex}.card-head-titles{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.card-title{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--color-text);margin:0;font-size:17px;font-weight:700}.card-meta{font-family:var(--font-body);color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-size:11px}.card-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.dtable{border-collapse:collapse;width:100%}.dtable th{text-align:left;font-size:var(--fs-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-soft);background:var(--panel-alt);padding:7px var(--s-4);border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600}.dtable th:first-child,.dtable td:first-child{padding-left:var(--s-6)}.dtable th:last-child,.dtable td:last-child{padding-right:var(--s-6)}.dtable td{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--divider);background:var(--panel);color:var(--text)}.dtable tbody tr:nth-child(2n) td{background:var(--panel-alt)}.dtable tbody tr:hover td{background:var(--panel-sunken)}.dtable tbody tr:last-child td{border-bottom:none}.dtable .num{font-size:var(--fs-md)}.chip{align-items:center;gap:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);color:var(--text-soft);font-size:var(--fs-sm);padding:3px 9px;display:inline-flex}.chip strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}.pill{align-items:center;gap:var(--s-1);padding:2px var(--s-3);border-radius:var(--r-pill);font-size:var(--fs-tiny);background:var(--panel-inset);color:var(--text-soft);font-weight:600;display:inline-flex}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-danger{background:var(--danger-bg);color:var(--danger)}.pill-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.dot-lg{width:6px;height:6px}.field{justify-content:space-between;align-items:center;gap:var(--s-3);min-width:0;padding:7px var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);color:var(--text);cursor:text;display:flex}.field:focus-within{border-color:var(--accent)}.field-label{font-size:var(--fs-sm);color:var(--text-soft);white-space:nowrap}.field-value{align-items:baseline;gap:3px;display:inline-flex}.field-input{min-width:0;color:var(--text);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-base);appearance:textfield;background:0 0;border:none;outline:none;font-weight:500}.field-input::-webkit-outer-spin-button{appearance:none;margin:0}.field-input::-webkit-inner-spin-button{appearance:none;margin:0}.field-unit{font-size:var(--fs-tiny);color:var(--text-soft)}.w-2ch{width:24px}.w-3ch{width:30px}.w-4ch{width:38px}.inp{width:100%;min-width:0;padding:5px var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-md)}.inp:hover{border-color:var(--border-strong)}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.inp:disabled{background:var(--panel-alt);color:var(--text-soft)}.inp-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-variant-numeric:tabular-nums}.toggle{align-items:center;gap:var(--s-4);padding:9px var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);color:var(--text);cursor:pointer;display:inline-flex}.toggle:hover{border-color:var(--border-strong)}.toggle input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle-track{border-radius:var(--r-pill);background:var(--border-strong);flex:none;width:30px;height:18px;transition:background .12s;position:relative}.toggle-knob{border-radius:var(--r-pill);background:var(--panel);width:14px;height:14px;box-shadow:var(--sh-raised);transition:left .12s;position:absolute;top:2px;left:2px}.toggle input:checked~.toggle-track{background:var(--accent)}.toggle input:checked~.toggle-track .toggle-knob{box-shadow:none;left:14px}.toggle input:focus-visible~.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.toggle-label{font-size:var(--fs-base);white-space:nowrap;font-weight:500}.segmented{border:1px solid var(--color-divider);border-radius:var(--r-btn);background:var(--panel);color:var(--color-text);gap:2px;padding:2px;display:inline-flex}.segmented button{color:var(--color-ink-soft);border-radius:var(--r-sm);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:12px;line-height:1.4}.segmented button:hover{background:var(--color-accent-100);color:var(--color-text)}.segmented button.on{background:var(--color-accent);color:#fff;font-weight:600}.meter{border-radius:var(--r-pill);background:var(--panel-inset);height:4px;display:block;overflow:hidden}.meter-fill{border-radius:var(--r-pill);background:var(--accent);height:100%;display:block}.meter-fill-warn{background:var(--warn-strong)}.strip{padding:11px var(--s-6);font-size:12.8px;line-height:var(--lh-normal);align-items:center;gap:11px;display:flex}.strip-text{flex:1;min-width:0}.strip-text strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.strip-warn{background:var(--warn-strip);color:var(--warn-deep);border-top:1px solid var(--border)}.strip-lead{border-top:1px solid var(--warn-border,var(--border));border-bottom:1px solid var(--warn-border,var(--border));padding-top:12px;padding-bottom:12px}.strip-danger{background:var(--danger-bg);color:var(--danger);border-top:1px solid var(--danger-border)}.strip-ok{background:var(--ok-tint);color:var(--ok);border-top:1px solid var(--ok-border)}.pm-backdrop{z-index:2000;padding:var(--s-6);background:#0f161e6b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pm-modal{background:var(--panel);border-radius:var(--r-2xl);padding:var(--s-6) var(--s-6) var(--s-5);gap:var(--s-4);flex-direction:column;width:min(440px,100%);display:flex;box-shadow:0 24px 60px #00000047}.pm-title{font-size:var(--fs-h3,18px);color:var(--text);margin:0;font-weight:600}.pm-hint{color:var(--text-soft);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0}.pm-input{width:100%;font-size:15px}.pm-actions{justify-content:flex-end;gap:var(--s-3);display:flex}.hidden{display:none}.vis-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.spacer{flex:1}.vsep{background:var(--border);flex:none;width:1px;height:20px}.blueprint,.card{border:1px solid var(--color-divider);border-radius:var(--r-2xl);background:var(--panel);color:var(--color-text);box-shadow:var(--sh-card);position:relative;overflow:visible}.blueprint:before,.card:before{content:"";pointer-events:none;z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11'><path d='M5.5 0v11M0 5.5h11' stroke='%231d1f20' stroke-opacity='.55' stroke-width='1'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11'><path d='M5.5 0v11M0 5.5h11' stroke='%231d1f20' stroke-opacity='.55' stroke-width='1'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11'><path d='M5.5 0v11M0 5.5h11' stroke='%231d1f20' stroke-opacity='.55' stroke-width='1'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='11'><path d='M5.5 0v11M0 5.5h11' stroke='%231d1f20' stroke-opacity='.55' stroke-width='1'/></svg>");background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;background-size:11px 11px;display:none;position:absolute;inset:-6px}.blueprint>.corner,.card>.corner{display:none}.app{--chrome-bg:#0a1033;--chrome-top:radial-gradient(560px 150px at 58% -70px, #0030ff99, #0030ff00 70%), #0a1033;--chrome-ink:#fff;--chrome-muted:#b9c2ef;--chrome-line:#5a64a0;--chrome-tabs:#151d4d;--chrome-hover:#ffffff14;--chrome-rule:#b9c2ef29;--rail-w:88px;grid-template-columns:var(--rail-w) minmax(0, 1fr);background:var(--bg);height:100vh;color:var(--text);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"rail top""rail main";display:grid;overflow:hidden}.app-loading{min-height:100vh;color:var(--text-soft);font-size:var(--fs-2xl);justify-content:center;align-items:center;display:flex}.sb :focus-visible,.tb-editor :focus-visible{outline-color:#fff}.sb{background:var(--chrome-bg);min-height:0;color:var(--chrome-muted);scrollbar-width:none;flex-direction:column;grid-area:rail;align-items:center;gap:2px;padding:12px 6px;display:flex;overflow-y:auto}.sb-logo{border-radius:var(--r-lg);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.sb-logo:hover{background:var(--chrome-hover)}.sb-create{border-radius:var(--r-lg);width:76px;color:var(--chrome-ink);text-align:center;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:5px;padding:6px 2px 12px;font-family:inherit;font-size:11.5px;font-weight:600;line-height:1.2;display:flex}.sb-create-tile{background:var(--color-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 6px 16px #0030ff73}.sb-create:hover .sb-create-tile{filter:brightness(1.15)}.sb-group{border-top:1px solid var(--chrome-rule);flex-direction:column;flex:none;align-items:center;gap:2px;width:100%;padding:8px 0;display:flex}.sb-item{border-radius:var(--r-lg);width:76px;min-height:60px;color:var(--chrome-muted);text-align:center;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:4px 2px;font-family:inherit;font-size:11.5px;font-weight:600;line-height:1.2;text-decoration:none;display:flex;position:relative}.sb-item:hover{color:var(--chrome-ink)}.sb-tile{border-radius:var(--r-md);flex:none;justify-content:center;align-items:center;width:44px;height:34px;display:flex}.sb-item:hover .sb-tile{background:var(--chrome-hover)}.sb-item-on,.sb-item-on:hover{color:var(--chrome-ink)}.sb-item-on .sb-tile,.sb-item-on:hover .sb-tile{background:var(--color-accent);color:#fff}.sb-label{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.sb-item-locked,.sb-item-locked:hover{color:var(--chrome-muted);opacity:.45;cursor:not-allowed}.sb-item-locked:hover .sb-tile{background:0 0}.sb-foot{border-top:1px solid var(--chrome-rule);flex-direction:column;align-items:center;width:100%;margin-top:auto;padding-top:8px;display:flex}.tb{z-index:20;border-bottom:1px solid var(--color-divider);background:var(--panel);min-height:60px;color:var(--color-text);grid-area:top;align-items:center;gap:12px;padding:8px 18px;display:flex;position:relative}.tb-editor{border-bottom-color:var(--chrome-bg);background:var(--chrome-top);min-height:64px;color:var(--chrome-ink)}.tb-atelier{border-radius:var(--r-lg);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:none;align-items:flex-start;padding:4px 26px 4px 8px;font-family:inherit;line-height:1.2;display:flex;position:relative}.tb-atelier:hover{background:var(--panel-sunken);color:var(--color-text)}.tb-atelier-name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:16px;font-weight:700;overflow:hidden}.tb-atelier-plan{color:var(--color-ink-soft);font-size:12px}.tb-editor .tb-atelier,.tb-editor .tb-atelier:hover{color:var(--chrome-ink)}.tb-editor .tb-atelier:hover{background:var(--chrome-hover)}.tb-editor .tb-atelier-plan,.tb-editor .tb-atelier-caret{color:var(--chrome-muted)}.tb-atelier-caret{color:var(--text-soft);opacity:0;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tb-atelier:hover .tb-atelier-caret,.tb-atelier:focus-visible .tb-atelier-caret{opacity:1}.tb-head{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.tb-home .tb-head{flex:auto}.tb-head:before{content:"";background:var(--color-divider);flex:none;width:1px;height:24px}.tb-editor .tb-head:before{background:var(--chrome-rule)}.tb-editor .tb-head .pill{color:#9fe0b4;background:0 0;font-size:13px}.tb-editor .tb-head .pill-danger{color:#ffb4a8}.tb-editor .tb-head .pill:not(.pill-ok):not(.pill-danger){color:var(--chrome-muted)}.tb-tabs{border-radius:var(--r-xl);background:var(--chrome-tabs);flex:none;gap:4px;margin:0 auto;padding:4px;display:flex}.tb-tab{border-radius:var(--r-lg);min-height:38px;color:var(--chrome-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:0 16px;font-family:inherit;font-size:14px;font-weight:600}.tb-tab:hover{color:var(--chrome-ink)}.tb-tab[aria-current=page]{color:var(--color-text);background:#fff;font-weight:700}.tb-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.tb-tabs+.tb-actions{margin-left:0}.tb-select{border:1px solid var(--border);border-radius:var(--r-btn);background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230d1742' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center / 10px 6px;height:36px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);appearance:none;cursor:pointer;padding:0 28px 0 12px;font-weight:600}.tb-select:hover{border-color:var(--border-strong)}.tb-editor .tb-select{border-color:var(--chrome-line);color:var(--chrome-ink);background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.6'/%3E%3C/svg%3E")}.tb-editor .tb-select:hover{border-color:var(--chrome-ink)}.tb-select option{color:#0d1742;background:#fff}.tb-editor .btn,.tb-editor .tb-picker-btn{border-color:var(--chrome-line);color:var(--chrome-ink);background:0 0}.tb-editor .btn:hover:not(:disabled),.tb-editor .tb-picker-btn:hover,.tb-editor .tb-picker-btn[aria-expanded=true]{border-color:var(--chrome-ink);background:var(--chrome-hover);color:var(--chrome-ink)}.tb-editor .tb-picker-icon,.tb-editor .tb-picker-caret{color:var(--chrome-muted)}.tb .btn-square{width:36px;min-height:36px}.tb-credits{border-radius:var(--r-pill);background:var(--color-accent-100);height:34px;color:var(--color-accent-900);white-space:nowrap;cursor:default;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.tb-credits strong{font-size:13.5px;font-weight:700}.tb-credits-cap{opacity:.7;font-weight:500}.tb-credits-low{background:var(--warn-bg);color:var(--warn)}.tb-credits-blocked{background:var(--danger-bg);color:var(--danger)}.tb-editor .tb-credits:not(.tb-credits-low):not(.tb-credits-blocked){color:var(--chrome-ink);background:#ffffff1a}.tb .account-widget{flex:none;align-items:center;display:flex}.sb-account{border-radius:var(--r-pill);max-width:240px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-family:inherit;display:flex}.sb-account:hover{background:var(--panel-sunken);color:var(--text)}.sb-avatar{background:var(--color-accent);color:#fff;width:34px;height:34px;font-family:var(--font-heading);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.sb-account-email{min-width:0;max-width:170px;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.sb-account-more{display:none}.tb-editor .sb-account{padding-right:3px}.tb-editor .sb-account:hover{background:var(--chrome-hover)}.tb-editor .sb-account-email{display:none}.sb-signin-wrap{align-items:center;display:flex}.sb-signin-hint{display:none}.tb-editor .sb-signin,.tb-editor .sb-signin:hover:not(:disabled){color:var(--color-accent);box-shadow:none;background:#fff}.tb-picker{min-width:0;position:relative}.tb-picker-btn{border:1px solid var(--color-divider);border-radius:var(--r-btn);background:var(--panel);color:var(--color-text);font:inherit;font-family:var(--font-heading);cursor:pointer;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 10px;font-size:14px;font-weight:600;display:inline-flex}.tb-picker-btn:hover,.tb-picker-btn[aria-expanded=true]{background:var(--panel-sunken);color:var(--color-text)}.tb-picker-icon{border-radius:var(--r-sm);width:16px;height:16px;color:var(--color-ink-soft);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.tb-picker-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tb-picker-caret{color:var(--text-soft);margin-left:var(--s-1);flex:none;font-size:12px}.tb-picker-menu{min-width:280px;max-width:360px;padding:var(--s-2);left:0;right:auto}.tb-picker-head{padding:var(--s-2) var(--s-3);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text-soft);font-weight:600}.tb-picker-list{flex-direction:column;gap:1px;max-height:320px;display:flex;overflow-y:auto}.tb-picker-item{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);color:var(--text);font:inherit;font-size:var(--fs-sm);border-radius:var(--r-lg);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-weight:500;display:flex}.tb-picker-item:hover{background:var(--panel-sunken)}.tb-picker-item-on{background:var(--accent-tint);color:var(--text)}.tb-picker-item-on:hover{background:var(--accent-tint)}.tb-picker-dot{border-radius:var(--r-pill);background:var(--border-strong);flex:none;width:8px;height:8px}.tb-picker-dot-on{background:var(--accent)}.tb-picker-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tb-picker-item-count{color:var(--text-soft);font-size:var(--fs-tiny);flex:none}.tb-picker-new{color:var(--accent);font-weight:600}.menu-wrap{position:relative}.menu{z-index:30;border:1px solid var(--color-divider);border-radius:var(--r-lg);background:var(--panel);min-width:232px;color:var(--color-text);box-shadow:var(--sh-float);flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu-item{align-items:center;gap:var(--s-3);width:100%;min-height:32px;padding:0 var(--s-4);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.menu-item:hover{background:var(--panel-sunken);color:var(--text)}.menu-item-danger{color:var(--danger)}.menu-item-danger:hover{background:var(--danger-bg);color:var(--danger)}.menu-sep{height:1px;margin:var(--s-1) var(--s-2);background:var(--border)}.main{flex-direction:column;grid-area:main;min-width:0;min-height:0;display:flex}.main-scroll{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.page{padding:var(--s-10) var(--s-9) var(--s-12);gap:var(--s-8);flex-direction:column;flex:1;min-width:0;display:flex}.page-bar{padding-bottom:96px}.sticky-wrap{padding:0 var(--s-9) var(--s-8);pointer-events:none;z-index:20;justify-content:center;margin-top:-76px;display:flex;position:sticky;bottom:0}.sticky-bar{pointer-events:auto;align-items:center;gap:var(--s-6);padding:9px 9px 9px var(--s-7);border:1px solid var(--border);border-radius:var(--r-3xl);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--sh-float);background:#ffffffeb;flex-wrap:wrap;justify-content:center;display:flex}.sticky-status{align-items:center;gap:var(--s-3);font-size:var(--fs-base);color:var(--text-soft);display:inline-flex}.sticky-dot-ok{background:var(--ok);width:7px;height:7px}.sticky-dot-warn{background:var(--warn-strong);width:7px;height:7px}.sticky-total{font-size:var(--fs-base);color:var(--text)}.sticky-chips{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:inline-flex}.ed-layout{--ed-panel-w:clamp(480px, 36vw, 620px);flex:1;align-items:stretch;min-height:0;display:flex}.ed-rail{background:var(--chrome-tabs);width:84px;color:var(--chrome-muted);border-left:1px solid var(--chrome-rule);flex-direction:column;flex:none;align-items:center;gap:6px;padding:14px 4px;animation:.22s ease-out ed-rail-in;display:flex}@keyframes ed-rail-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ed-rail{animation:none}}.ed-rail :focus-visible{outline-color:#fff}.ed-rail-item{border-radius:var(--r-lg);width:72px;min-height:64px;color:var(--chrome-muted);text-align:center;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 0;font-family:inherit;font-size:12px;font-weight:600;display:flex;position:relative}.ed-rail-item:hover{color:var(--chrome-ink)}.ed-rail-tile{border-radius:var(--r-md);justify-content:center;align-items:center;width:44px;height:36px;display:flex}.ed-rail-item:hover .ed-rail-tile{background:var(--chrome-hover)}.ed-rail-item-on,.ed-rail-item-on:hover{color:var(--chrome-ink)}.ed-rail-item-on .ed-rail-tile,.ed-rail-item-on:hover .ed-rail-tile{background:var(--color-accent);color:#fff}.ed-rail-badge{min-width:20px;height:20px;color:var(--color-text);background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0 5px;font-size:11.5px;font-weight:700;display:flex;position:absolute;top:0;right:4px}.ed-panel{z-index:2;width:var(--ed-panel-w);background:var(--panel);border-right:1px solid var(--color-divider);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.ed-host{flex-direction:column;flex:1;min-height:0;display:flex}.ed-panel>.card,.ed-panel>.panel{background:var(--panel);min-height:0;box-shadow:none;border:none;border-radius:0;flex:1;overflow-y:auto}.ed-panel>.card>.card-head{z-index:3;background:var(--panel);row-gap:var(--s-3);flex-wrap:wrap;position:sticky;top:0}.ed-panel>.card>.card-head .card-actions{flex-wrap:nowrap}.ed-canvas>.proj-stepper{margin:var(--s-6) var(--s-8) 0}.ed-panel-collapse{z-index:4;border:1px solid var(--color-divider);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--panel);width:15px;height:64px;color:var(--text-soft);cursor:pointer;border-left:none;padding:0;font-family:inherit;font-size:16px;line-height:1;position:absolute;top:50%;right:-15px;transform:translateY(-50%)}.ed-panel-collapse:hover{background:var(--color-accent-100);color:var(--color-accent)}.ed-canvas{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.ed-canvas>.page{padding:var(--s-8) var(--s-8) var(--s-10)}.ed-canvas .sticky-wrap{padding-inline:var(--s-8)}.ed-panel .pieces-table,.ed-panel .pieces-table thead,.ed-panel .pieces-table tbody{display:block}.ed-panel .pieces-table colgroup{display:none}.ed-panel .pieces-table tr{border-bottom:1px solid var(--border);grid-template-columns:76px minmax(0,1fr) 84px 62px 34px;grid-template-areas:"rep prof len qty act"".cuts cuts cuts cuts";align-items:center;gap:6px;padding:8px 10px 10px 14px;display:grid}.ed-panel .pieces-table thead tr{grid-template-areas:"rep prof len qty act";padding-top:10px;padding-bottom:8px}.ed-panel .pieces-table th,.ed-panel .pieces-table td{border:none;height:auto;padding:0;display:block}.ed-panel .pieces-table tr>:first-child{grid-area:rep}.ed-panel .pieces-table tr>:nth-child(2){grid-area:prof}.ed-panel .pieces-table tr>:nth-child(3){grid-area:len}.ed-panel .pieces-table tr>:nth-child(4){grid-area:qty}.ed-panel .pieces-table tr>:nth-child(5){grid-area:cuts}.ed-panel .pieces-table tr>:nth-child(6){grid-area:act}.ed-panel .pieces-table thead th:nth-child(5){display:none}.ed-panel .pieces-table .cutov-row{padding:0 10px 12px 14px;display:block}.ed-panel .rep-cell{gap:var(--s-3)}.ed-panel .rep-input{width:100%;min-width:0}.ed-panel .profile-cell{flex-wrap:nowrap}.ed-panel .input-profile{flex:auto;width:auto;min-width:0}.ed-panel .ppp-trigger-label{display:none}.ed-panel .td-num .inp-num,.ed-panel .td-num .inp-qty{width:100%}.ed-panel .cuts-cell{display:flex}@media (width<=560px){.ed-panel .pieces-table tr{grid-template-columns:64px minmax(0,1fr) 62px 34px;grid-template-areas:"rep len qty act""prof prof prof prof""cuts cuts cuts cuts"}.ed-panel .pieces-table thead tr{grid-template-areas:"rep len qty act"}.ed-panel .pieces-table thead th:nth-child(2){display:none}}.ed-panel .settings-bar{justify-content:flex-start;align-items:stretch;gap:var(--s-5);padding:var(--s-6);flex-flow:column}.ed-panel .settings-bar>*,.ed-panel .settings-adv{flex:none}.ed-panel .settings-label{letter-spacing:-.015em;text-transform:none;color:var(--text);font-size:17px;font-weight:700}.ed-panel .settings-main,.ed-panel .settings-fields,.ed-panel .settings-adv-body,.ed-panel .field-group{align-items:stretch;gap:var(--s-3);flex-flow:column;display:flex}.ed-panel .settings-adv-body{padding-top:var(--s-4)}.ed-panel .settings-bar .field,.ed-panel .settings-bar .toggle{width:100%;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--s-12);flex-wrap:wrap;display:flex}.page-head-main{flex-direction:column;gap:7px;min-width:0;display:flex}.page-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);margin:0;font-weight:600}.page-chips{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.page-head-actions{align-items:center;gap:var(--s-3);flex:none;display:flex}.chip-input{gap:var(--s-1)}.chip-num{width:34px;min-width:0;color:var(--text);font-size:var(--fs-sm);text-align:right;appearance:textfield;background:0 0;border:none;outline:none;font-weight:500}.chip-num::-webkit-outer-spin-button{appearance:none;margin:0}.chip-num::-webkit-inner-spin-button{appearance:none;margin:0}.chip-select{color:var(--text-soft);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;outline:none;max-width:190px}.chip-x{color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:2px;font-family:inherit;font-size:11px;line-height:1}.chip-x:hover{color:var(--danger)}.chip-dot{background:var(--accent)}.chip-locked{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.error,.notice{padding:var(--s-4) var(--s-5);border-radius:var(--r-2xl);font-size:var(--fs-base);line-height:var(--lh-normal);align-items:center;gap:var(--s-4);margin:0;display:flex}.error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger)}.notice{border:1px solid var(--ok-border);background:var(--ok-tint);color:var(--ok)}.row-added td{background:var(--ok-tint);box-shadow:inset 2px 0 0 var(--ok)}.notice-x{color:inherit;cursor:pointer;font-size:var(--fs-xs);background:0 0;border:none;margin-left:auto;padding:2px 4px;font-family:inherit}.warning{border:1px solid var(--warn-border);background:var(--warn-strip);color:var(--warn-deep);border-radius:var(--r-2xl);padding:var(--s-4) var(--s-5);font-size:var(--fs-base);line-height:var(--lh-normal)}.card-empty{padding:var(--s-6) var(--s-6) var(--s-8);font-size:var(--fs-base);color:var(--text-soft);line-height:var(--lh-normal);border-top:1px solid var(--border);background:var(--panel-alt);margin:0}.card-foot-note{padding:var(--s-4) var(--s-6);border-top:1px solid var(--border);background:var(--panel-alt);color:var(--text-soft);font-size:var(--fs-sm);margin:0}.th-num,.td-num,.td-num .inp-num,.td-num .inp-qty{text-align:center}.td-actions{text-align:right;white-space:nowrap;width:1%}.pieces-table td{vertical-align:middle;height:44px;padding-top:0;padding-bottom:0}.pieces-table{table-layout:fixed}.pieces-table .col-piece-mark{width:128px}.pieces-table .col-piece-profile{width:340px}.pieces-table .col-piece-len{width:108px}.pieces-table .col-piece-qty{width:88px}.pieces-table .col-piece-actions{width:52px}.inp-flush{padding:4px var(--s-2);background:0 0;border-color:#0000}.inp-flush:hover{border-color:var(--border);background:var(--panel)}.inp-flush:focus{border-color:var(--accent);background:var(--panel)}.rep-cell{align-items:center;gap:var(--s-4);display:flex}.rep-swatch{border-radius:var(--r-pill);flex:none;width:3px;height:20px}.rep-input{width:92px;font-size:var(--fs-lg);font-weight:600}.profile-cell{flex-wrap:wrap;align-items:center;gap:4px 7px;min-width:0;display:flex}.profile-cell .profile-picker-btn-labeled{flex:none}.input-profile{width:160px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.profile-picker-btn{min-width:18px;color:var(--muted);padding:0 4px;line-height:1}.profile-picker-btn:hover{color:var(--text)}.profile-picker-btn-labeled{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-dark,var(--text));white-space:nowrap;align-items:center;gap:6px;min-width:0;padding:0 10px;display:inline-flex}.profile-picker-btn-labeled:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint-strong,var(--accent-tint));color:var(--accent-dark,var(--text))}.profile-picker-btn-labeled .ppp-trigger-label{font-size:var(--fs-xs);font-weight:600}.profile-picker-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);width:460px;max-height:60vh;font-size:var(--fs-sm);padding:8px;overflow:auto;box-shadow:0 8px 24px #0000002e}.profile-picker-panel .ppp-head{margin-bottom:8px}.profile-picker-panel .ppp-head-title .ppp-title{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;display:block}.profile-picker-panel .ppp-head-nav{align-items:center;gap:8px;display:flex}.profile-picker-panel .ppp-head-nav .ppp-back{padding:2px 6px}.profile-picker-panel .ppp-head-nav .ppp-current-family{color:var(--text);font-weight:500;font-size:var(--fs-sm)}.profile-picker-panel .ppp-family{color:var(--muted);font-size:var(--fs-xs);flex-direction:column;gap:4px;display:flex}.profile-picker-panel .ppp-family select{font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-sunken);color:var(--text);padding:4px 6px}.profile-picker-panel .ppp-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.profile-picker-panel .ppp-category{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:4px;min-height:88px;padding:8px 6px;transition:background .12s,border-color .12s;display:flex}.profile-picker-panel .ppp-category:hover{background:var(--panel-sunken);border-color:var(--accent)}.profile-picker-panel .ppp-category-icon{justify-content:center;align-items:center;height:36px;display:flex}.profile-picker-panel .ppp-category-noicon{color:var(--muted);font-size:22px;line-height:1}.profile-picker-panel .ppp-category-label{font-size:var(--fs-xs);color:var(--text);line-height:1.15}.profile-picker-panel .ppp-sizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.profile-picker-panel .ppp-sizes-hollow{flex-direction:column;gap:4px;display:flex}.profile-picker-panel .ppp-size-row{border-radius:var(--r-sm);border:1px solid #0000;flex-direction:column;align-items:stretch;gap:3px;padding:4px 6px;display:flex}.profile-picker-panel .ppp-size-row:hover{background:color-mix(in srgb, var(--panel-sunken) 60%, transparent)}.profile-picker-panel .ppp-size{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);align-items:center;gap:6px;padding:4px 6px;display:flex}.profile-picker-panel .ppp-size:hover{background:var(--panel-sunken)}.profile-picker-panel .ppp-size-active{border-color:var(--accent);background:var(--panel-sunken)}.profile-picker-panel .ppp-size-bare{justify-content:flex-start;width:100%}.profile-picker-panel .ppp-thicks{flex-wrap:wrap;gap:4px;padding-left:26px;display:flex}.profile-picker-panel .ppp-thick{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);padding:3px 6px;line-height:1}.profile-picker-panel .ppp-thick:hover{background:var(--panel-sunken);color:var(--text)}.profile-picker-panel .ppp-thick-active{border-color:var(--accent);color:var(--text);background:var(--panel-sunken)}.profile-picker-panel .ppp-free{flex-direction:column;gap:8px;display:flex}.profile-picker-panel .ppp-free label{color:var(--muted);font-size:var(--fs-xs);flex-direction:column;gap:4px;display:flex}.profile-picker-panel .ppp-free input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-sunken);color:var(--text);font-size:var(--fs-sm);padding:4px 6px}.inp-qty{width:62px}.td-num .inp-num{width:84px}.cuts-cell{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.cuts-angles{justify-content:center;min-width:78px}.cuts-bevels{justify-content:center;min-width:118px}.cuts-angles{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:0;padding:2px 6px;display:inline-flex}.cuts-angles:hover{border-color:var(--border-strong)}.cuts-angles:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.cuts-angles-mitre{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);font-weight:600}.cuts-angle{width:30px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:inherit;text-align:right;color:inherit;background:0 0;border:none;padding:0}.cuts-angle:hover,.cuts-angle:focus{box-shadow:none;background:0 0;border:none}.cuts-deg{color:inherit}.cuts-sep{color:inherit;opacity:.55;padding:0 4px}.cuts-bevels{border:1px dashed var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text-dim,var(--text));font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);white-space:nowrap;opacity:.75;align-items:center;gap:0;padding:2px 6px;display:inline-flex}.cuts-bevels:hover,.cuts-bevels:focus-within{opacity:1;border-color:var(--border-strong)}.cuts-bevels:focus-within{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.cuts-bevels-on{opacity:1;background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);border-style:solid;font-weight:600}.cuts-bevel-tag{opacity:.8;padding-right:4px}.cuts-dir{width:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0 1px;padding:0 1px}.cutp{flex:none;overflow:visible}.cutov-mini{width:160px;height:50px}.cutp-face{stroke:var(--border-strong,var(--border));stroke-width:.75px;stroke-linejoin:round}.cutp-front{fill:var(--accent-tint,color-mix(in srgb, var(--accent) 18%, transparent))}.cutp-top{fill:color-mix(in srgb, var(--accent,#6b7cff) 30%, var(--panel))}.cutp-end{fill:color-mix(in srgb, var(--accent,#6b7cff) 46%, var(--panel))}.cutp-side{fill:color-mix(in srgb, var(--accent,#6b7cff) 12%, var(--panel))}.cutp-void{fill:var(--panel,#fff)}.cutp-dir{fill:var(--warn-strong,var(--warn));font-size:9px;font-weight:700}.cutp-dim-line{stroke:var(--border,#cfd3da);stroke-width:.5px}.cutp-dim-text{fill:var(--text-2,var(--text));font-size:7px;font-weight:500}.cutp-btn{color:inherit;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:1px;display:inline-flex}.cutp-btn:hover{background:var(--panel-sunken);border-color:var(--border-strong)}.cutp-btn.is-open{background:var(--accent-tint);border-color:var(--accent-border)}.cutp-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cutov-row>td{padding:0 var(--s-6) var(--s-5);background:var(--panel)}.cutov-panel{gap:var(--s-2);max-width:620px;padding:var(--s-4) var(--s-5) var(--s-3);color:var(--text);background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:var(--r-lg);flex-direction:column;margin:0;display:flex}.cutov{width:100%;height:auto;display:block}.cutov-body>polygon{fill:color-mix(in srgb, #fff 76%, var(--accent-tint));stroke:none}.cutov-void{fill:var(--accent-tint);stroke:none}.cutov-rail{fill:none;stroke:var(--text);stroke-width:.9px;stroke-linecap:round}.cutov-cut{fill:none;stroke:#e0489f;stroke-width:1px;stroke-linecap:round}.cutov-hidden{stroke-width:.6px;stroke-dasharray:3 2.2;opacity:.75}.cutov-break-gap{fill:var(--accent-tint);stroke:none}.cutov-break-edge{fill:none;stroke:var(--text-soft);stroke-width:.7px;stroke-linejoin:round}.cutov-label>text{fill:var(--text-soft);font-size:9.5px;font-weight:500}.cutov-dim{fill:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:9px;font-weight:600}.cutov-dim-far{fill:var(--text-icon);font-weight:500}.cutov-panel-plan{margin:var(--s-3) 0 var(--s-4)}.angle-picker-panel{z-index:200;width:280px;padding:var(--s-3);gap:var(--s-2);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md,0 6px 20px #0000002e);flex-direction:column;display:flex;position:fixed}.angle-picker-head{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.angle-picker-value-wrap{align-items:baseline;gap:2px;display:inline-flex}.angle-picker-value{width:72px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--text);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 6px;font-size:20px;font-weight:700}.angle-picker-value:focus{outline:2px solid var(--accent);outline-offset:1px;background:var(--panel)}.angle-picker-deg{color:var(--text-soft);font-size:14px}.angle-picker-close{color:var(--text-soft);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:2px 6px}.angle-picker-close:hover{color:var(--text);background:var(--panel-sunken);border-color:var(--border)}.angle-picker-preview{padding:var(--s-2);background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:var(--r-sm);margin:0}.angle-picker-preview .cutov-mini{width:100%;height:auto}.angle-picker-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.angle-picker-svg.is-dragging{cursor:grabbing}.angle-picker-axis{stroke:var(--border-strong);stroke-width:.8px;stroke-dasharray:3 2}.angle-picker-arc{fill:none;stroke:var(--border-strong);stroke-width:1px}.angle-picker-sector{fill:color-mix(in srgb, var(--accent,#6b7cff) 12%, transparent);stroke:none}.angle-picker-tick{stroke:var(--text-soft);stroke-width:.6px}.angle-picker-tick-major{stroke:var(--text);stroke-width:1px}.angle-picker-tick-label{fill:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px;font-weight:500}.angle-picker-radius{stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.angle-picker-handle{fill:var(--accent);stroke:var(--panel);stroke-width:2px}.angle-picker-presets{flex-wrap:wrap;gap:4px;display:flex}.angle-picker-preset{min-width:42px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);background:var(--panel-sunken);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;flex:1 0 auto;padding:4px 8px;font-size:12px}.angle-picker-preset:hover{background:var(--panel);border-color:var(--border-strong)}.angle-picker-preset.is-active{color:var(--panel);background:var(--accent);border-color:var(--accent)}.angle-picker-copy{color:var(--text);background:var(--panel-sunken);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;align-self:stretch;padding:6px 10px;font-size:12px;font-weight:600}.angle-picker-copy:hover{background:var(--accent-tint);border-color:var(--accent-border)}.legend-item-btn{gap:var(--s-1);padding:1px var(--s-2) 1px var(--s-1);font:inherit;color:inherit;border-radius:var(--r-pill);cursor:pointer;background:0 0;border:1px solid #0000}.legend-item-btn:hover{background:var(--panel-sunken);border-color:var(--border-strong)}.legend-item-btn.is-open{color:var(--accent);background:var(--accent-tint);border-color:var(--accent-border)}.legend-item-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.legend-item-caret{opacity:.6;font-size:9px}.legend-item-btn.is-open .legend-item-caret{transform:rotate(180deg)}.cutov-caption{gap:var(--s-1) var(--s-4);font-size:var(--fs-xs);color:var(--text-soft);flex-wrap:wrap;align-items:baseline;display:flex}.cutov-legend{align-items:baseline;gap:3px;display:inline-flex}.cutov-legend em{font-style:normal;font-weight:600}.cutov-legend-near{color:var(--text)}.cutov-legend-far{color:var(--text-icon)}.cutov-legend-warn{color:var(--warn-strong)}.cuts-hint{align-items:center;gap:var(--s-1);font-size:var(--fs-xs);white-space:nowrap;display:inline-flex}.cuts-hint-ok{color:var(--ok)}.cuts-hint-warn{color:var(--warn-strong)}.stock-list{flex-direction:column;display:flex}.stock-row{padding:var(--s-4) var(--s-6);border-top:1px solid var(--divider);align-items:flex-start;gap:11px;display:flex}.stock-row:hover{background:var(--panel-alt)}.stock-fields{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stock-line{align-items:center;gap:var(--s-2);min-width:0;display:flex}.stock-name{min-width:0;font-size:var(--fs-md);flex:1;font-weight:500}.stock-qty{align-items:center;gap:var(--s-1);flex:none;display:inline-flex}.stock-qty-input{width:52px}.stock-inf{font-size:var(--fs-xs);color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:3px;display:inline-flex}.stock-line-sub{gap:var(--s-1);flex-wrap:wrap}.stock-line-sub .profile-picker-btn-labeled{flex:none}.stock-profile{width:156px;font-size:var(--fs-xs)}.stock-measure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-soft);align-items:baseline;gap:2px;display:inline-flex}.stock-len{width:62px;font-size:var(--fs-xs)}.stock-next-length{text-align:right;flex:none;width:92px}.stock-price{width:62px;font-size:var(--fs-xs)}.stock-kerf{width:44px;font-size:var(--fs-xs)}.chutes-block{padding:11px var(--s-6) var(--s-5);border-top:1px solid var(--border);background:var(--panel-alt);gap:var(--s-3);flex-direction:column;display:flex}.chutes-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.chutes-total{letter-spacing:0;text-transform:none;color:var(--ok)}.chutes-empty{font-size:var(--fs-sm);color:var(--text-soft);line-height:var(--lh-normal);margin:0}.chute-row{padding:var(--s-3) var(--s-4);border:1px solid var(--ok-border);border-radius:var(--r-xl);background:var(--panel);color:var(--text);align-items:center;gap:9px;display:flex}.chute-icon{color:var(--ok);font-size:var(--fs-base);flex:none}.chute-text{min-width:0;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chute-mult{color:var(--text-soft)}.settings-bar{align-items:center;gap:var(--s-6);padding:var(--s-5) var(--s-7);flex-wrap:wrap;display:flex}.settings-label{flex:none}.settings-fields{gap:var(--s-3);flex-wrap:wrap;display:flex}.plan-empty{padding:var(--s-9) var(--s-7);text-align:center}.plan-empty p{color:var(--text-soft);font-size:var(--fs-md);line-height:var(--lh-normal);margin:0}.plan-head{border-bottom:1px solid var(--border);padding:var(--s-6) var(--s-7)}.plan-when{font-size:var(--fs-sm);color:var(--text-soft)}.plan-stats{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));display:grid}.plan-stat{padding:15px var(--s-7);border-right:1px solid var(--divider);flex-direction:column;gap:3px;min-width:0;display:flex}.plan-stat:last-child{border-right:none}.plan-stat-value{font-family:var(--font-heading);letter-spacing:normal;white-space:nowrap;color:var(--color-text);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1}.plan-stat-value-ok{color:var(--color-accent-700)}.plan-stat-unit{font-family:var(--font-heading);color:var(--color-ink-soft);font-size:14px;font-weight:600}.plan-stat-note{letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.plan-stat-note-ok{color:var(--color-accent-700)}.plan-body{padding:var(--s-7);border-top:1px solid var(--border);background:var(--panel-alt);color:var(--text);gap:var(--s-9);flex-direction:column;display:flex}.plan-group{gap:var(--s-4);flex-direction:column;display:flex}.plan-group-head{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.plan-group-title{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-text);margin:0;font-size:16px;font-weight:700}.plan-group-meta{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;font-size:11px}.plan-group-badges{align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-left:auto;display:inline-flex}.legend-item{font-size:var(--fs-tiny);color:var(--text-soft);align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:3px;flex:none;width:9px;height:9px}.plan-ruler{align-items:flex-end;gap:var(--s-5);display:flex}.plan-ruler-track{border-bottom:1px solid var(--rule);flex:1;height:22px;position:relative}.plan-tick{background:var(--rule);width:1px;height:6px;position:absolute;bottom:0}.plan-tick-label{bottom:var(--s-3);color:var(--text-soft);white-space:nowrap;font-size:9.5px;position:absolute;left:0}.plan-tick-end{left:auto;right:0}.plan-tick-minor{height:3px}.bars{gap:var(--s-6);flex-direction:column;display:flex}.bar-row-block{display:block}.bar-row{align-items:center;gap:var(--s-5);display:flex}.bar-head{align-items:baseline;gap:var(--s-5);flex-wrap:wrap;margin-bottom:2px;display:flex}.bar-head-meta{font-size:var(--fs-sm);color:var(--text-soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:0 6px;display:inline-flex}.bar-head-sep{color:var(--rule-soft)}.bar-head-waste-ok{color:var(--ok);font-weight:600}.bar-head-count{font-size:var(--fs-sm);color:var(--text);border:1px solid var(--border-strong);padding:0 6px;font-weight:700}.bar-head-3d{margin-left:auto}.bar-visual-col{flex:1;min-width:0}.bar-visual,.bar-visual-ortho{display:block;position:relative;overflow:visible}.bar-visual svg,.bar-visual-ortho svg{display:block}.bar-num{width:54px;font-family:var(--font-heading);color:var(--color-ink-soft);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em;flex-direction:column;flex:none;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex}.bar-num strong{color:var(--color-text);font-family:var(--font-heading);font-size:13px;font-weight:600}.barp{display:block;overflow:visible}.barp-label{fill:var(--bar-ink,#1a1a1a);font-size:11px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none}.barp-cut{fill:var(--bar-ink,#1a1a1a);font-size:9.5px;font-weight:500;font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none;opacity:.85}.barp-dir,.ortho-dir{font-weight:800}.barp-waste-top{fill:color-mix(in srgb, var(--bar-bed,#e9e9ee) 70%, transparent);stroke:var(--border-strong);stroke-width:.5px;stroke-dasharray:3 2}.barp-waste-front{fill:color-mix(in srgb, var(--bar-bed,#e9e9ee) 55%, transparent);stroke:var(--border-strong);stroke-width:.5px;stroke-dasharray:3 2}.barp-void{fill:var(--bar-bed,#e9e9ee);stroke:var(--border-strong);stroke-width:.5px;stroke-linejoin:round}.barp-saw{fill:none;stroke:#e0489f;stroke-width:1.1px;stroke-linecap:round}.barp-waste-reusable .barp-waste-top,.barp-waste-reusable .barp-waste-front{fill:color-mix(in srgb, var(--ok-bg) 85%, transparent);stroke:var(--ok-dash)}.saw-strip{display:block;overflow:visible}.saw-mark-pill{fill:var(--warn-bg);stroke:var(--warn-strong);stroke-width:.9px}.saw-mark-text{fill:var(--warn);font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px;font-weight:700}.saw-mark-num-box{fill:var(--warn-strong)}.saw-mark-num{fill:#fff;font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px;font-weight:800}.saw-mark-leader{stroke:var(--warn-strong);stroke-width:1px}.saw-mark-tip{fill:var(--warn-strong)}.saw-mark-set .saw-mark-pill{fill:var(--panel-sunken);stroke:var(--border-strong);stroke-dasharray:2 2}.saw-mark-set .saw-mark-text{fill:var(--text-soft);font-weight:600}.saw-mark-leader-set{stroke:var(--border-strong);stroke-dasharray:2 2}.saw-mark-tip-set{fill:var(--border-strong)}.ortho-waste-text{fill:var(--text-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--color-bg);stroke-width:2.4px;stroke-linejoin:round;pointer-events:none;font-size:10.5px;font-weight:600}.ortho-waste-text-ok{fill:var(--ok);font-weight:700}.ortho-waste-rect.ortho-waste-reusable{fill:color-mix(in srgb, var(--ok-bg) 80%, transparent);stroke:var(--ok-dash)}.bar-visual-ortho{background:0 0;border:none;border-radius:0;height:auto;overflow:visible}.bar-visual-face,.bar-visual-dessus{border:1px solid var(--color-divider);color:var(--color-text);border-radius:0}.bar-visual-face{background:var(--color-surface)}.bar-visual-dessus{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-bg))}.barortho{display:block;overflow:visible}.ortho-label{fill:var(--bar-ink,#1a1a1a);font-size:11px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--color-bg);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.ortho-angle{fill:var(--text-secondary,#555);font-size:9.5px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--color-bg);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.ortho-dim-tick,.ortho-dim-line{stroke:var(--border-strong);stroke-width:.5px}.ortho-dim-text{fill:var(--text-secondary,#555);font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;pointer-events:none;paint-order:stroke;stroke:var(--panel,#fff);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke;stroke-width:2.4px;stroke-linejoin:round}.ortho-dim-waste{opacity:.8;font-style:italic}.ortho-dim-run{fill:var(--text);font-weight:700}.ortho-dim-line-run{stroke-dasharray:4 2}.ortho-dim-total{fill:var(--text-soft,#777)}.ortho-waste-rect{fill:color-mix(in srgb, var(--bar-bed,#e9e9ee) 60%, transparent);stroke:var(--border-strong);stroke-width:.5px;stroke-dasharray:3 2}.ortho-trim-rect{fill:color-mix(in srgb, var(--border,#cfcfd6) 25%, transparent);stroke:var(--border);stroke-width:.4px;stroke-dasharray:2 2}.ortho-kerf-rect{fill:color-mix(in srgb, var(--fg,#0f172a) 60%, transparent);stroke:none}.ortho-views{flex-direction:column;gap:2px;margin-top:2px;display:flex}.bar-row-ortho{opacity:.92}.ortho-view-tag{text-transform:uppercase;letter-spacing:.02em;font-size:9.5px;font-weight:700}.plan-card-atelier .bar-head-meta,.plan-card-atelier .bar-head-count{font-size:var(--fs-lg)}.plan-card-atelier .bar-num strong{font-size:16px}.plan-card-atelier .cutlist-table{font-size:var(--fs-lg)}.plan-card-atelier .plan-legend{font-size:var(--fs-md)}.btn-active{background:var(--accent-tint,color-mix(in srgb, var(--accent) 16%, transparent));border-color:var(--accent);color:var(--accent)}.view-toggle{border:1px solid var(--border-strong);display:inline-flex}.view-toggle-btn{appearance:none;background:var(--panel);color:var(--text-soft);font:inherit;font-size:var(--fs-sm);cursor:pointer;border:none;padding:4px 10px;font-weight:600}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border-strong)}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.is-active{background:var(--accent-tint);color:var(--accent-dark)}.plan-legend{margin:0 0 var(--s-5);font-size:var(--fs-xs);color:var(--text-soft);flex-wrap:wrap;gap:4px 18px;line-height:1.5;display:flex}.plan-legend strong{color:var(--text);font-weight:600}.plan-legend-key{font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:0 5px;font-size:10.5px;font-weight:700;line-height:15px;display:inline-block}.plan-legend-key-saw{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-strong);padding-left:0}.saw-no{background:var(--warn-strong);color:#fff;min-width:15px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;margin-right:5px;padding:0 3px;font-size:10.5px;font-weight:800;line-height:15px;display:inline-block}.plan-legend-key-set{background:var(--panel-sunken);color:var(--text-soft);border:1px dashed var(--border-strong)}.plan-legend-pat{vertical-align:-1px;background-color:var(--color-accent-300);display:inline-block}.legend-cuts{color:var(--text-soft);margin-left:5px}.legend-cuts b{color:var(--text);font-weight:800}.plan-group-meta-ok{color:var(--ok);font-weight:600}.piece-pat-1{background-image:repeating-linear-gradient(45deg,#0000006b 0 1.2px,#0000 1.2px 3.5px)}.piece-pat-2{background-image:radial-gradient(#00000073 .9px,#0000 1.1px);background-size:3.5px 3.5px}.piece-pat-3{background-image:repeating-linear-gradient(45deg,#0006 0 1px,#0000 1px 3.5px),repeating-linear-gradient(-45deg,#0006 0 1px,#0000 1px 3.5px)}.bar-row-list{align-items:flex-start;margin-top:2px}.cutlist{flex:1;min-width:0}.cutlist-toggle{appearance:none;cursor:pointer;font:inherit;font-size:var(--fs-xs);color:var(--accent-dark);background:0 0;border:none;align-items:baseline;gap:6px;padding:2px 0;font-weight:600;display:inline-flex}.cutlist-toggle:hover{text-decoration:underline}.cutlist-caret{width:10px;display:inline-block}.cutlist-count{color:var(--text-soft);font-weight:500}.cutlist-body{margin-top:4px;display:none;overflow-x:auto}.cutlist.is-open .cutlist-body{display:block}.cutlist-table{border-collapse:collapse;font-size:var(--fs-sm);min-width:min(100%,560px)}.cutlist-table th{text-align:left;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:3px 14px 3px 0;font-weight:700}.cutlist-table td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:3px 14px 3px 0}.cutlist-table .th-num,.cutlist-table .num{text-align:right}.cutlist-no{width:44px;color:var(--text-soft)}.cutlist-mult{color:var(--accent-dark);font-weight:700}.cutlist-end{align-items:baseline;gap:5px;display:inline-flex}.cutlist-end b{font-weight:800}.cutlist-step{margin-right:0}.cutlist-married{color:var(--ok);font-weight:700}.cutlist-waste td{color:var(--text-soft);font-style:italic}.cutlist-waste-ok td{color:var(--ok);font-style:normal;font-weight:600}.angle-group{flex-direction:column;gap:7px;display:flex}.angle-group-head{font-size:var(--fs-xs);color:var(--warn);background:var(--warn-bg);border-radius:var(--r-sm);padding:3px var(--s-3);align-self:flex-start;margin-left:42px;font-weight:600}.plan-note,.offcuts{font-size:var(--fs-sm);text-wrap:pretty;max-width:720px;margin:0 0 0 42px;line-height:1.5}.plan-note{color:var(--text-soft)}.offcuts{color:var(--ok)}.recap-details{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);color:var(--text);overflow:hidden}.recap-details>summary{cursor:pointer;padding:11px var(--s-6);font-size:var(--fs-base);color:var(--text);justify-content:space-between;align-items:center;gap:var(--s-5);font-weight:500;list-style:none;display:flex}.recap-details>summary::-webkit-details-marker{content:"";display:none}.recap-details>summary::marker{content:"";display:none}.recap-details>summary:hover{background:var(--panel-alt)}.recap-count{font-size:var(--fs-xs);color:var(--text-soft);font-weight:400}.recap{border-top:1px solid var(--border)}.recap td{font-size:var(--fs-base);padding-top:9px;padding-bottom:9px}.recap-num,.recap-cuts{color:var(--text-soft);font-size:var(--fs-sm)}.recap-waste-ok{color:var(--ok)}.panels{gap:var(--s-7);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.panel{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--sh-card);padding:var(--s-6);gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.panel h2{justify-content:space-between;align-items:center;gap:var(--s-4);font-size:var(--fs-xl);letter-spacing:var(--track-tight);font-weight:600;display:flex}.panel h3{font-size:var(--fs-md);font-weight:600}.panel table{border-collapse:collapse;width:100%}.panel th{text-align:left;font-size:var(--fs-micro);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-soft);background:var(--panel-alt);padding:7px var(--s-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-weight:600}.panel td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--divider);color:var(--text)}.panel input:not([type=checkbox]):not([type=radio]):not([type=file]),.panel select{width:100%;min-width:0;padding:5px var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-md)}.panel input:focus,.panel select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.panel-total{font-size:var(--fs-sm);color:var(--text-soft);margin:0}.panel-params label,.input-label{justify-content:space-between;align-items:center;gap:var(--s-3);font-size:var(--fs-base);color:var(--text-soft);display:flex}.qty-cell{align-items:center;gap:var(--s-2);display:flex}.qty-cell input[type=number]{width:62px}.inline-check,.check-row{align-items:center;gap:var(--s-2);font-size:var(--fs-base);color:var(--text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.check-row{margin:var(--s-1) 0 var(--s-3)}.swatch{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.input-angle{width:58px}.results{gap:var(--s-6);flex-direction:column;display:flex}.results-header{justify-content:space-between;align-items:center;gap:var(--s-7);flex-wrap:wrap;display:flex}.results-header h2{font-size:var(--fs-2xl);font-weight:600}.results-project{color:var(--text-soft);font-weight:400}.results-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.results-actions button,.btn-pdf{align-items:center;gap:var(--s-2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);min-height:30px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;padding:0 11px;display:inline-flex}.results-actions button:hover,.btn-pdf:hover{border-color:var(--border-strong);background:var(--panel-alt);color:var(--text)}.stats{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(152px,1fr));display:grid}.stat{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-card);padding:var(--s-5) var(--s-6);flex-direction:column;gap:2px;display:flex}.stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);font-size:21px;font-weight:500}.stat-label{font-size:var(--fs-tiny);color:var(--text-soft);line-height:1.35}.parc{margin-top:var(--s-4);border-top:1px solid var(--border);padding-top:var(--s-3)}.parc>summary{cursor:pointer;font-size:var(--fs-tiny);color:var(--text-soft);-webkit-user-select:none;user-select:none}.parc-count{color:var(--text)}.parc-hint{margin:var(--s-2) 0 var(--s-3);font-size:var(--fs-tiny);color:var(--text-soft);max-width:62ch}.parc-row{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:minmax(80px,1.4fr) repeat(3,minmax(64px,1fr)) auto auto;align-items:center;display:grid}.parc-row input[type=number],.parc-row .parc-name{min-width:0}.parc-actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.parc-offcut{font-size:var(--fs-tiny);color:var(--text-soft);white-space:nowrap;cursor:help;align-items:center;gap:4px;display:flex}@media (width<=720px){.parc-row{grid-template-columns:1fr 1fr}}.stats.is-stale,.nest-bins.is-stale{opacity:.45;filter:saturate(.4)}.warning.stale-plan{margin-bottom:var(--s-4)}.engine-used{margin:var(--s-3) 0 0;font-size:var(--fs-tiny);color:var(--text-soft);cursor:help}.engine-used strong{color:var(--text);font-weight:500}.bar-title{align-items:center;gap:var(--s-3);font-size:var(--fs-base);color:var(--text-soft);flex-wrap:wrap;display:flex}.bar-title strong{color:var(--text)}.bar-count,.bar-waste{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-soft)}.bar-settings{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--warn);background:var(--warn-bg);border-radius:var(--r-pill);padding:2px var(--s-3)}.bar-marriage{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--ok);background:var(--ok-bg);border-radius:var(--r-pill);padding:2px var(--s-3)}.bar-block{gap:var(--s-2);flex-direction:column;display:flex}.btn-primary{justify-content:center;align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-7);border-radius:var(--r-btn);background:var(--accent);color:var(--text-on-dark);font-family:inherit;font-size:var(--fs-md);cursor:pointer;box-shadow:var(--sh-accent);border:none;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-dark);color:var(--text-on-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-add{align-self:flex-start;align-items:center;gap:var(--s-2);min-height:32px;padding:0 var(--s-5);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--panel);color:var(--text-soft);font-family:inherit;font-size:var(--fs-base);cursor:pointer;display:inline-flex}.btn-add:hover{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.btn-icon{justify-content:center;align-items:center;gap:var(--s-1);min-height:28px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text-soft);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.btn-icon:hover{border-color:var(--border);background:var(--panel-sunken);color:var(--text)}.btn-clear,.btn-reset{color:var(--text-soft);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;padding:2px var(--s-2);border-radius:var(--r-sm);background:0 0;border:none}.btn-clear:hover,.btn-reset:hover{background:var(--panel-sunken);color:var(--text)}.input-label{font-weight:600;width:70px!important}.nav-hint{color:var(--text-soft);font-size:12px}.nav-hint-details{vertical-align:middle;margin-left:10px;display:inline-block}.nav-hint-summary{cursor:pointer;color:var(--text-soft);text-underline-offset:2px;font-size:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.nav-hint-details[open] .nav-hint{margin-top:4px;display:block}.viewer{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--sh-card);padding:var(--s-7)}.drop-zone{border:2px dashed var(--border);border-radius:var(--r-2xl);text-align:center;padding:18px;transition:border-color .15s,background .15s}.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-tint)}.drop-zone p{margin:4px 0}.drop-hint{color:var(--text-soft);font-size:13px}.file-label{color:var(--accent);cursor:pointer;text-decoration:underline}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.viewer-status{color:var(--text-soft);margin:12px 0 8px;font-size:14px}.viewer-canvas-wrap{position:relative}.viewer-sticky{z-index:10;background:var(--bg,#fff);position:sticky;top:8px}.viewer-split{grid-template-columns:minmax(220px,280px) 1fr;align-items:stretch;gap:12px;display:grid}.viewer-split .viewer-canvas-wrap{min-width:0}@media (width<=900px){.viewer-split{grid-template-columns:1fr}.viewer-tree{max-height:260px}}.viewer-split-big{grid-template-columns:minmax(220px,260px) 1fr}.viewer-tree{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--card-bg,transparent);flex-direction:column;display:flex;overflow:hidden}.viewer-tree-head{border-bottom:1px solid var(--border);font-size:var(--fs-sm);justify-content:space-between;align-items:baseline;padding:8px 12px;display:flex}.viewer-tree-count{color:var(--text-soft);font-size:var(--fs-xs)}.viewer-tree-list{flex:auto;margin:0;padding:0;list-style:none;overflow-y:auto}.viewer-tree-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;align-items:center;gap:8px;padding:6px 10px;display:flex}.viewer-tree-row:last-child{border-bottom:0}.viewer-tree-row:hover,.viewer-tree-row-hover{background:var(--hover-bg,#ffd54a29)}.viewer-tree-row-selected{background:var(--selected-bg,#f28e2b26)}.viewer-tree-row-selected.viewer-tree-row-hover{background:#f28e2b47}.viewer-tree-row-non-profile{opacity:.75}.viewer-tree-row-hidden{opacity:.5;background:repeating-linear-gradient(45deg,#0000,#0000 6px,#0000000a 6px 8px)}.viewer-tree-row-eye{cursor:pointer;opacity:.55;border-radius:4px;flex:none;padding:2px 4px;font-size:14px;line-height:1}.viewer-tree-row-eye:hover{opacity:1;background:#0000000f}.radial-backdrop{z-index:14;position:absolute;inset:0}.radial{z-index:15;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.radial-hub{color:#fff;white-space:nowrap;pointer-events:none;background:#14161cf0;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000047}.radial-btn{color:#fff;cursor:pointer;pointer-events:auto;background:#14161cf0;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;width:108px;padding:6px 8px;font-size:11px;line-height:1.2;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 10px #00000047}.radial-btn:hover{background:#2d323cfa;border-color:#ffffff4d}.radial-btn-icon{font-size:15px}.radial-btn-label{text-align:left;flex:auto}.radial-btn-danger{border-color:#ffb26680}.radial-btn-danger:hover{background:#783c14e6}.radial-btn-disabled,.radial-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-tree-row-body{flex:auto;min-width:0}.viewer-tree-row-title{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:6px;font-weight:600;display:flex;overflow:hidden}.viewer-tree-row-qty{color:var(--text-soft);font-weight:400;font-size:var(--fs-xs)}.viewer-tree-row-sub{color:var(--text-soft);font-size:var(--fs-xs);justify-content:space-between;gap:6px;display:flex}.viewer-hover-tip{z-index:12;pointer-events:none;color:#fff;background:#14161cf0;border-radius:6px;max-width:260px;padding:8px 10px;font-size:12px;line-height:1.4;position:absolute;box-shadow:0 4px 12px #00000038}.viewer-hover-tip-head{align-items:baseline;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.viewer-hover-tip-tag{color:#ffd54a;font-size:10px;font-weight:400}.viewer-hover-tip-body>div{color:#ffffffd9}.viewer-hover-tip-body>div strong{color:#fff}.viewer-hover-tip-warn{color:#ffb266;margin-top:4px;font-size:11px}.viewer-canvas{border:1px solid var(--border);border-radius:var(--r-2xl);height:100%;overflow:hidden}.viewer-canvas canvas{display:block}.viewer-tools{flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;right:10px}.viewer-tools button{border:1px solid var(--border);cursor:pointer;background:#ffffffeb;border-radius:8px;width:36px;height:36px;font-size:17px;line-height:1;box-shadow:0 1px 4px #0000001f}.viewer-tools button:hover{border-color:var(--accent);color:var(--accent-dark)}.file-chip{background:var(--accent-tint-strong);color:var(--accent-dark);border:1px solid var(--accent-border);border-radius:999px;margin-right:6px;padding:1px 10px;font-size:12px;font-weight:600;display:inline-block}.part-file{color:var(--text-soft);font-size:11px}.parts-table{border-collapse:collapse;width:100%;margin-top:14px;font-size:14px}.parts-table th,.parts-table td{border-bottom:1px solid var(--border);text-align:left;padding:6px 10px}.parts-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:12px}.parts-table .row-selected{background:var(--warn-bg)}.parts-table tbody tr:hover{background:var(--panel-sunken)}.badge-profile{background:var(--ok-bg);color:var(--ok);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.badge-other{background:var(--panel-sunken);color:var(--text-soft);border-radius:999px;padding:2px 10px;font-size:12px}.btn-inline{margin-top:14px;width:auto!important}.profile-icon{vertical-align:middle;flex:none}.pi-front{fill:var(--panel-inset);stroke:var(--text-soft);stroke-width:1.3px;stroke-linejoin:round}.pi-back,.pi-edge{fill:none;stroke:var(--rule-soft);stroke-width:.9px}.pi-hole{fill:#fff;stroke:var(--text-soft);stroke-width:1.1px;stroke-linejoin:round}.profile-cell{align-items:center;gap:4px;display:flex}.bar-title .profile-icon,.profile-heading .profile-icon{align-self:center}.account-widget{align-items:center;gap:10px;display:flex}.account-email{color:var(--text);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.plan-badge{padding:2px var(--s-3);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.03em;background:var(--panel-inset);color:var(--text-soft);font-size:11px;font-weight:700}.plan-badge.plan-pro{background:var(--accent);color:var(--text-on-dark)}.plan-badge.plan-atelier{background:var(--ok);color:var(--text-on-dark)}.account-modal{width:min(420px,100vw - 32px);color:var(--text);position:relative}.account-modal.account-modal-wide{width:min(820px,100vw - 32px)}.account-modal-close{color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1;position:absolute;top:14px;right:14px}.account-modal-close:hover{color:var(--danger)}.account-tabs{gap:4px;margin:4px 0 14px;display:flex}.account-tabs button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.account-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.account-field{color:var(--text-soft);flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;display:flex}.account-field input{border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}.account-error{color:var(--danger);margin:0 0 10px;font-size:12px}.account-hint{color:var(--text-soft);margin:10px 0 0;font-size:12px;line-height:1.4}.account-summary{align-items:center;gap:10px;margin:4px 0 14px;display:flex}.account-summary .account-email{color:var(--text);max-width:none;font-size:14px}.account-summary .plan-badge{background:var(--panel-inset);color:var(--text-soft)}.account-summary .plan-badge.plan-open,.account-summary .plan-badge.plan-pro{background:var(--accent);color:var(--text-on-dark)}.account-summary .plan-badge.plan-atelier{background:var(--ok);color:#fff}.account-credits{color:var(--text-soft);margin:-6px 0 14px;font-size:13px}.account-modal-actions{margin-top:16px}.account-admin-link{margin-top:6px;display:block}.admin-panel{max-height:60vh;overflow-y:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}.admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:11px}.admin-table select,.admin-table input[type=number]{border:1px solid var(--border);border-radius:6px;width:100px;padding:5px 7px}.admin-table .badge-other{margin-left:8px}.admin-credits-cell{white-space:nowrap;align-items:center;gap:6px;display:flex}.admin-search{border:1px solid var(--border);width:100%;max-width:260px;color:var(--text);background:0 0;border-radius:6px;margin-bottom:10px;padding:6px 10px}.invit-panel{font-size:13px}.invit-form{margin-bottom:4px}.invit-presets{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.invit-presets-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:11px}.invit-fields{flex-wrap:wrap;gap:10px 14px;display:flex}.invit-field{flex-direction:column;gap:4px;min-width:120px;display:flex}.invit-field-wide{flex:240px}.invit-field>span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:11px}.invit-field input,.invit-field select{border:1px solid var(--border);color:var(--text);font:inherit;background:0 0;border-radius:6px;width:100%;padding:6px 8px}.invit-summary{border-left:3px solid var(--accent);background:var(--accent-tint);border-radius:var(--r-lg) 6px 6px 0;margin:12px 0 4px;padding:8px 10px}.invit-sep{border:0;border-top:1px solid var(--border);margin:18px 0 14px}.invit-filters{gap:8px;margin-bottom:10px;display:flex}.invit-table td{vertical-align:top}.invit-row-active{background:var(--ok-tint)}.invit-note{color:var(--text-soft);max-width:280px;margin-top:3px;font-size:11px}.invit-mail-error{color:var(--danger);max-width:280px;margin-top:3px;font-size:11px}.invit-status{white-space:nowrap;background:var(--border);color:var(--text-soft);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.invit-status-envoyee{background:var(--warn-bg);color:var(--warn)}.invit-status-acceptee{background:var(--ok-bg);color:var(--ok)}.invit-status-revoquee{background:var(--danger-bg);color:var(--danger)}.invit-deadline{white-space:nowrap}.invit-left,.invit-link-deadline{color:var(--text-soft);font-size:11px}.invit-actions{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.invit-welcome-backdrop{z-index:49}.invit-recall{z-index:70;border:1px solid var(--accent);background:var(--accent);color:var(--text-on-dark);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #14181f47}.invit-recall:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.invit-welcome{max-width:460px}.invit-welcome-to{color:var(--text-soft);margin:-6px 0 12px;font-size:12px}.invit-welcome-list{margin:0 0 12px;padding-left:20px}.invit-welcome-list li{margin-bottom:4px;font-weight:600}.invit-welcome-note{color:var(--text-soft);font-style:italic}.tolerie-flat-thumb{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;width:84px;height:56px;padding:2px;display:block}.tolerie-flat-thumb:hover{border-color:var(--accent)}.tolerie-flat-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.thickness-measured{color:var(--ok);font-weight:600}.tolerie-part-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:8px;display:grid}.tolerie-part-card{border:1px solid var(--border);background:var(--panel,#fff);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.tolerie-part-thumbs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tolerie-part-thumb{border:1px solid var(--border);aspect-ratio:4/3;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:3px;display:flex;overflow:hidden}.tolerie-part-thumb img{object-fit:contain;width:100%;height:100%;display:block}.tolerie-part-thumb-empty{color:var(--text-soft);text-align:center;padding:6px;font-size:11px}.tolerie-part-thumb-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);margin:0 0 2px;font-size:10px}.tolerie-part-name{color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:600}.tolerie-part-meta{color:var(--text-soft);font-size:12px;line-height:1.5}.tolerie-part-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tolerie-part-actions input[type=number]{border:1px solid var(--border);border-radius:6px;width:62px;padding:4px 6px}.analytics-range{gap:6px;margin-bottom:14px;display:flex}.analytics-range button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:12px}.analytics-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:18px;display:grid}.analytics-card{border:1px solid var(--border);background:var(--panel-soft,#00000005);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.analytics-card-value{color:var(--text);font-size:20px;font-weight:700}.analytics-card-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px;display:grid}.analytics-breakdown h4{color:var(--text);margin:0 0 6px;font-size:13px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;display:grid}.pricing-card{border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);flex-direction:column;padding:18px 16px;display:flex;position:relative}.pricing-card.pricing-highlight{border-color:var(--accent);box-shadow:0 4px 16px #175fa924}.pricing-card.pricing-current{border-color:var(--ok)}.pricing-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px;left:16px}.pricing-badge.pricing-badge-current{background:var(--ok)}.pricing-card h3{margin:6px 0 2px;font-size:17px}.pricing-price{color:var(--ink);margin:0 0 6px;font-size:26px;font-weight:700}.pricing-note{color:var(--text-soft);font-size:12px;font-weight:400;display:block}.pricing-tagline{color:var(--text-soft);min-height:34px;margin:0 0 12px;font-size:13px}.pricing-features{flex-direction:column;flex:1;gap:7px;margin:0 0 16px;padding:0;font-size:13px;list-style:none;display:flex}.pricing-features li{padding-left:20px;position:relative}.pricing-features li:before{content:"✓";color:var(--ok);font-weight:700;position:absolute;left:0}.pricing-cta{text-align:center;text-decoration:none;display:block}.pricing-cta-locked{cursor:help}.pricing-open-banner{border:1px solid var(--accent);border-radius:var(--r-3xl);color:var(--text);text-align:center;background:#175fa914;grid-column:1/-1;margin:0 0 4px;padding:10px 14px;font-size:13px;line-height:1.45}.pricing-footnote{color:var(--text-soft);text-align:center;grid-column:1/-1;margin:4px 0 0;font-size:12px}@media (width<=720px){.pricing-grid{grid-template-columns:1fr}}.combine-locked{color:var(--text-soft);cursor:help;font-size:12px;font-style:italic}.chutes-stock{border-top:1px dashed var(--border);margin-top:14px;padding-top:10px}.chutes-stock h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin:0 0 8px;font-size:12px}.chutes-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chutes-list li{background:var(--panel-alt);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.chutes-list li span:first-child{font-weight:600}.chutes-list li .part-file{flex:1}.btn-clear{color:var(--text-soft);letter-spacing:normal;text-transform:none;cursor:pointer;background:0 0;border:none;margin-left:10px;padding:0;font-size:11px;font-weight:400}.btn-clear:hover{color:var(--danger);text-decoration:underline}.combine{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;font-size:13px;display:flex}.combine-mult{color:var(--text-soft);align-items:center;gap:8px;font-weight:600;display:flex}.combine-mult input,.include-chip input{border:1px solid var(--border);background:#fff;border-radius:6px;width:62px;padding:4px 6px}.combine-includes{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.combine-title{color:var(--text-soft)}.include-chip{background:var(--accent-tint-strong);border:1px solid var(--accent-border);color:var(--accent-dark);border-radius:999px;align-items:center;gap:5px;padding:3px 6px 3px 12px;font-weight:600;display:inline-flex}.combine-includes select{border:1px solid var(--border);color:var(--text-soft);background:#fff;border-radius:6px;padding:4px 8px}.combine-total{color:var(--accent-dark);margin:0;font-size:13px;font-weight:700}.stock-missing{color:var(--text-soft);margin:10px 0 0;font-size:13px;line-height:1.5}.panel-total{color:var(--text-soft);margin:8px 0 0;font-size:12px}.profile-pick{border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.profile-pick:hover{border-color:var(--accent)}.profile-pick-empty{color:var(--text-soft);border-style:dashed;font-style:italic}.picker-backdrop{z-index:50;background:#14181f73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.picker{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3xl);width:min(440px,100vw - 32px);box-shadow:var(--sh-modal);padding:20px}.picker h3{margin:0 0 6px;font-size:16px}.picker-info{color:var(--text-soft);margin:0 0 14px;font-size:13px}.picker-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.picker-fields label{color:var(--text-soft);flex-direction:column;gap:4px;font-size:13px;display:flex}.picker-fields select,.picker-fields input{border:1px solid var(--border);color:var(--text,#222);background:#fff;border-radius:6px;padding:7px 8px;font-size:14px}.pick-profile{width:min(560px,100vw - 32px)}.pick-propose{align-items:center;gap:var(--s-5);margin:var(--s-6) 0 var(--s-7);padding:var(--s-5) var(--s-6);border:1px solid var(--accent-border);border-radius:var(--r-2xl);background:var(--accent-tint);color:var(--text);display:flex}.pick-propose-edited{border-color:var(--ok-border);background:var(--ok-tint)}.pick-propose-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pick-origin{font-size:var(--fs-tiny);color:var(--text-soft)}.pick-propose-name{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xl);color:var(--text);font-weight:600}.pick-accept{padding:var(--s-3) var(--s-6);flex-direction:column;flex:none;gap:1px;line-height:1.15}.pick-accept-sub{font-size:var(--fs-tiny);color:#ffffffeb;font-weight:400}.pick-alt-title{margin:0 0 var(--s-3);font-size:var(--fs-base);color:var(--text);font-weight:600}.pick-tolerie{align-items:center;gap:var(--s-5);margin-top:var(--s-7);padding:var(--s-5) var(--s-6);border:1px solid var(--border);border-top:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel-alt);color:var(--text);display:flex}.pick-tolerie-text{min-width:0;font-size:var(--fs-sm);color:var(--text-soft);line-height:var(--lh-normal);flex-direction:column;flex:1;gap:2px;display:flex}.pick-tolerie-text strong{color:var(--text);font-size:var(--fs-base)}.pick-tolerie .btn-ai{flex:none}.pick-foot{margin-top:var(--s-5);justify-content:flex-end;display:flex}.pick-cancel{color:var(--text-soft);font-family:inherit;font-size:var(--fs-base);cursor:pointer;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:0 0;border:none}.pick-cancel:hover{background:var(--panel-sunken);color:var(--text)}@media (width<=620px){.pick-propose,.pick-tolerie{flex-direction:column;align-items:stretch}}.picker-preview{align-items:center;gap:8px;margin:14px 0 12px;font-size:14px;display:flex}.dxf-modal{width:min(560px,100vw - 32px)}.dxf-meta{color:var(--text-soft);margin:0 0 10px;font-size:13px}.dxf-canvas{border:1px solid var(--border);background:linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(90deg, var(--border) 1px, transparent 1px) 0 0 / 20px 20px, #fff;border-radius:8px;margin-bottom:10px;padding:8px}.dxf-canvas svg{display:block}.dxf-legend{color:var(--text-soft);margin:0 0 14px;font-size:12px}.dev-toggle{color:var(--text-soft);cursor:pointer;align-items:center;gap:5px;margin-left:8px;font-size:12px;display:inline-flex}.proc-overlay{z-index:60;background:#14181f59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.proc-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-3xl);min-width:min(420px,90vw);box-shadow:var(--sh-modal);padding:18px 22px}.proc-bar{background:var(--panel-inset);border-radius:4px;height:8px;overflow:hidden}.proc-bar-fill{background:var(--accent);border-radius:4px;width:40%;height:100%;animation:1.1s ease-in-out infinite proc-slide}@keyframes proc-slide{0%{margin-left:-40%}to{margin-left:100%}}.proc-bar-determined .proc-bar-fill{margin-left:0;transition:width .28s ease-out;animation:none}.proc-label{margin-top:10px;font-size:14px}.proc-stats{color:var(--text-soft);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px}.kfactor-row{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;font-size:13px;display:flex}.kfactor-row input{border:1px solid var(--border);border-radius:6px;padding:4px 6px}.kfactor-fine{font-size:var(--fs-tiny);opacity:.85;margin-left:6px}.dxf-version-note{background:var(--warn-bg);color:var(--warn-deep);font-size:var(--fs-tiny);border-radius:6px;margin:-6px 0 12px;padding:6px 8px}.tolerie-list{border:1px solid var(--border);background:var(--panel-alt);border-radius:10px;margin:18px 0 8px;padding:14px}.tolerie-list h4{margin:0 0 4px;font-size:15px}.batch-unfold{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;flex-direction:column;gap:6px;margin:8px 0 12px;padding:10px 12px;display:flex}.batch-unfold-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.batch-unfold-bar{border-radius:var(--r-pill);background:var(--panel-inset);height:6px;overflow:hidden}.batch-unfold-fill{background:var(--accent);height:100%;transition:width .2s ease-out;display:block}.batch-unfold-summary{font-size:var(--fs-sm);color:var(--text-soft);margin:0}.batch-unfold-errors{font-size:var(--fs-tiny);color:var(--danger);margin:0;padding-left:18px}.batch-unfold-stale{background:var(--warn-bg);color:var(--warn-deep);font-size:var(--fs-sm);border-radius:6px;margin:0;padding:6px 8px}.spread-warn{color:var(--warn-deep);cursor:help;font-size:var(--fs-tiny);margin-left:4px}.nesting-progress{border-radius:var(--r-pill);background:var(--panel-inset);height:20px;margin-top:8px;position:relative;overflow:hidden}.nesting-progress-fill{background:var(--accent);height:100%;transition:width .2s ease-out;display:block}.nesting-progress-text{font-size:var(--fs-tiny);color:var(--text);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.badge-tolerie{color:#075985;background:#e0f2fe;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.row-tolerie{opacity:.7}.post-choice{border:1px solid var(--border);border-radius:6px;gap:0;display:inline-flex;overflow:hidden}.post-choice .seg{background:var(--panel);color:var(--text);cursor:pointer;border:none;padding:5px 10px;font-size:13px}.post-choice .seg.on{background:var(--accent);color:var(--text-on-dark)}.post-detail{color:var(--text-soft);margin-top:5px;font-size:12px}.tolerie-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.tolerie-inproj{cursor:pointer;width:18px;height:18px;margin:0}.dxf-develop{color:#065f46;background:#ecfdf5;border-radius:8px;margin:4px 0 8px;padding:8px 10px;font-size:14px}.sheet-bends{border-collapse:collapse;width:100%;margin:4px 0 14px;font-size:13px}.sheet-bends th,.sheet-bends td{border:1px solid var(--border);text-align:left;padding:6px 10px}.sheet-bends th{background:var(--panel-alt);font-weight:600}.dxf-key{font-weight:700}.dxf-key.contour{color:#111827}.dxf-key.percage{color:#e11d48}.picker-actions{gap:10px;display:flex}.account-oauth-sep{margin:var(--s-2) 0;text-align:center;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px;position:relative}.account-oauth-sep:before,.account-oauth-sep:after{content:"";background:var(--border);width:calc(50% - 24px);height:1px;position:absolute;top:50%}.account-oauth-sep:before{left:0}.account-oauth-sep:after{right:0}.account-oauth-google{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:box-shadow .15s,background .15s;display:inline-flex}.account-oauth-google:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px #3c40431f}.account-oauth-google:disabled{opacity:.55;cursor:not-allowed}.account-oauth-google:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.picker-actions .btn-primary{width:auto;margin-top:0}.picker-actions button:not(.btn-primary):not(.btn-ai){border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:10px 16px}.panel h2{justify-content:space-between;align-items:center;gap:10px;display:flex}.tolerie-cols{grid-template-columns:1fr 1fr}.tolerie-sheet{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tolerie-sheet label,.panel-params label{color:var(--text-soft);flex-direction:column;gap:4px;font-size:13px;display:flex}.tolerie-import{letter-spacing:normal;text-transform:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:400}.nest-bins{flex-direction:column;gap:18px;margin-top:12px;display:flex}.sheet-plan-wrap{border:1px solid var(--border);background:#fff;margin-top:6px;overflow-x:auto}.sheet-plan{width:100%;min-width:560px;height:auto;max-height:70vh;display:block}.sheet-plan .sp-sheet{fill:#fff}.sheet-plan .sp-hatch{stroke:var(--rule-soft)}.sheet-plan .sp-margin{fill:none;stroke:var(--accent-border);stroke-dasharray:6 4;stroke-width:1px;vector-effect:non-scaling-stroke}.sheet-plan .sp-piece{stroke:var(--text);stroke-opacity:.35;stroke-width:1px;vector-effect:non-scaling-stroke}.sheet-plan .sp-piece-label{font-family:var(--font-heading);font-weight:700}.sheet-plan .sp-piece-dims{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.sheet-plan .sp-offcut-text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;fill:var(--text-soft);stroke:#fff;paint-order:stroke}.sheet-plan .sp-cut{stroke:var(--danger);stroke-width:2.2px;vector-effect:non-scaling-stroke}.sheet-plan .sp-edge{fill:none;stroke:var(--text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.sheet-plan .sp-dim{stroke:var(--text-soft);stroke-width:1px;vector-effect:non-scaling-stroke}.sheet-plan .sp-dim-text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;fill:var(--text);font-weight:500}.sheet-plan .sp-marker circle{fill:#fff;stroke:var(--danger);stroke-width:2px;vector-effect:non-scaling-stroke}.sheet-plan .sp-marker text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;fill:var(--danger);font-weight:700}.sheet-plan-legend{font-size:var(--fs-sm);color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:10px;display:flex}.sheet-plan-legend span{align-items:center;gap:8px;display:inline-flex}.sp-key{width:22px;height:12px;display:inline-block}.sp-key-cut{border-top:2px solid var(--danger);height:0}.sp-key-offcut{background:repeating-linear-gradient(45deg, var(--rule-soft) 0 1.5px, #fff 1.5px 6px);border:1px solid var(--border)}.fence-num{border:1.5px solid var(--danger);width:22px;height:22px;color:var(--danger);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:inline-flex}@media print{.nest-bin{break-inside:avoid}}.contour-badge{color:var(--accent-dark);background:var(--accent-tint-strong);border:1px solid var(--accent-border);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.fence-sheet-bin{margin-top:14px}.fence-sheet-bin h4{margin:6px 0 4px;font-size:14px}.fence-sheet-bin table{border-collapse:collapse;width:100%;font-size:13px}.fence-sheet-bin th,.fence-sheet-bin td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 8px}.fence-sheet-bin th{background:var(--panel-alt);font-weight:600}.fence-sheet-bin td.mono{text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,monospace}.viewer-canvas canvas{touch-action:none}.btn-icon{min-width:32px;min-height:32px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=760px){.header{flex-direction:column;align-items:flex-start}.header-actions{flex-wrap:wrap;gap:10px}.project-bar{gap:6px}.project-sep{display:none}.panel{overflow-x:auto}.panel table{min-width:460px}.tolerie-sheet{grid-template-columns:1fr}.results-actions{flex-wrap:wrap}.stat{flex-basis:45%}.btn-icon{min-width:40px;min-height:40px}}.step-ai{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 4px;display:flex}.btn-ai{background:var(--ink);color:var(--text-on-dark);border-radius:var(--r-btn);cursor:pointer;border:none;padding:8px 14px;font-weight:600}.btn-ai:disabled{opacity:.5;cursor:default}.step-ai-result{background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-2xl);color:var(--text);flex-basis:100%;margin-top:4px;padding:10px 12px}.step-ai-facts{color:var(--text);flex-direction:column;gap:4px;margin-top:6px;font-size:13px;display:flex}.step-ai-facts strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.step-ai-facts small{color:var(--text-soft)}.step-ai-line{margin:0 0 6px;font-size:14px}.step-ai-report{white-space:pre-wrap;color:var(--text-soft);margin:0;font-family:inherit;font-size:13px}.step-ai-comment{background:var(--accent-tint);border-left:3px solid var(--accent);border-radius:var(--r-sm);margin:8px 0 0;padding:6px 10px;font-size:13px;font-style:italic}.angle-group{margin-bottom:14px}.angle-group-head{color:var(--ink);background:var(--panel-inset);border-left:3px solid var(--accent);border-radius:6px;margin-bottom:8px;padding:6px 12px;font-size:13px;font-weight:700}.print-only{display:none}@media (width<=1000px){.app,.app-editor{flex-direction:column;height:auto;display:flex;overflow:visible}.tb{flex-wrap:wrap;gap:8px;padding:8px 12px}.tb-head{flex:auto}.tb-tabs{order:10;width:100%;margin:0;overflow-x:auto}.tb-tab{flex:1 0 auto}.tb-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;min-width:0}.sb{flex-direction:row;gap:4px;padding:6px 10px;overflow:auto hidden}.sb-logo{width:48px;height:48px}.sb-group,.sb-foot{border-top:none;border-left:1px solid var(--chrome-rule);flex-direction:row;width:auto;margin-top:0;padding:0 0 0 4px}.sb-item,.sb-create{width:72px;min-height:56px;padding-bottom:4px}.main-scroll{overflow:visible}.ed-layout{flex-direction:column}.ed-rail{flex-direction:row;justify-content:center;width:auto;padding:6px}.ed-rail-item{width:96px;min-height:56px}.ed-panel{border-right:none;border-bottom:1px solid var(--color-divider);width:auto}.ed-panel>.card{overflow:visible}.ed-panel-collapse{display:none}.ed-canvas{overflow:visible}.page{padding:var(--s-7) var(--s-4) var(--s-9)}.page-bar{padding-bottom:96px}.sticky-wrap{padding-inline:var(--s-4)}.segmented button{min-height:34px;padding:0 var(--s-6)}.account-modal-close{width:34px;height:34px}}@media (width<=720px){.page-title{font-size:20px}.page-head-actions{width:100%}.page-head-actions .btn{flex:1}.pieces-table,.recap{white-space:nowrap;display:block;overflow-x:auto}.plan-note,.offcuts,.angle-group-head{margin-left:0}.plan-body,.plan-head,.plan-stat{padding:var(--s-5)}}@media print{.no-print{display:none!important}.print-only{display:block}.print-head{border-bottom:2px solid #000;margin-bottom:14px;padding-bottom:8px}.print-head h1{margin:0 0 4px;font-size:20px}.print-head p{color:#444;margin:0;font-size:12px}.results-header h2{display:none}body{background:#fff}.app{max-width:none;height:auto;max-height:none;padding:0;display:block;overflow:visible}.main,.main-scroll,.ed-layout,.ed-canvas{height:auto;min-height:0;display:block;overflow:visible}.page,.page-bar{padding:0;display:block}.results{border:none;padding:0}.plan-card,.recap-details{border-radius:var(--r-lg);box-shadow:none;border:none}.plan-head,.plan-body{background:#fff;border-top:none;border-bottom:none;padding:0}.plan-verdict{color:#000;background:#fff;border-bottom:1px solid #000;padding:0 0 10px}.plan-verdict-badge{color:#000;background:#fff;border-color:#999}.recap-details>summary{display:none}.recap-details{display:block}.bar-head,.bar-row,.ortho-views,.plan-group-head,.plan-stats,.plan-stat,.stats{break-inside:avoid}.bar-head{break-after:avoid}.recap tr,.cutlist-table tr{break-inside:avoid}.cutlist-body{display:block!important}.bar-num,.profile-icon,.legend-swatch,.rep-swatch,.saw-no,.plan-legend-key{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.plan-hero{align-items:center;gap:var(--s-7);padding:var(--s-7) var(--s-9);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--sh-card);flex-wrap:wrap;display:flex}.plan-hero-main{flex-direction:column;flex:240px;gap:3px;min-width:0;display:flex}.plan-hero-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);margin:0;font-weight:600}.plan-hero-meta{font-size:var(--fs-lg);color:var(--text-soft);margin:0}.plan-hero-meta strong{color:var(--text);font-weight:600}.plan-hero-sep{margin:0 var(--s-2);color:var(--text-icon)}.plan-hero-state{margin:var(--s-1) 0 0;font-size:var(--fs-sm);font-weight:600}.plan-hero-state-ok{color:var(--ok)}.plan-hero-state-warn{color:var(--warn)}.plan-hero-figures{gap:var(--s-7);padding:var(--s-4) var(--s-6);border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel-alt);color:var(--text);cursor:pointer;font:inherit;text-align:left;flex-wrap:wrap;display:flex}.plan-hero-figures:hover{border-color:var(--border-strong);background:var(--panel-sunken)}.plan-hero-figures:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plan-hero-fig{flex-direction:column;gap:1px;display:flex}.plan-hero-fig-value{font-size:var(--fs-2xl);color:var(--text);font-weight:600;line-height:1.1}.plan-hero-fig-label{font-size:var(--fs-tiny);color:var(--text-soft)}.plan-hero-fig-ok .plan-hero-fig-value{color:var(--ok)}.plan-hero-actions{align-items:center;gap:var(--s-3);flex:none;display:flex}.plan-hero-cta{gap:var(--s-3)}.settings-main{align-items:center;gap:var(--s-6);flex-wrap:wrap;flex:auto;display:flex}.settings-adv{border-top:1px solid var(--divider);padding-top:var(--s-4);flex:100%}.settings-adv-summary{align-items:center;gap:var(--s-3);cursor:pointer;font-size:var(--fs-sm);color:var(--text-soft);width:fit-content;padding:var(--s-1) 0;font-weight:600;list-style:none;display:flex}.settings-adv-summary::-webkit-details-marker{display:none}.settings-adv-summary:hover{color:var(--text)}.settings-adv-summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}.settings-adv-caret{color:var(--text-icon);transition:transform .12s;display:inline-block}.settings-adv[open] .settings-adv-caret{transform:rotate(180deg)}.settings-adv-body{align-items:center;gap:var(--s-6);padding-top:var(--s-5);flex-wrap:wrap;display:flex}.plan-verdict{align-items:center;gap:var(--s-7);padding:var(--s-7) var(--s-9);border-bottom:1px solid var(--border);background:var(--panel-alt);color:var(--text);flex-wrap:wrap;display:flex}.plan-verdict-main{align-items:baseline;gap:var(--s-3);flex:none;display:flex}.plan-verdict-value{letter-spacing:var(--track-tighter);color:var(--text);font-size:40px;font-weight:600;line-height:1}.plan-verdict-label{font-size:var(--fs-lg);color:var(--text-soft)}.plan-verdict-line{font-size:var(--fs-lg);color:var(--text-soft);flex:240px;margin:0}.plan-verdict-line strong{color:var(--text);font-weight:600}.plan-verdict-line strong.plan-verdict-ok{color:var(--ok)}.plan-verdict-sep{margin:0 var(--s-2);color:var(--text-icon)}.plan-verdict-badge{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-radius:var(--r-pill);font-size:var(--fs-md);border:1px solid #0000;flex:none;font-weight:600;display:inline-flex}.plan-verdict-badge-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.plan-verdict-badge-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.plan-verdict-badge-bad{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.plan-verdict-badge .dot{background:currentColor}.plan-verdict-badge-num{opacity:.85;font-weight:500}.plan-stat-value-unset{font-size:var(--fs-xl);color:var(--text-soft);font-weight:500;line-height:1.6}.plan-stat-action{align-self:flex-start;margin-top:2px}.plan-offcuts{align-items:center;gap:var(--s-5);padding:var(--s-6) var(--s-9);border-bottom:1px solid var(--border);background:var(--ok-tint);color:var(--text);flex-wrap:wrap;display:flex}.plan-offcuts-icon{border-radius:var(--r-pill);background:var(--ok-bg);width:34px;height:34px;color:var(--ok);flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.plan-offcuts-text{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;flex:240px;min-width:0;display:flex}.plan-offcuts-value{font-size:var(--fs-stat);color:var(--ok);font-weight:600;line-height:1.1}.plan-offcuts-label{font-size:var(--fs-lg);color:var(--text)}.plan-offcuts-detail{font-size:var(--fs-sm);color:var(--text-soft)}.plan-offcuts-done{font-size:var(--fs-md);color:var(--ok);flex:none;font-weight:600}.plan-offcuts-note{font-size:var(--fs-sm);color:var(--text-soft);flex:none;max-width:32ch}.stock-balance{gap:var(--s-3);margin:0 var(--s-7) var(--s-5);padding:var(--s-5) var(--s-6);border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel-alt);color:var(--text);flex-direction:column;display:flex}.stock-balance-head{color:var(--text-soft)}.stock-balance-row{justify-content:space-between;align-items:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.stock-balance-name{font-size:var(--fs-md);min-width:0;font-weight:500}.stock-balance-cells{gap:var(--s-2);flex:none;display:flex}.stock-balance-cell{min-width:74px;padding:var(--s-2) var(--s-4);border-radius:var(--r-lg);background:var(--panel);color:var(--text);border:1px solid var(--border);flex-direction:column;align-items:center;gap:1px;display:flex}.stock-balance-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text-soft);font-weight:600}.stock-balance-value{font-size:var(--fs-xl);color:var(--text);font-weight:600;line-height:1.15}.stock-balance-cell-buy{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.stock-balance-cell-buy .stock-balance-label,.stock-balance-cell-buy .stock-balance-value{color:var(--warn)}.stock-balance-ok{font-size:var(--fs-sm);color:var(--ok);font-weight:600}@media (width<=900px){.plan-hero{padding:var(--s-6) var(--s-7)}.plan-hero-actions{width:100%}.plan-hero-cta{flex:1;justify-content:center}.plan-verdict{padding:var(--s-6) var(--s-7);gap:var(--s-5)}.plan-verdict-value{font-size:32px}.plan-offcuts{padding:var(--s-5) var(--s-7)}.stock-balance{margin:0 var(--s-5) var(--s-5)}}.stock-balance-short{font-size:var(--fs-sm);color:var(--warn);font-weight:600}.optim-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.optim-dialog{background:var(--panel);width:min(460px,100%);color:var(--text);border:1px solid var(--border-strong);padding:20px 22px;box-shadow:0 12px 40px #00000040}.optim-title{margin:0 0 4px;font-size:16px}.optim-sub{color:var(--text-soft);margin:0 0 14px;font-size:13px}.optim-track{background:var(--accent-tint);border:1px solid var(--border);height:10px;overflow:hidden}.optim-fill{background:var(--accent);height:100%;transition:width .12s linear}.optim-stats{color:var(--text-soft);flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:12px;display:flex}.optim-actions{justify-content:flex-end;margin-top:16px;display:flex}a.sb-back{text-decoration:none}.piece-report-body-3d{cursor:pointer}.piece-report-body-3d:hover{outline:1px dashed var(--accent);outline-offset:4px}.pr-grid{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;display:grid}.pr-legend{color:#64748b;margin:4px 0 0;font-size:11px}.pr-legend-vis{color:#1e293b;font-weight:700}.pr-legend-hid{letter-spacing:1px;color:#475569}.ed-canvas .plan-hero{box-shadow:none;background:0 0;border:none;padding:0}.ed-canvas .plan-hero-title{letter-spacing:-.03em;font-size:30px;font-weight:800}.ed-canvas .plan-hero-meta{font-size:var(--fs-md)}.ed-canvas .plan-hero-figures{display:none}.ed-canvas .plan-verdict{gap:var(--s-4) var(--s-7);padding:var(--s-7) var(--s-8);background:var(--panel)}.ed-canvas .plan-verdict-value{letter-spacing:-.04em;font-size:60px;font-weight:800}.ed-canvas .plan-verdict-label{font-size:18px}.ed-canvas .plan-stats{gap:var(--s-3);padding:var(--s-5) var(--s-7) var(--s-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ed-canvas .plan-stat{padding:var(--s-4) var(--s-5);border-radius:var(--r-xl);background:var(--color-surface);border:none}.ed-canvas .plan-stat-value{font-size:26px;font-weight:700}.ed-canvas .plan-stat-note{-webkit-line-clamp:3;letter-spacing:normal;text-transform:none;white-space:normal;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box}.ed-canvas .plan-stat-value-unset{font-size:18px}.ed-canvas>.page-bar{padding-bottom:var(--s-10)}.ed-canvas .sticky-wrap{margin-top:auto;padding:0}.ed-canvas .sticky-bar{justify-content:flex-start;gap:var(--s-5);width:100%;padding:10px 150px 10px var(--s-8);border:none;border-top:1px solid var(--color-divider);background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;box-shadow:0 -6px 18px #0d17420f}.ed-canvas .sticky-bar>.btn-accent{margin-left:auto}.viewer.ed-layout{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.ed-canvas .viewer-split,.ed-canvas .viewer-split-big{display:block}.viewer-panel{gap:var(--s-4);min-height:0;padding:var(--s-5) var(--s-6) var(--s-7);flex-direction:column;flex:1;display:flex;overflow-y:auto}.viewer-panel .viewer-tree{background:0 0;border:none;max-height:none;padding:0}.viewer-panel-title{letter-spacing:-.015em;margin:0;font-size:17px;font-weight:700}.viewer-panel-note{font-size:var(--fs-sm);color:var(--text-soft);margin:0;line-height:1.5}.ed-canvas .drop-zone{justify-content:center;align-items:center;gap:var(--s-3);min-height:360px;padding:var(--s-9) var(--s-6);border:2px dashed var(--color-accent-300);border-radius:var(--r-3xl);background:var(--panel);flex-direction:column;display:flex}.ed-canvas .drop-zone:before{content:"";filter:drop-shadow(0 10px 12px #0d17422e);background:url(/assets/assembly-B1iuYeFQ.svg) 50%/contain no-repeat;width:160px;height:130px}.ed-canvas .drop-zone>p:first-child{font-size:18px}.ed-canvas .drop-zone.drag-over{border-color:var(--color-accent);background:var(--color-accent-100)}.ed-panel>.panel>h2{letter-spacing:-.015em;font-size:17px;font-weight:700}.ed-panel .check-row:has(>select){align-items:stretch;gap:var(--s-1);color:var(--text);cursor:default;flex-direction:column;margin:0;display:flex}@media (width<=1000px){.ed-canvas .parts-table{display:block;overflow-x:auto}}.feedback-prompt{left:calc(var(--rail-w,0px) + var(--s-5));bottom:var(--s-5);z-index:1400;gap:var(--s-2);width:340px;max-width:calc(100vw - var(--rail-w,0px) - 2 * var(--s-5));border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel);color:var(--text);box-shadow:var(--sh-modal);flex-direction:column;padding:14px 16px 10px;display:flex;position:fixed}.feedback-head{justify-content:space-between;align-items:center;display:flex}.feedback-x{min-width:32px;min-height:32px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}.feedback-question,.feedback-thanks{margin:0}.feedback-text{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--panel);width:100%;color:var(--text);font:inherit;resize:vertical;padding:8px 10px}.feedback-error{color:var(--danger,#b42318);font-size:var(--fs-micro);margin:0}.feedback-actions{justify-content:flex-end;align-items:center;gap:var(--s-3);display:flex}.feedback-stop{color:var(--text-soft);font-size:var(--fs-micro);align-self:flex-start}@media (width<=560px){.feedback-prompt{left:var(--s-5);right:var(--s-5);bottom:calc(var(--s-5) + 64px);width:auto;max-width:none}}@media print{.feedback-prompt{display:none!important}}.feedback-optin{align-items:flex-start;gap:var(--s-2);margin:var(--s-3) 0;cursor:pointer;display:flex}.feedback-optin input{margin-top:3px}.feedback-optin small{color:var(--text-soft);font-size:var(--fs-micro);margin-top:2px;display:block}.acc{min-width:0;padding:var(--s-10) var(--s-9) var(--s-12);gap:var(--s-8);flex-direction:column;flex:1;display:flex}.acc-head{align-items:center;gap:var(--s-5);flex-wrap:wrap;justify-content:space-between;display:flex}.acc-head-thumb{object-fit:cover;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--panel-alt);width:120px;height:90px;box-shadow:var(--sh-card);flex:none}.acc-head-main{gap:var(--s-1);flex-direction:column;min-width:0;display:flex}.acc-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);margin:0;font-weight:600}.acc-sub{font-size:var(--fs-lg);color:var(--text-soft);line-height:var(--lh-normal);margin:0}.acc-sub-sep{margin:0 var(--s-2);color:var(--text-icon)}.acc-head-atelier{font-size:var(--fs-sm);color:var(--text-soft);padding:4px var(--s-3);border-radius:var(--r-pill);background:var(--panel-alt);border:1px solid var(--border);white-space:nowrap}.acc-progress{padding:var(--s-4) var(--s-5);align-items:center;gap:var(--s-3);background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-2xl);flex-wrap:wrap;margin:0;list-style:none;display:flex}.acc-progress-step{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-soft);display:inline-flex}.acc-progress-mark{border-radius:var(--r-pill);background:var(--status-idle-bg);width:20px;height:20px;color:var(--status-idle);flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.acc-progress-label{font-weight:500}.acc-progress-arrow{color:var(--text-icon);margin:0 var(--s-1);font-size:14px}.acc-progress-done .acc-progress-mark{background:var(--status-done-bg);color:var(--status-done)}.acc-progress-done .acc-progress-label{color:var(--text-soft)}.acc-progress-current .acc-progress-mark{background:var(--accent);color:var(--text-on-dark)}.acc-progress-current .acc-progress-label{color:var(--text);font-weight:700}.acc-progress-todo .acc-progress-mark{background:var(--status-idle-bg);color:var(--status-idle)}.proj-stepper{margin:var(--s-4) var(--s-5) 0;background:var(--panel);border-color:var(--border)}.proj-stepper-btn{appearance:none;border-radius:var(--r-md);cursor:pointer;align-items:center;gap:var(--s-2);color:inherit;font:inherit;background:0 0;border:0;padding:2px 4px;display:inline-flex}.proj-stepper-btn:hover{background:var(--panel-alt)}.proj-stepper-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=720px){.proj-stepper{margin:var(--s-3) var(--s-3) 0;padding:var(--s-3) var(--s-4);font-size:12px}.proj-stepper .acc-progress-label{display:none}.proj-stepper .acc-progress-mark{width:24px;height:24px}}.acc-next{justify-content:space-between;align-items:center;gap:var(--s-6);padding:var(--s-9) var(--s-10);border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);box-shadow:var(--sh-raised);flex-wrap:wrap;display:flex}.acc-next-info{border-color:var(--accent-border);background:linear-gradient(to right, var(--accent-tint), var(--panel) 60%)}.acc-next-attn{border-color:var(--warn-border);background:linear-gradient(to right, var(--warn-bg), var(--panel) 60%)}.acc-next-done{border-color:var(--ok-border);background:linear-gradient(to right, var(--ok-bg), var(--panel) 60%)}.acc-next-body{gap:var(--s-2);flex-direction:column;flex:320px;min-width:0;display:flex}.acc-next-head{align-items:center;gap:var(--s-3);display:flex}.acc-next-icon{border-radius:var(--r-2xl);background:var(--panel);border:1px solid var(--border);width:44px;height:44px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.acc-next-attn .acc-next-icon{color:var(--warn);border-color:var(--warn-border)}.acc-next-done .acc-next-icon{color:var(--ok);border-color:var(--ok-border)}.acc-next-title{font-size:var(--fs-2xl);letter-spacing:var(--track-tight);color:var(--text);margin:0;font-weight:700}.acc-next-detail{font-size:var(--fs-lg);color:var(--text-soft);line-height:var(--lh-normal);max-width:60ch;margin:0}.acc-next-cta{min-width:220px;font-size:var(--fs-lg);flex:none}.acc-summary{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.acc-summary-item{gap:var(--s-1);padding:var(--s-5) var(--s-6);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-card);flex-direction:column;display:flex}.acc-summary-value{font-size:var(--fs-2xl);color:var(--text);font-weight:700;line-height:1}.acc-summary-label{font-size:var(--fs-sm);color:var(--text-soft)}.acc-summary-ok .acc-summary-value{color:var(--ok)}.acc-summary-attn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--text)}.acc-summary-attn .acc-summary-value{color:var(--warn)}.acc-summary-step{gap:var(--s-2)}.acc-summary-step .acc-summary-label{text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--fs-micro);order:-1;font-weight:600}.acc-summary-step-value{font-size:var(--fs-lg);color:var(--text);font-weight:600}.acc-block-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);flex-wrap:wrap;display:flex}.acc-block-title{font-size:var(--fs-xl);letter-spacing:var(--track-tight);margin:0;font-weight:600}.acc-block-title-soft{color:var(--text-soft);font-weight:500}.acc-block-meta{font-size:var(--fs-sm);color:var(--text-soft)}.acc-pieces{gap:var(--s-4);flex-direction:column;display:flex}.acc-filters{gap:var(--s-1);background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px;display:inline-flex}.acc-filter{align-items:center;gap:var(--s-2);padding:5px var(--s-4);font-size:var(--fs-sm);color:var(--text-soft);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:0;font-family:inherit;font-weight:500;display:inline-flex}.acc-filter:hover:not(:disabled){color:var(--text)}.acc-filter:disabled{opacity:.5;cursor:not-allowed}.acc-filter-on{background:var(--panel);color:var(--text);box-shadow:var(--sh-hairline)}.acc-filter-attn.acc-filter-on{background:var(--warn-bg);color:var(--warn)}.acc-table-wrap{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);overflow:hidden}.acc-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);color:var(--text)}.acc-table thead th{text-align:left;padding:var(--s-3) var(--s-5);color:var(--text-soft);font-weight:600;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);background:var(--panel-sunken);border-bottom:1px solid var(--border)}.acc-table tbody td{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--rule-soft);color:var(--text)}.acc-table tbody tr:last-child td{border-bottom:0}.acc-table tbody tr:hover td{background:var(--panel-sunken)}.acc-table-num{text-align:right;font-variant-numeric:tabular-nums}.acc-cell-profile{font-weight:500}.acc-row-attn td{background:var(--warn-bg);color:var(--text)}.acc-row-attn:hover td{background:var(--warn-bg);filter:brightness(.98)}.acc-table-empty{text-align:center;color:var(--text-soft);font-style:italic;padding:var(--s-8)!important}.acc-state{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);font-weight:500;display:inline-flex}.acc-state-dot{border-radius:var(--r-pill);background:currentColor;flex:none;width:8px;height:8px}.acc-state-ok{color:var(--ok)}.acc-state-attn{color:var(--warn)}.acc-projects-block{gap:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--rule-soft);flex-direction:column;display:flex}.acc-projects{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.acc-proj{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);color:var(--text);box-shadow:var(--sh-card);cursor:pointer;text-align:left;font:inherit;min-width:0;display:flex}.acc-proj:hover{border-color:var(--border-strong);background:var(--panel-sunken)}.acc-proj-on,.acc-proj-on:hover{border-color:var(--accent-border);background:var(--accent-tint);box-shadow:var(--sh-card), 0 0 0 2px var(--accent-tint)}.acc-proj-icon{border-radius:var(--r-xl);background:var(--accent-tint);width:30px;height:30px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.acc-proj-text{flex-direction:column;flex:1;min-width:0;display:flex}.acc-proj-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.acc-proj-meta{font-size:var(--fs-tiny);color:var(--text-soft)}.acc-proj-badge{padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--accent);color:var(--text-on-dark);font-size:var(--fs-micro);flex:none;font-weight:600}.acc-proj-new{justify-content:center;gap:var(--s-2);border-style:dashed;border-color:var(--border-strong);background:var(--panel-alt);color:var(--accent);box-shadow:none;font-weight:600}.acc-proj-new:hover{border-color:var(--accent);background:var(--accent-tint)}.acc-proj-plus{font-size:var(--fs-xl);line-height:1}@media (width<=900px){.acc-next{padding:var(--s-7);align-items:stretch}.acc-next-cta{width:100%}.acc-progress{gap:var(--s-2)}}.acc-progress-wrap{gap:var(--s-4);padding:var(--s-4) var(--s-5);background:var(--panel-alt);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2xl);flex-direction:column;display:flex}.acc-progress-wrap .acc-progress{background:0 0;border:0;border-radius:0;padding:0}.acc-gauge{gap:var(--s-2);flex-direction:column;display:flex}.acc-gauge-text{font-size:var(--fs-sm);color:var(--text-soft);font-weight:500}.acc-gauge .meter{height:6px}.acc-next-subject{font-size:var(--fs-lg);color:var(--text);letter-spacing:var(--track-tight);margin:0;font-weight:600}.acc-next-locked{margin:var(--s-1) 0 0;font-size:var(--fs-sm);color:var(--warn-deep);align-items:center;gap:var(--s-2);display:inline-flex}.acc-table tbody tr{cursor:pointer}.acc-row-btn{font:inherit;color:var(--accent);cursor:pointer;text-align:left;border-radius:var(--r-xs);background:0 0;border:0;padding:0;font-weight:600}.acc-row-btn:hover{text-decoration:underline}.acc-row-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.acc-row-attn .acc-row-btn{color:var(--warn)}.acc-row-open td{background:var(--accent-tint);color:var(--text)}.acc-row-open.acc-row-attn td{background:var(--warn-hover);color:var(--text)}.acc-panel-backdrop{z-index:40;background:#10131947;position:fixed;inset:0}.acc-panel{z-index:41;gap:var(--s-6);width:min(380px,92vw);padding:var(--s-9);background:var(--panel);color:var(--text);border-left:1px solid var(--border);box-shadow:var(--sh-modal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.acc-panel-head{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.acc-panel-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);margin:0;font-weight:600}.acc-panel-reason,.acc-panel-ok{align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-radius:var(--r-2xl);font-size:var(--fs-md);margin:0;font-weight:500;display:flex}.acc-panel-reason{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.acc-panel-ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-border)}.acc-panel-fields{gap:var(--s-6);flex-direction:column;display:flex}.acc-panel-field{gap:var(--s-2);flex-direction:column;display:flex}.acc-panel-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text-soft);font-weight:600}.acc-panel-input{width:100%;font-size:var(--fs-2xl);padding:var(--s-4) var(--s-5)}.acc-panel-input-attn{border-color:var(--warn-border);background:var(--warn-strip);color:var(--text)}.acc-panel-inline{align-items:center;gap:var(--s-3);display:flex}.acc-panel-unit{font-size:var(--fs-md);color:var(--text-soft)}.acc-panel-row{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--divider);font-size:var(--fs-md);display:flex}.acc-panel-note{font-size:var(--fs-sm);color:var(--text-soft);line-height:var(--lh-normal);margin:0}.acc-panel-foot{gap:var(--s-3);flex-direction:column;margin-top:auto;display:flex}.acc-panel-foot .btn-primary{width:100%}.acc-panel-hint{font-size:var(--fs-sm);color:var(--text-soft);text-align:center;margin:0}.guide-fab{right:var(--s-5);bottom:var(--s-5);z-index:1500;align-items:center;gap:var(--s-2);border:1px solid var(--accent-dark);border-radius:var(--r-btn);background:var(--ink);min-height:44px;color:var(--text-on-dark);font-family:inherit;font-size:var(--fs-md);box-shadow:var(--sh-float);cursor:pointer;padding:0 18px;font-weight:600;display:inline-flex;position:fixed}.guide-fab:hover{background:var(--ink-hover);color:var(--text-on-dark)}.guide-panel{right:var(--s-5);bottom:var(--s-5);z-index:1500;width:380px;max-width:calc(100vw - 2 * var(--s-5));height:min(560px, calc(100vh - 2 * var(--s-5)));border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel);color:var(--text);box-shadow:var(--sh-modal);flex-direction:column;display:flex;position:fixed}.guide-head{align-items:center;gap:var(--s-2);border-bottom:1px solid var(--border);padding:10px 12px 10px 16px;display:flex}.guide-head-title{flex:1;font-weight:600}.guide-head button{border-radius:var(--r-btn);min-height:32px;color:var(--text-soft);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 10px}.guide-head button:hover{border-color:var(--border);background:var(--panel-alt);color:var(--text)}.guide-log{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.guide-intro{color:var(--text-soft);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0}.guide-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.guide-chip{border:1px solid var(--border);border-radius:var(--r-btn);background:var(--panel-alt);min-height:32px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;padding:4px 10px}.guide-chip:hover{border-color:var(--accent-border);background:var(--accent-tint);color:var(--text)}.guide-msg{max-width:92%;font-size:var(--fs-sm);line-height:var(--lh-normal);white-space:pre-wrap;padding:8px 12px}.guide-msg-user{background:var(--accent-tint);color:var(--text);align-self:flex-end}.guide-msg-assistant{background:var(--panel-alt);color:var(--text);align-self:flex-start}.guide-msg-actions{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.guide-note{color:var(--text-soft);font-size:var(--fs-xs);align-self:flex-start}.guide-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);font-size:var(--fs-sm);align-self:stretch;padding:8px 12px}.guide-form{gap:var(--s-2);border-top:1px solid var(--border);padding:10px 12px;display:flex}.guide-form input{border:1px solid var(--border);border-radius:var(--r-btn);background:var(--panel);min-width:0;min-height:40px;color:var(--text);font-family:inherit;font-size:var(--fs-md);flex:1;padding:0 10px}.guide-foot{color:var(--text-soft);font-size:var(--fs-micro);padding:0 16px 8px}.guide-feedback{font-size:inherit}.guide-spot{outline:3px solid var(--warn);outline-offset:3px;animation:.9s ease-in-out 3 guide-spot-pulse}@keyframes guide-spot-pulse{50%{outline-offset:7px;outline-color:var(--warn-strong)}}@media (prefers-reduced-motion:reduce){.guide-spot{animation:none}}@media print{.guide-fab,.guide-panel{display:none}}@media (width<=600px){.guide-fab{right:var(--s-3);bottom:var(--s-3)}.guide-panel{width:100vw;max-width:100vw;height:75vh;bottom:0;right:0}}.start{min-width:0;padding:var(--s-8) var(--s-9) var(--s-12);gap:var(--s-10);flex-direction:column;flex:1;width:100%;max-width:1320px;margin:0 auto;display:flex}.start-hero{align-items:center;gap:var(--s-4);border-radius:var(--r-3xl);color:#fff;background:radial-gradient(900px 520px at 10% -10%,#7a52ff99,#7a52ff00 60%),radial-gradient(760px 480px at 100% 28%,#28aaff73,#28aaff00 60%),linear-gradient(135deg,#060b2e 0%,#0a1cb0 46%,#0030ff 72%,#3b2bd9 100%);flex-direction:column;padding:52px 24px 36px;display:flex;position:relative;overflow:hidden}.start-hero>:not(.start-hero-ring):not(.start-hero-obj){z-index:1;position:relative}.start-hero-ring{pointer-events:none;border:2px solid #96b4ff8c;border-radius:50%;width:420px;height:420px;position:absolute;top:-190px;right:-120px;box-shadow:0 0 60px #0030ff99,inset 0 0 40px #0030ff59}.start-hero-obj{z-index:0;pointer-events:none;filter:drop-shadow(0 18px 22px #03082859);height:auto;animation:7s ease-in-out infinite start-float;position:absolute}.start-hero-obj-1{--rot:-10deg;width:112px;top:34px;left:4%}.start-hero-obj-2{--rot:8deg;width:176px;animation-delay:-3s;bottom:30px;right:4%}@keyframes start-float{0%,to{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-12px) rotate(var(--rot,0deg))}}@media (prefers-reduced-motion:reduce){.start-hero-obj{animation:none}}.start-title{font-family:var(--font-heading);letter-spacing:-.035em;text-align:center;text-wrap:balance;color:#fff;margin:0;font-size:44px;font-weight:800;line-height:1.08}.start-sub{font-size:var(--fs-lg);color:#dfe5ff;text-align:center;margin:0}.start-shortcuts{justify-content:center;gap:var(--s-5) 28px;margin-top:var(--s-5);flex-wrap:wrap;display:flex}.start-shortcut{color:#fff;text-align:center;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:12px;width:132px;padding:0;font-family:inherit;font-size:15px;font-weight:600;line-height:1.25;display:flex}.start-shortcut-tile{background:linear-gradient(160deg,#fff,#e9eeff);border-radius:28px;justify-content:center;align-items:center;width:96px;height:96px;transition:transform .2s;display:flex;box-shadow:0 10px 26px #050b2959}.start-shortcut-tile img{filter:drop-shadow(0 6px 6px #0d174233);width:70px;height:auto}.start-shortcut:hover .start-shortcut-tile{transform:translateY(-4px)rotate(-3deg)}.start-shortcut:focus-visible{outline-offset:6px;outline-color:#fff}.start-section{gap:var(--s-5);flex-direction:column;display:flex}.start-h2{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text);margin:0;font-size:24px;font-weight:700}.start-cards{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));display:grid}.start-card{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--sh-card);flex-direction:column;padding:0;transition:box-shadow .16s,transform .16s;display:flex;overflow:hidden}.start-card:hover{box-shadow:var(--sh-float);transform:translateY(-2px)}.start-card:active{transform:translateY(0)}.start-card-primary{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--sh-card)}.start-card-art{background:linear-gradient(180deg, var(--color-accent-100), var(--color-bg));justify-content:center;align-items:center;height:150px;display:flex}.start-card-art img{object-fit:contain;filter:drop-shadow(0 10px 12px #0d17422e);width:150px;max-height:120px}.start-card-body{gap:var(--s-2);padding:var(--s-5) var(--s-6) var(--s-6);flex-direction:column;flex:1;display:flex}.start-card-title{font-family:var(--font-heading);letter-spacing:-.015em;font-size:18px;font-weight:700}.start-card-desc{font-size:var(--fs-md);color:var(--text-soft);flex:1;line-height:1.5}.start-card-cta{margin-top:var(--s-2);font-size:var(--fs-md);color:var(--accent);font-weight:600}@media (width<=1100px){.start-hero-obj{display:none}}@media (width<=720px){.start{padding:var(--s-5) var(--s-4) var(--s-9);gap:var(--s-8)}.start-hero{padding:36px 16px 28px}.start-title{font-size:30px}.start-shortcut{width:100px;font-size:14px}.start-shortcut-tile{border-radius:24px;width:80px;height:80px}.start-shortcut-tile img{width:58px}}.start-project-list{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.start-project{width:100%;min-height:80px;padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;font:inherit;box-shadow:var(--sh-card);align-items:center;gap:14px;transition:border-color .12s,background .12s;display:flex}.start-project:hover{border-color:var(--border-strong);background:var(--panel-sunken)}.start-project:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-project-current,.start-project-current:hover{border-color:var(--accent-border);background:var(--accent-tint)}.start-project-icon{border-radius:var(--r-2xl);background:var(--color-accent-100);width:46px;height:46px;color:var(--accent);border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.start-project-current .start-project-icon{background:var(--accent);color:var(--text-on-dark)}.start-project-text{gap:var(--s-1);flex-direction:column;flex:1;min-width:0;display:flex}.start-project-name{letter-spacing:-.01em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.start-project-meta{font-size:var(--fs-sm);color:var(--text-soft)}.start-project-sep{color:var(--text-icon)}.start-project-badge{padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--accent);color:var(--text-on-dark);font-size:var(--fs-tiny);flex:none;font-weight:600}.start-project-new,.start-project-new:hover{border-style:dashed;border-color:var(--border-strong);background:var(--panel-alt);color:var(--accent);box-shadow:none;justify-content:flex-start}.start-project-new:hover{border-color:var(--accent);background:var(--accent-tint)}.start-project-icon-new{background:var(--panel);color:var(--accent);border-color:var(--accent-border);border-radius:50%;font-size:22px;font-weight:600;line-height:1}.start-project-new .start-project-name{color:var(--accent)}.start-projects-more{font-size:var(--fs-sm);color:var(--text-soft);text-align:center;margin:0}.vp{min-width:0;padding:var(--s-10) var(--s-9) var(--s-12);gap:var(--s-9);flex-direction:column;flex:1;display:flex}.vp-head{gap:var(--s-6);align-items:flex-start;display:flex}.vp-head-text{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.vp-thumb{object-fit:cover;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--panel-alt);width:180px;height:135px;box-shadow:var(--sh-card);flex:none}.vp-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);margin:0;font-weight:600}.vp-sub{font-size:var(--fs-lg);color:var(--text-soft);margin:0}.vp-stats{gap:var(--s-3);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.vp-stat{padding:5px var(--s-5);border-radius:var(--r-pill);background:var(--panel-inset);color:var(--text-soft);font-size:var(--fs-sm);align-items:baseline;gap:5px;display:inline-flex}.vp-stat strong{color:var(--text);font-weight:600}.vp-stat-ok{background:var(--status-done-bg);color:var(--status-done)}.vp-stat-ok strong{color:var(--status-done)}.vp-section{gap:var(--s-5);flex-direction:column;display:flex}.vp-section-head{align-items:center;gap:var(--s-3);display:flex}.vp-dot{border-radius:var(--r-pill);flex:none;width:10px;height:10px}.vp-section-title{font-size:var(--fs-xl);letter-spacing:var(--track-tight);margin:0;font-weight:600}.vp-section-meta{font-size:var(--fs-xs);color:var(--text-soft)}.vp-section-action{margin-left:auto}.vp-none{font-size:var(--fs-sm);color:var(--text-soft);margin:0}.vp-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.vp-grid-tole{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.vp-card{gap:var(--s-4);padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);box-shadow:var(--sh-card);flex-direction:column;display:flex}.vp-card-fig{min-height:60px;color:var(--text-soft);justify-content:center;align-items:center;display:flex}.vp-card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.vp-card-title{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.vp-card-line{font-size:var(--fs-sm);color:var(--text-soft)}.vp-card-line strong{color:var(--text)}.vp-card-line-soft{font-size:var(--fs-tiny);color:var(--text-icon)}.vp-coupe-bar{border-radius:var(--r-sm);background:linear-gradient(#5f84b5,#496f9f);width:100%;height:30px}.vp-tole-fig{border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--s-3);background:#fff;justify-content:center;align-items:center;display:flex}.vp-empty{align-items:flex-start;gap:var(--s-5);padding:var(--s-9);border:1px dashed var(--border-strong);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);flex-direction:column;display:flex}.vp-empty p{font-size:var(--fs-lg);color:var(--text-soft);max-width:60ch;margin:0}.vp-empty-actions{gap:var(--s-3);flex-wrap:wrap;display:flex}.ts{min-width:0;padding:var(--s-10) var(--s-9) var(--s-12);gap:var(--s-8);flex-direction:column;flex:1;display:flex}.ts-head{gap:var(--s-5);align-items:flex-start;display:flex}.ts-head-icon{border-radius:var(--r-2xl);background:var(--accent-tint);width:52px;height:52px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.ts-thumb{object-fit:cover;border-radius:var(--r-2xl);border:1px solid var(--border);background:var(--panel-alt);width:140px;height:105px;box-shadow:var(--sh-card);flex:none}.ts-title{margin:0 0 var(--s-2) 0;font-size:var(--fs-h1);letter-spacing:var(--track-tighter);font-weight:600}.ts-sub{color:var(--text-soft);font-size:var(--fs-md);line-height:var(--lh-normal);max-width:70ch;margin:0}.ts-params{gap:var(--s-5);padding:var(--s-5) var(--s-6);border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel-alt);color:var(--text);flex-wrap:wrap;align-items:center;display:flex}.ts-toggle{align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer;display:inline-flex}.ts-toggle input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.ts-toggle-note{color:var(--text-soft);font-size:var(--fs-tiny)}.ts-price{align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text);margin-left:auto;display:inline-flex}.ts-price-input{align-items:center;gap:var(--s-1);padding:4px var(--s-3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel);display:inline-flex}.ts-price-input input{width:80px;font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);text-align:right;background:0 0;border:0;outline:none}.ts-price-input input:focus{outline:none}.ts-price-unit{color:var(--text-soft);font-size:var(--fs-tiny)}.ts-totals{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.ts-total{gap:var(--s-2);padding:var(--s-6) var(--s-7);background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-card);flex-direction:column;display:flex}.ts-total-main{background:linear-gradient(to right, var(--accent-tint), var(--panel) 70%);border-color:var(--accent-border);grid-column:1/-1}.ts-totals-with-cost .ts-total-main{grid-column:auto}.ts-total-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text-soft);font-weight:600}.ts-total-value{font-size:var(--fs-2xl);color:var(--text);font-weight:700;line-height:1}.ts-total-main .ts-total-value{color:var(--accent);font-size:32px}.ts-total-unit{font-size:var(--fs-md);color:var(--text-soft);font-weight:500}.ts-total-cost{background:var(--ok-bg);border-color:var(--ok-border);color:var(--text)}.ts-total-cost .ts-total-value{color:var(--ok)}.ts-section{gap:var(--s-3);flex-direction:column;display:flex}.ts-block-title{font-size:var(--fs-xl);letter-spacing:var(--track-tight);margin:0;font-weight:600}.ts-table-wrap{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--panel);overflow:hidden}.ts-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);color:var(--text)}.ts-table thead th{text-align:left;padding:var(--s-3) var(--s-5);color:var(--text-soft);font-weight:600;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps);background:var(--panel-sunken);border-bottom:1px solid var(--border)}.ts-table tbody td{padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--rule-soft)}.ts-table tbody tr:last-child td{border-bottom:0}.ts-table tbody tr:hover td{background:var(--panel-sunken)}.ts-table tfoot td{padding:var(--s-3) var(--s-5);background:var(--panel-sunken);border-top:1px solid var(--border);color:var(--text);font-weight:600}.ts-num{text-align:right;font-variant-numeric:tabular-nums}.ts-profile{font-weight:500}.ts-cell-total{color:var(--text);font-weight:700}.ts-row-warn td{background:var(--warn-bg);color:var(--text)}.ts-row-warn:hover td{background:var(--warn-bg);filter:brightness(.98)}.ts-row-warn-msg{color:var(--warn);font-weight:500;font-size:var(--fs-tiny)}.ts-foot-label{text-align:right;color:var(--text-soft);text-transform:uppercase;letter-spacing:var(--track-caps);font-size:var(--fs-micro)}.ts-empty{padding:var(--s-9) var(--s-6);text-align:center;color:var(--text-soft);background:var(--panel-alt);border:1px dashed var(--border-strong);border-radius:var(--r-2xl);font-size:var(--fs-md)}.ts-alert{gap:var(--s-4);padding:var(--s-5) var(--s-6);border:1px solid var(--warn-border);border-radius:var(--r-2xl);background:var(--warn-bg);color:var(--text);box-shadow:var(--sh-card);display:flex}.ts-alert-icon{border-radius:var(--r-2xl);background:var(--panel);width:40px;height:40px;color:var(--warn);border:1px solid var(--warn-border);flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:inline-flex}.ts-alert-body{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.ts-alert-title{font-size:var(--fs-lg);color:var(--warn);margin:0;font-weight:600}.ts-alert-list{padding-left:var(--s-5);font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-normal);margin:0}.ts-alert-list strong{color:var(--warn);font-weight:700}.ts-alert-cta{align-self:flex-start}.dev{max-width:1400px;margin:0 auto;padding:20px 24px 40px}.dev-head{align-items:center;gap:16px;margin-bottom:20px;display:flex}.dev-thumb{object-fit:cover;background:var(--surface-2,#f5f5f5);border-radius:8px;width:64px;height:64px}.dev-head-icon{background:var(--surface-2,#f5f5f5);width:64px;height:64px;color:var(--text-2,#666);border-radius:8px;place-items:center;display:grid}.dev-title{margin:0;font-size:1.4rem;font-weight:600}.dev-sub{color:var(--text-2,#666);margin:2px 0 0;font-size:.9rem}.dev-banner{color:#7a4a00;background:#fff4e5;border:1px solid #f5c890;border-left:4px solid #f28e2b;border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;line-height:1.5}.dev-banner strong{color:#b0530c}.dev-grid{grid-template-columns:minmax(0,1fr) 380px;gap:20px;display:grid}@media (width<=1100px){.dev-grid{grid-template-columns:1fr}}.dev-form,.dev-chat{background:var(--surface-1,#fff);border:1px solid var(--border,#e0e0e0);border-radius:10px;padding:16px 18px}.dev-block-title{color:var(--text-1,#222);margin:0 0 10px;font-size:.95rem;font-weight:600}.dev-block+.dev-block{border-top:1px dashed var(--border,#e0e0e0);margin-top:18px;padding-top:16px}.dev-recap{color:var(--text-2,#666);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.85rem;display:grid}.dev-recap-val{color:var(--text-1,#222);font-weight:600}.dev-block-title-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dev-block-title-row .dev-block-title{margin:0}.dev-btn-add{padding:4px 10px;font-size:.82rem}.dev-posts-header,.dev-post-row{grid-template-columns:minmax(120px,1.4fr) 80px 60px 80px 70px 90px 60px;align-items:center;gap:6px;padding:4px 0;font-size:.85rem;display:grid}.dev-post-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.dev-posts-header{color:var(--text-2,#888);border-bottom:1px solid #eee;margin-bottom:6px;padding-bottom:4px;font-size:.75rem;font-weight:500}.dev-posts-header .dev-num{text-align:right}.dev-unit-label{text-align:left;color:var(--text-2,#888);font-size:.72rem}.dev-post-row{border-bottom:1px dashed #f0f0f0;padding:5px 0}.dev-post-label{color:var(--text-1,#222);font-weight:500}.dev-post-label-input,.dev-unit-input{border:1px solid var(--border,#d0d0d0);border-radius:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:.85rem}.dev-unit-input{font-size:.78rem}.dev-post-row input.dev-num,.dev-post-row input[type=number]{border:1px solid var(--border,#d0d0d0);font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums;text-align:right;border-radius:4px;width:100%;padding:4px 6px;font-size:.85rem}.dev-unit{color:var(--text-2,#666);font-size:.78rem}.dev-post-amount{text-align:right;color:var(--text-1,#222);font-weight:600}.dev-post-del{color:#a02020;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.dev-post-del:hover{color:#d02020}.dev-inline-help{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dev-chip{color:#245a94;cursor:pointer;background:#eaf2fb;border:1px dashed #7ba7d0;border-radius:12px;padding:3px 10px;font-size:.78rem}.dev-chip:hover{background:#d8e8f6}.dev-mtg{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.dev-mtg label{grid-template-columns:1fr 70px auto;align-items:center;gap:6px;font-size:.85rem;display:grid}.dev-mtg input{border:1px solid var(--border,#d0d0d0);text-align:right;font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums;border-radius:4px;padding:4px 6px}.dev-totals{background:var(--surface-2,#f7f7f7);border-radius:8px;margin-top:16px;padding:14px 16px}.dev-total-line{justify-content:space-between;padding:4px 0;font-size:.9rem;display:flex}.dev-total-line-grand{border-top:1px solid var(--border,#d0d0d0);margin-top:6px;padding-top:8px;font-size:1.05rem;font-weight:700}.dev-total-value{font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums}.dev-chat{flex-direction:column;min-height:480px;padding:0;display:flex}.dev-chat-head{border-bottom:1px solid var(--border,#e0e0e0);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.dev-chat-reset{color:var(--text-2,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.8rem}.dev-chat-reset:hover{background:var(--surface-2,#f0f0f0)}.dev-chat-log{flex-direction:column;flex:1;gap:10px;min-height:320px;max-height:560px;padding:12px 16px;display:flex;overflow-y:auto}.dev-msg{white-space:pre-wrap;flex-direction:column;max-width:90%;font-size:.88rem;line-height:1.4;display:flex}.dev-msg-user{color:#0f2b5b;background:#dbeafe;border-radius:10px 10px 2px;align-self:flex-end;padding:8px 12px}.dev-msg-assistant{color:#222;background:#f0f0f0;border-radius:10px 10px 10px 2px;align-self:flex-start;padding:8px 12px}.dev-msg-error{color:#8b0000;background:#ffe0e0;border-radius:6px;align-self:stretch;padding:6px 10px;font-size:.82rem}.dev-msg-thinking{color:var(--text-2,#666);align-self:flex-start;padding:4px 8px;font-size:.85rem;font-style:italic}.dev-chat-empty{color:var(--text-2,#888);text-align:center;padding:20px;font-size:.85rem}.dev-chat-form{border-top:1px solid var(--border,#e0e0e0);gap:6px;padding:10px 12px;display:flex}.dev-chat-form textarea{resize:none;border:1px solid var(--border,#d0d0d0);border-radius:6px;flex:1;height:40px;padding:8px 10px;font-family:inherit;font-size:.88rem}.dev-chat-send{color:#fff;cursor:pointer;background:#2b6cb0;border:none;border-radius:6px;padding:0 14px;font-weight:600}.dev-chat-send:disabled{cursor:not-allowed;background:#a0aec0}.dev-nuance{grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.dev-nuance select{border:1px solid var(--border,#d0d0d0);background:#fff;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.9rem}.dev-nuance-manage{border:1px solid var(--border,#d0d0d0);background:var(--surface-2,#f5f5f5);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:.82rem}.dev-nuance-manage:hover{background:#eaeaea}.dev-mass-auto{color:var(--text-2,#666);align-items:center;gap:6px;margin-top:-2px;margin-bottom:8px;font-size:.78rem;display:flex}.dev-mass-auto button{cursor:pointer;color:var(--text-1,#222);background:0 0;border:1px dashed #b0b0b0;border-radius:4px;padding:2px 8px;font-size:.78rem}.dev-mass-auto button:hover{background:#f0f0f0}.dev-mass-warn{color:#b06000;font-size:.75rem}.dev-modal-backdrop{z-index:100;background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dev-modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;box-shadow:0 10px 40px #0000004d}.dev-modal-head{border-bottom:1px solid var(--border,#e0e0e0);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.dev-modal-head h2{margin:0;font-size:1.05rem}.dev-modal-close{cursor:pointer;color:var(--text-2,#666);background:0 0;border:none;padding:0 6px;font-size:1.6rem;line-height:1}.dev-modal-note{color:var(--text-2,#666);border-bottom:1px dashed #e5e5e5;margin:12px 20px 0;padding-bottom:8px;font-size:.82rem}.dev-modal-body{flex:1;padding:12px 20px;overflow-y:auto}.dev-mat-table{border-collapse:collapse;width:100%;font-size:.88rem}.dev-mat-table th,.dev-mat-table td{text-align:left;border-bottom:1px solid #eee;padding:6px 8px}.dev-mat-table th.dev-num,.dev-mat-table td.dev-num{text-align:right}.dev-th-unit{color:var(--text-2,#888);font-size:.75rem;font-weight:400}.dev-mat-table input[type=text],.dev-mat-table input[type=number],.dev-mat-table select{border:1px solid #d0d0d0;border-radius:4px;width:100%;padding:4px 6px;font-family:inherit;font-size:.85rem}.dev-mat-table td.dev-num input{text-align:right;font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums}.dev-mat-del{color:#a02020;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.1rem}.dev-modal-foot{border-top:1px solid var(--border,#e0e0e0);gap:8px;padding:12px 20px;display:flex}.dev-modal-tabs{border-bottom:1px solid var(--border,#e0e0e0);gap:4px;padding:8px 20px 0;display:flex}.dev-modal-tab{cursor:pointer;color:var(--text-2,#666);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:8px 16px;font-size:.88rem}.dev-modal-tab-on{border-color:var(--border,#e0e0e0);color:var(--text-1,#222);background:#fff;font-weight:600;position:relative;top:1px}.dev-modal-actions{border-top:1px solid var(--border,#e0e0e0);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;display:flex}.dev-post-group+.dev-post-group{margin-top:16px}.dev-post-group-title{color:#2b6cb0;border-bottom:1px dashed #cfd8e5;margin:8px 0 6px;padding-bottom:2px;font-size:.85rem;font-weight:600}.dev-btn-ai{color:#5a2a95;background:#f0eafd;border-color:#b090e0}.dev-btn-ai:hover:not(:disabled){background:#e5daf9}.dev-btn-ai:disabled{opacity:.6;cursor:not-allowed}.dev-ai-proposal{background:#f7f2ff;border:1px solid #d0bff0;border-radius:8px;margin:12px 20px 0;padding:10px 14px}.dev-ai-proposal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dev-ai-proposal-head>div{gap:6px;display:flex}.dev-ai-proposal ul{flex-direction:column;gap:3px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.dev-ai-proposal ul code{background:#fff;border:1px solid #e0d0f5;border-radius:3px;padding:1px 5px}.dev-ai-proposal-note{color:var(--text-2,#666);margin:8px 0 0;font-size:.78rem;font-style:italic}.dev-add-menu{display:inline-block;position:relative}.dev-add-panel{border:1px solid var(--border,#d0d0d0);z-index:40;background:#fff;border-radius:8px;min-width:280px;max-height:400px;padding:6px 0;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.dev-add-group-title{color:#2b6cb0;text-transform:uppercase;padding:6px 12px 2px;font-size:.72rem;font-weight:600}.dev-add-item{cursor:pointer;text-align:left;width:100%;color:var(--text-1,#222);background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.85rem;display:flex}.dev-add-item:hover{background:#eaf2fb}.dev-add-item-unit{color:var(--text-2,#888);font-size:.74rem;font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums}.dev-add-sep{border:none;border-top:1px solid #eee;margin:6px 0}.dev-add-freeform{color:#2b6cb0;font-weight:500}.dev-post-save{color:#2a7a2a;cursor:pointer;background:0 0;border:1px dashed #b0d0b0;border-radius:4px;margin-right:4px;padding:2px 6px;font-size:.72rem}.dev-post-save:hover{background:#e0f0e0}.dev-post-save-saved{color:#2a7a2a;margin-right:4px;font-size:.72rem}.dev-pieces-toolbar{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;display:flex}.dev-toggle{cursor:pointer;align-items:center;gap:6px;display:flex}.dev-pieces-count{color:var(--text-2,#666);font-size:.78rem}.dev-pieces-empty{text-align:center;color:var(--text-2,#888);padding:12px;font-size:.85rem;font-style:italic}.dev-pieces-section+.dev-pieces-section{margin-top:10px}.dev-pieces-sub{color:#2b6cb0;text-transform:uppercase;margin:8px 0 6px;font-size:.78rem;font-weight:600}.dev-pieces-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.dev-piece-card{border:1px solid var(--border,#e5e5e5);background:#fafafa;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.dev-piece-preview{background:#fff;border:1px solid #eee;border-radius:4px;flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.dev-piece-preview-flat{width:128px;height:88px}.dev-piece-info{flex:1;min-width:0;font-size:.82rem}.dev-piece-name{color:var(--text-1,#222);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.dev-piece-meta{color:var(--text-2,#666);font-size:.75rem}.dev-pieces-compact{flex-direction:column;gap:2px;display:flex}.dev-piece-row{border-bottom:1px dashed #f0f0f0;grid-template-columns:1fr 1.5fr 80px 60px;gap:8px;padding:3px 6px;font-size:.82rem;display:grid}.dev-piece-row .mono{text-align:right;color:var(--text-2,#666)}.dev-actions{border-top:1px solid var(--border,#e0e0e0);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.dev-flash-ok{color:#2a7a2a;font-size:.85rem;font-weight:500}.dev-modal-small{max-width:520px}.dev-save-field{margin-bottom:12px}.dev-save-field label{color:var(--text-1,#222);align-items:center;gap:8px;margin-bottom:4px;font-size:.85rem;font-weight:500;display:flex}.dev-save-field input,.dev-save-field textarea{border:1px solid var(--border,#d0d0d0);border-radius:6px;width:100%;padding:6px 10px;font-family:inherit;font-size:.9rem}.dev-save-field textarea{resize:vertical}.dev-btn-inline{margin-left:auto;padding:2px 8px;font-size:.75rem}.ai-card{background:linear-gradient(135deg,#f7f2ff 0%,#eef4fb 100%);border:1px solid #d0bff0;border-radius:10px;margin-bottom:14px;padding:14px 16px}.ai-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.ai-card-title{color:#5a2a95;font-size:.95rem;font-weight:600;display:block}.ai-card-sub{color:var(--text-2,#666);font-size:.78rem}.ai-card-hint{color:var(--text-2,#666);margin:6px 0 0;font-size:.82rem;font-style:italic}.ai-card-error{color:#8b0000;background:#ffe0e0;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:.82rem}.ai-card-reply{color:var(--text-1,#222);background:#fff;border-left:3px solid #b090e0;border-radius:6px;margin:4px 0 12px;padding:8px 10px;font-size:.88rem}.ai-card-block{border-top:1px dashed #d0bff0;margin-top:10px;padding-top:10px}.ai-card-block-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.ai-card-block-title{color:#5a2a95;text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-size:.82rem;font-weight:600}.ai-similar-list,.ai-prefill-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ai-similar-item,.ai-prefill-item{background:#fff;border:1px solid #d0bff080;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.85rem;display:flex}.ai-prefill-applied{opacity:.6;background:#f0f8f0;border-color:#b5d5b5}.ai-similar-cat{color:#245a94;font-size:.78rem}.ai-similar-conf{color:var(--text-2,#666);font-size:.75rem;font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums}.ai-similar-reason,.ai-prefill-reason{color:var(--text-2,#666);margin-top:3px;font-size:.78rem;font-style:italic}.ai-prefill-title{font-weight:600}.ai-prefill-args{color:var(--text-1,#222);margin-top:2px;font-size:.82rem}.ai-prefill-ok{color:#2a7a2a;font-size:1rem;font-weight:600}.ai-warn-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ai-warn-list li{color:#7a5b00;background:#fff9db;border-left:3px solid #f0d060;border-radius:4px;padding:6px 10px;font-size:.82rem}.dev-btn{border:1px solid var(--border,#d0d0d0);cursor:pointer;background:#fff;border-radius:6px;padding:6px 14px;font-size:.88rem}.dev-btn:hover{background:var(--surface-2,#f5f5f5)}.dev-btn-primary{color:#fff;background:#2b6cb0;border-color:#2b6cb0}.dev-btn-primary:hover{background:#245a94}.dev-side{flex-direction:column;gap:14px;display:flex}.dev-card{background:var(--surface-1,#fff);border:1px solid var(--border,#e0e0e0);border-radius:10px;padding:12px 14px}.dev-card-title{color:var(--text-2,#555);margin-bottom:8px;font-size:.82rem;font-weight:600}.dev-3d-card{text-align:center}.dev-3d-img{object-fit:contain;background:#f5f5f5;border-radius:6px;width:100%;max-width:320px;height:auto}.dev-pie-wrap{grid-template-columns:160px 1fr;align-items:center;gap:12px;display:grid}@media (width<=480px){.dev-pie-wrap{grid-template-columns:1fr;justify-items:center}}.dev-pie-legend{flex-direction:column;gap:3px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.dev-pie-legend li{grid-template-columns:12px 1fr auto;align-items:center;gap:6px;display:grid}.dev-pie-swatch{border-radius:3px;width:12px;height:12px}.dev-pie-lbl{color:var(--text-1,#222)}.dev-pie-val{color:var(--text-2,#666);font-size:.75rem}.dev-pie-empty{color:var(--text-2,#888);text-align:center;padding:20px;font-size:.82rem;font-style:italic}.dev-side .dev-chat{min-height:380px;max-height:500px}.cat{max-width:1400px;margin:0 auto;padding:20px 24px 40px}.cat-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.cat-title{margin:0;font-size:1.4rem}.cat-sub{color:var(--text-2,#666);margin:4px 0 0;font-size:.9rem}.cat-error{color:#8b0000;background:#ffe0e0;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.cat-filters{gap:10px;margin-bottom:16px;display:flex}.cat-filters input,.cat-filters select{border:1px solid var(--border,#d0d0d0);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.9rem}.cat-filters input[type=search]{flex:1}.cat-empty{text-align:center;color:var(--text-2,#888);border:1px dashed var(--border,#e0e0e0);border-radius:8px;padding:40px 20px;font-style:italic}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.cat-card{border:1px solid var(--border,#e0e0e0);background:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.cat-card-thumb{object-fit:cover;border-bottom:1px solid var(--border,#e5e5e5);background:#f5f5f5;width:100%;height:140px}.cat-card-body{flex-direction:column;flex:1;gap:8px;padding:12px 14px;display:flex}.cat-card-title{color:var(--text-1,#222);font-size:1rem;font-weight:600}.cat-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cat-card-badge{color:#245a94;cursor:default;background:#eaf2fb;border:none;border-radius:10px;padding:2px 8px;font-size:.75rem}.cat-card-badge-client{color:#7a5b00;cursor:pointer;background:#fef3e2}.cat-card-badge-client:hover{background:#f9e8c9}.cat-card-date{color:var(--text-2,#888);margin-left:auto;font-size:.75rem}.cat-card-notes{color:var(--text-2,#666);margin:0;font-size:.82rem;line-height:1.4}.cat-card-total{color:var(--text-1,#222);border-top:1px dashed #eee;padding-top:4px;font-size:.85rem}.cat-card-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.cat-card-actions .dev-btn{padding:4px 10px;font-size:.8rem}.cat-card-del{color:#a02020;border-color:#e0b0b0}.cat-card-del:hover{background:#ffe0e0}.stk{min-width:0;padding:var(--s-10) var(--s-9) var(--s-12);gap:var(--s-9);color:var(--text);flex-direction:column;flex:1;display:flex}.stk-head{justify-content:space-between;align-items:flex-start;gap:var(--s-6);display:flex}.stk-head-text{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.stk-title{font-size:var(--fs-h1);letter-spacing:var(--track-tighter);color:var(--text);margin:0;font-weight:600}.stk-sub{font-size:var(--fs-lg);color:var(--text-soft);margin:0}.stk-stats{gap:var(--s-3);flex-wrap:wrap;display:flex}.stk-stat{padding:5px var(--s-5);border-radius:var(--r-pill);background:var(--panel-inset);color:var(--text-soft);font-size:var(--fs-sm);align-items:baseline;gap:5px;display:inline-flex}.stk-stat strong{color:var(--text);font-weight:600}.stk-tabs{border-bottom:1px solid var(--border);gap:0;display:flex}.stk-tab{padding:var(--s-3) var(--s-6);font-family:inherit;font-size:var(--fs-md);color:var(--text-soft);cursor:pointer;letter-spacing:var(--track-tight);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.stk-tab:hover{color:var(--text)}.stk-tab-on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.stk-panel{gap:var(--s-7);flex-direction:column;display:flex}.stk-section{gap:var(--s-5);flex-direction:column;display:flex}.stk-section-head{align-items:center;gap:var(--s-3);display:flex}.stk-section-title{font-size:var(--fs-xl);letter-spacing:var(--track-tight);color:var(--text);margin:0;font-weight:600}.stk-section-meta{font-size:var(--fs-xs);color:var(--text-soft)}.stk-help{font-size:var(--fs-sm);color:var(--text-soft);max-width:80ch;margin:0}.stk-eyebrow{font-size:var(--fs-micro);color:var(--text-soft);text-transform:uppercase;letter-spacing:var(--track-caps);font-weight:600}.stk-card{gap:var(--s-4);padding:var(--s-6);border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);box-shadow:var(--sh-card);flex-direction:column;display:flex}.stk-form{gap:var(--s-5);padding:var(--s-7);border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);flex-direction:column;display:flex}.stk-form-title{font-size:var(--fs-xl);letter-spacing:var(--track-tight);color:var(--text);margin:0;font-weight:600}.stk-form-row{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;display:grid}.stk-form-row label{gap:var(--s-1);font-size:var(--fs-xs);color:var(--text-soft);flex-direction:column;min-width:0;display:flex}.stk-form-row input,.stk-form-row select{padding:var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--color-surface);color:var(--text);font-family:inherit;font-size:var(--fs-md);min-width:0}.stk-form-row input:focus,.stk-form-row select:focus{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-selection);outline:none}.stk-form-actions{justify-content:flex-end;gap:var(--s-3);display:flex}.stk-family-picker{gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.stk-family-btn{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--s-5) var(--s-3);align-items:center;gap:var(--s-3);cursor:pointer;color:var(--text);text-align:center;flex-direction:column;min-height:96px;transition:border-color .12s,background .12s;display:flex}.stk-family-btn:hover{border-color:var(--accent-border);background:var(--accent-tint)}.stk-family-btn.stk-family-on{border-color:var(--accent);background:var(--accent-tint-strong);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.stk-family-preview{width:52px;height:42px;color:var(--text);justify-content:center;align-items:center;display:flex}.stk-family-preview svg{max-width:100%;max-height:100%}.stk-family-label{font-size:var(--fs-xs);color:var(--text);line-height:1.25}.stk-format-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.stk-format-chip{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-pill);padding:var(--s-2) var(--s-5);cursor:pointer;color:var(--text-soft);font-family:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.stk-format-chip:hover{border-color:var(--accent-border);color:var(--text)}.stk-format-chip.stk-format-on{background:var(--accent-tint-strong);border-color:var(--accent);color:var(--text);font-weight:600}.stk-swatch{border-radius:var(--r-sm);border:1px solid var(--border-strong);vertical-align:middle;width:22px;height:22px;margin-right:var(--s-2);display:inline-block}.stk-table-wrap{border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);overflow:hidden}.stk-table{border-collapse:collapse;width:100%;font-size:var(--fs-md);color:var(--text)}.stk-table th,.stk-table td{padding:var(--s-3) var(--s-6);text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.stk-table thead th{background:var(--panel-sunken);color:var(--text-soft);font-weight:600;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-caps)}.stk-table tr:last-child td{border-bottom:none}.stk-num{text-align:right;font-variant-numeric:tabular-nums}.stk-empty{text-align:left;padding:var(--s-9);color:var(--text);border:1px dashed var(--border-strong);border-radius:var(--r-3xl);background:var(--panel)}.stk-empty p{font-size:var(--fs-lg);color:var(--text-soft);max-width:60ch;margin:0}.stk-del{color:var(--danger);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;padding:0;font-family:inherit}.stk-del:hover{text-decoration:underline}.stk-badge{padding:2px var(--s-3);border-radius:var(--r-pill);font-size:var(--fs-tiny);background:var(--panel-inset);color:var(--accent-dark);display:inline-block}.stk-hint{color:var(--text-soft);font-size:var(--fs-xs);margin:0;font-style:italic}.stk-overview{gap:var(--s-9);flex-direction:column;display:flex}.stk-overview-cards{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.stk-overview-card{gap:var(--s-2);padding:var(--s-7);border:1px solid var(--border);border-radius:var(--r-3xl);background:var(--panel);color:var(--text);flex-direction:column;display:flex}.stk-overview-label{font-size:var(--fs-micro);color:var(--text-soft);text-transform:uppercase;letter-spacing:var(--track-caps);font-weight:600}.stk-overview-value{font-size:var(--fs-stat);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.stk-overview-sub{font-size:var(--fs-sm);color:var(--text-soft)}.stk-distrib{gap:var(--s-3);flex-direction:column;display:flex}.stk-distrib-row{align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text);grid-template-columns:1fr auto;display:grid}.stk-distrib-label{align-items:center;gap:var(--s-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:flex;overflow:hidden}.stk-distrib-bar{background:var(--panel-inset);border-radius:var(--r-pill);grid-column:1/-1;height:6px;overflow:hidden}.stk-distrib-fill{background:var(--accent);height:100%}.stk-distrib-value{font-variant-numeric:tabular-nums;color:var(--text-soft);font-size:var(--fs-xs)}.stk-empty-inline{color:var(--text-soft);font-size:var(--fs-sm);font-style:italic}
