:root{--c4-blue-50:#eff6ff;--c4-blue-100:#dbeefe;--c4-blue-200:#bfe2fd;--c4-blue-300:#93d0fc;--c4-blue-400:#5bb6fb;--c4-blue-500:#3b82f6;--c4-blue-600:#0d84e8;--c4-blue-700:#0b71c9;--c4-blue-800:#0c5c9f;--c4-blue-900:#104e83;--c4-green-50:#f0fdf4;--c4-green-100:#dcfce7;--c4-green-200:#bbf7d0;--c4-green-500:#22c55e;--c4-green-700:#15803d;--c4-green-800:#166534;--c4-slate-50:#f8fafc;--c4-slate-100:#f1f5f9;--c4-slate-200:#e2e8f0;--c4-slate-300:#cbd5e1;--c4-slate-400:#94a3b8;--c4-slate-500:#64748b;--c4-slate-600:#475569;--c4-slate-700:#334155;--c4-slate-800:#1e293b;--c4-slate-900:#0f172a;--c4-amber-50:#fffbeb;--c4-amber-500:#f59e0b;--c4-amber-700:#b45309;--c4-red-50:#fef2f2;--c4-red-500:#ef4444;--c4-red-700:#b91c1c;--c4-bg:var(--c4-slate-50);--c4-bg-raised:#fff;--c4-bg-sunken:var(--c4-slate-100);--c4-bg-accent:var(--c4-blue-50);--c4-border:var(--c4-slate-200);--c4-border-strong:var(--c4-slate-300);--c4-border-accent:var(--c4-blue-300);--c4-text:var(--c4-slate-900);--c4-text-muted:var(--c4-slate-500);--c4-text-subtle:var(--c4-slate-400);--c4-text-invert:#fff;--c4-text-accent:var(--c4-blue-800);--c4-action:var(--c4-blue-700);--c4-action-hover:var(--c4-blue-800);--c4-action-soft:var(--c4-blue-100);--c4-focus-ring:color-mix(in srgb, var(--c4-blue-500) 45%, transparent);--c4-sheet-fill:#fff;--c4-sheet-stroke:var(--c4-slate-400);--c4-sheet-grid:var(--c4-slate-100);--c4-part-fill:var(--c4-blue-200);--c4-part-stroke:var(--c4-blue-700);--c4-part-label:var(--c4-blue-900,#0f3d66);--c4-part-selected:var(--c4-amber-500);--c4-waste-fill:var(--c4-slate-100);--c4-font:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--c4-font-mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, monospace;--c4-text-xs:.75rem;--c4-text-sm:.8125rem;--c4-text-base:.875rem;--c4-text-md:1rem;--c4-text-lg:1.125rem;--c4-text-xl:1.375rem;--c4-text-2xl:1.75rem;--c4-weight-normal:400;--c4-weight-medium:500;--c4-weight-semi:600;--c4-weight-bold:700;--c4-space-1:.25rem;--c4-space-2:.5rem;--c4-space-3:.75rem;--c4-space-4:1rem;--c4-space-5:1.25rem;--c4-space-6:1.5rem;--c4-space-8:2rem;--c4-space-10:2.5rem;--c4-space-12:3rem;--c4-radius-sm:4px;--c4-radius:6px;--c4-radius-md:8px;--c4-radius-lg:12px;--c4-shadow-sm:0 1px 2px 0 #0f172a0a;--c4-shadow:0 1px 3px 0 #0f172a0f, 0 1px 2px -1px #0f172a0a;--c4-shadow-md:0 4px 12px -2px #0f172a14;--c4-shadow-lg:0 12px 32px -8px #0f172a24;--c4-logo-h:36px;--c4-logo-h-lg:48px;--c4-logo-h-sm:24px;--c4-topbar-h:calc(var(--c4-logo-h) + var(--c4-space-6));--c4-sidebar-w:320px;--c4-transition:.14s cubic-bezier(.4, 0, .2, 1)}@media (prefers-reduced-motion:reduce){:root{--c4-transition:0s}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--c4-font);font-size:var(--c4-text-base);color:var(--c4-text);background:var(--c4-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}.c4-num,td.c4-num,.c4-metric__value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid var(--c4-action);outline-offset:2px;border-radius:var(--c4-radius-sm)}.c4-app{grid-template-rows:var(--c4-topbar-h) 1fr;height:100%;display:grid}.c4-topbar{align-items:center;gap:var(--c4-space-6);padding:0 var(--c4-space-5);background:var(--c4-bg-raised);border-bottom:1px solid var(--c4-border);display:flex;position:relative}.c4-brand{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.c4-brand__logo{height:var(--c4-logo-h);width:auto;display:block}.c4-topbar__right{align-items:center;gap:var(--c4-space-3);flex-shrink:0;margin-left:auto;display:flex}.c4-lang{background:var(--c4-slate-100);border-radius:var(--c4-radius);padding:2px;display:flex}.c4-lang__btn{padding:3px var(--c4-space-2);border-radius:var(--c4-radius-sm);font:inherit;font-size:var(--c4-text-xs);font-weight:var(--c4-weight-semi);letter-spacing:.03em;color:var(--c4-text-muted);cursor:pointer;transition:background var(--c4-transition), color var(--c4-transition);background:0 0;border:0}.c4-lang__btn:hover{color:var(--c4-text)}.c4-lang__btn--active{background:var(--c4-bg-raised);color:var(--c4-text);box-shadow:var(--c4-shadow-sm)}.c4-account{align-items:center;gap:var(--c4-space-2);display:flex}.c4-user{font-size:var(--c4-text-sm);color:var(--c4-slate-700);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.c4-steps{justify-content:center;align-items:center;gap:var(--c4-space-1);flex:auto;min-width:0;display:flex}.c4-step{align-items:center;gap:var(--c4-space-2);padding:var(--c4-space-2) var(--c4-space-4);border-radius:var(--c4-radius);font:inherit;font-weight:var(--c4-weight-medium);color:var(--c4-text-muted);cursor:pointer;transition:background var(--c4-transition), color var(--c4-transition);background:0 0;border:0;display:flex}.c4-step:hover:not(:disabled){background:var(--c4-slate-100);color:var(--c4-text)}.c4-step[aria-current=step]{background:var(--c4-bg-accent);color:var(--c4-text-accent)}.c4-step:disabled{opacity:.45;cursor:not-allowed}.c4-step__index{background:var(--c4-slate-200);width:20px;height:20px;color:var(--c4-slate-600);font-size:var(--c4-text-xs);font-weight:var(--c4-weight-semi);border-radius:50%;place-items:center;display:grid}.c4-step[aria-current=step] .c4-step__index{background:var(--c4-action);color:var(--c4-text-invert)}.c4-step--done .c4-step__index{background:var(--c4-blue-200);color:var(--c4-blue-800)}.c4-steps__sep{background:var(--c4-border-strong);width:18px;height:1px}.c4-body{grid-template-columns:var(--c4-sidebar-w) 1fr;min-height:0;display:grid}.c4-sidebar{background:var(--c4-bg-raised);border-right:1px solid var(--c4-border);padding:var(--c4-space-5);gap:var(--c4-space-6);flex-direction:column;display:flex;overflow-y:auto}.c4-main{background:var(--c4-bg);grid-template-rows:1fr auto;min-width:0;display:grid}.c4-panel__title{margin:0 0 var(--c4-space-3);font-size:var(--c4-text-xs);font-weight:var(--c4-weight-semi);text-transform:uppercase;letter-spacing:.06em;color:var(--c4-text-subtle)}.c4-card{background:var(--c4-bg-raised);border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);box-shadow:var(--c4-shadow-sm)}.c4-field{gap:var(--c4-space-1);flex-direction:column;display:flex}.c4-field+.c4-field{margin-top:var(--c4-space-3)}.c4-label{font-size:var(--c4-text-sm);font-weight:var(--c4-weight-medium);color:var(--c4-slate-700)}.c4-hint{font-size:var(--c4-text-xs);color:var(--c4-text-muted)}.c4-input,.c4-select{width:100%;padding:var(--c4-space-2) var(--c4-space-3);font:inherit;font-variant-numeric:tabular-nums;color:var(--c4-text);background:var(--c4-bg-raised);border:1px solid var(--c4-border-strong);border-radius:var(--c4-radius);transition:border-color var(--c4-transition), box-shadow var(--c4-transition)}.c4-input:focus,.c4-select:focus{border-color:var(--c4-action);box-shadow:0 0 0 3px var(--c4-focus-ring);outline:none}.c4-row{gap:var(--c4-space-3);grid-template-columns:1fr 1fr;display:grid}.c4-textarea{resize:vertical;min-height:96px;font-size:var(--c4-text-sm);line-height:1.5}.c4-check{align-items:center;gap:var(--c4-space-2);margin-top:var(--c4-space-3);font-size:var(--c4-text-sm);color:var(--c4-slate-700);cursor:pointer;display:flex}.c4-check input{width:15px;height:15px;accent-color:var(--c4-action);cursor:pointer;flex-shrink:0;margin:0}.c4-seg{background:var(--c4-bg-sunken);border:1px solid var(--c4-border);border-radius:var(--c4-radius);gap:2px;padding:3px;display:flex}.c4-seg__btn{padding:var(--c4-space-2) var(--c4-space-3);border-radius:var(--c4-radius-sm);font:inherit;font-size:var(--c4-text-sm);color:var(--c4-text-muted);white-space:nowrap;cursor:pointer;transition:background var(--c4-transition), color var(--c4-transition);background:0 0;border:0;flex:1}.c4-seg__btn:hover{color:var(--c4-text)}.c4-seg__btn--on{background:var(--c4-bg-raised);color:var(--c4-text-accent);font-weight:var(--c4-weight-semi);box-shadow:var(--c4-shadow-sm)}.c4-seg--sm .c4-seg__btn{padding:2px var(--c4-space-2);font-size:var(--c4-text-xs)}.c4-btn{justify-content:center;align-items:center;gap:var(--c4-space-2);padding:var(--c4-space-2) var(--c4-space-4);font:inherit;font-weight:var(--c4-weight-medium);border-radius:var(--c4-radius);cursor:pointer;transition:background var(--c4-transition), border-color var(--c4-transition);border:1px solid #0000;text-decoration:none;display:inline-flex}.c4-btn:disabled{opacity:.5;cursor:not-allowed}.c4-btn--primary{background:var(--c4-action);color:var(--c4-text-invert)}.c4-btn--primary:hover:not(:disabled){background:var(--c4-action-hover)}.c4-btn--secondary{background:var(--c4-bg-raised);color:var(--c4-slate-700);border-color:var(--c4-border-strong)}.c4-btn--secondary:hover:not(:disabled){background:var(--c4-slate-50)}.c4-btn--ghost{color:var(--c4-text-muted);background:0 0}.c4-btn--ghost:hover:not(:disabled){background:var(--c4-slate-100);color:var(--c4-text)}.c4-btn--block{width:100%}.c4-btn--lg{padding:var(--c4-space-3) var(--c4-space-5);font-size:var(--c4-text-md)}.c4-drop{border:1.5px dashed var(--c4-border-strong);border-radius:var(--c4-radius-md);background:var(--c4-bg-sunken);padding:var(--c4-space-8) var(--c4-space-4);text-align:center;color:var(--c4-text-muted);cursor:pointer;transition:border-color var(--c4-transition), background var(--c4-transition)}.c4-drop:hover,.c4-drop--over{border-color:var(--c4-action);background:var(--c4-bg-accent);color:var(--c4-text-accent)}.c4-drop__title{font-weight:var(--c4-weight-semi);color:var(--c4-text);margin-bottom:2px}.c4-drop__icon{width:28px;height:28px;margin:0 auto var(--c4-space-3);color:var(--c4-slate-400);transition:color var(--c4-transition);display:block}.c4-drop:hover .c4-drop__icon,.c4-drop--over .c4-drop__icon{color:var(--c4-action)}.c4-hint--block{margin:var(--c4-space-3) 0 0}.c4-panel+.c4-panel{padding-top:var(--c4-space-5);border-top:1px solid var(--c4-border)}.c4-sidebar__actions{padding-top:var(--c4-space-5);border-top:1px solid var(--c4-border);margin-top:auto}.c4-empty{text-align:center;color:var(--c4-text-muted)}.c4-empty__icon{width:52px;height:52px;margin:0 auto var(--c4-space-4);color:var(--c4-slate-300);display:block}.c4-empty__title{margin:0 0 var(--c4-space-1);font-weight:var(--c4-weight-semi);color:var(--c4-text)}.c4-credit{align-items:center;gap:var(--c4-space-2);opacity:.75;transition:opacity var(--c4-transition);margin-left:auto;text-decoration:none;display:flex}.c4-credit:hover{opacity:1}.c4-credit__logo{height:var(--c4-logo-h-sm);width:auto;display:block}.c4-canvas-wrap{min-height:0;padding:var(--c4-space-6);place-items:center;display:grid;position:relative;overflow:auto}.c4-sheet{background:var(--c4-sheet-fill);box-shadow:var(--c4-shadow-md)}.c4-metrics{gap:var(--c4-space-8);padding:var(--c4-space-4) var(--c4-space-6);background:var(--c4-bg-raised);border-top:1px solid var(--c4-border);display:flex}.c4-metric{flex-direction:column;gap:2px;display:flex}.c4-metric__label{font-size:var(--c4-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--c4-text-subtle)}.c4-metric__value{font-size:var(--c4-text-xl);font-weight:var(--c4-weight-semi);letter-spacing:-.02em}.c4-metric--accent .c4-metric__value{color:var(--c4-text-accent)}.c4-metric--alarm .c4-metric__value{color:var(--c4-red-700)}.c4-metric--alarm .c4-metric__label{color:var(--c4-red-700);font-weight:var(--c4-weight-semi)}.c4-badge{align-items:center;gap:var(--c4-space-1);padding:2px var(--c4-space-2);font-size:var(--c4-text-xs);font-weight:var(--c4-weight-medium);border-radius:999px;display:inline-flex}.c4-errbox{max-width:560px;max-height:220px;margin:var(--c4-space-4) auto 0;padding:var(--c4-space-3) var(--c4-space-4);background:var(--c4-slate-100);border:1px solid var(--c4-border);border-radius:var(--c4-radius);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--c4-text-xs);text-align:left;white-space:pre-wrap;word-break:break-word;color:var(--c4-slate-700);line-height:1.55;overflow:auto}.c4-badge__icon{opacity:.85;flex-shrink:0;width:14px;height:14px}.c4-badge--ok{background:var(--c4-green-100);color:var(--c4-green-800)}.c4-badge--warn{background:var(--c4-amber-50);color:var(--c4-amber-700)}.c4-badge--err{background:var(--c4-red-50);color:var(--c4-red-700)}.c4-badge--idle{background:var(--c4-slate-100);color:var(--c4-slate-600)}.c4-progress{background:var(--c4-slate-200);border-radius:999px;height:4px;overflow:hidden}.c4-progress__bar{background:var(--c4-action);height:100%;transition:width var(--c4-transition)}.c4-note{padding:var(--c4-space-3) var(--c4-space-4);border-radius:var(--c4-radius);font-size:var(--c4-text-sm);border-left:3px solid}.c4-note--info{background:var(--c4-blue-50);border-color:var(--c4-blue-500)}.c4-note--warn{background:var(--c4-amber-50);border-color:var(--c4-amber-500)}.c4-note--err{background:var(--c4-red-50);border-color:var(--c4-red-500)}@media (width<=1024px){.c4-body{grid-template-rows:auto 1fr;grid-template-columns:1fr}.c4-sidebar{border-right:0;border-bottom:1px solid var(--c4-border)}.c4-steps{margin-inline:0}.c4-step span:not(.c4-step__index){display:none}}.c4-btn--sm{padding:var(--c4-space-1) var(--c4-space-3);font-size:var(--c4-text-sm)}@media (width<=1280px){.c4-steps{position:static;transform:none}.c4-topbar{gap:var(--c4-space-4)}}@media (width<=900px){.c4-step__label,.c4-user,.c4-credit{display:none}}.c4-menu{position:relative}.c4-menu__trigger{align-items:center;gap:var(--c4-space-2);padding:var(--c4-space-1) var(--c4-space-2);background:var(--c4-bg-raised);border:1px solid var(--c4-border);font:inherit;font-size:var(--c4-text-sm);font-weight:var(--c4-weight-medium);color:var(--c4-slate-700);cursor:pointer;transition:background var(--c4-transition), border-color var(--c4-transition);border-radius:999px;display:flex}.c4-menu__trigger:hover{background:var(--c4-slate-50);border-color:var(--c4-border-strong)}.c4-menu__label{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.c4-chevron{width:12px;height:12px;color:var(--c4-text-subtle);flex-shrink:0}.c4-flag{object-fit:cover;border-radius:2px;flex-shrink:0;width:20px;height:14px;box-shadow:0 0 0 1px #0f172a14}.c4-menu__panel{top:calc(100% + var(--c4-space-2));z-index:50;min-width:232px;padding:var(--c4-space-2);background:var(--c4-bg-raised);border:1px solid var(--c4-border);border-radius:var(--c4-radius-lg);box-shadow:var(--c4-shadow-lg);position:absolute;right:0}.c4-menu__panel--sm{min-width:176px}.c4-menu__panel[hidden]{display:none}.c4-menu__header{align-items:center;gap:var(--c4-space-3);padding:var(--c4-space-2) var(--c4-space-2) var(--c4-space-3);display:flex}.c4-menu__identity{flex-direction:column;min-width:0;display:flex}.c4-menu__identity strong{font-size:var(--c4-text-base)}.c4-menu__identity .c4-hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.c4-menu__sep{height:1px;margin:var(--c4-space-2) 0;background:var(--c4-border)}.c4-menu__item{align-items:center;gap:var(--c4-space-3);width:100%;padding:var(--c4-space-2) var(--c4-space-3);border-radius:var(--c4-radius);font:inherit;font-size:var(--c4-text-base);color:var(--c4-slate-700);text-align:left;cursor:pointer;transition:background var(--c4-transition);background:0 0;border:0;display:flex}.c4-menu__item:hover:not(:disabled){background:var(--c4-slate-100)}.c4-menu__item:disabled{opacity:.45;cursor:not-allowed}.c4-menu__item--active{background:var(--c4-bg-accent);color:var(--c4-text-accent);font-weight:var(--c4-weight-semi)}.c4-menu__item--danger{color:var(--c4-red-700)}.c4-menu__item--danger:hover:not(:disabled){background:var(--c4-red-50)}.c4-menu__icon{flex-shrink:0;width:17px;height:17px}.c4-avatar{background:linear-gradient(135deg, var(--c4-blue-500), var(--c4-blue-800));width:28px;height:28px;color:var(--c4-text-invert);font-size:var(--c4-text-xs);font-weight:var(--c4-weight-bold);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.c4-avatar--lg{width:42px;height:42px;font-size:var(--c4-text-base)}.c4-overlay{z-index:100;padding:var(--c4-space-4);backdrop-filter:blur(2px);overscroll-behavior:contain;inset:0;top:var(--c4-vvt,0px);height:var(--c4-vvh,100%);background:#0f172a52;place-items:center;display:grid;position:fixed;bottom:auto;overflow-y:auto}html.c4-modal-open,html.c4-modal-open body{overflow:hidden}.c4-signin{position:relative}.c4-signin__close{top:var(--c4-space-2);right:var(--c4-space-2);position:absolute}.c4-signin{width:100%;max-width:380px;padding:var(--c4-space-8);background:var(--c4-bg-raised);border-radius:var(--c4-radius-lg);box-shadow:var(--c4-shadow-lg);text-align:center}.c4-signin__logo{height:var(--c4-logo-h-lg);width:auto;margin:0 auto var(--c4-space-5);display:block}.c4-signin__title{margin:0 0 var(--c4-space-2);font-size:var(--c4-text-lg)}.c4-signin__sub{margin:0 0 var(--c4-space-6)}.c4-signin .c4-btn+.c4-btn{margin-top:var(--c4-space-3)}.c4-signin__terms{margin:var(--c4-space-5) 0 0;line-height:1.5}.c4-dialog{width:100%;max-width:560px;max-height:min(90dvh,760px);max-height:min(calc(var(--c4-vvh,100vh) * .9), 760px);background:var(--c4-bg-raised);border-radius:var(--c4-radius-lg);box-shadow:var(--c4-shadow-lg);flex-direction:column;display:flex}.c4-dialog__head{justify-content:space-between;align-items:center;gap:var(--c4-space-3);padding:var(--c4-space-4) var(--c4-space-5);border-bottom:1px solid var(--c4-border);display:flex}.c4-dialog__title{font-size:var(--c4-text-md);margin:0}.c4-dialog__body{padding:var(--c4-space-5);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.c4-dialog__head,.c4-dialog__foot{flex-shrink:0}.c4-dialog__foot{justify-content:flex-end;gap:var(--c4-space-2);padding:var(--c4-space-4) var(--c4-space-5);border-top:1px solid var(--c4-border);display:flex}.c4-kv{justify-content:space-between;gap:var(--c4-space-4);padding:var(--c4-space-3) 0;border-bottom:1px solid var(--c4-border);font-size:var(--c4-text-sm);display:flex}.c4-kv:last-child{border-bottom:0}.c4-kv__key{color:var(--c4-text-muted)}.c4-kv__val{text-align:right;font-weight:600}.c4-notice{margin:var(--c4-space-4) 0 0;padding:var(--c4-space-3) var(--c4-space-4);background:var(--c4-bg-accent);border-left:3px solid var(--c4-border-accent);border-radius:var(--c4-radius-sm);color:var(--c4-text-accent);font-size:var(--c4-text-sm);line-height:1.55}.c4-addpart{gap:var(--c4-space-5);margin:var(--c4-space-5) 0;grid-template-columns:1fr auto;align-items:start;display:grid}.c4-addpart__preview{background:var(--c4-bg-sunken);border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);place-items:center;width:136px;height:136px;margin:0;display:grid}.c4-addpart__preview .c4-thumb{background:0 0;border:0}.c4-sheetimport__actions{gap:var(--c4-space-2);margin:var(--c4-space-4) 0;display:flex}.c4-table{width:100%;margin:var(--c4-space-3) 0 0;border-collapse:collapse;font-size:var(--c4-text-sm)}.c4-table td{padding:var(--c4-space-1) var(--c4-space-2);border-bottom:1px solid var(--c4-border)}.c4-table td:first-child{width:100%}.c4-table td:not(:first-child){text-align:right;white-space:nowrap;color:var(--c4-text-muted)}.c4-addrow{gap:var(--c4-space-2);margin-top:var(--c4-space-3);grid-template-columns:1fr 1fr;display:grid}.c4-addrow .c4-btn{min-width:0}.c4-panel__head{justify-content:space-between;align-items:baseline;gap:var(--c4-space-2);display:flex}.c4-partlist{margin:var(--c4-space-3) 0 0;padding:0;list-style:none}.c4-partlist__item{align-items:center;gap:var(--c4-space-3);padding:var(--c4-space-2);border-radius:var(--c4-radius);transition:background var(--c4-transition);display:flex}.c4-partlist__item:hover{background:var(--c4-slate-50)}.c4-partlist__info{flex-direction:column;flex:1;min-width:0;display:flex}.c4-partlist__name{font-size:var(--c4-text-sm);font-weight:var(--c4-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.c4-input--qty{width:58px;padding:var(--c4-space-1) var(--c4-space-2);text-align:center}.c4-thumb{background:var(--c4-bg-sunken);border:1px solid var(--c4-border);border-radius:var(--c4-radius-sm);flex-shrink:0}.c4-iconbtn{border-radius:var(--c4-radius-sm);width:28px;height:28px;color:var(--c4-text-subtle);cursor:pointer;transition:background var(--c4-transition), color var(--c4-transition);background:0 0;border:0;place-items:center;padding:0;display:grid}.c4-iconbtn:hover{background:var(--c4-red-50);color:var(--c4-red-700)}.c4-preview{width:100%;max-width:900px}.c4-preview__grid{gap:var(--c4-space-4);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.c4-preview__item{padding:var(--c4-space-4);background:var(--c4-bg-raised);border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);box-shadow:var(--c4-shadow-sm);text-align:center;margin:0}.c4-preview__item .c4-thumb{margin:0 auto var(--c4-space-3);background:0 0;border:0}.c4-preview__name{font-size:var(--c4-text-sm);font-weight:var(--c4-weight-medium);display:block}.c4-preview__summary{margin:var(--c4-space-5) 0 0;text-align:center}.c4-result{width:100%;max-width:1100px}.c4-result__toolbar{align-items:center;gap:var(--c4-space-3);margin-bottom:var(--c4-space-3);flex-wrap:wrap;display:flex}.c4-result__grid{gap:var(--c4-space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.c4-result__sheet{padding:var(--c4-space-3);background:var(--c4-bg-raised);border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);box-shadow:var(--c4-shadow-sm);margin:0}.c4-result__svg{background:var(--c4-bg-sunken);border-radius:var(--c4-radius-sm);width:100%;height:auto;max-height:340px;display:block}.c4-result__sheet figcaption{justify-content:space-between;align-items:baseline;gap:var(--c4-space-2);margin-top:var(--c4-space-2);display:flex}.c4-result__name{font-size:var(--c4-text-sm);font-weight:var(--c4-weight-semi)}.c4-result .c4-note{margin:0 0 var(--c4-space-4)}.c4-row{align-items:end}.c4-label{min-height:2.4em;line-height:1.2;display:block}.c4-input[type=number]{min-width:0}.c4-modal{z-index:200;padding:var(--c4-space-4);backdrop-filter:blur(2px);background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.c4-modal__box{background:var(--c4-bg-raised);border-radius:var(--c4-radius-lg);width:min(1200px,100%);height:min(820px,100%);box-shadow:var(--c4-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.c4-modal__head{justify-content:space-between;align-items:center;gap:var(--c4-space-4);padding:var(--c4-space-3) var(--c4-space-4);border-bottom:1px solid var(--c4-border);flex-wrap:wrap;display:flex}.c4-modal__tools{align-items:center;gap:var(--c4-space-1);display:flex}.c4-modal__sep{width:1px;height:20px;margin:0 var(--c4-space-2);background:var(--c4-border)}.c4-modal__canvas{min-height:0;padding:var(--c4-space-4);background:var(--c4-bg-sunken);touch-action:none;flex:1;overflow:hidden}.c4-modal__canvas--dragging{cursor:grabbing}.c4-modal__svg{width:100%;height:100%;display:block}.c4-edit .c4-edit__part{cursor:grab}.c4-edit .c4-edit__part:hover{fill:var(--c4-blue-300,#93c5fd)}.c4-edit .c4-edit__part--sel{fill:var(--c4-blue-300,#93c5fd);stroke:var(--c4-action);stroke-width:2.5px}.c4-edit .c4-edit__part--bad{fill:var(--c4-red-50,#fef2f2);stroke:var(--c4-red-700,#b91c1c);stroke-width:2.5px}.c4-edit__tools{align-items:center;gap:var(--c4-space-1);display:inline-flex}.c4-edit__tools[hidden]{display:none}.c4-edit__angle{font-size:var(--c4-text-sm);align-items:center;gap:2px;display:inline-flex}.c4-edit__angle input{width:72px;padding-block:2px}.c4-edit__msg--warn{color:var(--c4-red-700,#b91c1c);font-weight:600}.c4-modal__hint{padding:var(--c4-space-2) var(--c4-space-4);border-top:1px solid var(--c4-border);text-align:center;margin:0}.c4-result__open{cursor:zoom-in;border-radius:var(--c4-radius-sm);background:0 0;border:0;width:100%;padding:0;display:block}.c4-result__open:hover .c4-result__svg{outline:2px solid var(--c4-action)}@media (width<=1100px){:root{--c4-sidebar-w:280px}}@media (width<=860px){.c4-body{grid-template-rows:auto 1fr;grid-template-columns:1fr}.c4-sidebar{border-right:0;border-bottom:1px solid var(--c4-border);max-height:52vh}.c4-row{grid-template-columns:1fr}.c4-label{min-height:auto}.c4-metrics{gap:var(--c4-space-5);flex-wrap:wrap}.c4-modal__box{height:100%}.c4-modal__head{gap:var(--c4-space-2)}.c4-addpart{grid-template-columns:1fr;justify-items:center}.c4-dialog{max-height:100%}}@media (width<=560px){.c4-topbar{gap:var(--c4-space-2);padding:0 var(--c4-space-3)}.c4-addrow{grid-template-columns:1fr}:root{--c4-logo-h:26px}.c4-menu__label{display:none}.c4-result__grid{grid-template-columns:1fr}.c4-metric__value{font-size:var(--c4-text-lg)}}.c4-icon{vertical-align:-.2em;flex:none}.c4-dialog__title{align-items:center;gap:var(--c4-space-2);display:flex}.c4-dialog__title .c4-icon{color:var(--c4-action)}.c4-dialog--wide{max-width:860px}.c4-lic__status{gap:var(--c4-space-4);padding:var(--c4-space-4) var(--c4-space-5);border:1px solid var(--c4-border);border-radius:var(--c4-radius-lg);background:var(--c4-bg);margin-bottom:var(--c4-space-5);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.c4-lic__status.is-paid{background:var(--c4-green-50);border-color:var(--c4-green-200)}.c4-lic__planicon{background:var(--c4-bg-raised);width:44px;height:44px;color:var(--c4-action);box-shadow:var(--c4-shadow-sm);border-radius:50%;place-items:center;display:grid}.c4-lic__status.is-paid .c4-lic__planicon{color:var(--c4-green-700)}.c4-lic__eyebrow{font-size:var(--c4-text-xs);color:var(--c4-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0}.c4-lic__plan{margin:2px 0 var(--c4-space-2);font-size:1.25rem;font-weight:700}.c4-lic__facts{font-size:var(--c4-text-sm);gap:6px;margin:0;padding:0;list-style:none;display:grid}.c4-lic__facts li{gap:var(--c4-space-2);align-items:center;display:flex}.c4-lic__facts .c4-icon{color:var(--c4-text-muted)}.c4-lic__cancel{color:var(--c4-red-700)}.c4-lic__h{align-items:center;gap:var(--c4-space-2);margin:0 0 var(--c4-space-3);font-size:var(--c4-text-md);display:flex}.c4-lic__save{white-space:nowrap;margin-left:auto}.c4-lic__save[hidden]{display:none}.c4-lic__cards{gap:var(--c4-space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.c4-lic__card{gap:var(--c4-space-2);padding:var(--c4-space-5);border:1px solid var(--c4-border);border-radius:var(--c4-radius-lg);background:var(--c4-bg-raised);flex-direction:column;display:flex}.c4-lic__card.is-featured{border-color:var(--c4-action);box-shadow:0 0 0 1px var(--c4-action)}.c4-lic__cardhead{align-items:center;gap:var(--c4-space-2);color:var(--c4-action);display:flex}.c4-lic__cardhead h3{font-size:var(--c4-text-md);color:var(--c4-text);margin:0}.c4-lic__price{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.c4-lic__list{margin:var(--c4-space-2) 0;font-size:var(--c4-text-sm);flex:1;gap:6px;padding:0;list-style:none;display:grid}.c4-lic__list li{gap:var(--c4-space-2);align-items:center;display:flex}.c4-lic__list .c4-icon{color:var(--c4-green-700)}.c4-lic__blocked{gap:var(--c4-space-2);padding:var(--c4-space-3);border-radius:var(--c4-radius);background:var(--c4-bg);color:var(--c4-text-muted);font-size:var(--c4-text-sm);align-items:flex-start;margin:0;line-height:1.5;display:flex}.c4-lic__discount{align-items:center;gap:var(--c4-space-2);margin-top:var(--c4-space-4);max-width:360px;color:var(--c4-text-muted);display:flex}.c4-dialog--wide section+section{margin-top:var(--c4-space-5)}.c4-lic__table{border-collapse:collapse;width:100%;font-size:var(--c4-text-sm)}.c4-lic__table th{text-align:left;color:var(--c4-text-muted);border-bottom:1px solid var(--c4-border);padding:6px 8px;font-weight:600}.c4-lic__table td{border-bottom:1px solid var(--c4-border);padding:8px}.c4-lic__table td:last-child{text-align:right}.c4-toast{z-index:1000;gap:var(--c4-space-2);max-width:420px;padding:var(--c4-space-3) var(--c4-space-4);border-radius:var(--c4-radius);box-shadow:var(--c4-shadow-lg);background:var(--c4-bg-raised);border-left:4px solid var(--c4-action);font-size:var(--c4-text-sm);cursor:pointer;align-items:flex-start;line-height:1.5;display:flex;position:fixed;top:16px;right:16px}.c4-toast--ok{border-left-color:var(--c4-green-500)}.c4-toast--ok .c4-icon{color:var(--c4-green-700)}.c4-toast--warn{border-left-color:var(--c4-amber-500)}.c4-toast--warn .c4-icon{color:var(--c4-amber-700)}.c4-toast--err{border-left-color:var(--c4-red-500)}.c4-toast--err .c4-icon{color:var(--c4-red-700)}.c4-kv__key--icon{align-items:center;gap:var(--c4-space-2);display:inline-flex}.c4-kv__key--icon .c4-icon{color:var(--c4-text-muted)}.c4-live__head{align-items:center;gap:var(--c4-space-3);margin-bottom:var(--c4-space-4);flex-wrap:wrap;display:flex}.c4-live__head .c4-empty__title{margin:0}.c4-live__bar{width:220px}.c4-live__dot{background:var(--c4-action);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite c4-live-pulse}@keyframes c4-live-pulse{0%,to{opacity:1}50%{opacity:.3}}.c4-live__sheet .c4-result__svg path{transition:opacity .2s}@media (prefers-reduced-motion:reduce){.c4-live__dot{animation:none}}.c4-stage{min-height:0;display:grid}.c4-view{grid-template-columns:1fr var(--c4-sidebar-w);min-height:0;display:grid}.c4-view[hidden]{display:none}.c4-view--cut{grid-template-rows:auto 1fr;grid-template-columns:1fr}.c4-view__main{min-width:0;min-height:0;padding:var(--c4-space-5) var(--c4-space-6);gap:var(--c4-space-4);flex-direction:column;display:flex;overflow:auto}.c4-view__side{background:var(--c4-bg-raised);border-left:1px solid var(--c4-border);padding:var(--c4-space-5);gap:var(--c4-space-5);flex-direction:column;display:flex;overflow-y:auto}.c4-toolbar{align-items:center;gap:var(--c4-space-2);flex-wrap:wrap;display:flex}.c4-toolbar__spacer{flex:1}.c4-toolbar .c4-check{margin:0}.c4-drop--compact{padding:var(--c4-space-3);justify-content:center;align-items:center;gap:var(--c4-space-3);display:flex}.c4-drop--compact .c4-drop__icon{width:20px;height:20px;margin:0}.c4-drop--compact .c4-drop__title{font-size:var(--c4-text-sm);margin:0}.c4-tablewrap{background:var(--c4-bg-raised);border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);overflow:auto}.c4-tablewrap[hidden]{display:none}.c4-grid{border-collapse:collapse;width:100%;font-size:var(--c4-text-sm)}.c4-grid th{z-index:1;background:var(--c4-slate-50);text-align:left;white-space:nowrap;font-size:var(--c4-text-xs);font-weight:var(--c4-weight-semi);text-transform:uppercase;letter-spacing:.04em;color:var(--c4-text-subtle);padding:var(--c4-space-2) var(--c4-space-3);border-bottom:1px solid var(--c4-border);position:sticky;top:0}.c4-grid td{padding:var(--c4-space-1) var(--c4-space-3);border-bottom:1px solid var(--c4-slate-100);vertical-align:middle}.c4-grid tbody tr:last-child td{border-bottom:0}.c4-grid tbody tr:hover{background:var(--c4-slate-50)}.c4-grid__idx{width:1%;color:var(--c4-text-subtle);text-align:right}.c4-grid__thumb{width:1%;padding-block:2px}.c4-grid__name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:var(--c4-weight-medium);overflow:hidden}.c4-grid__label{font-size:var(--c4-text-xs);font-weight:var(--c4-weight-normal,400);color:var(--c4-text-muted);text-overflow:ellipsis;display:block;overflow:hidden}.c4-grid__muted{color:var(--c4-text-muted);white-space:nowrap}.c4-grid__qty,.c4-grid__actions{white-space:nowrap;width:1%}.c4-grid__actions .c4-iconbtn{display:inline-grid}.c4-grid__actions .c4-iconbtn:not([data-sheet-del]):hover{background:var(--c4-bg-accent);color:var(--c4-action)}.c4-grid__actions .c4-iconbtn:disabled{opacity:.3;cursor:default;background:0 0}.c4-input--cell{padding:var(--c4-space-1) var(--c4-space-2);min-width:90px}.c4-select--sm{padding:var(--c4-space-1) var(--c4-space-2);width:auto;min-width:120px}.c4-stepper{align-items:center;gap:2px;display:inline-flex}.c4-stepper__btn{min-width:30px;height:28px;padding:0 var(--c4-space-1);font:inherit;font-size:var(--c4-text-xs);font-weight:var(--c4-weight-semi);color:var(--c4-text-accent);background:var(--c4-bg-accent);border-radius:var(--c4-radius-sm);cursor:pointer;font-variant-numeric:tabular-nums;border:1px solid #0000}.c4-stepper__btn:hover{border-color:var(--c4-border-accent)}.c4-stepper__btn:disabled{opacity:.5;cursor:not-allowed}.c4-stepper .c4-input--qty{height:28px}.c4-kvlist{gap:var(--c4-space-2);margin:0;display:grid}.c4-kvlist>div{justify-content:space-between;gap:var(--c4-space-3);font-size:var(--c4-text-sm);display:flex}.c4-kvlist dt{color:var(--c4-text-muted)}.c4-kvlist dd{font-weight:var(--c4-weight-semi);margin:0}.c4-empty--inline{padding:var(--c4-space-8) var(--c4-space-4)}.c4-empty--inline .c4-icon,.c4-empty--cut .c4-icon{color:var(--c4-slate-300);margin:0 auto var(--c4-space-3);display:block}.c4-check--spaced{margin-top:var(--c4-space-3)}.c4-row--4{margin-top:var(--c4-space-2);grid-template-columns:repeat(4,1fr)}.c4-row--4[hidden]{display:none}.c4-row--4 .c4-field+.c4-field{margin-top:0}.c4-check--soon{opacity:.6;cursor:not-allowed}.c4-soon{margin-left:var(--c4-space-2);font-size:10px;font-weight:var(--c4-weight-semi);text-transform:uppercase;letter-spacing:.04em;background:var(--c4-amber-50);color:var(--c4-amber-700);border-radius:999px;padding:1px 6px}.c4-view__side .c4-panel .c4-field{margin-top:var(--c4-space-3)}#engine-msg:empty{display:none}.c4-cutbar{align-items:center;gap:var(--c4-space-4);padding:var(--c4-space-3) var(--c4-space-6);background:var(--c4-green-50);border-bottom:1px solid var(--c4-green-200);flex-wrap:wrap;display:flex}.c4-cutbar[hidden]{display:none}.c4-cutbar--warn{background:var(--c4-amber-50);border-bottom-color:#fde68a}.c4-cutbar--live{background:var(--c4-bg-accent);border-bottom-color:var(--c4-blue-200)}.c4-cutbar__status{align-items:center;gap:var(--c4-space-3);min-width:0;display:flex}.c4-cutbar__status>div{flex-direction:column;display:flex}.c4-cutbar__status .c4-icon{color:var(--c4-green-700);flex:none}.c4-cutbar--warn .c4-cutbar__status .c4-icon{color:var(--c4-amber-700)}.c4-cutbar__actions{gap:var(--c4-space-2);flex-wrap:wrap;margin-left:auto;display:flex}.c4-cutbar .c4-live__bar{flex:1;min-width:160px;max-width:420px}@media (width<=860px){.c4-view{grid-template-rows:1fr auto;grid-template-columns:1fr}.c4-view__side{border-left:0;border-top:1px solid var(--c4-border);max-height:50vh}.c4-view__main{padding:var(--c4-space-4)}.c4-row--4{grid-template-columns:1fr 1fr}.c4-cutbar{padding:var(--c4-space-3) var(--c4-space-4)}.c4-cutbar__actions{margin-left:0}}.c4-projchip{align-items:center;gap:var(--c4-space-1);display:flex}.c4-projchip__open{align-items:center;gap:var(--c4-space-2);max-width:220px;padding:var(--c4-space-1) var(--c4-space-2);font:inherit;font-size:var(--c4-text-sm);color:var(--c4-text);border:1px solid var(--c4-border);border-radius:var(--c4-radius);cursor:pointer;background:0 0;display:inline-flex}.c4-projchip__open:hover{border-color:var(--c4-border-accent);background:var(--c4-bg-accent)}.c4-projchip__open .c4-icon{color:var(--c4-text-muted);flex:none}.c4-projchip__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.c4-projchip__dirty{background:var(--c4-amber-500);border-radius:50%;flex:none;width:8px;height:8px}.c4-grid__current td{background:var(--c4-bg-accent)}.c4-grid__warn{color:var(--c4-amber-700);font-weight:var(--c4-weight-semi)}.c4-iconbtn--neutral:hover{background:var(--c4-bg-accent);color:var(--c4-action)}.c4-grid__actions{align-items:center;gap:var(--c4-space-1);justify-content:flex-end;display:flex}.c4-grid td.c4-grid__actions{display:table-cell}.c4-grid td.c4-grid__actions>*{vertical-align:middle}.c4-cutbar .c4-badge{align-items:center;gap:4px;display:inline-flex}@media (width<=860px){.c4-projchip__name,.c4-projchip .c4-btn{display:none}}.c4-overlay--ask{z-index:300;animation:.12s ease-out c4-ask-fade}.c4-dialog--ask{max-width:440px;animation:.16s ease-out c4-ask-pop}.c4-dialog--ask .c4-dialog__head{border-bottom:0;padding-bottom:0}.c4-dialog--ask .c4-dialog__foot{border-top:0;padding-top:0}.c4-dialog--danger .c4-dialog__title .c4-icon{color:var(--c4-red-700)}.c4-ask__message{color:var(--c4-slate-700);margin:0;line-height:1.55}.c4-ask__error{min-height:1.2em;font-size:var(--c4-text-xs);color:var(--c4-red-700)}.c4-input--invalid{border-color:var(--c4-red-500);box-shadow:0 0 0 3px var(--c4-red-50)}.c4-gform{gap:var(--c4-space-3);flex-direction:column;display:flex}.c4-gform__grid{gap:var(--c4-space-3);grid-template-columns:1fr 1fr;display:grid}.c4-gform__grid .c4-field+.c4-field{margin-top:0}@media (width<=520px){.c4-gform__grid{grid-template-columns:1fr}}.c4-btn--danger{background:var(--c4-red-700);color:#fff}.c4-btn--danger:hover:not(:disabled){background:#991b1b}@keyframes c4-ask-fade{0%{opacity:0}to{opacity:1}}@keyframes c4-ask-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.c4-overlay--ask,.c4-dialog--ask{animation:none}}.c4-bell{position:relative}.c4-bell__btn{width:36px;height:36px;color:var(--c4-text-muted);position:relative}.c4-bell__btn:hover{background:var(--c4-bg-accent);color:var(--c4-action)}.c4-bell__badge{background:var(--c4-red-500);color:#fff;text-align:center;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--c4-bg-raised);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:2px;right:1px}.c4-bell__panel{width:min(380px,92vw);padding:0;left:auto;right:0}.c4-bell__head{padding:var(--c4-space-3) var(--c4-space-4);border-bottom:1px solid var(--c4-border);font-weight:var(--c4-weight-semi)}.c4-bell__list{max-height:min(60vh,460px);overflow-y:auto}.c4-bell__empty{padding:var(--c4-space-5) var(--c4-space-4);color:var(--c4-text-muted);font-size:var(--c4-text-sm);margin:0}.c4-bell__item{padding:var(--c4-space-3) var(--c4-space-4);border-bottom:1px solid var(--c4-slate-100);border-left:3px solid #0000}.c4-bell__item:last-child{border-bottom:0}.c4-bell__item header{justify-content:space-between;gap:var(--c4-space-3);align-items:baseline;display:flex}.c4-bell__item time{font-size:var(--c4-text-xs);color:var(--c4-text-subtle);white-space:nowrap}.c4-bell__item p{margin:var(--c4-space-1) 0 0;font-size:var(--c4-text-sm);color:var(--c4-slate-700);white-space:pre-line;overflow-wrap:anywhere}.c4-bell__item--unread{background:var(--c4-bg-accent);border-left-color:var(--c4-action)}.c4-bell__item--warning{border-left-color:var(--c4-amber-500)}.c4-bell__item--success{border-left-color:var(--c4-green-500)}@media (width<=720px){html,body,#app{height:auto;min-height:100%}.c4-app{height:auto;display:block}.c4-topbar{row-gap:var(--c4-space-2);padding:var(--c4-space-2) var(--c4-space-3);z-index:50;flex-wrap:wrap;position:sticky;top:0}.c4-topbar__right{gap:var(--c4-space-2);flex-shrink:1;min-width:0}#engine-badge{display:none}.c4-steps{order:3;justify-content:space-between;width:100%;position:static;transform:none}.c4-steps__sep{flex:1}.c4-step{padding:var(--c4-space-1) var(--c4-space-2)}.c4-step__label{font-size:var(--c4-text-sm);display:inline}.c4-projchip .c4-btn{display:none}.c4-seg--sm .c4-seg__btn{padding:2px 6px}.c4-stage,.c4-view{display:block}.c4-view[hidden]{display:none}.c4-view__main{padding:var(--c4-space-3);overflow:visible}.c4-view__side{border-left:0;border-top:1px solid var(--c4-border);max-height:none;padding:var(--c4-space-4) var(--c4-space-3);overflow:visible}.c4-toolbar{gap:var(--c4-space-2)}.c4-toolbar .c4-btn{flex:auto;justify-content:center}.c4-toolbar__spacer,.c4-grid thead{display:none}.c4-grid,.c4-grid tbody{width:100%;display:block}.c4-grid tr{align-items:center;column-gap:var(--c4-space-2);row-gap:var(--c4-space-2);padding:var(--c4-space-3);border-bottom:1px solid var(--c4-slate-100);grid-template-columns:auto 1fr auto;display:grid}.c4-grid td{border:0;padding:0}.c4-grid__idx{display:none}.c4-grid__name{white-space:normal;max-width:none}.c4-grid__qty,.c4-grid__qty+td{grid-column:1/-1}.c4-grid__actions{justify-self:end}.c4-stepper{width:100%}.c4-stepper .c4-input--qty{flex:1}.c4-stepper__btn{min-width:40px;height:36px}.c4-select--sm{width:100%}.c4-grid--sheets tr{grid-template-columns:repeat(3,minmax(0,1fr))}.c4-grid--sheets td:nth-child(2){display:none}.c4-grid--sheets td:nth-child(3){grid-column:1/-1}.c4-grid--sheets .c4-grid__actions{grid-column:1/-1;justify-self:end}.c4-grid--sheets .c4-grid__qty{grid-column:auto}.c4-input--cell{width:100%;min-width:0}.c4-row--4{grid-template-columns:1fr 1fr}.c4-cutbar{padding:var(--c4-space-3)}.c4-cutbar__actions{width:100%}.c4-cutbar__actions .c4-btn{flex:45%;justify-content:center}.c4-cutbar .c4-live__bar{width:100%;max-width:none}.c4-main{display:block}.c4-canvas-wrap{padding:var(--c4-space-3);min-height:50vh}.c4-metrics{padding:var(--c4-space-2) var(--c4-space-3);gap:var(--c4-space-3);justify-content:space-between;position:sticky;bottom:0}.c4-metric__label{font-size:10px}.c4-overlay{padding:var(--c4-space-2);align-items:end}.c4-dialog,.c4-dialog--wide{max-width:100%;max-height:92vh;max-height:calc(var(--c4-vvh,100vh) * .92);border-radius:var(--c4-radius-lg) var(--c4-radius-lg) 0 0}.c4-overlay--ask{align-items:center}.c4-overlay--ask .c4-dialog{border-radius:var(--c4-radius-lg)}.c4-dialog__foot{flex-wrap:wrap}.c4-dialog__foot .c4-btn{flex:auto;justify-content:center}.c4-menu__panel{max-width:calc(100vw - 16px)}.c4-bell__panel{width:auto;position:fixed;top:56px;left:8px;right:8px}.c4-steps .c4-step .c4-step__label{display:inline}.c4-grid td[data-label]:before{content:attr(data-label);font-size:var(--c4-text-xs);color:var(--c4-text-subtle);margin-bottom:2px;display:block}.c4-grid__actions .c4-iconbtn{width:36px;height:36px}.c4-grid--sheets .c4-grid__qty .c4-input--qty{width:100%}.c4-grid td{width:auto}.c4-grid .c4-input--qty{width:100%}.c4-canvas-wrap{min-height:calc(100vh - 210px)}.c4-grid:not(.c4-grid--sheets) .c4-grid__qty+td{grid-column:1/3}}@media (width<=900px){#engine-badge{display:none}.c4-seg--sm .c4-seg__btn{padding:2px 6px}.c4-topbar__right{gap:4px}.c4-topbar__right .c4-chevron{display:none}.c4-topbar__right .c4-menu__trigger{padding:2px 4px}#quota:empty{display:none}}@media (width<=380px){.c4-brand__logo{height:22px}#unit{display:none}}.c4-remnant-badge{font-size:var(--c4-text-xs);white-space:nowrap;margin-top:4px;display:inline-flex}.c4-input[data-remnant]{background:var(--c4-slate-50);color:var(--c4-slate-500);cursor:not-allowed}.c4-set{padding:var(--c4-space-4) 0;border-bottom:1px solid var(--c4-border)}.c4-set:first-child{padding-top:0}.c4-set:last-child{border-bottom:0;padding-bottom:0}.c4-set__h{align-items:center;gap:var(--c4-space-2);margin:0 0 var(--c4-space-3);font-size:var(--c4-text-md);display:flex}.c4-set__row{justify-content:space-between;align-items:center;gap:var(--c4-space-3);padding:var(--c4-space-2) 0;display:flex}.c4-set__row .c4-hint{max-width:46ch;margin:2px 0 0}.c4-set__scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.c4-set__scroll .c4-lic__table{min-width:480px}.c4-set--danger .c4-set__h{color:var(--c4-red-700)}.c4-set__list{margin:var(--c4-space-2) 0 var(--c4-space-3);gap:6px;padding-left:1.2em;display:grid}@media (width<=560px){.c4-set__row{flex-direction:column;align-items:stretch}.c4-set__row .c4-seg{align-self:flex-start}}a.c4-menu__item,a.c4-menu__item:hover{text-decoration:none}#set-delete .c4-btn{margin-top:var(--c4-space-2)}@media (width<=720px){.c4-canvas-wrap{align-items:start}}@media (pointer:coarse){.c4-btn{min-height:40px}.c4-btn--sm{min-height:36px}.c4-iconbtn{min-width:40px;min-height:40px}.c4-step{min-height:36px}.c4-menu__trigger{min-width:36px;min-height:36px}.c4-menu__item{min-height:44px}.c4-projchip__open,.c4-seg__btn{min-height:36px}.c4-input,select.c4-input{min-height:40px}input[type=checkbox],input[type=radio]{width:20px;height:20px}}.c4-consent{z-index:250;justify-content:center;align-items:center;gap:var(--c4-space-6);padding:var(--c4-space-4) var(--c4-space-6);background:var(--c4-bg-raised);border-top:1px solid var(--c4-border);padding-bottom:max(var(--c4-space-4), env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px -12px #0f172a40}.c4-consent__text{max-width:560px;font-size:var(--c4-text-sm)}.c4-consent__text strong{color:var(--c4-text);margin-bottom:4px;display:block}.c4-consent__text p{color:var(--c4-text-muted);margin:0;line-height:1.5}.c4-consent__text a{color:var(--c4-action)}.c4-consent__actions{gap:var(--c4-space-2);flex-wrap:wrap;display:flex}.c4-overlay--consent{z-index:320}.c4-overlay--consent .c4-dialog{max-width:560px}.c4-overlay--consent .c4-dialog__head{align-items:flex-start}.c4-overlay--consent .c4-dialog__head .c4-hint{margin:4px 0 0}.c4-consent-cat{border:1px solid var(--c4-border);border-radius:var(--c4-radius-md);padding:var(--c4-space-3) var(--c4-space-4);margin-bottom:var(--c4-space-3)}.c4-consent-cat--fixed{background:var(--c4-slate-50)}.c4-consent-cat__head{justify-content:space-between;align-items:center;gap:var(--c4-space-3);display:flex}.c4-consent-cat p{font-size:var(--c4-text-sm);color:var(--c4-text-muted);margin:6px 0 0;line-height:1.5}.c4-consent__foot{align-items:center}.c4-consent__foot a{color:var(--c4-action);font-size:var(--c4-text-sm)}.c4-consent__spacer{flex:1}.c4-footer__linkbtn{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.c4-footer__linkbtn:hover{text-decoration:underline}@media (width<=720px){.c4-consent{align-items:stretch;gap:var(--c4-space-3);padding:var(--c4-space-3);flex-direction:column}.c4-consent__actions .c4-btn{flex:auto;justify-content:center}.c4-consent__foot .c4-consent__spacer{display:none}}.c4-renewal{margin:var(--c4-space-3) 0 0;font-size:var(--c4-text-xs);color:var(--c4-text-muted);line-height:1.5}.c4-renewal a{color:inherit;text-decoration:underline}.c4-renewal-wrap{gap:var(--c4-space-3);flex-direction:column;width:100%;display:flex}.c4-renewal-wrap .c4-renewal{margin:0}.c4-renewal-actions{gap:var(--c4-space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}
