:root{--bg:#f0ede8;--surface:#fff;--ink:#1c1a16;--muted:#7a7568;--border:#d4cfc5;--accent:#1d3b28;--steel:#4a90a4;--opening-tone:#a6607c;--ok:#2d6a4f;--warn:#b86a00;--danger:#c0281a;--grid-line:#7a756824;--font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--font-body:"Barlow", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--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(--accent);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(--accent))}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(--accent);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(--accent);width:38px;height:38px;color:var(--accent);font-family:var(--font-display);border-radius:10px;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid}h1,h2,.brand-name{font-family:var(--font-display)}.stat-value,dd,.detail-value{font-family:var(--font-mono)}.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(--accent) 55%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 8%, var(--surface));min-height:38px;color:var(--accent);flex:none;padding:0 12px;font-size:.82rem;font-weight:700}.projects-button:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.account-button{border:1px solid color-mix(in srgb, var(--steel) 45%, var(--border));border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:38px;color:var(--steel);text-overflow:ellipsis;white-space:nowrap;flex:auto;padding:0 12px;font-size:.82rem;font-weight:700;overflow:hidden}.account-button:hover:not(:disabled){border-color:var(--steel);background:color-mix(in srgb, var(--steel) 10%, 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(--accent) 65%, var(--border));background:color-mix(in srgb, var(--accent) 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}.auth-panel{align-self:start;width:min(420px,100%)}.auth-tabs{gap:8px;display:flex}.auth-tabs button[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 65%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--accent)}.auth-form{align-self:start;gap:14px;display:grid}.auth-notice{color:var(--muted);font-size:.82rem;line-height:1.4}.auth-account-info{align-self:start;gap:12px;display:grid}.auth-account-info p{color:var(--ink);font-size:.9rem;line-height:1.4}.auth-screen{--auth-bg:#1d3b28;--auth-ink:#fff;--auth-muted-1:#ffffff8c;--auth-muted-2:#ffffff73;--auth-muted-3:#ffffff59;--auth-muted-4:#ffffff40;--auth-font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--auth-font-body:"Barlow", ui-sans-serif, system-ui, sans-serif;--auth-font-mono:"DM Mono", ui-monospace, monospace;background:var(--auth-bg);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-screen-watermark{opacity:.065;pointer-events:none;position:absolute;top:50%;right:-80px;transform:translateY(-50%)rotate(-10deg)}.auth-screen-header{z-index:1;align-items:center;gap:10px;padding:32px 40px;display:flex;position:relative}.auth-screen-brand{font-family:var(--auth-font-display);letter-spacing:.02em;color:var(--auth-ink);font-size:1.125rem;font-weight:700}.auth-screen-body{z-index:1;flex:1;align-items:center;gap:60px;padding:20px 40px 60px;display:flex;position:relative}.auth-screen-pitch{flex:1;min-width:0}.auth-screen-kicker{font-family:var(--auth-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--auth-muted-2);margin-bottom:20px;font-size:.69rem}.auth-screen-title{font-family:var(--auth-font-display);letter-spacing:-.01em;color:var(--auth-ink);margin:0 0 24px;font-size:3.4rem;font-weight:700;line-height:1.02}.auth-screen-title span{color:var(--auth-muted-3)}.auth-screen-tagline{max-width:340px;color:var(--auth-muted-1);font-size:.875rem;line-height:1.65}.auth-screen-features{flex-direction:column;gap:10px;margin-top:36px;display:flex}.auth-screen-feature{font-family:var(--auth-font-body);color:var(--auth-muted-1);align-items:center;gap:10px;font-size:.8rem;display:flex}.auth-screen-feature-dot{background:var(--auth-muted-2);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-screen-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;flex-shrink:0;width:380px;max-width:100%;padding:36px 36px 32px}.auth-screen-tabs{gap:0;margin-bottom:32px;display:flex}.auth-screen-tab{min-height:0;color:var(--auth-muted-3);font-family:var(--auth-font-display);letter-spacing:.03em;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #ffffff26;border-radius:0;flex:1;padding:10px 0;font-size:1rem;font-weight:600}.auth-screen-tab.is-active{border-bottom-color:var(--auth-ink);color:var(--auth-ink)}.auth-screen-form{gap:24px;margin-bottom:28px;display:grid}.auth-screen-field{font-family:var(--auth-font-body);display:block}.auth-screen-field-label{font-family:var(--auth-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--auth-muted-1);margin-bottom:6px;font-size:.625rem;display:block}.auth-screen-field-row{font-family:var(--auth-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--auth-muted-1);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:.625rem;display:flex}.auth-screen-forgot{font-family:var(--auth-font-mono);letter-spacing:.06em;color:var(--auth-muted-3);cursor:default;font-size:.56rem}.auth-screen-field input{border:none;border-bottom:1.5px solid var(--auth-muted-4);width:100%;min-height:0;color:var(--auth-ink);font-family:var(--auth-font-body);transition:border-color var(--transition-fast);background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:.94rem}.auth-screen-field input::placeholder{color:#ffffff4d}.auth-screen-field input:focus{border-bottom-color:#fffc}.auth-screen-notice{color:var(--auth-muted-2);margin-top:-12px;font-size:.78rem;line-height:1.4}.auth-screen-form .form-error{color:#ffd4c4}.auth-screen-submit{background:var(--auth-ink);width:100%;min-height:0;color:var(--auth-bg);font-family:var(--auth-font-display);letter-spacing:.04em;border:none;border-radius:9px;margin-bottom:16px;padding:14px 0;font-size:1.125rem;font-weight:700}.auth-screen-submit:hover:not(:disabled){opacity:.92;background:var(--auth-ink)}.auth-screen-divider{align-items:center;gap:12px;margin-bottom:16px;display:flex}.auth-screen-divider span{background:#ffffff26;flex:1;height:1px}.auth-screen-divider em{font-family:var(--auth-font-mono);color:var(--auth-muted-3);font-size:.625rem;font-style:normal}.auth-screen-google{color:#fffc;width:100%;min-height:0;font-family:var(--auth-font-body);background:0 0;border:1px solid #fff3;border-radius:9px;gap:10px;padding:12px 0;font-size:.875rem;font-weight:500}.auth-screen-google:hover:not(:disabled){background:0 0}.dashboard-screen{--dash-bg:#f0ede8;--dash-surface:#fff;--dash-plan-bg:#ecebe5;--dash-ink:#1c1a16;--dash-muted:#7a7568;--dash-muted-2:#a09a92;--dash-border:#d4cfc5;--dash-accent:#1d3b28;--dash-track:#e8e4dc;--dash-font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--dash-font-body:"Barlow", ui-sans-serif, system-ui, sans-serif;--dash-font-mono:"DM Mono", ui-monospace, monospace;background:var(--dash-bg);min-height:100vh;font-family:var(--dash-font-body);color:var(--dash-ink)}.dashboard-nav{z-index:10;background:var(--dash-surface);border-bottom:1px solid var(--dash-border);align-items:center;height:56px;padding:0 36px;display:flex;position:sticky;top:0}.dashboard-nav-brand{font-family:var(--dash-font-display);letter-spacing:.02em;align-items:center;gap:8px;margin-right:40px;font-size:1rem;font-weight:700;display:flex}.dashboard-nav-tabs{flex:1;gap:0;display:flex}.dashboard-nav-tab{height:56px;font-family:var(--dash-font-display);letter-spacing:.02em;color:var(--dash-muted);border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:.9375rem;font-weight:600;display:flex}.dashboard-nav-tab.is-active{color:var(--dash-accent);border-bottom-color:var(--dash-accent)}.dashboard-nav-tab.is-inert{cursor:default}.dashboard-nav-avatar{background:var(--dash-accent);color:#fff;cursor:pointer;width:32px;height:32px;font-family:var(--dash-font-display);letter-spacing:.04em;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.dashboard-content{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:40px 48px 80px}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px;display:flex}.dashboard-title{font-family:var(--dash-font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:2.75rem;font-weight:700;line-height:1}.dashboard-subtitle{font-family:var(--dash-font-mono);color:var(--dash-muted);margin:0;font-size:.6875rem}.dashboard-new-button{background:var(--dash-accent);color:#fff;cursor:pointer;font-family:var(--dash-font-display);letter-spacing:.04em;border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:8px;padding:12px 22px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 2px 10px #1d3b2838}.dashboard-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 0;display:flex}.dashboard-empty-title{font-family:var(--dash-font-display);color:#4a4640;margin:0;font-size:1.375rem;font-weight:600}.dashboard-empty-copy{font-family:var(--dash-font-mono);color:var(--dash-muted-2);margin:0;font-size:.6875rem}.dashboard-card{background:var(--dash-surface);cursor:pointer;text-align:left;font-family:var(--dash-font-body);color:var(--dash-ink);border:none;border-radius:12px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 6px #0000000f}.dashboard-card:hover{box-shadow:0 6px 24px #0000001c}.dashboard-card-hero{border-radius:14px;flex-direction:row;margin-bottom:24px;box-shadow:0 2px 12px #00000012}.dashboard-card-hero:hover{box-shadow:0 8px 32px #0000001f}.dashboard-card-plan{background:var(--dash-plan-bg);flex-shrink:0;justify-content:center;align-items:center;padding:16px 12px;display:flex}.dashboard-card-hero .dashboard-card-plan{flex:1;padding:28px}.dashboard-card-body{flex-direction:column;flex:1;justify-content:space-between;padding:18px 18px 16px;display:flex}.dashboard-card-hero .dashboard-card-body{flex:0 0 400px;padding:32px 36px}.dashboard-card-title{font-family:var(--dash-font-display);letter-spacing:-.01em;margin:0 0 3px;font-size:1.25rem;font-weight:700;line-height:1.1}.dashboard-card-hero .dashboard-card-title{font-size:2.25rem;line-height:1.05}.dashboard-card-subtitle{font-family:var(--dash-font-mono);color:var(--dash-muted);margin:0 0 14px;font-size:.625rem}.dashboard-card-stats{flex-direction:column;gap:8px;display:flex}.dashboard-stat-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dashboard-stat-label{font-family:var(--dash-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dash-muted);font-size:.59375rem}.dashboard-stat-value{font-family:var(--dash-font-mono);color:#4a4640;font-size:.625rem;font-weight:500}.dashboard-stat-bar{background:var(--dash-track);border-radius:99px;width:100%;height:5px;overflow:hidden}.dashboard-stat-bar-fill{border-radius:99px;height:100%;transition:width .3s}.dashboard-card-footer{border-top:1px solid var(--dash-bg);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.dashboard-card-hero .dashboard-card-footer{border-top:none;margin-top:28px;padding-top:0}.dashboard-card-date{font-family:var(--dash-font-mono);color:var(--dash-muted-2);font-size:.59375rem}.dashboard-card-open{font-family:var(--dash-font-display);letter-spacing:.03em;color:var(--dash-accent);font-size:.9375rem;font-weight:700}.dashboard-card-delete{width:22px;height:22px;color:var(--dash-muted-2);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;display:flex}.dashboard-card-delete:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dashboard-new-card{border:2px dashed var(--dash-border);min-height:240px;box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:12px;padding:40px;transition:border-color .15s,background .15s}.dashboard-new-card:hover{box-shadow:none;background:#eef4f0;border-color:#4d9070}.dashboard-new-card-icon{border:1.5px solid var(--dash-border);width:48px;height:48px;color:var(--dash-muted-2);border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.dashboard-new-card:hover .dashboard-new-card-icon{border-color:var(--dash-accent);color:var(--dash-accent)}.dashboard-new-card-label{font-family:var(--dash-font-display);letter-spacing:.02em;color:var(--dash-muted);font-size:1.0625rem;font-weight:700}.dashboard-new-card:hover .dashboard-new-card-label{color:var(--dash-accent)}.dashboard-nav-tab{cursor:pointer;background:0 0;border:none;border-radius:0}.catalogue-screen{--dash-bg:#f0ede8;--dash-surface:#fff;--dash-plan-bg:#ecebe5;--dash-ink:#1c1a16;--dash-muted:#7a7568;--dash-muted-2:#a09a92;--dash-border:#d4cfc5;--dash-accent:#1d3b28;--dash-track:#e8e4dc;--dash-font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--dash-font-body:"Barlow", ui-sans-serif, system-ui, sans-serif;--dash-font-mono:"DM Mono", ui-monospace, monospace;background:var(--dash-bg);height:100vh;font-family:var(--dash-font-body);color:var(--dash-ink);flex-direction:column;display:flex;overflow:hidden}.catalogue-body{flex:1;display:flex;overflow:hidden}.catalogue-sidebar{border-right:1px solid var(--dash-border);background:#fafaf7;flex-direction:column;flex-shrink:0;width:256px;display:flex}.catalogue-search{padding:18px 16px 14px;position:relative}.catalogue-search-icon{color:var(--dash-muted-2);pointer-events:none;position:absolute;top:50%;left:26px;transform:translateY(-50%)}.catalogue-search input{border:1.5px solid var(--dash-border);background:var(--dash-surface);width:100%;color:var(--dash-ink);font-family:var(--dash-font-body);border-radius:8px;min-height:0;padding:8px 8px 8px 30px;font-size:.8125rem}.catalogue-search input:focus{border-color:var(--dash-accent);box-shadow:none}.catalogue-filters{padding:0 16px 16px}.catalogue-filters-kicker{font-family:var(--dash-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dash-muted);margin:0 0 10px;font-size:.59375rem}.catalogue-filter{cursor:pointer;width:100%;font-family:var(--dash-font-display);color:#4a4640;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;min-height:0;margin-bottom:3px;padding:8px 10px;font-size:.875rem;font-weight:600;display:flex}.catalogue-filter.is-active{background:color-mix(in srgb, var(--category-color,var(--dash-accent)) 12%, var(--dash-surface));color:var(--dash-accent)}.catalogue-filter-label{align-items:center;gap:8px;display:flex}.catalogue-filter-dot{background:var(--category-color,var(--dash-muted-2));border-radius:2px;flex-shrink:0;width:10px;height:10px}.catalogue-filter-count{background:var(--dash-bg);color:var(--dash-muted-2);font-family:var(--dash-font-mono);border-radius:99px;padding:2px 7px;font-size:.625rem}.catalogue-sidebar-spacer{flex:1}.catalogue-custom-count{border:1px dashed var(--dash-border);background:var(--dash-bg);border-radius:8px;margin:0 16px 14px;padding:10px 12px}.catalogue-custom-count p{font-family:var(--dash-font-mono);color:var(--dash-muted);margin:0 0 2px;font-size:.59375rem}.catalogue-custom-count strong{font-family:var(--dash-font-display);font-size:1.125rem;font-weight:700}.catalogue-create-button{border:1.5px solid var(--dash-accent);width:calc(100% - 32px);color:var(--dash-accent);font-family:var(--dash-font-display);letter-spacing:.04em;background:0 0;border-radius:9px;margin:0 16px 20px;padding:11px 0;font-size:.9375rem;font-weight:700}.catalogue-create-button:hover:not(:disabled){background:var(--dash-accent);color:#fff}.catalogue-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.catalogue-toolbar{border-bottom:1px solid var(--dash-track);background:#f5f3ef;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.catalogue-count{font-family:var(--dash-font-mono);color:var(--dash-muted);font-size:.6875rem}.catalogue-sort{align-items:center;gap:6px;display:flex}.catalogue-sort-label{font-family:var(--dash-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dash-muted-2);margin-right:2px;font-size:.59375rem}.catalogue-sort-button{border:1px solid var(--dash-border);color:var(--dash-muted);font-family:var(--dash-font-mono);letter-spacing:.06em;background:0 0;border-radius:6px;min-height:0;padding:5px 10px;font-size:.625rem}.catalogue-sort-button.is-active{border-color:var(--dash-accent);color:var(--dash-accent);background:#eef4f0}.catalogue-grid-scroll{flex:1;padding:24px;overflow-y:auto}.catalogue-empty{text-align:center;color:var(--dash-muted-2);font-family:var(--dash-font-mono);padding:60px 0;font-size:.75rem}.catalogue-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.catalogue-grid.has-detail{grid-template-columns:repeat(2,1fr)}.catalogue-item{border:1.5px solid var(--dash-track);background:var(--dash-surface);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000d}.catalogue-item:hover{box-shadow:0 4px 16px #0000001a}.catalogue-item.is-selected{border-color:var(--dash-accent);box-shadow:0 4px 16px #0000001a}.catalogue-item-thumb{position:relative}.catalogue-footprint-empty{background:var(--dash-plan-bg);border-radius:4px}.catalogue-footprint-label{font-family:var(--dash-font-mono);fill:var(--dash-muted);font-size:8.5px}.catalogue-item-badge{color:#fff;font-family:var(--dash-font-mono);letter-spacing:.08em;text-transform:uppercase;background:#1d3b28d9;border-radius:99px;padding:2px 8px;font-size:.53125rem;position:absolute;top:8px;right:8px}.catalogue-item-body{padding:12px 14px 14px}.catalogue-item-header{justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:6px;display:flex}.catalogue-item-name{font-family:var(--dash-font-display);letter-spacing:-.01em;font-size:1.0625rem;font-weight:700;line-height:1.1}.catalogue-item-cat{background:color-mix(in srgb, var(--category-color) 16%, var(--dash-surface));color:color-mix(in srgb, var(--category-color) 70%, var(--dash-ink));font-family:var(--dash-font-mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:99px;flex-shrink:0;padding:2px 7px;font-size:.53125rem}.catalogue-item-specs{font-family:var(--dash-font-mono);color:var(--dash-muted);flex-wrap:wrap;gap:12px;font-size:.625rem;display:flex}.catalogue-detail{border-left:1px solid var(--dash-border);background:#fafaf7;flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.catalogue-detail-header{border-bottom:1px solid var(--dash-track);justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.catalogue-detail-body{flex:1;padding:0 20px 24px;overflow-y:auto}.catalogue-detail-title{font-family:var(--dash-font-display);letter-spacing:-.01em;margin:16px 0;font-size:1.875rem;font-weight:700;line-height:1.05}.catalogue-detail-footprint{border:1px solid var(--dash-border);border-radius:10px;margin-bottom:18px;overflow:hidden}.catalogue-detail-specs{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px;display:grid}.catalogue-detail-spec{background:#f5f3ef;border-radius:7px;padding:9px 11px}.catalogue-detail-spec span{font-family:var(--dash-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dash-muted);margin-bottom:2px;font-size:.5625rem;display:block}.catalogue-detail-spec strong{font-family:var(--dash-font-mono);font-size:.8125rem;font-weight:500}.catalogue-detail-actions{gap:8px;display:flex}.catalogue-detail-actions .secondary-button,.catalogue-detail-actions .danger-button{flex:1}.custom-module-panel.is-figma{font-family:Barlow,ui-sans-serif,system-ui,sans-serif}.custom-module-panel.is-figma .step-label,.custom-module-panel.is-figma h2{font-family:Barlow Condensed,ui-sans-serif,system-ui,sans-serif}.custom-module-panel.is-figma button:not(.secondary-button){background-color:#1d3b28}.custom-module-panel.is-figma button:not(.secondary-button):hover:not(:disabled){background-color:#1a3423}.custom-module-panel.is-figma .detail-field input:focus,.custom-module-panel.is-figma .detail-field select:focus{border-color:#1d3b28;box-shadow:0 0 0 3px #1d3b282e}.onboarding-screen.is-figma{--onb-bg:#f0ede8;--onb-surface:#fff;--onb-ink:#1c1a16;--onb-muted:#7a7568;--onb-muted-2:#a09a92;--onb-border:#d4cfc5;--onb-accent:#1d3b28;--onb-track:#e8e4dc;--onb-font-display:"Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--onb-font-body:"Barlow", ui-sans-serif, system-ui, sans-serif;--onb-font-mono:"DM Mono", ui-monospace, monospace;background-color:var(--onb-bg);background-image:none}.onboarding-card.is-figma{background:var(--onb-surface);font-family:var(--onb-font-body);color:var(--onb-ink);border:none;border-radius:16px;padding:40px 44px;box-shadow:0 2px 12px #00000012}.onboarding-card.is-figma .account-button{border-color:var(--onb-border);color:var(--onb-muted);font-family:var(--onb-font-mono);background:0 0;font-size:.75rem}.onboarding-card.is-figma .account-button:hover:not(:disabled){border-color:var(--onb-accent);color:var(--onb-accent);background:0 0}.onboarding-card.is-figma .onboarding-progress span{border-color:var(--onb-border);color:var(--onb-muted-2);font-family:var(--onb-font-display);border-radius:8px}.onboarding-card.is-figma .onboarding-progress span.is-active{border-color:var(--onb-accent);background:color-mix(in srgb, var(--onb-accent) 9%, var(--onb-surface));color:var(--onb-accent)}.onboarding-card.is-figma .onboarding-progress span.is-done{border-color:color-mix(in srgb, var(--onb-accent) 45%, var(--onb-border));color:var(--onb-accent);background:0 0}.onboarding-card.is-figma .step-label{font-family:var(--onb-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--onb-muted);font-size:.6875rem}.onboarding-card.is-figma h1{font-family:var(--onb-font-display);letter-spacing:-.01em;color:var(--onb-ink);font-size:2.5rem;font-weight:700}.onboarding-card.is-figma .onboarding-copy{color:var(--onb-muted);font-family:var(--onb-font-body)}.onboarding-card.is-figma select,.onboarding-card.is-figma .detail-field input,.onboarding-card.is-figma .detail-field select,.onboarding-card.is-figma .number-field input{border-color:var(--onb-border);background:var(--onb-bg);color:var(--onb-ink);font-family:var(--onb-font-body)}.onboarding-card.is-figma select:hover:not(:disabled),.onboarding-card.is-figma .number-field input:hover:not(:disabled){border-color:color-mix(in srgb, var(--onb-accent) 40%, var(--onb-border))}.onboarding-card.is-figma select:focus,.onboarding-card.is-figma .number-field div:focus-within,.onboarding-card.is-figma .detail-field input:focus,.onboarding-card.is-figma .detail-field select:focus{border-color:var(--onb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--onb-accent) 18%, transparent)}.onboarding-card.is-figma .number-field div{border-color:var(--onb-border);background:var(--onb-bg)}.onboarding-card.is-figma .number-field>span,.onboarding-card.is-figma .payload-summary span{color:var(--onb-muted);font-family:var(--onb-font-mono)}.onboarding-card.is-figma .number-field em{color:var(--onb-muted)}.onboarding-card.is-figma .payload-summary{border-color:var(--onb-border);background:var(--onb-bg)}.onboarding-card.is-figma .payload-summary strong{font-family:var(--onb-font-display);color:var(--onb-accent)}.onboarding-card.is-figma .form-error{border-color:color-mix(in srgb, var(--danger) 45%, var(--onb-border));background:color-mix(in srgb, var(--danger) 8%, var(--onb-surface))}.onboarding-card.is-figma .form-warning{border-color:color-mix(in srgb, var(--warn) 55%, var(--onb-border));background:color-mix(in srgb, var(--warn) 12%, var(--onb-surface))}.onboarding-card.is-figma .color-choice{border-color:var(--onb-border)}.onboarding-card.is-figma .color-choice:hover:not(:disabled){border-color:color-mix(in srgb, var(--onb-accent) 45%, var(--onb-border))}.onboarding-card.is-figma .color-choice.is-active{border-color:var(--onb-accent);outline-color:color-mix(in srgb, var(--onb-accent) 18%, transparent)}.onboarding-card.is-figma .detail-field>span{font-family:var(--onb-font-mono);color:var(--onb-muted)}.onboarding-card.is-figma .detail-value{border-color:var(--onb-border);background:var(--onb-bg);color:var(--onb-ink);font-family:var(--onb-font-mono)}.onboarding-card.is-figma .detail-value.is-danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--onb-border));background:color-mix(in srgb, var(--danger) 8%, var(--onb-surface))}.onboarding-card.is-figma .detail-value.is-warning{border-color:color-mix(in srgb, var(--warn) 55%, var(--onb-border));background:color-mix(in srgb, var(--warn) 12%, var(--onb-surface))}.onboarding-card.is-figma .secondary-button{border-color:var(--onb-border);background:var(--onb-surface);color:var(--onb-ink);font-family:var(--onb-font-display);letter-spacing:.02em;font-weight:700}.onboarding-card.is-figma .secondary-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--onb-accent) 35%, var(--onb-border));background:var(--onb-bg);color:var(--onb-accent)}.onboarding-card.is-figma button:not(.secondary-button):not(.color-choice):not(.account-button){background-color:var(--onb-accent);color:#fff;font-family:var(--onb-font-display);letter-spacing:.02em;font-weight:700;box-shadow:0 2px 10px #1d3b2838}.onboarding-card.is-figma button:not(.secondary-button):not(.color-choice):not(.account-button):hover:not(:disabled){background-color:color-mix(in srgb, #000 12%, var(--onb-accent))}.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(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 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(--accent) 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(--accent) 48%, var(--border));color:var(--accent);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(--accent) 58%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 6%, var(--surface));width:100%;min-height:40px;color:var(--accent);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(--accent);background:color-mix(in srgb, var(--accent) 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-account-bar{justify-content:flex-end;margin-bottom:16px;display:flex}.onboarding-account-bar .account-button{flex:0 auto;max-width:240px}.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(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--accent)}.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(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 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(--accent) 60%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--accent)}.secondary-button.is-prominent:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent)}.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(--accent);outline:3px solid color-mix(in srgb, var(--accent) 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(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--accent)}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(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 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(--accent);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(--accent)}.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(--accent);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:var(--opening-tone)}.dim-arrow.tone-opening,.dim-text.tone-opening{fill:var(--opening-tone)}.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}.auth-screen-watermark{display:none}.auth-screen-header{padding:20px 20px 0}.auth-screen-body{flex-direction:column;align-items:stretch;gap:32px;padding:20px 20px 40px}.auth-screen-pitch{padding-right:0}.auth-screen-title{font-size:2.4rem}.auth-screen-tagline{max-width:none}.auth-screen-card{width:100%}.dashboard-nav{padding:0 16px}.dashboard-nav-tabs{margin-right:8px}.dashboard-nav-tab{padding:0 10px;font-size:.8125rem}.dashboard-nav-brand span{display:none}.dashboard-content{padding:24px 16px 56px}.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.dashboard-title{font-size:2rem}.dashboard-new-button{justify-content:center}.dashboard-card-hero{flex-direction:column}.dashboard-card-hero .dashboard-card-body{flex:1;padding:24px 20px}.dashboard-card-hero .dashboard-card-plan{padding:20px}.dashboard-grid{grid-template-columns:1fr}.catalogue-screen{height:auto;min-height:100vh;overflow:visible}.catalogue-body{flex-direction:column;overflow:visible}.catalogue-sidebar{border-right:none;border-bottom:1px solid var(--dash-border);width:100%}.catalogue-sidebar-spacer{flex:none}.catalogue-main{overflow:visible}.catalogue-grid-scroll{overflow-y:visible}.catalogue-grid,.catalogue-grid.has-detail{grid-template-columns:1fr}.catalogue-detail{border-left:none;border-top:1px solid var(--dash-border);width:100%}.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}}
