:root{--bg:#f4f2ee;--surface:#fff;--surface-2:#f7f5f1;--border:#e3dfd7;--text:#22252a;--muted:#6c707a;--accent:#d9480f;--accent-soft:#fff0e6;--danger:#c92a2a;--danger-soft:#fff1f1;--info:#1864ab;--info-soft:#e7f2fd;--canvas-bg:linear-gradient(180deg, #f6f4f0 0%, #e6e2da 100%);--band-none:#b5b9c0;--band-thin:#1c7ed6;--band-thick:#f08c00;--radius:8px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17191c;--surface:#1f2226;--surface-2:#272a2f;--border:#343840;--text:#e9eaec;--muted:#9a9fa8;--accent:#ff8a3d;--accent-soft:#3a2618;--danger:#ff6b6b;--danger-soft:#3a1f1f;--info:#74c0fc;--info-soft:#172a3a;--canvas-bg:linear-gradient(180deg, #2a2d32 0%, #1c1e21 100%);--band-none:#5c626b;--band-thin:#4dabf7;--band-thick:#ffa94d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:6px 12px;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}button.icon{padding:3px 9px;font-size:17px}button.danger{color:var(--danger)}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:16px;display:flex}.brand b{color:var(--accent)}.logo{color:var(--accent);font-size:20px}.project-name{background:0 0;border:1px solid #0000;border-radius:6px;width:200px;padding:5px 8px;font-weight:600}.project-name:hover,.project-name:focus{border-color:var(--border);background:var(--surface-2)}.tabs{background:var(--surface-2);scrollbar-width:none;border-radius:8px;gap:2px;min-width:0;margin-right:auto;padding:3px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:none;padding:6px 14px;font-weight:500}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sep{background:var(--border);width:1px;height:20px;margin:0 4px}.workspace{flex:1;grid-template-columns:280px 1fr 300px;min-height:0;display:grid}.side-panel{background:var(--surface);min-height:0;overflow-y:auto}.side-panel.left{border-right:1px solid var(--border)}.side-panel.right{border-left:1px solid var(--border)}.panel-section{border-bottom:1px solid var(--border);padding:14px 16px}.panel-section>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;margin-bottom:10px;display:flex}.panel-section>header h3{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.panel-section>header .row-actions{flex-wrap:nowrap;gap:2px}.panel-section>header .row-actions button{white-space:nowrap;padding-inline:6px}.panel-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:12px;font-weight:600}.field{flex-direction:column;gap:4px;min-width:0;margin-bottom:10px;display:flex}.field-label{color:var(--muted);font-size:12px}.field-input{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;align-items:center;display:flex}.field-input:focus-within{border-color:var(--accent)}.field-input input{font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:100%;min-width:0;padding:6px 8px}.suffix{color:var(--muted);white-space:nowrap;padding-right:8px;font-size:12px}.field select{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:6px 8px}.readonly{color:var(--muted);padding:6px 0}.grid-2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:0 8px;display:grid}.stepper{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;align-items:center;width:fit-content;display:inline-flex}.stepper button{background:0 0;border:none;width:34px;padding:5px 0;font-size:16px}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-weight:600}.side-panel.right .field:has(.stepper){flex-direction:row;justify-content:space-between;align-items:center}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px;display:flex}.segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:5px;flex:1;padding:5px 10px}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.add-grid{gap:6px;margin-top:10px;display:grid}.add-btn{text-align:left;grid-template-rows:auto auto;grid-template-columns:30px 1fr;column-gap:8px;padding:8px 10px;display:grid}.add-icon{color:var(--accent);text-align:center;grid-row:span 2;align-self:center;font-size:22px}.add-name{font-weight:600}.add-hint{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.hint{color:var(--muted);margin:8px 0 0;font-size:12px}.cab-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.cab-list button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:8px;width:100%;padding:5px 8px;display:flex}.cab-list button:hover{background:var(--surface-2)}.cab-list button.on{background:var(--accent-soft);border-color:var(--accent)}.code{background:var(--surface-2);border:1px solid var(--border);text-align:center;border-radius:4px;min-width:30px;padding:0 5px;font-size:12px;font-weight:700}.cab-name{flex:1}.cab-dim{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.warn-dot{background:var(--danger);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.presets{flex-wrap:wrap;gap:4px;display:flex}.chip{font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;font-size:12px}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.alert{background:var(--danger-soft);color:var(--danger);border-radius:6px;margin-bottom:10px;padding:8px 10px;font-size:13px}.empty{display:flex}.empty-state{color:var(--text);padding:28px 22px}.empty-state p{margin:0 0 6px}.shortcuts{color:var(--muted);gap:6px;margin:18px 0 0;padding:0;font-size:12px;list-style:none;display:grid}kbd{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:11px ui-monospace,monospace}.viewport{background:var(--canvas-bg);min-width:0;min-height:0;position:relative}.viewport canvas{touch-action:none}.viewport-toolbar{z-index:20;pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:10px;left:10px;right:10px}.viewport-toolbar>*{pointer-events:auto;box-shadow:var(--shadow)}.viewport-toolbar .segmented{background:var(--surface)}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.dim-label{background:var(--accent);color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.wall-label{color:var(--muted);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;font-size:11px}.label-layer{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:hidden}.label-layer>div{visibility:hidden;will-change:transform;position:absolute;top:0;left:0}.page-host{flex:1;overflow-y:auto}.page{max-width:1180px;margin:0 auto;padding:24px 20px 48px}.page.narrow{max-width:900px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-head h2{letter-spacing:-.01em;margin:0;font-size:22px}.toggle{cursor:pointer;align-items:center;gap:6px;margin-right:6px;font-size:13px;display:inline-flex}.toggle input{accent-color:var(--accent)}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.card.accent{border-color:var(--accent);background:var(--accent-soft)}.card-label{color:var(--muted);font-size:12px}.card-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.card-sub{color:var(--muted);font-size:12px}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:18px;height:4px;display:inline-block}.legend i.dashed{background:repeating-linear-gradient(90deg, var(--band-none) 0 3px, transparent 3px 5px);height:2px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;padding:9px 12px;font-size:12px;font-weight:600}.data td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 12px}.data tbody tr:hover td{background:var(--surface-2)}.data .num{text-align:right}.data .strong{font-weight:600}.data .muted{color:var(--muted)}.data td svg{display:block}.group-row td{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:10px;font-size:12px;font-weight:600}.code-list{color:var(--muted);font-size:12px}.data tfoot td{border-bottom:1px solid var(--border);padding:8px 12px}.data tfoot tr.grand td{color:var(--accent);border-bottom:none;font-size:16px;font-weight:700}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:14px;display:grid}.settings-grid .panel-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.mat-row{border-bottom:1px dashed var(--border);margin-bottom:10px;padding-bottom:6px}.mat-row:last-child{border-bottom:none;margin-bottom:0}.mat-title{align-items:center;gap:8px;margin-bottom:6px;display:flex}.mat-title input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:26px;height:26px;padding:0}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;padding:9px 12px;font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.06)}button.link{color:var(--accent);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.grid-4{grid-template-columns:repeat(4,1fr);gap:0 8px;display:grid}.section-title{margin:32px 0 12px;font-size:18px}textarea{font:inherit;color:inherit;border:1px solid var(--border);background:var(--surface-2);resize:vertical;border-radius:6px;padding:7px 8px}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toggle.small{margin-left:auto;margin-right:0;font-size:12px}.chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.chips .chip{border:1px solid var(--border);background:var(--surface);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.chip-x{color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.loading-block{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:40px}.plan-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:150px 180px 1fr;align-items:end;gap:12px;margin-bottom:18px;padding:12px 14px 2px;display:grid}.plan-body{transition:opacity .15s}.plan-body.stale{opacity:.55}.plan-material{margin-bottom:28px}.plan-material-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.plan-material-head h3{margin:0;font-size:16px}.plan-material-head .hint{margin-top:2px}.plan-stats{gap:8px;display:flex}.plan-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:84px;padding:6px 12px;display:flex}.plan-stats strong{font-variant-numeric:tabular-nums;font-size:17px}.sheet-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:12px;display:grid}.sheet-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:10px 12px}.sheet-card.expanded{grid-column:1/-1}.sheet-card figcaption{align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.sheet-card figcaption span{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:12px}.sheet-card figcaption button{padding:3px 8px;font-size:12px}.sheet-svg svg{border-radius:3px;width:100%;height:auto;display:block}.sheet-card .hint{margin-top:6px}.quote-grid{grid-template-columns:300px 1fr;align-items:start;gap:14px;display:grid}.quote-grid .panel-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.quote-grid .code{margin-right:4px}.settings-grid>.panel-section:last-child{grid-column:1/-1}.catalog-toolbar{gap:8px;margin:4px 0 10px;display:flex}.catalog-toolbar select{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:6px 8px}table.catalog td{padding:4px 8px}table.catalog select{background:0 0;border:1px solid #0000;border-radius:4px;padding:4px}table.catalog select:hover:not(:disabled){border-color:var(--border)}.cell-input{width:100%;min-width:80px;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:5px 6px}.cell-input:hover,.cell-input:focus{border-color:var(--border);background:var(--surface-2);outline:none}.cell-input.small{width:70px;min-width:50px}.cell-input.num{text-align:right;font-variant-numeric:tabular-nums;width:100px}.info{background:var(--info-soft);color:var(--info);border-radius:6px;margin-bottom:10px;padding:8px 10px;font-size:13px}.danger-text{color:var(--danger)}button.primary.inline{width:auto}.splash{min-height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:16px;display:grid}.splash p{margin:0}.auth-page{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-content:center;align-items:center;gap:24px 48px;max-width:1040px;min-height:100%;margin:0 auto;padding:40px 24px;display:grid}.auth-side h1{letter-spacing:-.02em;max-width:16ch;margin:24px 0 18px;font-size:34px;line-height:1.15}.brand.big{font-size:22px}.auth-points{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.auth-points li:before{content:"✓";color:var(--accent);margin-right:8px;font-weight:700}.auth-trial{color:var(--muted)}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;gap:12px;padding:24px;display:grid}.auth-card h2{margin:0;font-size:20px}.auth-tabs{margin-bottom:4px}.auth-field{color:var(--muted);gap:4px;font-size:13px;display:grid}.auth-field input{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface-2);border-radius:7px;padding:9px 10px}.auth-field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-links{justify-content:space-between;font-size:13px;display:flex}.auth-card .alert,.auth-card .info{margin:0}.device-limit ul{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.device-limit li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.device-limit li div{display:grid}.device-limit p{margin:0;font-size:13px}.project-meta{align-items:center;gap:6px;display:flex}.cloud-badge{color:var(--muted);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:3px 6px;font-size:12px;display:inline-flex}.cloud-badge .dot{background:var(--band-none);border-radius:50%;width:7px;height:7px}.cloud-badge.saved .dot{background:#2f9e44}.cloud-badge.saving .dot,.cloud-badge.dirty .dot{background:var(--band-thick)}.cloud-badge.error,.cloud-badge.conflict{color:var(--danger);cursor:pointer}.cloud-badge.error .dot,.cloud-badge.conflict .dot,.cloud-badge.no-license .dot{background:var(--danger)}.account-chip{border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 3px;display:inline-flex}.account-chip.on{border-color:var(--accent)}.avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid}.account-chip .account-status{white-space:nowrap;font-size:12px}.account-chip.warn .account-status{color:var(--band-thick)}.account-chip.bad .account-status{color:var(--danger);font-weight:600}.license-banner,.conflict-banner{background:var(--danger-soft);color:var(--danger);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:7px 16px;font-size:13px;display:flex}.license-banner.warn{background:var(--accent-soft);color:var(--text)}.license-banner .primary{padding:4px 12px}.conflict-banner button{padding:4px 10px;font-size:13px}.toast{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:8px;max-width:min(420px,100vw - 32px);padding:12px 8px 12px 14px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 28px #00000029}.toast.ok{border-left:4px solid #2f9e44}.toast.error{border-left:4px solid var(--danger)}.toast.info{border-left:4px solid var(--info)}.toast span{flex:1;font-size:14px}.modal-backdrop{z-index:90;background:#00000059;place-items:start center;padding:8vh 16px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(640px,100%);padding:18px 20px 20px;box-shadow:0 16px 48px #0003}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.project-list{gap:6px;max-height:55vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.project-list li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.project-list li.current{border-color:var(--accent);background:var(--accent-soft)}.project-list li>div:first-child{min-width:0;display:grid}.project-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-list .hint{margin:0}.account .test-mode{margin-bottom:14px}.license-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid #2f9e44;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.license-card.warn{border-left-color:var(--band-thick)}.license-card.bad{border-left-color:var(--danger)}.license-card>div{gap:2px;display:grid}.license-title{font-size:20px}.license-side{text-align:right;justify-items:end}.license-side strong{font-variant-numeric:tabular-nums;font-size:20px}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:8px;display:grid}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px;display:flex;position:relative}.plan-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card h4{margin:0;font-size:15px}.plan-card p{color:var(--muted);flex:1;margin:0 0 8px;font-size:13px}.plan-price{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.plan-price span{color:var(--muted);font-size:13px;font-weight:400}.plan-badge{background:var(--accent);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:-10px;right:12px}.billing-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:0 12px;padding:14px 16px 6px;display:grid}.billing-form .wide{grid-column:1/-1}.billing-form .row-actions{margin-bottom:10px}.consent{gap:8px;display:grid}.check{cursor:pointer;color:var(--text);align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.check input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin-top:2px}.consent .hint{margin:0}.verify-card{background:var(--info-soft);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;display:flex}.verify-card>div:first-child{gap:2px;display:grid}.verify-card .wide{flex-basis:100%}.verify-card .wide:empty{display:none}.license-banner.info-banner{background:var(--info-soft);color:var(--text)}.license-banner.info-banner button{padding:3px 10px;font-size:13px}.modal.checkout{width:min(760px,100%)}.checkout-summary{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.checkout-summary>div:first-child{gap:2px;display:grid}.checkout-summary .hint{margin:0}.checkout-price{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.checkout-price span{color:var(--muted);font-size:13px;font-weight:400}.doc-title{margin:10px 0 4px;font-size:13px}.doc-scroll{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-height:190px;margin-bottom:6px;padding:4px 14px;overflow-y:auto}.doc-scroll .legal-body{font-size:12.5px}.doc-scroll .legal-body h2{font-size:13px}.modal.checkout .consent{margin:12px 0}.row-actions.end{justify-content:flex-end}.danger-zone{border-color:var(--danger)}.danger-zone p{color:var(--muted);margin:0 0 10px;font-size:13px}.legal-links{flex-wrap:wrap;gap:6px 16px;margin:28px 0 8px;font-size:12px;display:flex}.legal-links a{color:var(--muted)}.legal-links a:hover{color:var(--accent)}.auth-legal{grid-column:1/-1;justify-content:center;margin-top:0}.legal-page{background:var(--bg);min-height:100%}.legal-top{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.legal-top a{color:inherit;text-decoration:none}.legal-top a:last-child{color:var(--accent);font-size:14px}.legal-main{max-width:820px;margin:0 auto;padding:28px 20px 64px}.legal-main h1{letter-spacing:-.01em;margin:0 0 4px;font-size:26px}.legal-body{line-height:1.6}.legal-body h2{margin:24px 0 8px;font-size:17px}.legal-body h3{margin:14px 0 6px;font-size:14px}.legal-body p,.legal-body li{font-size:14.5px}.legal-body ul{padding-left:20px}.legal-body .table-wrap{margin:8px 0}.legal-body code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:12.5px}.legal-dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:8px 0 12px;font-size:14px;display:grid}.legal-dl dt{color:var(--muted)}.legal-dl dd{margin:0}mark.legal-blank{color:#5c4400;background:#ffe066;border-radius:3px;padding:0 3px;font-weight:600}.legal-warning{color:#5c4400;background:#fff9db;border:1px solid #ffe066;border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:13px}.legal-index{gap:10px;padding:0;list-style:none;display:grid}.legal-index li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:2px;padding:12px 14px;display:grid}.legal-index a{color:var(--text);font-weight:600}.credit{color:var(--muted);text-align:center;margin:8px 0 0;font-size:12px}.credit strong{color:var(--text);font-weight:600}.credit a{color:inherit;text-decoration:none}.credit a:hover strong{color:var(--accent);text-decoration:underline}.auth-credit{grid-column:1/-1;margin:-12px 0 0}.panel-credit{margin:0;padding:14px 16px 18px}.legal-footer{border-top:1px solid var(--border);padding:16px 20px 24px}.side-panel.left{flex-direction:column;display:flex}.side-panel.left .panel-credit{margin-top:auto}.page.technical{max-width:1400px}.drawing-tabs{width:fit-content;max-width:100%;margin-bottom:12px;overflow-x:auto}.drawing-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin:0;padding:8px}.drawing-svg svg{width:100%;height:auto;max-height:calc(100vh - 260px);display:block}.part-notes{color:var(--band-thick);gap:1px;margin-top:2px;font-size:11.5px;display:grid}.room-presets{gap:4px;margin-bottom:10px;display:grid}.wall-list{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.wall-list li,.obstacle{border:1px solid var(--border);border-radius:8px;padding:8px 10px 0}.obstacle{margin-bottom:6px}.wall-head{align-items:flex-start;gap:6px;display:flex}.wall-head .field{flex:1}.wall-head strong{flex:1;padding:2px 0 6px;font-size:13px}.cab-group{margin-bottom:8px}.cab-group>.field-label{margin:4px 0 2px;display:block}.add-btn:disabled{opacity:.45}.lib-group{border:1px solid var(--border);border-radius:8px;margin-bottom:6px}.lib-group summary{cursor:pointer;padding:7px 10px;font-size:13px;font-weight:600}.lib-list{gap:2px;margin:0;padding:0 6px 6px;list-style:none;display:grid}.lib-list li{align-items:center;gap:4px;display:flex}.lib-item{text-align:left;background:0 0;border-color:#0000;flex:1;justify-content:space-between;gap:8px;padding:5px 8px;font-size:13px;display:flex}.lib-item:hover{background:var(--surface-2)}.lib-item .muted{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px}.admin-tabs{width:fit-content;margin-bottom:16px}.admin-cards .card.clickable{text-align:left;cursor:pointer;font:inherit}.admin-cards .card.clickable:hover{border-color:var(--accent)}.card.warn{border-color:var(--band-thick)}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.admin-toolbar .field-input,.order-actions .field-input{background:var(--surface)}.grow{flex:1;min-width:200px}.data tr.clickable{cursor:pointer}.data.compact td,.data.compact th{padding:5px 8px;font-size:13px}.tone-ok{color:#2f9e44}.tone-warn{color:var(--band-thick)}.tone-bad{color:var(--danger)}.warn-chip{background:var(--accent-soft);border-color:var(--band-thick);color:var(--text)}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.modal.admin-detail{width:min(920px,100%)}.admin-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin-bottom:10px;display:grid}.admin-facts>div{gap:1px;font-size:14px;display:grid}.admin-list{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.grant-form{background:var(--surface-2);border-radius:8px;grid-template-columns:180px 120px 100px;align-items:end;gap:0 10px;padding:10px 12px 2px;display:grid}.grant-form .wide{grid-column:1/-1}.grant-form .row-actions{grid-column:1/-1;margin-bottom:10px}.order-detail td{background:var(--surface-2)}.order-detail-grid{grid-template-columns:1fr 1fr;gap:16px;padding:6px 0;display:grid}.billing-pre{white-space:pre-wrap;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin:4px 0 6px;padding:8px 10px;font:12.5px/1.5 ui-monospace,monospace}.order-actions{align-content:start;gap:10px;display:grid}@media (width<=1400px){.tabs button{padding:6px 10px}.topbar{gap:10px}.project-name{width:160px}.account-chip .account-status{text-overflow:ellipsis;max-width:110px;overflow:hidden}}@media (width<=1280px){.cloud-badge{gap:0;padding:6px;font-size:0}.account-chip .account-status{display:none}.account-chip{padding:3px}}@media (width<=1100px){.workspace{grid-template-columns:250px 1fr 270px}}@media (width<=820px){.topbar{gap:8px;padding:8px 16px}.project-name{width:140px}.tabs{order:3;width:100%;margin-right:0;overflow-x:auto}.tabs button{white-space:nowrap;flex:1;padding:6px 8px}.workspace{grid-template-rows:55vh auto auto;grid-template-columns:1fr;overflow-y:auto}.viewport{order:-1}.side-panel.left,.side-panel.right{border:none;border-top:1px solid var(--border);overflow:visible}.side-panel.right.empty{display:none}.page{padding:16px 16px 40px}.plan-toolbar,.quote-grid,.sheet-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.auth-page{grid-template-columns:1fr;gap:20px;padding:24px 16px}.auth-side h1{margin:16px 0 12px;font-size:26px}.billing-form{grid-template-columns:1fr}.project-meta{order:1}.legal-dl{grid-template-columns:1fr;gap:0}.order-detail-grid,.grant-form{grid-template-columns:1fr}.legal-dl dd{margin-bottom:6px}.checkout-summary{flex-direction:column;align-items:flex-start}.account-chip .account-status{display:none}}.stock-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;padding:10px 14px}.stock-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stock-head .hint{flex:260px;margin:0}.stock-body{gap:10px;margin-top:12px;display:grid}.stock-add{grid-template-columns:minmax(160px,2fr) repeat(3,minmax(70px,1fr)) auto;align-items:end;gap:10px;display:grid}.stock-add .field{margin:0}.data tr.muted td{opacity:.55}@media (width<=720px){.stock-add{grid-template-columns:1fr 1fr}}.workshop-default{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.workshop-default .hint{flex:240px;margin:0}.quote-page{gap:16px;max-width:980px;margin:0 auto;padding:24px 16px 40px;display:grid}.quote-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.quote-head h1{margin:0 0 4px;font-size:24px}.quote-head .hint{margin:0}.quote-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.quote-card.center{text-align:center;margin-top:10vh}.quote-card h2{margin:0 0 12px;font-size:16px}.quote-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.quote-meta>div{gap:2px;display:grid}.quote-3d{border-radius:var(--radius);background:#ece8e1;height:min(56vh,460px);position:relative;overflow:hidden}.quote-img{border-radius:var(--radius);width:100%}.quote-totals{grid-template-columns:1fr auto;gap:6px 18px;max-width:460px;margin:14px 0 0 auto;display:grid}.quote-totals dt{color:var(--muted)}.quote-totals dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.quote-totals .grand{color:var(--text);font-size:17px;font-weight:700}.quote-note{white-space:pre-wrap;border-top:1px solid var(--border);margin:14px 0 0;padding-top:12px}.quote-status{background:var(--surface-2);border-radius:8px;margin-top:14px;padding:10px 12px}.quote-status.ok{color:#1e6b35;background:#e6f4ea}.quote-status.warn{color:#8a4b08;background:#fff4e5}.quote-form{gap:12px;max-width:560px;display:grid}.quote-form textarea{width:100%;font:inherit}.quote-foot{text-align:center}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}.quote-3d{display:none}.quote-page{padding:0}.quote-card{break-inside:avoid;border-color:#ccc}}a.button{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:6px;padding:6px 12px;text-decoration:none;display:inline-block}a.button:hover{border-color:var(--accent)}.share-quote{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;margin-top:18px;padding:14px 16px;display:grid}.share-head{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.share-head>div{flex:320px}.share-head .hint{margin:4px 0 0}.share-head .field.small{min-width:110px;margin:0}.share-fresh{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-fresh input{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;flex:320px;min-width:0;padding:6px 10px}.customer-picker{gap:6px;margin-bottom:8px;display:grid}.customer-picker .field{margin:0}.job-badge{background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.job-badge.q-onaylandi,.job-badge.s-onaylandi{color:#1e6b35;background:#e6f4ea}.job-badge.q-reddedildi,.job-badge.s-iptal{color:#a61b1b;background:#fdecea}.job-badge.s-uretimde{color:#1c4f9c;background:#e7f0fd}.job-badge.s-montajda{color:#6a2c9c;background:#f3e8fd}.job-badge.s-teslim{color:#343a40;background:#e9ecef}.job-badge.q-acik,.job-badge.s-teklif{color:#8a4b08;background:#fff4e5}.job-badge.q-iptal{opacity:.6}.card.warn{background:#fff4e5;border-color:#f0a35b}.jobs-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.jobs-toolbar input[type=search]{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex:240px;padding:6px 10px}.jobs-toolbar select{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:6px 8px}.board{align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.board-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-content:start;gap:8px;min-height:120px;padding:8px;display:grid}.board-col>header{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid}.job-card.current{border-color:var(--accent)}.job-main{all:unset;cursor:pointer;gap:2px;padding:9px 10px 6px;display:grid}.job-main:focus-visible{outline:2px solid var(--accent);border-radius:8px}.job-main .hint{margin:0}.job-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.job-line .late{color:var(--danger);font-weight:600}.job-actions{gap:6px;padding:0 10px 8px;display:flex}.job-actions select{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex:1;min-width:0;padding:4px 6px}.job-detail{border-top:1px solid var(--border);gap:8px;padding:8px 10px 10px;display:grid}.job-detail .field{margin:0}.job-detail input,.job-detail select{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;padding:4px 6px}.job-events{gap:4px;max-height:180px;margin:0;padding:0;font-size:12px;list-style:none;display:grid;overflow:auto}.customer-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px;padding:12px 14px;display:grid}.customer-form textarea{width:100%;font:inherit}.customer-form .row-actions{grid-column:1/-1}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:14px 16px;display:grid}.team-card p{margin:0}.team-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.team-head>div{gap:2px;display:grid}.team-head strong{font-size:20px}.team-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.team-list li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:6px 0;display:grid}.team-list li.pending{opacity:.8}.team-invite{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.team-invite .field{flex:260px;margin:0}.team-invite input{width:100%}.modal.wide{width:min(880px,100%)}.modal-actions.end{justify-content:flex-end;margin:14px 0 0}.price-opts{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:10px 0;display:flex}.price-opts .field.small{width:110px;margin:0}.price-table{max-height:46vh;overflow:auto}.warn-text{color:#b35c00;font-weight:600}.survey-grid{grid-template-columns:minmax(300px,420px) 1fr;align-items:start;gap:16px;display:grid}.survey-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.survey-form textarea{width:100%;font:inherit}.survey-plan{gap:8px;display:grid;position:sticky;top:12px}.survey-plan .drawing-svg{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px}.survey-plan .drawing-svg svg{width:100%;height:auto;max-height:70vh}.survey-sum{flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.offline-banner{color:#8a4b08;text-align:center;background:#fff4e5;padding:6px 16px;font-size:13px}@media (width<=820px){.survey-grid{grid-template-columns:1fr}.survey-plan{order:-1;position:static}.survey input,.survey select,.survey textarea,.survey button{min-height:40px;font-size:16px}}.prod-outputs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:18px;display:grid}.prod-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-content:start;gap:8px;padding:12px 14px;display:grid}.prod-card .hint{min-height:3.2em;margin:0}.prod-card select{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:5px 8px}.part-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:260px 1fr;gap:14px;margin-bottom:18px;padding:12px 14px;display:grid}.part-preview-side .field{margin:0 0 8px}.part-pick{gap:2px;max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.part-pick button{all:unset;cursor:pointer;border-radius:6px;width:calc(100% - 16px);padding:5px 8px;display:grid}.part-pick button:hover{background:var(--surface-2)}.part-pick button.on{background:var(--accent-soft)}.part-pick .hint{margin:0;font-size:11px}.part-preview-main{align-content:start;gap:8px;min-width:0;display:grid}.part-svg svg{width:100%;height:auto;max-height:420px;display:block}.joint-options{gap:6px;margin-bottom:8px;display:grid}.joint-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.joint-option.on{border-color:var(--accent);background:var(--accent-soft)}.joint-option span{gap:2px;display:grid}.joint-option .hint{margin:0}@media (width<=820px){.part-preview{grid-template-columns:1fr}}.finish-select{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-left:auto;padding:2px 4px;font-size:12px}
