:root{--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--topbar-h: 68px;--edge: 18px;--control-h: 44px;--fs-xs: 13px;--fs-sm: 14px;--fs-base: 15px;--fs-lg: 17px;--fs-title: 21px;--fs-xl: 30px;--fs-num: 34px;--fw-regular: 400;--fw-medium: 500;--font-family-base: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-family-mono: ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 14px;--r-panel: 18px;--r-card: 22px;--r-pill: 999px;--bg-night: #070b11;--bg-scene: #0d141d;--text: #eef2f6;--text-dim: #aab5c1;--text-muted: #8a96a3;--line: rgba(255, 255, 255, .14);--line-soft: rgba(255, 255, 255, .08);--surface: rgba(255, 255, 255, .06);--surface-hover: rgba(255, 255, 255, .1);--surface-active: rgba(255, 255, 255, .16);--accent: #a8f2d6;--accent-dark: #4fae8e;--accent-soft: rgba(168, 242, 214, .14);--accent-ring: rgba(168, 242, 214, .55);--primary-bg: linear-gradient(180deg, #cbf8e7, #86e2c0);--primary-bg-hover: linear-gradient(180deg, #d8fbee, #95e9ca);--primary-text: #03140c;--ok: #3fd69a;--estimated: #f2c14e;--problem: #ff6b6b;--busy: #7fe3ff;--warm: #ffd08a;--glass-bg: linear-gradient(160deg, rgba(62, 76, 92, .4), rgba(18, 26, 36, .5));--glass-bg-strong: linear-gradient(160deg, rgba(50, 62, 76, .78), rgba(14, 20, 28, .86));--glass-border: 1px solid rgba(255, 255, 255, .14);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 20px 50px rgba(0, 0, 0, .35);--glass-blur: blur(26px) saturate(170%);--dur-1: .16s;--dur-2: .3s;--dur-3: .45s;--dur-4: .6s;--ease: cubic-bezier(.22, 1, .36, 1);--focus-ring: 0 0 0 2px var(--bg-night), 0 0 0 4px var(--accent-ring);--status-approved: var(--ok);--status-warning: var(--estimated);--status-error: var(--problem);--status-review: var(--busy);--status-processing: var(--busy);--group-6: #ffe878;--bg-body: var(--bg-night);--bg-stage: var(--bg-scene);--bg-raised: #121a24;--bg-card: #1a2330;--border: var(--line-soft);--border-light: var(--line)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-night);color:var(--text);font-family:var(--font-family-base);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased;color-scheme:dark}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:default;opacity:.45}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}h1,h2,h3{font-weight:var(--fw-medium);margin:0}.num,.stat strong,.row .right{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}code{font-family:var(--font-family-mono);font-size:.9em;color:var(--text-dim)}.glass{background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--r-panel)}.glass.solid,.popover.glass,.step-card.glass,.assistant-panel.glass,.dock .segmented.glass,.dock .legend.glass,.dock.zoom.glass,.dock .choices.glass,.assistant-pill.glass{background:var(--glass-bg-strong)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:linear-gradient(160deg,#1f2934,#111820)}}.muted{color:var(--text-dim);font-size:var(--fs-xs);margin:0}.text{font-size:var(--fs-base);line-height:1.5;color:var(--text);margin:0}.label{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--fs-xs);color:var(--text-dim);font-weight:var(--fw-medium)}.login{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#13202c,var(--bg-night) 70%)}.login form{width:380px;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s6);border-radius:var(--r-card);background:var(--glass-bg-strong);border:var(--glass-border);box-shadow:var(--glass-shadow)}.brand-logo{display:block;height:18px;width:auto}.login-logo{width:200px;height:auto;align-self:flex-start;margin-bottom:var(--s2)}.login h1{font-size:var(--fs-xl);font-weight:var(--fw-regular)}.app{display:grid;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);overflow:hidden;background:var(--bg-night)}.workspace{position:relative;overflow:hidden;min-height:0;background:var(--bg-scene)}.workspace>.main{display:contents}.topbar{position:relative;z-index:40;display:flex;align-items:center;gap:var(--s3);padding:0 var(--edge);border-radius:0;border-width:0 0 1px 0;background:linear-gradient(180deg,#101821f5,#090e14f5)}.brand{font-size:19px;font-weight:var(--fw-regular);letter-spacing:-.01em;white-space:nowrap}.brand span{color:var(--accent)}.project-btn{display:inline-flex;align-items:center;gap:var(--s2);height:40px;max-width:220px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm)}.project-btn:hover,.project-btn[aria-pressed=true]{background:var(--surface-hover)}.project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.save-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:6px;opacity:.8}.save-dot.dirty,.save-dot.saving{background:var(--busy);animation:breathe 1.8s ease-in-out infinite}.save-dot.error{background:var(--problem)}.avatar{width:40px;height:40px;margin-left:4px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#cbf8e7,#86e2c0);color:var(--primary-text);font-weight:var(--fw-medium)}.pipeline{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;overflow:hidden}.pipe-line{flex:0 1 18px;min-width:8px;height:2px;border-radius:2px;background:var(--line)}.pipe-line[data-done=true]{background:color-mix(in srgb,var(--ok) 70%,transparent)}.pipe-group{display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-md);flex-shrink:1;min-width:0;transition:padding var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.pipe-group.active{padding:4px 5px 4px 4px}.pipe-group.active{flex-shrink:0}.pipe-name>span:not(.sr-only):not(.status-mark):not(.pipe-active-dot){overflow:hidden;text-overflow:ellipsis}.pipe-name{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 6px;border-radius:10px;color:var(--text-dim);font-size:var(--fs-sm);white-space:nowrap}.pipe-name:hover:not(:disabled){color:var(--text);background:var(--surface)}.pipe-group.active .pipe-name{color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-medium)}.pipe-active-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 12px var(--accent-ring)}.substeps{display:inline-flex;align-items:center;gap:2px;padding-left:6px;border-left:1px solid var(--line);animation:grow-x var(--dur-3) var(--ease)}.substep{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:9px;font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.substep:hover:not(:disabled){color:var(--text);background:var(--surface)}.substep[aria-current=step]{color:var(--text);background:#a8f2d61f;box-shadow:inset 0 0 0 1px #a8f2d673}.substep svg{color:var(--ok)}.status-mark{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--text-muted);color:var(--bg-night)}.status-mark[data-status=done]{background:var(--ok);border-color:var(--ok)}.status-mark[data-status=estimated]{background:var(--estimated);border-color:var(--estimated)}.status-mark[data-status=problem]{background:var(--problem);border-color:var(--problem)}.status-mark[data-status=proposal]{border-style:dashed;border-color:var(--accent)}.status-mark[data-status=input]{border-color:var(--text-dim);color:var(--text)}.status-mark[data-status=todo]{width:14px;height:14px;margin:0 4px}.dock{position:absolute;z-index:20}.dock.tl{left:var(--edge);top:var(--edge);display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:340px;transform:translate(var(--move-x, 0px),var(--move-y, 0px))}.dock.tc{left:50%;top:var(--edge);transform:translate(-50%)}.dock.tr{right:var(--edge);top:var(--edge);display:flex;gap:10px;align-items:flex-start}.dock.rm{right:var(--edge);top:50%;transform:translateY(-50%)}.dock.bl{left:var(--edge);bottom:var(--edge);width:300px;transform:translate(var(--move-x, 0px),var(--move-y, 0px))}.dock.br{right:var(--edge);bottom:var(--edge)}.dock.bc{left:50%;bottom:var(--edge);width:clamp(540px,calc(100% - 720px),780px);transform:translate(-50%) translate(var(--move-x, 0px),var(--move-y, 0px))}.move-grip{cursor:grab;touch-action:none}.move-grip:active{cursor:grabbing}.segmented .move-grip{width:30px;height:40px;min-height:40px;padding:0;color:var(--text-dim);border-radius:10px}.dock-row{display:flex;align-items:center;gap:8px}.legend-head,.choices-tools{display:flex;align-items:center;justify-content:flex-end;gap:4px}.legend-head{margin:-6px -10px -2px 0}.choices-tools{margin:-8px -8px -8px 0}.dock-row .move-reset{background:var(--glass-bg-strong);border:1px solid var(--line);border-radius:var(--r-pill)}.move-reset{align-self:center}body.panel-dragging{user-select:none}body.panel-dragging .workspace{pointer-events:none}body.panel-dragging .dock{pointer-events:auto}.dock.tr2{right:calc(var(--edge) + 190px);top:var(--edge)}.legend{padding:10px 14px;font-size:var(--fs-xs);color:var(--text-dim);display:flex;flex-direction:column;gap:6px;border-radius:var(--r-md);min-width:280px}.legend .scale{height:8px;border-radius:4px;background:linear-gradient(90deg,#46261c,#d3973a 36.7%,#3ec777 66.7%,#48cfe0)}.legend .scale-labels.lux{position:relative;height:34px;margin:0 4px}.legend .scale-labels.lux>span{position:absolute;top:0;transform:translate(-50%);text-align:center;white-space:nowrap;line-height:1.3}.legend .scale-labels.lux>span:first-child{transform:none;text-align:left}.legend .scale-labels.lux>span:last-child{transform:translate(-100%);text-align:right}.legend .legend-sub{margin-top:4px;padding-top:6px;border-top:1px solid var(--line-soft);font-size:var(--fs-xs);color:var(--text-muted)}.legend .scale-labels{display:flex;justify-content:space-between}.legend .key{display:flex;align-items:center;gap:8px}.legend .swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.zoom{display:flex;flex-direction:column;gap:2px;padding:4px;border-radius:var(--r-md)}.choices{padding:12px;display:flex;flex-direction:column;gap:8px;max-height:min(46vh,420px);animation:rise var(--dur-3) var(--ease)}.choices-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-dim);padding:0 4px}.choices-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.choice{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border-radius:var(--r-md);text-align:left;border:1px solid transparent;background:transparent;transition:background var(--dur-1) var(--ease)}.choice:hover{background:var(--surface)}.choice[aria-pressed=true]{background:var(--surface-hover);border-color:#a8f2d68c}.choice .thumb{width:44px;height:34px;border-radius:7px;flex-shrink:0;background:linear-gradient(135deg,#2a3542,#141c26)}.choice .meta{display:flex;flex-direction:column;min-width:0;flex:1}.choice .meta b{font-weight:var(--fw-regular);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice .meta span{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choices-hint{margin:0;padding:0 4px;font-size:var(--fs-xs);color:var(--text-dim)}.tone-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.tone-dot.ok{background:var(--ok)}.tone-dot.estimated{background:var(--estimated)}.tone-dot.problem{background:var(--problem)}.assistant-pill{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 20px 0 16px;border-radius:var(--r-pill);font-size:var(--fs-base)}.assistant-pill:hover{background:var(--glass-bg-strong)}.pill-dot{width:9px;height:9px;border-radius:50%;background:var(--accent-dark);box-shadow:0 0 10px var(--accent-ring)}.assistant-panel{width:320px;max-height:calc(100% - 2 * var(--edge) - 100px);display:flex;flex-direction:column;transform-origin:bottom right;animation:grow var(--dur-3) var(--ease)}.assistant-head{display:flex;align-items:center;gap:8px;padding:10px 8px 10px 16px;border-bottom:1px solid var(--line-soft)}.assistant-head .icon-btn{margin-left:auto}.assistant-body{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-height:60px}.assistant-empty{margin:0;color:var(--text-dim);font-size:var(--fs-sm)}.bubble{font-size:var(--fs-sm);line-height:1.5}.bubble.me{align-self:flex-end;max-width:85%;padding:8px 12px;border-radius:12px;background:var(--surface-hover)}.bubble.muted{color:var(--text-dim)}.change-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm)}.change-card b{display:flex;gap:6px;align-items:center;font-weight:var(--fw-medium);color:var(--accent)}.change-row{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-dim)}.assistant-ask{display:flex;gap:6px;align-items:center;padding:10px 12px;border-top:1px solid var(--line-soft)}.popover{position:absolute;z-index:35;display:flex;flex-direction:column;width:400px;max-height:calc(100% - 2 * var(--edge));animation:grow var(--dur-3) var(--ease)}.popover.from-card{left:50%;bottom:calc(var(--edge) + var(--card-h, 170px) + 12px);translate:-50% 0;max-height:calc(100% - var(--card-h, 170px) - 2 * var(--edge) - 12px);width:clamp(420px,44vw,560px);transform-origin:bottom center}.popover.from-top{right:var(--edge);top:10px;transform-origin:top right}.drawer-head{display:flex;align-items:center;min-height:54px;padding:0 8px 0 18px;border-bottom:1px solid var(--line-soft)}.drawer-head h2{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.drawer-head .icon-btn{margin-left:auto}.drawer-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:18px}.drawer-lead{margin:0;font-size:var(--fs-base);line-height:1.55;color:var(--text)}.steps-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.5}.lib-card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface);font-size:var(--fs-sm)}.lib-card b{font-weight:var(--fw-medium)}.project-row{display:flex;align-items:stretch;gap:4px}.project-row .list-btn{flex:1;min-width:0}.project-row .icon-btn{flex:none;align-self:center}.notice-bar{position:absolute;z-index:25;left:50%;bottom:calc(var(--edge) + var(--card-h, 170px) + 12px);transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:6px 6px 6px 16px;border-radius:var(--r-pill);font-size:var(--fs-sm);animation:rise var(--dur-3) var(--ease);white-space:nowrap}.notice-bar:not(:has(button)){padding-right:16px}.step-card{display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;max-height:calc(100% - 2 * var(--edge) - 90px);animation:rise var(--dur-3) var(--ease)}.step-card.collapsed{flex-direction:row;align-items:center;gap:12px;min-height:60px;padding:8px 10px 8px 16px}.card-head{display:flex;align-items:flex-start;gap:14px;padding:18px 16px 12px 20px}.card-icon{width:44px;height:44px;flex-shrink:0;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(168,242,214,.28)}.card-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.card-titles h1{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:var(--fs-title);font-weight:var(--fw-medium);line-height:1.25}.card-lead{font-size:var(--fs-base);color:var(--text-dim);line-height:1.5}.card-lead p{margin:0}.card-lead p+p{margin-top:2px}.card-tools{display:flex;gap:2px;margin:-4px -4px 0 0}.card-body{padding:0 20px 14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.card-details{padding:12px 20px 14px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:34vh;animation:rise var(--dur-2) var(--ease)}.card-foot{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--line-soft);flex-shrink:0}.foot-left{flex:1;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.foot-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.foot-hint{font-size:var(--fs-xs);color:var(--estimated);line-height:1.35}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-regular);white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.ok{color:var(--ok);background:#3fd69a24}.badge.estimated{color:var(--estimated);background:#f2c14e24}.badge.problem{color:var(--problem);background:#ff6b6b24}.badge.busy{color:var(--busy);background:#7fe3ff1f}.badge.auto{color:var(--accent);background:var(--accent-soft)}.section{display:flex;flex-direction:column;gap:8px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:36px;font-size:var(--fs-base)}.row .left{display:flex;align-items:center;gap:10px;min-width:0}.row .right{color:var(--text-dim);white-space:nowrap;font-size:var(--fs-sm)}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.checks .row{animation:rise var(--dur-3) var(--ease) backwards}.checks .row:nth-child(2){animation-delay:.12s}.checks .row:nth-child(3){animation-delay:.24s}.checks .row:nth-child(4){animation-delay:.36s}.checks .row:nth-child(5){animation-delay:.48s}.check-mark{width:18px;display:inline-flex;justify-content:center;flex-shrink:0}.check-mark.ok{color:var(--ok)}.check-mark.estimated{color:var(--estimated)}.check-mark.problem{color:var(--problem)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface);font-size:var(--fs-xs);white-space:nowrap}.chip .dot{width:7px;height:7px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.stats,.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.stat{padding:10px 12px;border-radius:var(--r-md);background:var(--surface);display:flex;flex-direction:column;gap:2px}.stat span{font-size:var(--fs-xs);color:var(--text-dim)}.stat strong{font-size:var(--fs-lg);font-weight:var(--fw-regular)}.big-number{font-size:var(--fs-num);font-weight:var(--fw-medium);line-height:1}.big-number small{font-size:var(--fs-base);font-weight:var(--fw-regular);color:var(--text-dim);margin-left:4px}.notice{font-size:var(--fs-sm);line-height:1.5;padding:10px 12px;border-radius:var(--r-md);background:var(--surface);color:var(--text);border:1px solid var(--line-soft)}.notice.warn{border-color:#f2c14e73;background:#f2c14e14}.notice.ok{border-color:#3fd69a66}.notice.problem{border-color:#ff6b6b73;background:#ff6b6b14}.reasons{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.option-hint{margin:0;font-size:var(--fs-xs);color:var(--text-dim);line-height:1.5}.action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.action-tile{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);text-align:left;transition:background var(--dur-1) var(--ease)}.action-tile:hover:not(:disabled){background:var(--surface-hover)}.action-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#a8f2d61a;color:var(--accent)}.action-text{display:flex;flex-direction:column;min-width:0}.action-text b{font-weight:var(--fw-regular);font-size:var(--fs-base)}.action-text small{font-size:var(--fs-xs);color:var(--text-dim)}.more{border-top:1px solid var(--line-soft);padding-top:8px}.more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:32px;font-size:var(--fs-sm);color:var(--text-dim);user-select:none}.more>summary::-webkit-details-marker{display:none}.more>summary:before{content:"\203a";display:inline-block;width:12px;transition:transform var(--dur-2) var(--ease)}.more[open]>summary:before{transform:rotate(90deg)}.more>summary:hover{color:var(--text)}.more-body{display:flex;flex-direction:column;gap:12px;padding-top:8px}.card-body:empty{display:none}.outcome-title{font-size:var(--fs-title);font-weight:var(--fw-medium);line-height:1.25}.outcome-text{margin:4px 0 0;color:var(--text-dim)}.options.fixes{margin-top:var(--s2)}.facade-size{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;margin:0}.facade-size b{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 16px;border-radius:var(--r-md);font-size:var(--fs-base);white-space:nowrap;transition:background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.btn.primary{padding:0 20px;background:var(--primary-bg);color:var(--primary-text);font-weight:var(--fw-medium);box-shadow:inset 0 1px #fff9,0 8px 24px #86e2c02e}.btn.primary:hover:not(:disabled){background:var(--primary-bg-hover)}.btn.primary:disabled{opacity:1;background:#a8f2d629;color:#eef2f68c;box-shadow:none}.btn.secondary{background:var(--surface);border:1px solid var(--line)}.btn.secondary:hover:not(:disabled){background:var(--surface-hover)}.btn.ghost{padding:0 10px;color:var(--accent)}.btn.ghost:hover:not(:disabled){background:var(--surface)}.btn.small{min-height:36px;padding:0 12px;font-size:var(--fs-sm)}.btn.wide,.btn.inline{width:auto}.btn.wide{width:100%;justify-content:flex-start;white-space:normal;text-align:left;padding-top:8px;padding-bottom:8px}.options{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.options>.btn{flex:0 0 auto}.icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn[aria-pressed=true]{background:var(--surface-hover);color:var(--accent)}button.link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.list-btn{text-align:left;width:100%;min-height:var(--control-h);padding:8px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid transparent;font-size:var(--fs-base)}.list-btn:hover{background:var(--surface-hover)}.field{min-height:var(--control-h);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:#04080d8c;font-size:var(--fs-base);width:100%;min-width:0}.field::placeholder{color:var(--text-muted)}.field:focus-visible{box-shadow:var(--focus-ring);border-color:var(--accent-ring)}.field.num{width:96px;text-align:right;font-variant-numeric:tabular-nums}.field-row{display:flex;gap:8px;align-items:center}input[type=range]{width:100%;accent-color:var(--accent-dark);min-height:32px}input[type=checkbox]{accent-color:var(--accent-dark);width:18px;height:18px}.segmented{display:inline-flex;gap:2px;padding:4px;border-radius:var(--r-md)}.segmented button{min-height:40px;padding:0 14px;border-radius:10px;font-size:var(--fs-base);color:var(--text-dim);white-space:nowrap}.segmented button[aria-pressed=true]{color:var(--text);background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff1a}.segmented button:hover:not([aria-pressed=true]):not(:disabled){color:var(--text);background:var(--surface)}.option{min-height:var(--control-h);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-base)}.option[aria-pressed=true]{border-color:var(--accent-ring);background:var(--accent-soft);color:var(--text)}.option:hover:not([aria-pressed=true]){background:var(--surface-hover)}.search-box{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--r-panel)}.search-field{display:flex;align-items:center;gap:12px;height:60px;padding:0 16px;border-radius:var(--r-md);border:1px solid rgba(168,242,214,.5);background:#04080d99;color:var(--accent)}.search-field input{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:none;color:var(--text);font-size:19px}.suggestion{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:6px 14px;border-radius:10px;text-align:left;color:var(--text)}.suggestion:hover,.suggestion:focus-visible{background:var(--surface-hover)}.suggestion svg{color:var(--text-dim);flex-shrink:0}.suggestion span{display:flex;flex-direction:column;min-width:0}.suggestion small{font-size:var(--fs-xs);color:var(--text-dim)}.stage{position:absolute;inset:0;overflow:hidden;background:var(--bg-scene)}.stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--bg-scene);transition:opacity var(--dur-4) var(--ease)}.stage iframe.forming{opacity:0}.stage-hint{position:absolute;z-index:15;left:50%;top:calc(var(--edge) + 62px);transform:translate(-50%);max-width:min(620px,calc(100% - 700px));padding:8px 14px;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text);background:var(--glass-bg-strong);border:var(--glass-border);pointer-events:none;text-align:center}.stage-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-dim);text-align:center;padding:var(--s6);padding-bottom:200px}.stage-empty strong{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text)}.stage-empty span{max-width:520px}.stage [data-map-building],.stage [data-map-zone],.stage [data-map-facade],.stage [data-map-close],.stage [data-map-title],.stage [data-planning-map-toolbar]{display:none!important}.stage [data-planning-map-status]{left:var(--edge)!important;right:auto!important;top:calc(var(--edge) + 62px)!important;bottom:auto!important;max-width:320px;border-radius:var(--r-md)!important;background:var(--glass-bg-strong)!important;border:var(--glass-border)!important;color:var(--text)!important;font:400 13px/1.4 var(--font-family-base)!important;padding:8px 12px!important}.stage section>canvas{cursor:crosshair}.facade-preview-stage{position:absolute;inset:0 0 var(--stage-bottom, calc(var(--edge) + 162px)) 0}.photo-stage{position:absolute;inset:0 0 var(--stage-bottom, calc(var(--edge) + 162px)) 0;touch-action:none;user-select:none}.model-preview-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.model-preview-stage .preview-reset{position:absolute;z-index:15;right:var(--edge);bottom:max(0px,calc(var(--edge) + 66px - var(--stage-bottom, 0px)))}.photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.photo-overlay{position:absolute;inset:0}.photo-overlay polygon,.photo-overlay .plane-shape{fill:#ffe87829;stroke:#ffe878;stroke-width:2;stroke-linejoin:round}.photo-overlay .plane-shape.faded{fill:#ffe8780f;stroke-opacity:.4}.photo-overlay .plane-hole{fill:none;stroke:#ffe878;stroke-width:1;stroke-dasharray:3 3}.photo-overlay .plane-proposal{fill:none;stroke:#ffe878;stroke-width:2.5;stroke-dasharray:8 5}.photo-overlay .opening{fill:#ffe8781f;stroke:#ffe878;stroke-width:1;stroke-dasharray:2 3;cursor:pointer}.photo-overlay .opening.on{fill:#070b118c;stroke-dasharray:5 3}.photo-overlay .opening:hover{stroke-width:2}.photo-overlay circle{fill:#ffe878;stroke:#070b11;stroke-width:2;cursor:grab}.photo-overlay circle:hover{r:9}.photo-overlay .plane-edge{stroke:transparent;stroke-width:14;stroke-linecap:round;cursor:copy}.photo-overlay .plane-edge:hover{stroke:#ffe87859}.photo-overlay .frame-shape{fill:none;stroke:#e8eef5;stroke-width:1.5;stroke-dasharray:7 5;stroke-opacity:.7}.photo-overlay .frame-layer.editing .frame-shape{fill:#e8eef514;stroke-width:2;stroke-opacity:1}.photo-overlay .frame-layer.invalid .frame-shape{stroke:var(--problem)}.photo-overlay .frame-label{fill:#e8eef5;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#070b11d9;stroke-width:3px;pointer-events:none}.photo-overlay .frame-handle{fill:#e8eef5;stroke:#070b11;stroke-width:2;cursor:move;touch-action:none}.photo-overlay .frame-handle:hover{fill:#fff}.photo-overlay .frame-end circle{fill:#070b11;stroke:#e8eef5;stroke-width:2}.photo-overlay .frame-end text{fill:#e8eef5;font-size:var(--fs-xs);font-weight:500;pointer-events:none}.photo-overlay .frame-end .tick{stroke:#e8eef5;stroke-width:2}.photo-overlay .frame-end .arrow,.photo-overlay .frame-end .dot{fill:#e8eef5;stroke:#070b11;stroke-width:1}.photo-overlay .frame-end{pointer-events:none}.facade-plan{margin:0}.facade-plan svg{display:block}.facade-plan .plan-other{fill:#aab5c11a;stroke:#aab5c159;stroke-width:1}.facade-plan .plan-building{fill:#e8eef529;stroke:#e8eef5b3;stroke-width:1.25}.facade-plan .plan-facade{stroke:var(--accent);stroke-width:4;stroke-linecap:round}.facade-plan .plan-span{stroke:#e8eef5;stroke-width:2;stroke-dasharray:5 3;stroke-linecap:round}.facade-plan .plan-cone{fill:#7fe3ff24;stroke:#7fe3ff80;stroke-width:1}.facade-plan .plan-camera{fill:#7fe3ff;stroke:#070b11;stroke-width:1.5}.facade-plan .plan-end circle{fill:#070b11;stroke:#e8eef5;stroke-width:2}.facade-plan .plan-end text{fill:#e8eef5;font-size:var(--fs-xs);font-weight:500}.facade-plan .plan-length{fill:var(--accent);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#070b11d9;stroke-width:3px}.facade-plan .plan-street{fill:var(--text-dim);font-size:var(--fs-xs)}.photo-label{position:absolute;right:var(--edge);bottom:8px;padding:3px 8px;border-radius:8px;background:#070b11cc;font-size:var(--fs-xs);color:var(--text-dim)}.doc-scroll{position:absolute;inset:0;overflow-y:auto;padding:24px 0 200px}.doc{width:min(640px,calc(100% - 700px));min-width:520px;margin:0 auto;border-radius:16px;overflow:hidden;background:#f4f2ee;color:#1c2127;box-shadow:0 30px 80px #00000080;display:flex;flex-direction:column}.doc-night{height:130px;background:radial-gradient(ellipse at 50% 100%,rgba(255,208,138,.55),transparent 60%),linear-gradient(180deg,#070b11,#111c2a);position:relative}.doc-night:after{content:"";position:absolute;left:50%;bottom:0;width:110px;height:90px;transform:translate(-50%);background:linear-gradient(180deg,#ffd08a,#e27a4a 60%,#9c4fd6);clip-path:polygon(0 30%,20% 30%,20% 15%,40% 15%,40% 0,60% 0,60% 15%,80% 15%,80% 30%,100% 30%,100% 100%,0 100%)}.doc-body{padding:28px 36px 30px;display:flex;flex-direction:column;gap:6px}.doc-kicker{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:#5b6570}.doc h1{font-size:28px;font-weight:var(--fw-regular);line-height:1.2;color:#11161b}.doc-sub{font-size:var(--fs-sm);color:#4a545e;margin-bottom:10px}.doc .line{display:grid;grid-template-columns:110px minmax(0,1fr) 90px;gap:14px;padding:12px 0;border-top:1px solid #dcd8d1;font-size:var(--fs-base);line-height:1.55}.doc .line>span:first-child{color:#5b6570;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;padding-top:3px}.doc .line>span:last-child{text-align:right;color:#2a3139}.doc .total{font-size:var(--fs-lg)}.doc .total>span:last-child{color:#1f8a63;font-size:20px}.doc-note{font-size:var(--fs-xs);color:#5b6570;margin:6px 0 0}.doc-pick{font:inherit;color:#7a2fb0;background:#7a2fb014;border:0;border-bottom:1.5px dashed #7a2fb0;border-radius:4px 4px 0 0;padding:0 4px;cursor:pointer}.doc-pick:hover{background:#7a2fb029}.doc-input{font:inherit;color:#11161b;background:#7a2fb00f;border:0;border-bottom:1.5px dashed #7a2fb0;padding:0 4px;min-width:60px}@media print{.topbar,.dock,.notice-bar,.popover{display:none!important}body,.workspace,.stage{background:#fff;overflow:visible}.doc-scroll{position:static;padding:0}.doc{box-shadow:none;width:100%}}@media(max-width:560px){.doc{width:100%;min-width:0}.doc-body{padding:20px 16px 22px}.doc h1{font-size:22px}.doc .line{grid-template-columns:1fr auto;column-gap:10px;row-gap:2px;padding:10px 0}.doc .line>span:first-child{grid-column:1 / -1;padding-top:0}.doc .total{font-size:var(--fs-base)}}.stage:fullscreen{background:#04060a}.presentation-note{position:absolute;z-index:15;left:50%;top:var(--edge);transform:translate(-50%);padding:8px 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--warm);border:1px solid rgba(255,208,138,.45);background:#14100a8c;pointer-events:none}.media-view{position:absolute;inset:0;z-index:10;background:#04060a;display:flex;align-items:center;justify-content:center;padding-bottom:150px}.media-view img,.media-view video{max-width:100%;max-height:100%;object-fit:contain}.media-view-bar{position:absolute;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 820px);top:var(--edge);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.media-view-bar .notice{margin:0}.play-bar{display:flex;align-items:center;gap:10px}.play-btn{width:44px;height:44px;border-radius:50%;background:var(--text);color:var(--bg-night);display:inline-flex;align-items:center;justify-content:center}.streetview-explorer{position:absolute;inset:0;z-index:12;background:var(--bg-scene)}.streetview-pano{position:absolute;inset:0}.streetview-frame{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #ffe878;box-shadow:0 0 0 9999px #00000059;pointer-events:none}.streetview-save-error{pointer-events:auto}.streetview-bar{position:absolute;left:0;right:0;bottom:0;min-height:64px;display:flex;align-items:center;gap:12px;padding:0 var(--edge);background:var(--glass-bg-strong);border-top:var(--glass-border);font-size:var(--fs-sm)}.streetview-bar .muted{flex:1;min-width:0}.streetview-error{z-index:13;bottom:0;background:var(--bg-scene);max-width:none}.streetview-error span{max-width:560px}.start{position:absolute;inset:0;z-index:18;display:flex;justify-content:center;align-items:flex-start;padding-top:11vh;background:radial-gradient(ellipse at 50% 35%,#0d141d8c,#070b11eb 70%)}.start-inner{width:min(640px,calc(100% - 40px));display:flex;flex-direction:column;gap:16px;animation:rise var(--dur-4) var(--ease)}.start h1{font-size:var(--fs-xl);font-weight:var(--fw-regular);text-align:center}.start-lead{margin:0;text-align:center;color:var(--text-dim);font-size:var(--fs-base)}.start-recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.start-label{font-size:var(--fs-xs);color:var(--text-dim);margin-top:10px}.start-night{position:absolute;inset:0;background:radial-gradient(circle at 22% 42%,rgba(255,208,138,.16),transparent 7%),radial-gradient(circle at 36% 48%,rgba(255,208,138,.12),transparent 6%),radial-gradient(circle at 64% 44%,rgba(255,208,138,.14),transparent 7%),radial-gradient(circle at 80% 50%,rgba(255,208,138,.1),transparent 6%),linear-gradient(180deg,#0a121b,#070b11)}.building-card{position:absolute;z-index:16;top:var(--edge);right:calc(var(--edge) + 62px);width:min(660px,calc(100% - 460px));padding:16px 18px;display:flex;flex-direction:column;gap:12px;animation:grow var(--dur-3) var(--ease);transform-origin:top right}.building-head{display:flex;align-items:flex-start;gap:12px}.building-head h2{font-size:var(--fs-title);font-weight:var(--fw-medium)}.building-head .muted{font-size:var(--fs-sm)}.building-height{margin-left:auto;text-align:right;white-space:nowrap}.building-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.building-photo{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);text-align:left}.building-photo .frame{aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#1d2733,#0f151d);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--fs-xs);text-align:center;padding:6px}.building-photo .frame img{width:100%;height:100%;object-fit:cover;display:block}.building-photo small{color:var(--text-dim);font-size:var(--fs-xs)}.scene-boot{position:absolute;inset:0;background:var(--bg-scene);overflow:hidden}.scene-boot:before{content:"";position:absolute;inset:45% -50% -60%;background-image:linear-gradient(rgba(168,242,214,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(168,242,214,.14) 1px,transparent 1px);background-size:48px 48px;transform:perspective(520px) rotateX(62deg);transform-origin:50% 0;mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 70%);animation:scene-boot-grid 2.4s ease-in-out infinite alternate}.scene-boot-caption{position:absolute;left:50%;top:calc(var(--edge) + 62px);transform:translate(-50%);font-size:var(--fs-xs);color:var(--text);padding:8px 14px;border-radius:var(--r-pill);background:var(--glass-bg-strong);border:var(--glass-border)}@keyframes scene-boot-grid{0%{opacity:.35;background-position:0 0}to{opacity:1;background-position:0 48px}}@media(prefers-reduced-motion:reduce){.scene-boot:before{animation:none}}.presentation-credit{position:absolute;right:var(--edge);bottom:76px;z-index:9;pointer-events:none;font-size:var(--fs-xs);color:#fff9}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow{0%{opacity:0;scale:.94}to{opacity:1;scale:1}}@keyframes grow-x{0%{opacity:0;max-width:0}to{opacity:1;max-width:480px}}@keyframes breathe{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes halo{0%{box-shadow:0 0 #7fe3ff73}to{box-shadow:0 0 0 10px #7fe3ff00}}@keyframes rise-centre{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.dock.bc,.notice-bar{animation-name:rise-centre}.breath{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--busy);animation:breathe 1.8s ease-in-out infinite,halo 1.8s ease-out infinite}.breath.ok{background:var(--ok);animation:none}.breath.estimated{background:var(--estimated);animation:none}.breath.problem{background:var(--problem);animation:none}.busy{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);color:var(--text)}.busy-text{display:flex;flex-direction:column}.busy-text small{color:var(--text-dim);font-size:var(--fs-xs)}.stage-busy{position:absolute;z-index:14;left:50%;top:calc(var(--edge) + 62px);transform:translate(-50%);padding:10px 16px;border-radius:var(--r-pill);background:var(--glass-bg-strong);border:var(--glass-border);box-shadow:var(--glass-shadow);pointer-events:none;animation:rise-centre var(--dur-3) var(--ease)}.phases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.phases li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-base);animation:rise var(--dur-3) var(--ease) backwards}.phases li span:last-child{display:flex;flex-direction:column}.phases li small{font-size:var(--fs-xs);color:var(--text-dim)}.phases li[data-state=later]{color:var(--text-muted)}.phase-mark{width:18px;height:18px;margin-top:2px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--text-muted);display:inline-flex;align-items:center;justify-content:center}.phases li[data-state=now] .phase-mark{border-color:transparent}.phases li[data-state=done] .phase-mark{border-color:var(--ok);background:var(--ok)}.phases li[data-state=done] .phase-mark:after{content:"";width:5px;height:9px;margin-top:-2px;border:solid var(--bg-night);border-width:0 2px 2px 0;transform:rotate(45deg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.breath{animation:none;opacity:1}}.map-chip{position:absolute;z-index:8;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text);background:var(--glass-bg-strong);border:var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:rise var(--dur-2) var(--ease)}.map-chip.facade{color:#cfe4ff;border-color:#4c9aff8c}.map-chip.zone{color:var(--accent);border-color:#a8f2d680;transform:translate(-50%,calc(-50% - 30px))}.map-chip.forbidden{color:var(--problem);border-color:#ff6b6b80}.pz-legend-title{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.pz-legend-row{display:flex;align-items:flex-start;gap:10px;min-height:30px}.pz-legend-row input[type=checkbox]{margin-top:2px;flex-shrink:0}.pz-legend-text{display:flex;flex-direction:column}.pz-legend-text b{font-weight:var(--fw-regular);font-size:var(--fs-sm);color:var(--text)}.pz-legend-text small{font-size:var(--fs-xs);color:var(--text-dim)}.pz-legend-note{margin:2px 0 0;font-size:var(--fs-xs);color:var(--text-dim)}.street-object-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.soc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.soc-title{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-base)}.street-kind-row .left{gap:8px}.street-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.street-add select{min-height:var(--control-h);padding:0 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:var(--fs-sm)}.draw-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text)}.draw-line .muted{font-size:var(--fs-sm)}.plane-chip{position:absolute;z-index:15;left:50%;top:calc(var(--edge) + 62px);transform:translate(-50%);padding:6px 4px;border-radius:var(--r-pill);pointer-events:none}.choices-foot{display:flex;flex-direction:column;gap:8px;padding-top:4px}.choices-foot .btn{width:100%}.model-status{width:260px;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:var(--r-md)}.model-status-head{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.model-status-head b{font-weight:var(--fw-medium);flex:1;min-width:0}.model-status-state{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.model-status-state.bezig{color:var(--busy)}.model-status-state.klaar{color:var(--ok)}.model-status-state.mislukt{color:var(--problem)}.model-status .phases,.model-status .muted{margin:0}.massing-part{padding:8px 0;border-top:1px solid var(--line)}.massing-part:first-child{border-top:none;padding-top:0}.massing-part-label{margin:0 0 4px;font-weight:var(--fw-medium);color:var(--text)}.massing-axis{display:flex;align-items:center;gap:6px}.massing-axis .btn.small{padding:0 10px;min-height:30px;font-size:var(--fs-xs)}.massing-axis .btn.small.active{background:var(--accent, var(--primary-bg));border-color:transparent}.massing-axis .field.num{width:56px}.checks.focus-failing .row:has(.check-mark.estimated){font-weight:var(--fw-medium)}.checks.focus-failing .row:has(.check-mark.ok){font-size:var(--fs-sm);color:var(--text-dim);min-height:30px}.preference{display:flex;flex-direction:column;gap:6px}.preference-ends{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-dim)}.preference input[type=range]{width:100%;accent-color:var(--accent-dark)}.legend .swatch.striped{background:repeating-linear-gradient(45deg,rgba(208,255,220,.9) 0 2px,transparent 2px 5px);border:1px solid rgba(208,255,220,.7)}.legend .key .swatch+.swatch{margin-left:-4px}.choices-add{width:100%;justify-content:center}.choices-add[aria-pressed=true]{border-color:var(--accent-ring);color:var(--accent)}.step-card.collapsed .drag-title{font-weight:var(--fw-medium);font-size:var(--fs-lg);white-space:nowrap}.step-card.collapsed .drag-keys{padding:3px 10px;border-radius:var(--r-pill);background:var(--surface-hover);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.step-card.collapsed .drag-hint{margin-left:auto;padding-right:8px;font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap}.drag-label{position:absolute;z-index:18;display:flex;flex-direction:column;gap:3px;max-width:250px;padding:10px 14px;border-radius:var(--r-md);pointer-events:none;font-size:var(--fs-sm);transition:left 80ms linear,top 80ms linear}.drag-label b{display:flex;align-items:center;gap:8px;font-weight:var(--fw-medium)}.drag-label small{font-size:var(--fs-xs);color:var(--text-dim)}.drag-label.forbidden{border-color:#ff6b6b8c}.compare-stage{position:absolute;z-index:12;left:0;right:0;top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:calc(var(--edge) + 64px) var(--edge) 0;bottom:calc(var(--stage-bottom, calc(var(--edge) + 292px)) + 4px);background:var(--bg-scene);animation:rise var(--dur-3) var(--ease)}.compare-frame{position:relative;margin:0;border-radius:var(--r-panel);overflow:hidden;border:var(--glass-border);background:#05080c;display:flex;align-items:center;justify-content:center;min-height:0}.compare-frame.current{border-color:var(--accent-ring)}.compare-frame img{width:100%;height:100%;object-fit:cover}.compare-frame figcaption{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);font-size:var(--fs-base)}.compare-frame figcaption b{font-weight:var(--fw-medium)}.compare-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.compare-table th,.compare-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line-soft);font-weight:var(--fw-regular)}.compare-table thead th{color:var(--text-dim);font-size:var(--fs-xs)}.compare-table tbody th{color:var(--text-dim);width:30%}.compare-table td.warn{color:var(--estimated)}.presentation-pill{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--warm);border:1px solid rgba(255,208,138,.45);background:#14100a8c}.step-card .play-btn{flex-shrink:0}.manual-adjust{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line-soft)}.adjust-panel-more summary{cursor:pointer;font-size:var(--fs-xs);color:var(--text-dim)}.adjust-hint{font-size:var(--fs-xs);color:var(--text-dim);line-height:1.4;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pole-controls{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.pole-controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pole-controls-label{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.pole-controls .btn.active{color:var(--accent);border-color:var(--accent-ring)}.dock.tr-panel{right:var(--edge);top:calc(var(--edge) + 60px);width:290px;max-height:calc(50% - 150px);overflow:auto;padding:12px 14px;border-radius:var(--r-panel);display:flex;flex-direction:column;gap:8px}.adjust-panel-head{display:flex;align-items:center;gap:10px}.adjust-panel-tag{padding:2px 10px;border-radius:var(--r-pill);background:var(--projector-colour, var(--accent));color:#0b161b;font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.adjust-panel-lens{font-size:var(--fs-xs);color:var(--text-dim);min-width:0;flex:1}.adjust-panel-head .icon-btn{width:36px;height:36px;flex-shrink:0}.adjust-panel-figures{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.adjust-panel-figures dt{color:var(--text-dim)}.adjust-panel-figures dd{margin:0;text-align:right;white-space:nowrap}.adjust-panel-figures dd.below{color:var(--problem)}.adjust-panel-figures .norm{color:var(--text-dim)}.adjust-panel-figures dd.below .norm{color:var(--problem)}.badge-estimate{margin-left:6px;padding:0 6px;border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--estimated);border:1px solid rgba(242,193,78,.45)}.adjust-panel-status{margin:0;font-size:var(--fs-xs);line-height:1.4}.adjust-panel-keys{margin:0;font-size:var(--fs-xs);color:var(--text-dim)}.btn.recalc{color:var(--text-dim)}.btn.recalc.attention{color:var(--estimated);border:1px solid rgba(242,193,78,.45)}.step-card .card-note{margin-left:10px;font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--estimated);white-space:nowrap}.recalc-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.recalc-actions{display:inline-flex;gap:6px}.lead-hint{font-size:var(--fs-sm);color:var(--text-dim);opacity:.8}.legend .hover-detail{display:flex;flex-direction:column;gap:3px;margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);color:var(--text)}.legend .hover-detail .hover-head{display:flex;align-items:center;gap:8px;font-weight:600}.legend .hover-detail .dim{color:var(--text-dim);font-weight:400}.legend .hover-detail .hover-head .dim{margin-left:auto}.legend .draw-legend{display:flex;flex-direction:column;gap:4px;max-width:240px;color:var(--text)}.legend .draw-legend .dim{color:var(--text-dim)}.drag-label .ground{font-size:var(--fs-xs);color:var(--text)}.drag-label .ground.check{color:#9fd9a8}.doc-pick-wrap{position:relative;display:inline-block}.doc-pick{display:inline-flex;align-items:center;gap:3px}.doc-pick:disabled{cursor:default;opacity:.7}.doc-pick-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:180px;padding:6px;display:flex;flex-direction:column;gap:2px;border-radius:var(--r-md);animation:rise var(--dur-3) var(--ease)}.doc-pick-question{padding:4px 8px 6px;font-size:var(--fs-xs);color:var(--text-dim)}.doc-pick-menu button[role=option]{text-align:left;min-height:36px;padding:0 10px;border-radius:8px;border:0;background:transparent;color:var(--text);font-size:var(--fs-sm);cursor:pointer}.doc-pick-menu button[role=option]:hover{background:var(--surface-hover)}.doc-pick-menu button[role=option][aria-selected=true]{color:var(--accent);font-weight:var(--fw-medium)}.version-banner{position:absolute;z-index:15;left:50%;top:calc(var(--edge) + 62px);transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;border-radius:var(--r-pill);font-size:var(--fs-sm);animation:rise var(--dur-3) var(--ease)}.choices-footer-btn{align-self:flex-start}.doc-detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 90px;gap:10px;padding:3px 0 3px 124px;font-size:var(--fs-xs);color:#3a434c}.doc-detail>span:nth-child(2){color:#5b6570}.doc-detail>span:last-child{text-align:right}.doc-detail .why{display:block;color:#6b747d;font-size:var(--fs-xs)}.doc-warn{font-size:var(--fs-xs);color:#9a5b00;margin:4px 0 0}@media print{.doc-detail .why{display:none}}@media(max-width:560px){.doc-detail{grid-template-columns:1fr auto;padding:3px 0;gap:4px 10px}.doc-detail>span:first-child{grid-column:1 / -1}}.chat{display:flex;flex-direction:column;gap:6px;max-height:16rem;overflow:auto;padding:2px 0}.chat .bubble{max-width:92%;padding:7px 10px;border-radius:10px;font-size:var(--fs-sm);line-height:1.45;white-space:pre-wrap}.chat .bubble.assistant{align-self:flex-start;background:#ffffff0f;color:var(--text-dim)}.chat .bubble.user{align-self:flex-end;background:color-mix(in srgb,var(--accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text)}.chat .bubble.muted{color:var(--text-dim)}.chat-form{display:flex;gap:6px;align-items:center}.chat-form .field{flex:1;min-width:0}.period-fields{flex-wrap:wrap}.period-fields label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--text-dim)}.period-fields .field{color-scheme:dark}.period-summary{font-variant-numeric:tabular-nums}.show-cal{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 18px}.show-cal-months{display:flex;gap:18px;overflow-x:auto;padding-bottom:4px;max-width:100%}.show-cal-month{flex:0 0 auto;display:flex;flex-direction:column;gap:4px}.show-cal-name{font-size:var(--fs-sm);color:var(--text);text-transform:capitalize}.show-cal-grid{display:grid;grid-template-columns:repeat(7,30px);gap:2px}.show-cal-head{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;line-height:20px}.show-cal-day{width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-dim);padding:0}.show-cal-day.out{color:var(--text-muted);opacity:.45}button.show-cal-day{cursor:pointer;background:#ffffff0d}button.show-cal-day:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}button.show-cal-day:focus-visible{box-shadow:var(--focus-ring)}button.show-cal-day[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-ring);color:var(--accent);font-weight:var(--fw-medium)}button.show-cal-day.opbouw,button.show-cal-day.afbouw{position:relative}button.show-cal-day.opbouw:after,button.show-cal-day.afbouw:after{content:"";position:absolute;left:7px;right:7px;bottom:3px;height:2px;border-radius:1px;background:var(--estimated)}.show-cal-foot{flex:1 1 150px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:4px}.show-cal-legend{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-dim)}.show-cal-key{display:inline-block;width:12px;height:12px;border-radius:3px}.show-cal-key.show{background:var(--accent-soft);border:1px solid var(--accent-ring)}.show-cal-key.edge{height:2px;margin-left:6px;background:var(--estimated)}.show-cal-presets{display:flex;gap:2px;flex-wrap:wrap;margin-left:-8px}.show-cal-presets .btn{font-size:var(--fs-sm);padding:0 8px}.content-stage{position:absolute;inset:0}.content-stage .doc-scroll{padding-right:460px}.content-stage .doc{width:min(640px,100% - 48px);min-width:0}.content-chat-panel{position:absolute;top:24px;right:var(--edge);bottom:var(--stage-bottom, 200px);width:420px;padding:16px 18px;border-radius:var(--r-panel);display:flex;flex-direction:column;gap:12px;overflow-y:auto}.content-chat-panel .chat{max-height:none;flex:1 1 auto;min-height:12rem}@media(max-width:1180px){.content-stage .doc-scroll{padding-right:0;padding-bottom:60vh}.content-chat-panel{left:var(--edge);right:var(--edge);width:auto;top:auto;height:46vh}}.doc-night.with-head{height:auto;min-height:130px;display:flex;align-items:flex-end;padding:22px 36px}.doc-night.with-head:after{display:none}.doc-letterhead{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;color:#e8edf2}.doc-letterhead img{height:30px;width:auto}.doc-letterhead div{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--fs-xs);color:#aab5c1;font-variant-numeric:tabular-nums}.doc-letterhead strong{font-size:var(--fs-lg);font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:#ffd08a}.doc-period{font-size:var(--fs-sm);color:#2a3139;margin:0 0 8px}.doc-overview{width:100%;border-collapse:collapse;margin:6px 0 18px;font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.doc-overview td{padding:6px 0;border-top:1px solid #e4e0d9;color:#2a3139}.doc-overview td:last-child{text-align:right}.doc-overview tr.sum td{border-top:1.5px solid #1c2127;font-weight:var(--fw-medium)}.doc-overview tr.grand td{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:#11161b;border-top:1.5px solid #1c2127}.doc-h2{font-size:15px;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;color:#11161b;margin:28px 0 6px;padding-top:12px;border-top:1px solid #dcd8d1}.doc-block>.doc-h2:first-child{margin-top:0;padding-top:0;border-top:0}@media print{.doc-night.with-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.share-field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);color:var(--text-dim)}.share-error{font-size:var(--fs-sm);color:var(--problem)}.share-result{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:var(--r-md);border:1px solid var(--accent-ring);background:var(--accent-soft)}.share-copy{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:8px;align-items:center}.share-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line-soft)}.share-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm)}.share-meta b{font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-intro{font-size:var(--fs-base);line-height:1.6;color:#1c2127;margin:4px 0 14px}.doc-detail.client{font-size:var(--fs-sm);color:#2a3139}.doc-detail>.wide{grid-column:1 / 3}.doc-block{margin-top:18px}.doc-list{margin:6px 0 0;padding-left:18px;font-size:var(--fs-sm);line-height:1.6;color:#2a3139}.doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px;font-size:var(--fs-xs);color:#5b6570}.doc-sign span{border-top:1px solid #1c2127;padding-top:6px;min-height:56px}.doc .line.total>span:last-child{color:#11161b}@page{size:A4;margin:14mm 16mm 16mm;@bottom-right{content:"pagina " counter(page) " van " counter(pages);font-size:8px;color:#5b6570}}@media print{.doc{border-radius:0;min-width:0}.doc-night.with-head{border-radius:0}.doc-body{padding:18px 36px 0}.line-group,.doc-overview,.doc-sign,.doc-rental,figure,table,tr{break-inside:avoid}.doc-h2{break-after:avoid}}@media screen{.doc-scroll{padding-bottom:calc(var(--stage-bottom, 200px) + 24px)}}.facade-type-row{flex-wrap:wrap;gap:8px}.facade-types{display:flex;gap:6px}.facade-type{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;min-height:60px;padding:6px 8px;border-radius:var(--r-md);border:1px solid var(--line);background:transparent;color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer}.facade-type:hover{background:var(--surface-hover);color:var(--text)}.facade-type[aria-checked=true]{border-color:var(--accent-ring);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pole-drawing{margin:14px 0 0;break-inside:avoid}.pole-drawing svg{display:block;width:100%;max-width:560px;height:auto;font-size:10.5px}.pole-drawing .pole-view{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase}.pole-drawing figcaption{font-size:var(--fs-xs);color:#5b6570;line-height:1.5;margin-top:6px}.doc-company{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.doc-company img{height:30px;width:auto;max-width:100%}.doc-company>span{font-size:var(--fs-xs);line-height:1.45;color:#aab5c1;letter-spacing:.02em}.doc-letterhead>div{flex-shrink:0;white-space:nowrap}.doc-footer{margin-top:22px;padding-top:10px;border-top:1px solid #dcd8d1;font-size:var(--fs-xs);color:#5b6570;text-align:center}.doc-intro-small{font-size:var(--fs-sm);color:#2a3139;line-height:1.5;margin:4px 0 6px}.doc-rental thead td{font-size:var(--fs-xs);color:#5b6570;border-top:0}.doc-rental td:nth-child(2),.doc-rental td:nth-child(3){text-align:right;white-space:nowrap}.doc-rental td:nth-child(3){color:#5b6570}.doc-rental .per-week{display:block;font-size:var(--fs-xs);color:#5b6570}.doc-rental tr.current td{background:#d6a04624;font-weight:500}.doc-rental tr.current td:first-child{box-shadow:inset 3px 0 #d6a046}.market{margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:#f3f0ea;border:1px solid #dcd8d1}.market-title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:#6b747d}.market-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0 2px;font-size:var(--fs-sm);color:#2a3139;font-weight:500}.market-chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:500}.market-chip.binnen{color:#17694a;background:#d8f0e4}.market-chip.boven{color:#8a5200;background:#fbe8bf}.market-chip.onder{color:#1d5d78;background:#d7ebf4}.market-range,.market-hint,.market-suggestion,.market-chapters{margin:2px 0;font-size:var(--fs-xs);color:#6b747d;line-height:1.45}.market-suggestion{color:#5b3d8f}.market-chapters{margin:6px 0 0}.phases{width:100%;border-collapse:collapse;margin:2px 0 8px;font-size:var(--fs-xs);color:#2a3139}.phases th{text-align:left;font-weight:500;color:#6b747d;padding:3px 8px 3px 0}.phases td{padding:3px 8px 3px 0;vertical-align:top;border-top:1px solid #ece8e1}.phases td:nth-child(2),.phases td:nth-child(3),.phases th:nth-child(2),.phases th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.phases .why{color:#6b747d}.chapter-fields{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:2px 0 0}.chapter-title{font-size:var(--fs-xs);color:#6b747d}.facade-types.compact{gap:4px}.facade-types.compact .facade-type{min-width:0;min-height:30px;padding:0 10px;border-color:#c9c4bb;color:#2a3139;background:#f3f0ea}.facade-types.compact .facade-type:hover{background:#e9e5dd}.facade-types.compact .facade-type[aria-checked=true]{border-color:#7a2fb0;color:#7a2fb0;background:#7a2fb014}.chapter-minutes{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:#6b747d}.chapter-minutes .doc-input{width:3.2em;text-align:right}@media print{.market,.chapter-fields{display:none}}.phases tfoot td{color:#6b747d;border-top:1px solid #ece8e1;padding-top:5px}.content-levers .lever-list{margin:4px 0;padding-left:18px;font-size:var(--fs-sm);color:#2a3139;line-height:1.6}.brief-select{width:11rem}.tour-chip{display:inline-flex;align-items:center;gap:6px;height:40px;max-width:200px;padding:0 12px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:var(--fs-sm);white-space:nowrap}.tour-chip span{overflow:hidden;text-overflow:ellipsis}.tour-chip:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.tour-block{margin:6px 0 14px}.tour-lead{margin:0 0 8px}.tour-list{list-style:none;margin:0;padding:0}.tour-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,1.6fr) auto auto;align-items:center;gap:6px 14px;padding:9px 0;border-top:1px solid #dcd8d1;font-size:var(--fs-sm);color:#2a3139}.tour-row:first-child{border-top:0}.tour-label{width:100%;box-sizing:border-box}.tour-address{color:#5b6570;min-width:0;overflow-wrap:anywhere}.tour-setup{font-variant-numeric:tabular-nums}.tour-status{font-size:var(--fs-xs);color:#1f7a54}.tour-row[data-calculated=false] .tour-status{color:#9a5b00}.tour-actions{grid-column:1 / -1;display:inline-flex;gap:6px;justify-content:flex-start}.tour-actions:empty{display:none}.doc-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:8px;cursor:pointer;border:1px solid #c9c4bb;background:#f3f0ea;color:#2a3139;font:inherit;font-size:var(--fs-sm)}.doc-btn:hover:not(:disabled){background:#e9e5dd}.doc-btn:disabled{opacity:.55;cursor:default}.tour-add{margin-top:8px}@media(max-width:720px){.tour-row{grid-template-columns:1fr auto}.tour-address{grid-column:1 / -1}}.tour-doc{margin:0;padding:0;list-style:none;font-size:var(--fs-sm);color:#2a3139}.tour-doc li{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.6fr) auto;gap:4px 14px;padding:6px 0;border-top:1px solid #dcd8d1}.tour-doc li:first-child{border-top:0}.tour-doc li>span:nth-child(2){color:#5b6570}.tour-doc li>span:last-child{font-variant-numeric:tabular-nums;text-align:right}.portal-login h1{font-size:var(--fs-title);font-weight:var(--fw-medium)}.portal-error{margin:0;font-size:var(--fs-sm);color:var(--problem)}.portal-bar{gap:var(--s4)}.portal-title{min-width:0;max-width:40vw;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base);color:var(--text-dim)}.app.portal .workspace{overflow-y:auto;overflow-x:hidden;scroll-behavior:auto}.portal-hero{position:relative;height:min(78vh,760px);min-height:420px;overflow:hidden}.portal-cta{position:absolute;z-index:20;left:50%;bottom:var(--edge);transform:translate(-50%)}.portal-quote-nav{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px}.portal-quote-nav.glass{background:var(--bg-scene);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-bottom:var(--glass-border);box-shadow:0 12px 24px #00000059;border-radius:0}.portal-quote-nav-title{font-size:var(--fs-sm);color:var(--text-dim)}.portal-quote-wrap{position:relative;padding-bottom:40px;background:var(--bg-scene)}.portal-quote-wrap .stage.portal-quote{position:static;inset:auto;z-index:auto;background:none}.portal-quote-wrap .doc-scroll{position:static;inset:auto;overflow:visible;padding:12px 0 0}.doc-plain{color:inherit}.doc-faq{margin-top:14px}.doc-faq .doc-body{padding:22px 36px 26px;gap:10px}.faq-list{display:flex;flex-direction:column;gap:2px}.faq-item{border-top:1px solid #dcd8d1;padding:10px 0}.faq-item:first-child{border-top:0;padding-top:4px}.faq-item summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:#11161b;list-style:none;display:flex;align-items:baseline;gap:8px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"+";flex:0 0 auto;width:1em;color:#5b6570}.faq-item[open] summary:before{content:"\2013"}.faq-item p{margin:6px 0 0 1.75em;font-size:var(--fs-sm);line-height:1.55;color:#2a3139}@media print{.doc-faq{display:none}}.portal-note{margin:0;padding:8px 14px;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--warm);border-color:#ffd08a73}.portal-foot{margin:0 var(--edge) var(--edge);padding:8px 16px;border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text-dim);width:fit-content}@media print{.portal-hero,.portal-cta,.portal-quote-nav,.portal-foot{display:none!important}.app.portal{display:block;height:auto;overflow:visible}.app.portal .workspace,.portal-quote-wrap{position:static;overflow:visible}.portal-quote-wrap{background:none;padding-bottom:0}}.quote-cover{display:none}.quote-cover-screen{display:flex!important}.quote-cover,.quote-cover-screen{flex-direction:column;width:100%;background:#070b11;color:#f4f2ee;overflow:hidden}.quote-cover-image{position:relative;flex:1 1 auto;min-height:150mm;background-color:#0d141d;background-size:cover;background-position:center}.quote-cover-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#070b1100 45%,#070b11eb)}.quote-cover-noimage{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(255,208,138,.35),transparent 60%),linear-gradient(180deg,#070b11,#111c2a)}.quote-cover-body{position:relative;z-index:1;padding:22px 30px 14px}.quote-cover-logo{height:24px;margin-bottom:16px;filter:brightness(0) invert(1)}.quote-cover h1{font-size:30px;font-weight:var(--fw-regular);line-height:1.25;margin:0 0 8px;color:#f4f2ee}.quote-cover-address,.quote-cover-sub{font-size:14px;color:#d7dde3;margin:0 0 4px}.quote-cover-date{font-size:12px;color:#9aa5b1;margin:12px 0 0}@media print{.quote-cover{display:flex;box-sizing:border-box;height:267mm;overflow:hidden;break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:560px){.portal-title{max-width:none}.portal-bar .btn.secondary{padding:0 10px}.doc-faq .doc-body{padding:18px 16px 20px}}@media(max-width:480px){.portal-title{display:none}.portal-bar .brand-logo{height:15px}.portal-bar .mail-btn{width:44px;padding:0;font-size:0}.portal-bar .mail-btn:before{content:"\2709";font-size:var(--fs-base)}}
/*# sourceMappingURL=/assets/app.css.map */
