:root{--bg:#f4f5f3;--surface:#fff;--ink:#1d2321;--muted:#707a75;--border:#e2e5e1;--orange:#e2622b;--steel:#3e6e8e;--ok:#3e8e63;--warn:#d9a441;--danger:#c1543e;--grid-line:#707a751f;--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-lg:12px;--radius-md:10px;--radius-sm:8px;--radius-xs:6px;--shadow-sm:0 1px 2px #1d23210d, 0 2px 6px #1d23210d;--shadow-md:0 2px 6px #1d23210d, 0 12px 28px #1d232114;--shadow-lg:0 4px 10px #1d232112, 0 20px 48px #1d232121;--transition-fast:.16s cubic-bezier(.25, 0, .2, 1);font-family:var(--font-body);color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 38%, transparent) transparent}body{min-width:320px;min-height:100vh;margin:0}button{border-radius:var(--radius-sm);background-color:var(--orange);min-height:40px;color:var(--surface);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-family:inherit;font-size:.9rem;font-weight:600;line-height:1.2;display:inline-flex}button:not([class]):hover:not(:disabled){background-color:color-mix(in srgb, var(--ink) 14%, var(--orange))}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button:focus{outline:none}button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}#root{min-height:100vh}.app-shell{background:var(--bg);min-height:100vh}.stats-bar{z-index:20;border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:188px repeat(4,minmax(118px,1fr)) minmax(112px,140px) minmax(112px,140px) minmax(190px,280px);min-height:72px;display:grid;position:sticky;top:0}.brand-block,.stat-block,.height-alert,.project-switcher{border-right:1px solid var(--border);align-items:center;display:flex}.brand-block{gap:12px;padding:0 16px}.brand-mark{border:1px solid var(--orange);width:38px;height:38px;color:var(--orange);font-family:var(--font-display);border-radius:10px;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid}.brand-name,.stat-value,dd,h1,h2,.detail-value{font-family:var(--font-display)}.brand-name{color:var(--ink);font-weight:700}.stat-block{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:0 16px}.stat-block.is-ok .stat-value{color:var(--ok)}.stat-block.is-warn .stat-value{color:var(--warn)}.stat-block.is-danger .stat-value{color:var(--danger)}.stat-label,.step-label,dt,.category-label,.detail-field>span{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;font-size:.72rem;font-weight:600}.stat-value{color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.18rem;font-weight:700;line-height:1.1}.project-switcher{gap:8px;min-width:0;padding:12px 16px}.projects-button{border:1px solid color-mix(in srgb, var(--orange) 55%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--orange) 8%, var(--surface));min-height:38px;color:var(--orange);flex:none;padding:0 12px;font-size:.82rem;font-weight:700}.projects-button:hover:not(:disabled){border-color:var(--orange);background:color-mix(in srgb, var(--orange) 14%, var(--surface))}.vehicle-pill{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;height:38px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;padding:0 12px;font-size:.9rem;font-weight:600;display:flex;overflow:hidden}.projects-modal{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1d232147;justify-items:end;padding:88px 24px 24px;display:grid;position:fixed;inset:0}.projects-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(620px,100%);max-height:calc(100vh - 112px);box-shadow:var(--shadow-lg);grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;padding:20px;display:grid}.projects-panel-header,.projects-panel-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.projects-list{gap:10px;padding-right:2px;display:grid;overflow:auto}.project-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px;display:grid}.project-row:hover{border-color:color-mix(in srgb, var(--ink) 22%, var(--border));box-shadow:var(--shadow-sm)}.project-row.is-active{border-color:color-mix(in srgb, var(--orange) 65%, var(--border));background:color-mix(in srgb, var(--orange) 7%, var(--surface))}.project-row strong,.project-row span,.project-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.project-row strong{color:var(--ink);font-family:var(--font-display);font-size:1rem}.project-row span,.project-row small,.projects-empty{color:var(--muted);font-size:.82rem}.project-row-actions{gap:8px;display:flex}.danger-button{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--surface);color:var(--danger)}.danger-button:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.height-alert{justify-content:center;padding:0 14px}.height-alert span{border:1px solid var(--border);min-height:34px;color:var(--ok);border-radius:10px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.height-alert.is-danger span{border-color:color-mix(in srgb, var(--danger) 42%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger)}.height-alert.is-warn span{border-color:color-mix(in srgb, var(--warn) 52%, var(--border));background:color-mix(in srgb, var(--warn) 12%, var(--surface));color:#7c5919}.workspace{grid-template-columns:76px minmax(0,1fr);min-height:calc(100vh - 72px);display:grid}.workspace.has-detail{grid-template-columns:76px minmax(0,1fr) 270px}.workspace.is-readonly{grid-template-columns:minmax(0,1fr)}.category-rail{z-index:15;border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:8px;padding:12px 8px;display:flex;position:relative;overflow:visible}.category-slot{position:relative}.category-button{border-radius:var(--radius-md);width:60px;min-height:64px;color:var(--ink);background:0 0;border:1px solid #0000;justify-items:center;gap:4px;padding:8px 2px;display:grid}.category-button:hover{border-color:var(--border);background:var(--bg)}.category-button.is-active{border-color:color-mix(in srgb, var(--orange) 70%, var(--border));background:color-mix(in srgb, var(--orange) 9%, var(--surface))}.category-icon{color:var(--category-color);transition:transform var(--transition-fast)}.category-button:hover .category-icon{transform:translateY(-1px)}.category-label{letter-spacing:.2px;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:58px;font-size:.54rem;line-height:1.15;overflow:hidden}.workspace-canvas{background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:24px 24px;place-items:center;min-width:0;padding:32px;display:grid;position:relative}.catalog-popover{z-index:30;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:330px;box-shadow:var(--shadow-lg);padding:12px;position:absolute;top:0;left:calc(100% + 12px)}.catalog-title{color:var(--ink);font-family:var(--font-display);align-items:center;gap:8px;margin-bottom:12px;display:flex}.catalog-title strong{flex:1;min-width:0}.catalog-close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;min-height:32px;color:var(--muted);place-items:center;padding:0;display:inline-grid}.catalog-close:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 28%, var(--border));background:var(--bg);color:var(--ink)}.category-dot{background:var(--category-color);border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.catalog-list{gap:8px;display:grid}.catalog-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--ink);text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden}.catalog-item:hover{border-color:color-mix(in srgb, var(--ink) 25%, var(--border));box-shadow:var(--shadow-sm)}.catalog-item.is-custom{border-color:color-mix(in srgb, var(--orange) 38%, var(--border))}.catalog-item-main{min-width:0;min-height:40px;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;justify-content:normal;justify-items:start;gap:4px;padding:10px 12px;display:grid}.catalog-item-main span{align-items:center;gap:7px;min-width:0;font-weight:700;display:flex}.catalog-item-main em{border:1px solid color-mix(in srgb, var(--orange) 48%, var(--border));color:var(--orange);text-transform:uppercase;border-radius:999px;flex:none;padding:3px 5px;font-size:.62rem;font-style:normal;font-weight:800;line-height:1}.catalog-item-main small{color:var(--muted);font-size:.78rem}.catalog-item-actions{border-left:1px solid var(--border);align-items:stretch;display:flex}.catalog-action-button{background:var(--surface);width:36px;min-height:100%;color:var(--muted);border:0;border-radius:0;place-items:center;padding:0;display:inline-grid}.catalog-action-button:hover:not(:disabled){background:var(--bg);color:var(--steel)}.catalog-action-button.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, var(--surface));color:var(--danger)}.catalog-create-button{border:1px dashed color-mix(in srgb, var(--orange) 58%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--orange) 6%, var(--surface));width:100%;min-height:40px;color:var(--orange);justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:.82rem;font-weight:700;display:inline-flex}.catalog-create-button:hover:not(:disabled){border-style:solid;border-color:var(--orange);background:color-mix(in srgb, var(--orange) 12%, var(--surface))}.custom-module-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(540px,100%);max-height:calc(100vh - 112px);box-shadow:var(--shadow-lg);grid-template-rows:auto auto auto;gap:16px;padding:20px;display:grid;overflow:auto}.custom-module-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.custom-module-form .detail-field:first-child,.custom-module-form .detail-field:nth-child(2){grid-column:1/-1}.plan-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(1040px,100%);box-shadow:var(--shadow-md);padding:24px}.plan-header{border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,.8fr) minmax(0,1.6fr);align-items:start;gap:16px;padding-bottom:16px;display:grid}.step-label{margin:0 0 8px}h1,h2{color:var(--ink);letter-spacing:-.02em;margin:0}h1{font-size:2rem;line-height:1.05}h2{font-size:1.15rem;line-height:1.15}.vehicle-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.onboarding-screen{background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:24px 24px;place-items:center;min-height:100vh;padding:32px;display:grid}.onboarding-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(920px,100%);box-shadow:var(--shadow-md);padding:28px}.onboarding-progress{gap:8px;margin-bottom:24px;display:flex}.onboarding-progress span{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted);font-family:var(--font-display);transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);place-items:center;font-weight:700;display:inline-grid}.onboarding-progress span.is-active{border-color:var(--orange);background:color-mix(in srgb, var(--orange) 9%, var(--surface));color:var(--orange)}.onboarding-progress span.is-done{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));color:var(--ok)}.onboarding-step{gap:18px;display:grid}.onboarding-copy{max-width:760px;color:var(--muted);margin:0}.onboarding-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-grid,.recap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.number-field{gap:6px;display:grid}.number-field>span,.payload-summary span{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;font-size:.72rem;font-weight:600}.number-field div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.number-field div:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent)}.number-field input{background:0 0;border:0}.number-field input:focus{box-shadow:none}.number-field em{color:var(--muted);padding-right:10px;font-style:normal;font-weight:700}.payload-summary{border:1px solid var(--border);background:var(--bg);border-radius:8px;gap:6px;min-height:72px;padding:9px 10px;display:grid}.payload-summary strong{color:var(--ink);font-family:var(--font-display);font-size:1.35rem}.validation-stack{gap:8px;display:grid}.form-error,.form-warning{border-radius:var(--radius-sm);border:1px solid;margin:0;padding:10px 12px;font-size:.88rem;font-weight:600;line-height:1.4}.form-error{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--surface));color:var(--danger)}.form-warning{border-color:color-mix(in srgb, var(--warn) 55%, var(--border));background:color-mix(in srgb, var(--warn) 12%, var(--surface));color:#7c5919}.onboarding-actions,.editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.editor-actions button{min-height:36px;padding:0 12px;font-size:.85rem}.creation-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.secondary-button.is-prominent{border-color:color-mix(in srgb, var(--orange) 60%, var(--border));background:color-mix(in srgb, var(--orange) 8%, var(--surface));color:var(--orange)}.secondary-button.is-prominent:hover:not(:disabled){border-color:var(--orange);background:color-mix(in srgb, var(--orange) 14%, var(--surface));color:var(--orange)}.history-actions{gap:8px;display:inline-flex}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:38px;height:38px;min-height:38px;color:var(--ink);place-items:center;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 28%, var(--border));background:var(--bg);color:var(--ink)}.secondary-button{border-color:var(--border);background:var(--surface);color:var(--ink)}.secondary-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 28%, var(--border));background:var(--bg);color:var(--ink)}.color-options{gap:10px;display:flex}.color-choice{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--project-color);width:46px;height:46px;min-height:46px;padding:0}.color-choice:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 35%, var(--border));transform:translateY(-1px)}.color-choice.is-active{border-color:var(--orange);outline:3px solid color-mix(in srgb, var(--orange) 18%, transparent)}.save-status{color:var(--muted);font-size:.78rem;font-weight:700}.save-status.is-error{color:var(--danger)}.view-switcher,.preview-angle-controls{flex-wrap:wrap;gap:8px;display:flex}.view-switcher{margin-top:18px}.view-switch-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--ink);padding:0 12px;font-size:.85rem}.view-switch-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 28%, var(--border));background:var(--bg);color:var(--ink)}.view-switch-button.is-active{border-color:color-mix(in srgb, var(--orange) 70%, var(--border));background:color-mix(in srgb, var(--orange) 9%, var(--surface));color:var(--orange)}select,input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--ink);font:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);padding:0 12px}select:hover:not(:disabled),input:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 22%, var(--border))}select:focus,input:focus{border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent);outline:none}.plan-shell{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:20px;padding:16px}.profile-shell{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:16px;padding:16px}.preview3d-shell{margin-top:20px}.preview3d-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.preview3d-viewport{border:1px solid var(--border);background:var(--bg);border-radius:12px;min-height:520px;overflow:hidden}.preview3d-canvas{width:100%;height:520px;display:block}.view-label{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:700}.vehicle-plan,.vehicle-profile{touch-action:none;width:100%;display:block}.vehicle-plan{height:min(48vh,470px);min-height:320px}.vehicle-profile{height:min(34vh,320px);min-height:210px}.vehicle-plan.is-dragging,.vehicle-profile.is-dragging{cursor:grabbing}.plan-grid-fill{fill:var(--surface)}.plan-grid-pattern{pointer-events:none}.vehicle-body{fill:#0000;stroke:var(--ink);stroke-width:200px}.profile-body{stroke-width:200px}.vehicle-cabin-line{stroke:var(--ink);stroke-width:24px;vector-effect:non-scaling-stroke}.vehicle-floor-line{stroke:var(--ink);stroke-width:80px}.placed-element{cursor:grab;opacity:.94;stroke:#1d232157;stroke-width:1.6px;vector-effect:non-scaling-stroke}.placed-element-shadow{fill:#1d232129}.placed-element-highlight{fill:none;stroke:#ffffff7a;stroke-width:1.4px;vector-effect:non-scaling-stroke}.placed-element.is-selected{opacity:1;stroke:var(--orange);stroke-width:2px}.placed-element.has-conflict{stroke:var(--warn);stroke-width:2px}.placed-element.has-height-issue{stroke:var(--danger);stroke-width:2px}.interior-wall{opacity:.84}.interior-wall.is-selected{opacity:1}.wall-opening-marker{fill:var(--surface);opacity:.92;stroke:var(--steel);stroke-dasharray:28 18;stroke-width:2px;vector-effect:non-scaling-stroke}.wall-profile-opening-outline{fill:none;cursor:grab;stroke:var(--steel);stroke-dasharray:28 18;stroke-width:2px;vector-effect:non-scaling-stroke}.wall-profile-opening-outline.is-selected{stroke:var(--orange)}.wall-profile-opening-outline.has-conflict{stroke:var(--warn)}.wall-profile-opening-outline.has-height-issue{stroke:var(--danger)}.wall-label{fill:var(--ink);opacity:.72;font-size:108px}.exterior-opening{cursor:pointer;fill:color-mix(in srgb, var(--surface) 82%, var(--danger));opacity:.96;stroke:var(--danger);stroke-dasharray:30 18;stroke-width:3px;vector-effect:non-scaling-stroke}.exterior-opening.is-passage{fill:color-mix(in srgb, var(--danger) 12%, var(--surface))}.exterior-opening.is-selected{stroke:var(--orange);stroke-dasharray:none}.exterior-opening-label{fill:var(--ink);opacity:.86;stroke:#ffffffeb;font-size:82px}.exterior-opening-icon{color:var(--danger);opacity:.88}.element-icon-badge{fill:#ffffff3d;stroke:#ffffff6b;stroke-width:1.2px;vector-effect:non-scaling-stroke}.element-category-icon{color:var(--surface)}.element-dimension-label{fill:#fffffff0;font-family:var(--font-display);letter-spacing:0;paint-order:stroke;stroke:#1d232138;stroke-width:6px;text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;user-select:none;font-size:58px;font-weight:700}.fixed-marker-layer{color:var(--muted)}.fixed-cabin-zone{fill:#707a751f}.fixed-cabin-divider{stroke:#1d232157;stroke-width:2px;vector-effect:non-scaling-stroke}.fixed-seat{fill:#707a752e;stroke:#707a7585;stroke-width:2px;vector-effect:non-scaling-stroke}.fixed-wheel-arch{fill:#707a7538;stroke:#707a7594;stroke-width:2px;vector-effect:non-scaling-stroke}.fixed-door-marker{stroke:var(--steel);stroke-linecap:round;stroke-width:5px;vector-effect:non-scaling-stroke}.fixed-door-secondary{stroke:var(--steel);stroke-dasharray:24 22;stroke-linecap:round;stroke-opacity:.82;stroke-width:3px;vector-effect:non-scaling-stroke}.fixed-door-swing{fill:none;stroke:var(--steel);stroke-dasharray:26 20;stroke-linecap:round;stroke-width:4px;vector-effect:non-scaling-stroke}.fixed-door-open-leaf,.fixed-sliding-door-arrow{fill:none;stroke:var(--steel);stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.fixed-sliding-door-arrow{stroke-width:4px}.fixed-door-profile{fill:#0000;stroke:var(--steel);stroke-dasharray:26 20;stroke-width:3px;vector-effect:non-scaling-stroke}.fixed-marker-label{fill:var(--muted);font-family:var(--font-display);letter-spacing:0;paint-order:stroke;stroke:var(--surface);stroke-width:8px;text-anchor:middle;-webkit-user-select:none;user-select:none;font-size:72px;font-weight:700}.dim-witness{stroke:#707a758c;stroke-width:1.3px;vector-effect:non-scaling-stroke}.dim-line{fill:none;stroke-width:2.2px;vector-effect:non-scaling-stroke}.dim-arrow{stroke:none}.dim-text{dominant-baseline:middle;font-family:var(--font-display);paint-order:stroke;stroke:var(--bg);stroke-width:10px;text-anchor:middle;-webkit-user-select:none;user-select:none;font-size:64px;font-weight:700}.dim-text.is-emphasis{font-size:76px}.dim-line.tone-vehicle{stroke:var(--ink)}.dim-arrow.tone-vehicle,.dim-text.tone-vehicle{fill:var(--ink)}.dim-line.tone-element{stroke:var(--steel)}.dim-arrow.tone-element,.dim-text.tone-element{fill:var(--steel)}.dim-line.tone-opening{stroke:#8b5e83}.dim-arrow.tone-opening,.dim-text.tone-opening{fill:#8b5e83}.secondary-button[aria-pressed=true]{border-color:var(--steel);color:var(--steel)}.profile-element{cursor:ns-resize}.elevation-guide{stroke:var(--muted);stroke-dasharray:26 22;stroke-opacity:.42;stroke-width:8px;vector-effect:non-scaling-stroke}.element-label{fill:var(--surface);font-family:var(--font-display);paint-order:stroke;stroke:#1d232142;stroke-width:8px;text-anchor:middle;dominant-baseline:middle;-webkit-user-select:none;user-select:none;font-size:96px;font-weight:700}.drag-tooltip{z-index:60;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-md);color:var(--ink);font-family:var(--font-display);pointer-events:none;white-space:nowrap;padding:8px 12px;font-size:.82rem;font-weight:700;line-height:1;position:fixed}.detail-panel{border-left:1px solid var(--border);background:var(--surface);padding:20px 16px}.detail-header{border-bottom:1px solid var(--border);padding-bottom:16px}.detail-list{gap:12px;margin-top:16px;display:grid}.detail-field{gap:4px;min-width:0;display:grid}.detail-value,.detail-field input,.detail-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-height:40px;color:var(--ink);padding:8px 12px;font-weight:700}.detail-field input:disabled{color:var(--muted);cursor:not-allowed;opacity:.62}.detail-field select{font:inherit}.detail-checkbox{min-height:40px;color:var(--ink);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.detail-value{align-items:center;gap:8px;display:flex}.finish-control{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;display:grid}.finish-swatch{border:1px solid var(--border);background:var(--finish-color);border-radius:8px;width:34px;height:34px;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff6b}.detail-value.is-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--surface));color:var(--danger)}.detail-value.is-warning{border-color:color-mix(in srgb, var(--warn) 55%, var(--border));background:color-mix(in srgb, var(--warn) 12%, var(--surface));color:#7c5919}.share-link{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:-8px 0 0;font-size:.82rem}.detail-actions{gap:10px;margin-top:18px;display:grid}.detail-actions button{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.detail-actions .danger-button{border-color:color-mix(in srgb, var(--danger) 35%, var(--surface));background:var(--danger);color:var(--surface)}.detail-actions .danger-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 20%, var(--danger));background:color-mix(in srgb, var(--ink) 14%, var(--danger));color:var(--surface)}@media (width<=1200px){.stats-bar{grid-template-columns:188px repeat(2,minmax(128px,1fr))}.project-switcher{grid-column:1/-1}.vehicle-pill{justify-content:flex-start}.workspace.has-detail{grid-template-columns:76px minmax(0,1fr)}.workspace.is-readonly{grid-template-columns:minmax(0,1fr)}.detail-panel{border-top:1px solid var(--border);border-left:0;grid-column:2}.vehicle-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-grid,.recap-grid{grid-template-columns:1fr}}@media (width<=760px){.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-block{border-bottom:1px solid var(--border);grid-column:1/-1;min-height:52px}.stat-block{min-height:56px;padding:8px 16px}.height-alert{justify-content:flex-start;min-height:52px;padding:8px 16px}.project-switcher{border-top:1px solid var(--border);grid-column:1/-1;min-height:56px}.workspace,.workspace.has-detail{grid-template-columns:1fr}.category-rail{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;gap:4px;padding:8px 12px;overflow:auto visible}.category-button{flex:none}.workspace-canvas{padding:12px}.catalog-popover{width:auto;max-height:calc(100vh - 172px);position:fixed;top:156px;left:12px;right:12px;overflow:auto}.catalog-close{width:40px;height:40px;min-height:40px}.catalog-action-button{width:44px}.catalog-item-main{padding:12px}.custom-module-form{grid-template-columns:1fr}.plan-card{padding:16px}.plan-header,.vehicle-controls{grid-template-columns:1fr}.onboarding-screen{align-items:start;padding:12px}.onboarding-card{padding:20px 16px}.onboarding-actions,.editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.editor-actions button,.onboarding-actions button{width:100%;min-height:44px}.editor-actions .save-status{grid-column:1/-1}.creation-actions,.history-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.creation-actions .is-prominent{grid-column:1/-1}.icon-button{width:100%;height:44px;min-height:44px}.preview3d-header,.preview-angle-controls{flex-direction:column;align-items:stretch}.preview-angle-controls button{min-height:44px}.view-switcher{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.view-switch-button,select,input,.detail-value,.detail-field input,.detail-field select{min-height:44px}.preview3d-viewport{min-height:420px}.preview3d-canvas{height:420px}.vehicle-plan{min-height:300px}.vehicle-profile{min-height:220px}.detail-panel{grid-column:1;padding:16px 12px}.projects-modal{justify-items:stretch;padding:72px 12px 12px}.project-row,.project-row-actions{grid-template-columns:1fr}.project-row-actions{display:grid}.project-row-actions button{min-height:44px}}
