/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--brand:#2b6472;--brand-hover:#3d7c89;--brand-dark:#1d4c57;--ink:#22262b;--muted:#667085;--surface:#fff;--background:#f6f7f8;--tint:#eaf4f5;--line:#e4e7ec;--canvas:#22262b}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}button,input,select{font:inherit}button{color:inherit}.app-shell{flex-direction:column;height:100dvh;min-height:100vh;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;grid-template-columns:260px 1fr auto;align-items:center;gap:20px;height:64px;padding:0 18px;display:grid;position:relative}.brand{color:#172c32;letter-spacing:.05em;align-items:center;gap:9px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.brand-logo{background:0 0;flex:0 0 31px;width:31px;height:31px;display:block;overflow:visible}.brand-logo img{object-fit:contain;width:100%;max-width:none;height:100%;display:block}.version{background:var(--tint);color:var(--brand);letter-spacing:.1em;border-radius:999px;padding:4px 7px;font-size:9px}.project-name{justify-self:center;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.status-dot{background:#21a366;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e8f6ee}.saved{color:var(--muted);font-weight:400}.header-actions{gap:7px;display:flex}.header-actions .button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.header-actions .button span{font-size:11px}.header-actions .button b{font-size:inherit}.button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;min-height:36px;padding:0 14px;font-size:12px;font-weight:700;transition:all .18s}.button:hover:not(:disabled){background:#f9fbfb;border-color:#bac9cd;transform:translateY(-1px)}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.primary:hover:not(:disabled){background:var(--brand-hover)}.button.ghost{background:0 0}.button.danger{color:#a83a2f;background:#fff4f2;border-color:#f2c6c1}.button.wide{width:100%}.button:disabled{cursor:not-allowed;opacity:.45}.project-modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101b1f8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.project-modal{background:#fff;border:1px solid #d6e0e2;border-radius:18px;width:min(560px,100%);max-height:min(760px,100dvh - 36px);padding:20px;overflow:auto;box-shadow:0 26px 90px #0b191e52}.project-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.project-modal h2{color:var(--ink);margin:4px 0 0;font-size:20px}.export-success-modal{text-align:center;width:min(470px,100%)}.export-success-mark{color:#15803d;background:#e8f6ee;border-radius:50%;place-items:center;width:46px;height:46px;margin:4px auto 14px;font-size:24px;font-weight:800;display:grid}.export-success-modal p{max-width:380px;color:var(--muted);margin:11px auto 20px;font-size:13px;line-height:1.55}.export-success-actions{justify-content:center;gap:9px;display:flex}.export-success-actions .button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.post-export-survey{text-align:left;background:#f7fbfb;border:1px solid #d6e4e6;border-radius:12px;gap:11px;margin:18px 0 20px;padding:15px;display:grid}.post-export-survey-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.post-export-survey-heading strong{color:var(--ink);font-size:13px}.post-export-survey-heading span{color:var(--muted);font-size:11px}.post-export-survey label{color:#42545a;gap:6px;font-size:11px;font-weight:750;display:grid}.post-export-survey input,.post-export-survey select{width:100%;min-height:36px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbdadd;border-radius:7px;padding:0 9px}.post-export-survey input:focus,.post-export-survey select:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px #2b64721f}.post-export-survey-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.post-export-submit{min-height:38px;color:var(--brand-dark);background:#fff;border-color:#b9ced2}.post-export-submit:hover:not(:disabled){border-color:var(--brand);background:#eef7f8}.post-export-thanks{background:#e9f6ee;border-radius:9px;padding:11px 13px;font-weight:700;color:#28734a!important;margin:16px auto 20px!important}@media (width<=480px){.post-export-survey-row{grid-template-columns:1fr}.post-export-survey-heading{flex-direction:column;align-items:flex-start;gap:2px}}.modal-close{width:36px;height:36px;color:var(--brand-dark);cursor:pointer;background:#eef3f4;border:0;border-radius:50%;flex:0 0 36px;font-size:24px;line-height:1}.current-project-card{background:var(--tint);border:1px solid #c9dadd;border-radius:12px;margin-top:18px;padding:15px}.current-project-card label{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:10px;font-weight:800;display:grid}.current-project-card .two-buttons{margin-top:10px}.current-project-card p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.project-modal-actions{margin:14px 0}.stored-project-list{gap:8px;display:grid}.stored-project-list article{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 38px;align-items:stretch;display:grid;overflow:hidden}.stored-project-main{cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;padding:12px 13px;display:grid}.stored-project-main:hover{background:#f7fafb}.stored-project-main strong{font-size:12px}.stored-project-main span{color:var(--muted);font-size:9px}.stored-project-delete{border:0;border-left:1px solid var(--line);color:#b14a40;cursor:pointer;background:snow;font-size:18px}.empty-projects{color:var(--muted);text-align:center;border:1px dashed #cfd8db;border-radius:10px;gap:5px;padding:24px 14px;display:grid}.empty-projects strong{color:#49535a;font-size:12px}.empty-projects span{font-size:10px}.workspace{flex:1;grid-template-columns:220px minmax(480px,1fr) 310px;min-height:0;display:grid}.steps-panel{border-right:1px solid var(--line);background:#fbfcfc;flex-direction:column;padding:20px 14px 14px;display:flex}.steps-heading{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:0 8px 13px;font-size:10px;font-weight:800;display:flex}.steps-panel nav{gap:4px;display:grid}.phase-row{grid-template-columns:minmax(0,1fr) 25px;align-items:stretch;gap:3px;display:grid}.phase{color:#535b64;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 9px;font-size:12px;font-weight:700;display:flex}.phase:hover{background:#f0f4f5}.phase.active{background:var(--tint);color:var(--brand-dark)}.phase-number{color:#7c858e;background:#fff;border:1px solid #d6dde0;border-radius:8px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:9px;display:grid}.phase.active .phase-number{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 3px 9px #2b64723b}.phase.done .phase-number{color:#187a4d;background:#edf9f3;border-color:#a6d4c0}.phase-help-button{width:25px;min-height:25px;color:var(--brand);cursor:pointer;background:#fff;border:1px solid #cbdcdf;border-radius:50%;align-self:center;place-items:center;font-size:11px;font-weight:850;display:grid}.phase-help-button:hover,.phase-help-button:focus-visible{border-color:var(--brand);background:var(--tint);outline:0}.help-card{border:1px solid var(--line);background:#fff;border-radius:11px;gap:10px;margin-top:auto;padding:13px 11px;display:flex}.help-icon{background:var(--tint);width:22px;height:22px;color:var(--brand);border-radius:50%;flex:0 0 22px;place-items:center;font-size:11px;font-weight:800;display:grid}.help-card strong{font-size:11px}.help-card p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.45}.editor-help-link{color:var(--accent,#2f7180);margin-top:8px;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-block}.editor-help-link:hover{text-decoration:underline}.editor-help-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;display:flex}.editor-help-link{cursor:pointer;background:0 0;border:0;margin-top:0;padding:0}.editor-help-secondary{color:#73858a;font-size:.72rem;font-weight:750;text-decoration:none}.editor-help-secondary:hover{color:var(--brand);text-decoration:underline}.editor-help-modal-backdrop{z-index:160;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b1d22b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor-help-modal{background:#fff;border:1px solid #d5e1e3;border-radius:18px;width:min(900px,100%);max-height:calc(100dvh - 48px);padding:30px;position:relative;overflow:auto;box-shadow:0 30px 100px #0414195c}.editor-help-close{color:#35535b;cursor:pointer;background:#edf3f4;border:0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.3rem;display:grid;position:absolute;top:17px;right:17px}.editor-help-modal h2{color:#20383f;letter-spacing:-.025em;max-width:720px;margin:0;font-size:1.65rem}.editor-help-description{color:#68797f;max-width:700px;margin:8px 0 18px;font-size:.88rem;line-height:1.5}.editor-help-video-frame{background:#183f49;border-radius:12px;min-height:360px;overflow:hidden}.editor-help-video-frame video,.editor-help-video-frame iframe{object-fit:contain;background:#102f37;width:100%;min-height:360px;max-height:62vh;display:block}.editor-help-video-placeholder{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:30px;display:flex}.editor-help-video-placeholder .video-play{margin-bottom:13px}.editor-help-video-placeholder strong{font-size:1rem}.editor-help-video-placeholder small{color:#afd0d5;max-width:330px;margin-top:7px;font-size:.78rem;line-height:1.45}.editor-help-modal-footer{color:#7a898e;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;font-size:.75rem;display:flex}.editor{background:var(--canvas);flex-direction:column;min-width:0;display:flex}.toolstrip{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-content:center;align-items:center;gap:9px;min-height:52px;padding:7px 11px;display:flex}.tool-group{gap:3px;display:flex}.tool{color:#4d555d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:0 9px;font-size:10px;font-weight:700;display:flex}.tool span{color:var(--brand);font-size:15px}.selection-count{background:var(--brand);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;font-size:8px;display:grid}.tool:hover{background:#f4f7f8}.tool.active{background:var(--tint);color:var(--brand-dark);border-color:#c6d9dd}.tool.delete-tool:not(:disabled){color:#a13b35}.tool.delete-tool:not(:disabled) span{color:#b8443b}.tool:disabled{opacity:.35;cursor:not-allowed}.tool kbd{color:var(--muted);background:#fff;border:1px solid #cad1d4;border-radius:4px;padding:2px 4px;font-size:8px}.divider{background:var(--line);width:1px;height:24px}.zoom-tools{background:#f3f6f7;border-radius:7px;align-items:center;gap:2px;padding:3px;display:flex}.zoom-tools button{color:#4f5961;cursor:pointer;background:0 0;border:0;border-radius:5px;min-width:28px;height:28px;font-size:13px;font-weight:700}.zoom-tools button:hover{color:var(--brand);background:#fff}.zoom-tools .pan-button.active{background:var(--brand);color:#fff}.zoom-tools .zoom-value{min-width:47px;font-size:9px}.zoom-tools .fit-button{padding:0 7px;font-size:9px}.tool-spacer{flex:14px}.view-select{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.view-select select{border:1px solid var(--line);min-width:130px;color:var(--ink);text-transform:none;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px}.alternatives-toolbar{border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:5px;padding-left:8px;display:flex}.alternatives-toolbar .view-select select{min-width:145px;max-width:205px}.alternatives-toolbar .button{min-height:31px;padding:5px 8px;font-size:10px}.canvas-wrap{background:#20252a;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-grid{opacity:.2;background-image:linear-gradient(#65717a 1px,#0000 1px),linear-gradient(90deg,#65717a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.canvas-wrap.dragging{box-shadow:inset 0 0 0 3px #65aebe}.upload-zone{color:#fff;cursor:pointer;background:#22282de0;border:1px dashed #6d7a82;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(390px,100% - 50px);min-height:230px;display:flex;position:absolute;top:48%;left:50%;translate:-50% -50%;box-shadow:0 24px 80px #00000038}.upload-zone:hover{background:#293138;border-color:#8bc2ce}.upload-icon{background:var(--brand);border-radius:14px;place-items:center;width:47px;height:47px;font-size:24px;display:grid}.upload-zone strong{margin-top:4px;font-size:16px}.upload-zone>span:not(.upload-icon){color:#c2c9cd;font-size:12px}.upload-zone small{color:#89949a;margin-top:12px;font-size:9px}.drawing-stage{place-items:center;display:grid;position:absolute;inset:34px;overflow:hidden}.svg-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;width:100%;height:100%;display:block;box-shadow:0 18px 70px #00000047}.svg-stage:not(.tool-select){cursor:crosshair}.svg-stage.tool-select,.svg-stage.tool-lineMode{cursor:default}.svg-stage.tool-pan{cursor:grab}.svg-stage.tool-pan:active{cursor:grabbing}.editor-text-size select{min-width:76px}.carpentry-text-size select{min-width:82px}.view-toggle-group{align-items:center;gap:3px;display:flex}.view-toggle-group button{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;padding:0 8px;font-size:9px;font-weight:800}.view-toggle-group button:hover{color:var(--brand-dark);border-color:#a9c9cf}.view-toggle-group button.active{background:var(--tint);color:var(--brand-dark);border-color:#9fc4ca}.svg-stage .dimension text,.svg-stage .triangulation text{font-size:calc(20px * var(--editor-text-scale,1))}.svg-stage .reference-point text{font-size:calc(18px * var(--editor-text-scale,1))}.svg-stage .svg-label,.svg-stage .snap-preview text{font-size:calc(11px * var(--editor-text-scale,1))}.svg-stage text.annotation,.svg-stage text.annotation.area,.svg-stage text.annotation.level{font-size:calc(25px * var(--editor-text-scale,1))}.svg-stage .dimension.metric-conflict line,.svg-stage .dimension.metric-conflict circle,.svg-stage .triangulation.metric-conflict line,.svg-stage .triangulation.metric-conflict circle{stroke:#c2352b;stroke-width:3px}.svg-stage .dimension.metric-conflict text,.svg-stage .triangulation.metric-conflict text{fill:#b12620;font-weight:900}.svg-label{fill:#2b6472;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:11px;font-weight:700}.svg-label.red{fill:#bb2d2a}.carpentry-label{pointer-events:none}.opening-issue-marker{fill:#c2352b24;stroke:#c2352b;vector-effect:non-scaling-stroke;pointer-events:none}.dimension line{stroke:#103f4b;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.dimension circle{fill:#fff;stroke:#103f4b;vector-effect:non-scaling-stroke}.dimension text{fill:#2b6472;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:13px;font-weight:700}.triangulation line{stroke:#7d4bc4;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.triangulation circle{fill:#fff;stroke:#7d4bc4;vector-effect:non-scaling-stroke}.triangulation text{fill:#6a3cad;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:12px;font-weight:700}.triangulation.selected-entity line,.triangulation.selected-entity circle{stroke:#f28a00}.edge-line{stroke:#2b9a5f;stroke-width:2.2px;stroke-dasharray:8 4}.edge-line.selected{stroke:#f28a00;stroke-width:4px}.linear-segment-selections{pointer-events:none}.linear-segment-selections line{stroke:#f28a00;stroke-width:5px;stroke-dasharray:10 4;vector-effect:non-scaling-stroke}.constraint-symbols{pointer-events:none}.constraint-symbol{cursor:pointer;pointer-events:all}.constraint-symbol circle{fill:#fff;fill-opacity:.94;stroke:#f28a00;stroke-width:2px;vector-effect:non-scaling-stroke}.constraint-symbol text{fill:#b65c00;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:2px;font-family:Arial,sans-serif;font-size:12px;font-weight:800}.constraint-symbol.corner circle,.constraint-symbol.join circle{stroke:#2b6472}.constraint-symbol.corner text,.constraint-symbol.join text{fill:#2b6472}.constraint-symbol.fixed circle{fill:#e7f2f3;stroke:#1d4c57}.constraint-symbol.fixed text{fill:#1d4c57}.constraint-symbol.preview-delete circle{fill:#fff2df;stroke:#ef7d00;stroke-width:3px}.constraint-symbol.preview-delete text{fill:#c96000;font-weight:900}.dimension-lines{pointer-events:none}.dimension-lines line{stroke:#155f7a;stroke-width:1.5px;fill:none;vector-effect:non-scaling-stroke;opacity:.88}.dimension-lines line.edge{stroke:#2b9a5f;stroke-dasharray:7 4}.dimension-lines line.element{stroke:#313d49}.dimension-lines line.hover{stroke:#ff8a00;stroke-width:5px;opacity:1}.dimension-methods{grid-template-columns:repeat(4,minmax(0,1fr))}.singular-element{fill:#087ec229;stroke:#087ec2;stroke-width:2.2px;vector-effect:non-scaling-stroke}.singular-element.selected{fill:#f28a0033;stroke:#f28a00;stroke-width:4px}.singular-element.embedded-section:not(.selected){fill:#087ec224;stroke:none}.singular-element.open{fill:none}.section-element-axes{pointer-events:none}.section-element-axes line{fill:none;stroke:#2f7180;stroke-width:1.2px;stroke-dasharray:7 5;opacity:.76;vector-effect:non-scaling-stroke}.section-element-axes line.selected{stroke:#f28a00;stroke-width:3px;opacity:1}.singular-element-detail{fill:none;stroke:#087ec2;stroke-width:1.4px;vector-effect:non-scaling-stroke}.singular-element-detail.selected{stroke:#f28a00;stroke-width:3px}.face-target{stroke:#f28a00;stroke-width:5px;stroke-dasharray:9 5;vector-effect:non-scaling-stroke}.annotation{fill:#2b6472;text-anchor:start;paint-order:stroke;stroke:#fff;stroke-width:4px;font-family:Arial,sans-serif;font-size:17px}.annotation.room{font-weight:700}.annotation.area,.annotation.level{font-size:14px}.annotation.level{text-anchor:start}.level-symbol{fill:none;stroke:#2b6472;stroke-width:1.5px}.area-shape{fill:#2b647214;stroke:#2b6472;stroke-width:1.5px;stroke-dasharray:5 4}.draft-line{fill:none;stroke:#f39a30;stroke-width:2px;stroke-dasharray:6 4}.draft-point{fill:#fff;stroke:#f39a30;stroke-width:2px}.selection-halo{stroke:#ffb11f;stroke-opacity:.5}.wall-type-layer line{stroke-linecap:square;stroke-opacity:.42}.wall-geometry{fill:#ffffff0a;stroke:none}.wall-contour{fill:none;stroke:#315964;stroke-width:1.8px;vector-effect:non-scaling-stroke}.wall-join-bisel{stroke:#315964;stroke-width:1.8px;vector-effect:non-scaling-stroke}.wall-type-legend{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px;display:grid}.wall-type-legend span{color:var(--muted);align-items:center;gap:4px;font-size:8px;display:flex}.wall-type-legend i{border-radius:3px;width:9px;height:9px}.constraint-list{gap:5px;margin-top:10px;display:grid}.constraint-groups{overscroll-behavior:contain;scrollbar-gutter:stable;gap:7px;max-height:360px;margin-top:10px;padding-right:2px;display:grid;overflow-y:auto}.constraint-group{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.constraint-group>summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12px;font-weight:700;list-style-position:inside;display:flex}.constraint-group>summary span{align-items:center;gap:7px;display:inline-flex}.constraint-group>summary em{min-width:24px;color:var(--muted);text-align:center;background:#e8f0f1;border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal}.constraint-group .constraint-list{border-top:1px solid var(--line);margin:0;padding:7px}.area-subtraction-list{gap:.45rem;margin-top:.35rem;display:grid}.area-subtraction-list label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:.65rem;align-items:center;gap:.55rem;min-height:2.35rem;padding:.45rem .6rem;display:flex}.area-subtraction-list input{width:1rem;height:1rem;accent-color:var(--brand)}.annotation-order-list label{min-height:2rem;padding:.3rem .5rem;font-size:.84rem}.annotation-order-list input{width:.9rem;height:.9rem}.constraint-row{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;background:#fafcfc;border-radius:7px;grid-template-columns:25px 1fr;align-items:center;padding-left:8px;font-size:9px;display:grid}.constraint-row b{color:var(--brand);font-size:14px}.constraint-row:hover,.constraint-row.selected{background:#fff2df;border-color:#ef7d00}.selected-centerline{stroke:#f28a00;stroke-width:2.5px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.wall-drag-handle{fill:#fff;stroke:#f28a00;stroke-width:2px;vector-effect:non-scaling-stroke}.selected-entity .dimension,.dimension.selected-entity,.dimension.selected-entity line,.dimension.selected-entity circle{stroke:#f28a00}.dimension.selected-entity text,.selected-entity .annotation{fill:#e17800}.reference-point{pointer-events:none}.reference-point circle{fill:#fff;stroke:#2b6472;stroke-width:1.5px;vector-effect:non-scaling-stroke}.reference-point text{fill:#26343a;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:10px;font-weight:700}.reference-point.midpoint circle{fill:#eaf4f5}.reference-point.intersection circle{fill:#f39a30;stroke:#fff}.reference-point.manual circle{fill:#7d4bc4;stroke:#fff}.reference-point.selected-entity circle{fill:#ffd34f;stroke:#f28a00;stroke-width:3px}.snap-preview{pointer-events:none}.snap-preview rect{fill:none;stroke:#f28a00;stroke-width:2px;vector-effect:non-scaling-stroke}.snap-preview text{fill:#8d4c00;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:11px;font-weight:800}.selection-window{vector-effect:non-scaling-stroke;stroke-width:1.5px}.selection-window.capture{fill:#2e70b821;stroke:#2e70b8}.selection-window.crossing{fill:#22915d21;stroke:#22915d;stroke-dasharray:6 4}.axis{pointer-events:none;opacity:.75;position:absolute}.axis span{color:#fff;font-size:9px;font-weight:800;position:absolute}.x-axis{border-top:2px solid #d54c4c;width:68px;bottom:37px;left:36px}.x-axis span{color:#ef7474;top:-7px;right:-10px}.y-axis{border-left:2px solid #54a76b;height:68px;bottom:37px;left:36px}.y-axis span{color:#76c98d;top:-14px;left:-3px}.canvas-status{pointer-events:none;color:#c7d0d4;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.inspector{border-left:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;flex-direction:column;min-height:0;max-height:100%;padding:21px 18px 28px;display:flex;overflow-y:auto}.inspector::-webkit-scrollbar{width:9px}.inspector::-webkit-scrollbar-thumb{background:#c8d3d6;border:2px solid #fff;border-radius:999px}.inspector-title{border-bottom:1px solid var(--line);padding:0 28px 12px 0;position:relative}.inspector-title .panel-help{top:0;right:0}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.inspector h1{letter-spacing:-.025em;margin:0;font-size:20px;line-height:1.15}.inspector-title p{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.6}.panel-stack{gap:10px;margin-top:16px;display:grid}.panel-card{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px;position:relative}.tool-accordion>summary{cursor:pointer;align-items:center;gap:8px;min-height:28px;margin:0;padding-right:25px;list-style:none;display:flex}.tool-accordion>summary::-webkit-details-marker{display:none}.tool-accordion>summary:after{content:"▾";color:var(--muted);margin-left:auto;font-size:13px;transition:transform .15s;transform:rotate(-90deg)}.tool-accordion[open]>summary{margin-bottom:12px}.tool-accordion[open]>summary:after{transform:rotate(0)}.tool-accordion>summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}@media (width<=700px){.tool-accordion>summary{min-height:44px}}.muted-card{background:#fafcfc}.card-heading{align-items:center;gap:8px;margin-bottom:12px;padding-right:26px;font-size:11px;display:flex}.panel-help{z-index:8;margin:0;position:absolute;top:10px;right:10px}.panel-help[open]{z-index:12}.panel-help>summary{color:#276777;cursor:pointer;background:#f0f7f8;border:1px solid #aac8ce;border-radius:50%;place-items:center;width:23px;height:23px;padding:0;font-size:12px;font-weight:800;line-height:1;list-style:none;display:grid}.panel-help>summary::-webkit-details-marker{display:none}.panel-help>summary:hover,.panel-help>summary:focus-visible{background:#dceef0;outline-color:#267085}.panel-help-bubble{color:#354d55;text-align:left;background:#fff;border:1px solid #aac8ce;border-radius:10px;width:min(260px,100vw - 54px);max-height:min(48vh,310px);padding:12px 14px;font-size:11px;font-weight:500;line-height:1.5;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #14343e2e}.panel-help-bubble p{color:inherit;font-size:inherit;line-height:inherit;margin:0 0 7px}.panel-help-bubble p:last-child{margin-bottom:0}.card-number{background:var(--tint);width:21px;height:21px;color:var(--brand);border-radius:6px;place-items:center;font-size:9px;font-weight:800;display:grid}.panel-card p{color:var(--muted);margin:0 0 12px;font-size:10px;line-height:1.5}.diagnostic-list{gap:9px;margin:12px 0;display:grid}.diagnostic-item{background:#fbfdfd;border:1px solid #dce7e9;border-radius:9px;padding:10px}.diagnostic-item p{color:#34464b;margin:0 0 8px;font-size:10px;line-height:1.45}.diagnostic-actions{flex-wrap:wrap;gap:6px;display:flex}.diagnostic-actions button{min-height:28px;color:var(--brand-dark);cursor:pointer;background:#fff;border:1px solid #b9d0d4;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:800}.diagnostic-actions button:hover{border-color:var(--brand);background:var(--tint)}.diagnostic-actions button.danger-link{color:#a9322b;border-color:#e8b9b5}.field-label,.inline-form label{color:#4c5660;letter-spacing:.04em;text-transform:uppercase;margin:9px 0 5px;font-size:9px;font-weight:800;display:block}.input{width:100%;height:36px;color:var(--ink);background:#fff;border:1px solid #d8dfe2;border-radius:7px;outline:none;margin-bottom:9px;padding:0 10px;font-size:12px}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b64721a}.inline-form{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.numeric-segment-card{background:#f7fbfb;border-color:#aac6cc}.numeric-segment-form{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.numeric-segment-form .input{margin-bottom:0}.numeric-segment-form .button{min-height:36px;padding-inline:11px}.numeric-direct-input{z-index:8;background:#fffffffa;border:1px solid #78aab4;border-radius:8px;align-items:center;gap:6px;width:156px;min-height:36px;padding:4px 6px 4px 9px;display:flex;position:absolute;box-shadow:0 8px 24px #132a3038}.numeric-direct-input input{width:100%;min-width:0;color:var(--ink);border:0;outline:0;font-size:12px;font-weight:800}.numeric-direct-input input::placeholder{color:#7c8b91;font-weight:650}.numeric-direct-input span{color:#52737a;background:#e4eff1;border-radius:4px;flex:none;padding:3px 4px;font-size:8px;font-weight:850}.metric-note{color:#7b858e!important;margin:9px 0 0!important;font-size:9px!important}.selection-readout{background:#fff4e8;border-radius:7px;padding:7px 9px;font-weight:800;color:#a55200!important;margin:8px 0 0!important;font-size:9px!important}.selected-button{box-shadow:0 0 0 3px #2b64721f}.segmented{background:#eef2f3;border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-bottom:10px;padding:3px;display:grid}.segmented button{min-height:29px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:9px;font-weight:700}.segmented button.active{color:var(--brand);background:#fff;box-shadow:0 2px 8px #1c2d3217}.mini-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mini-stats span{color:var(--muted);background:#f5f8f8;border-radius:9px;flex-direction:column;padding:10px;font-size:9px;display:flex}.mini-stats strong{color:var(--ink);margin-bottom:2px;font-size:17px}.dimension-list{border:1px solid var(--line);border-radius:10px;margin-top:2px;overflow:hidden}.dimension-list>strong{color:var(--muted);letter-spacing:.06em;background:#f5f7f8;padding:9px 10px;font-size:8px;display:block}.dimension-list>div{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:1fr 1fr auto;gap:8px;padding:8px 10px;font-size:10px;display:grid}.dimension-list>div:hover,.dimension-list>div.selected-row{background:var(--tint)}.dimension-list b{text-align:right}.dimension-list em{color:#1b8555;font-size:8px;font-style:normal}.dimension-list p{margin:0;padding:14px 10px}.reconstruction-ok{background:#eff9f4;border:1px solid #bfe0d0;border-radius:10px;gap:10px;padding:13px;display:flex}.reconstruction-ok>span{color:#fff;background:#208558;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.reconstruction-ok strong{font-size:11px}.reconstruction-ok p{color:#547065;margin:4px 0 0;font-size:9px;line-height:1.45}.summary-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.summary-grid span{border:1px solid var(--line);color:var(--muted);border-radius:9px;flex-direction:column;gap:2px;padding:12px;font-size:9px;display:flex}.summary-grid strong{color:var(--ink);font-size:18px}.secondary-action{margin-top:7px}.selected-card{background:#f4fafb;border-color:#9fc2ca}.two-buttons{grid-template-columns:1fr 1fr;gap:7px;display:grid}.two-buttons .button{padding:0 8px;font-size:10px}.compact-fields{grid-template-columns:.75fr 1.25fr;gap:7px;display:grid}.compact-fields label>span{color:#4c5660;letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px;font-size:8px;font-weight:800;display:block}.icon-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.icon-grid button{border:1px solid var(--line);min-height:47px;color:var(--brand);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:16px;font-weight:700;display:flex}.icon-grid button span{color:#5f6870;font-size:8px;font-weight:700}.icon-grid button:hover,.icon-grid button.active{background:var(--tint);border-color:#9fc2ca}.wall-edit-grid button span{white-space:nowrap}.wall-edit-grid button:disabled{opacity:.46;cursor:not-allowed}.element-grid{grid-template-columns:repeat(2,1fr)}.file-pill{background:var(--tint);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;padding:7px 9px;overflow:hidden;color:var(--brand-dark)!important;margin:9px 0 0!important}.empty-tool-card{text-align:center;background:#fafcfc;flex-direction:column;justify-content:center;align-items:center;min-height:170px;margin-top:16px;display:flex}.empty-tool-icon{color:var(--brand);margin-bottom:9px;font-size:25px}.empty-tool-card strong{font-size:12px}.empty-tool-card p{max-width:220px;margin:7px 0 0}.inspector-footer{margin-top:auto;padding-top:18px}.inspector-footer>span{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.mobile-panel-toggle,.mobile-panel-close,.mobile-panel-backdrop,.touch-canvas-help,.mobile-quickbar{display:none}@media (pointer:coarse){.button,.tool,.icon-grid button{min-height:44px}.input{height:44px;font-size:16px}.segmented button,.zoom-tools button{min-height:40px}.button:hover:not(:disabled){transform:none}}@media (width<=1050px){.workspace{grid-template-columns:184px minmax(420px,1fr) 270px}.topbar{grid-template-columns:220px 1fr auto}.tool{padding:0 7px}}@media (width<=820px),(pointer:coarse) and (height<=600px){.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{z-index:20;grid-template-columns:1fr auto;height:auto;min-height:62px;position:sticky;top:0}.project-name{display:none}.workspace{grid-template-columns:64px 1fr;min-height:calc(100vh - 62px)}.steps-panel{padding:12px 8px}.phase-row{display:block;position:relative}.phase{padding-right:23px}.phase-help-button{width:19px;height:19px;min-height:19px;font-size:9px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.steps-heading,.phase>span:last-child,.help-card{display:none}.phase{justify-content:center;padding:7px 0}.phase-number{margin:0}.editor{min-height:calc(100dvh - 62px)}.toolstrip{display:none}.mobile-quickbar{z-index:4;border-bottom:1px solid var(--line);touch-action:manipulation;background:#fff;flex:none;gap:3px;padding:5px 6px;display:grid;position:relative;box-shadow:0 3px 12px #182a3014}.mobile-quick-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;display:grid}.mobile-quick-row button{color:#59636a;background:#fff;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:46px;padding:2px;display:flex}.mobile-quick-row button b{color:var(--brand);font-size:16px;line-height:1}.mobile-quick-row button span{text-overflow:ellipsis;color:#59636a;white-space:nowrap;max-width:100%;font-size:7px;font-weight:800;overflow:hidden}.mobile-quick-row button.active{background:var(--tint);color:var(--brand-dark);border-color:#b8d1d6}.mobile-quick-row button:disabled{opacity:.3}.mobile-quick-row.mobile-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-quick-row.mobile-selection-actions button{background:#f8fbfb;border-color:#d8e1e3}.mobile-quick-row.mobile-selection-actions button.delete-action:not(:disabled){background:#fff7f6;border-color:#efc9c5}.mobile-quick-row.mobile-selection-actions button.delete-action:not(:disabled) b,.mobile-quick-row.mobile-selection-actions button.delete-action:not(:disabled) span{color:#a13b35}.drawing-stage{inset:18px 14px 30px}.canvas-status{bottom:7px;right:88px}.canvas-status>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:62%;overflow:hidden}.desktop-canvas-help{display:none}.touch-canvas-help{white-space:nowrap;display:inline}.mobile-panel-backdrop{z-index:29;opacity:0;pointer-events:none;background:#0f171b61;border:0;transition:opacity .2s;position:fixed;inset:0}.mobile-panel-backdrop.visible{display:none}.mobile-panel-toggle{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:32;background:var(--brand);color:#fff;border:0;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 17px;font-size:11px;font-weight:800;display:flex;position:fixed;box-shadow:0 10px 28px #14343c52}.mobile-panel-toggle span{font-size:18px;line-height:1}.mobile-panel-toggle.open{background:var(--ink)}.mobile-panel-close{z-index:2;width:38px;height:38px;color:var(--brand-dark);background:#edf3f4;border:0;border-radius:50%;place-items:center;margin:-7px -5px -30px auto;font-size:22px;display:grid;position:sticky;top:0}.inspector{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:31;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;opacity:0;pointer-events:none;border:1px solid #d6e0e2;border-radius:18px;width:auto;min-height:0;max-height:min(48dvh,410px);padding:14px 14px 62px;transition:transform .24s,opacity .2s;position:fixed;overflow-y:auto;transform:translateY(calc(100% + 28px));box-shadow:0 24px 80px #0f1f2457}.inspector.mobile-open{opacity:1;pointer-events:auto;transform:translateY(0)}.inspector-title{padding-right:34px}.inspector-title p{display:none}.mobile-quick-extras{gap:3px;display:grid}.mobile-quick-extras .mobile-quick-row{scrollbar-width:thin;gap:2px;display:flex;overflow-x:auto}.mobile-quick-extras .mobile-quick-row button{flex:0 0 50px}.inspector-footer{padding-bottom:8px}}@media (width>=760px) and (width<=820px){.mobile-quickbar{grid-template-columns:1fr}}@media (width<=560px){.brand .version{display:none}.topbar{padding:0 10px}.brand{font-size:16px}.brand-logo{flex-basis:28px;width:28px;height:28px}.brand-logo img{width:100%;height:100%}.header-actions{gap:4px}.header-actions .button{min-width:38px;min-height:40px;padding:0 9px;font-size:10px}.header-actions .button b{display:none}.header-actions .export-button{min-width:46px}.project-modal-backdrop{align-items:end;padding:8px}.project-modal{border-radius:18px 18px 12px 12px;max-height:88dvh;padding:17px}.workspace{flex-direction:column;min-height:0;display:flex}.steps-panel{z-index:18;border-right:0;border-bottom:1px solid var(--line);flex:none;padding:5px 7px;position:sticky;top:62px}.steps-panel nav{scrollbar-width:thin;gap:3px;display:flex;overflow-x:auto}.steps-panel nav .phase-row{flex:0 0 45px}.phase{min-height:44px;padding:4px 0}.phase-number{flex-basis:32px;width:32px;height:32px}.editor{height:calc(100dvh - 116px);min-height:min(520px,100dvh - 116px)}.drawing-stage{inset:10px 8px 30px}.mobile-quickbar{padding-inline:4px}.mobile-quick-row{gap:2px}.mobile-view-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-quick-row button{min-height:44px}.canvas-status{left:8px;right:82px}.canvas-status>span:first-child{max-width:100%}.touch-canvas-help{display:none}.axis{transform-origin:0 100%;transform:scale(.8)}.inspector{max-height:min(48dvh,410px);padding-inline:14px}.panel-card{padding:13px}.icon-grid button{min-height:54px}.view-select select{min-width:108px}.editor-help-modal-backdrop{padding:12px}.editor-help-modal{max-height:calc(100dvh - 24px);padding:24px 16px 18px}.editor-help-modal h2{padding-right:34px;font-size:1.35rem}.editor-help-video-frame,.editor-help-video-frame video,.editor-help-video-frame iframe,.editor-help-video-placeholder{min-height:220px}.editor-help-modal-footer{flex-direction:column;align-items:stretch;gap:12px}}.detection-panel{border:1px solid #87aaa8}.detection-panel .card-heading{flex-wrap:wrap;gap:8px}.detection-tag{color:#285a4e;background:#e3efea;border-radius:6px;padding:3px 7px;font-size:11px}.detection-help,.detection-status{overflow-wrap:anywhere;font-size:12px;line-height:1.5}.detection-status:empty{display:none}.detection-region-status{font-weight:750;color:#9a5108!important;margin:6px 0 0!important;font-size:10px!important}.detection-panel label{margin:6px 0;font-size:12px;display:block}.detection-panel .detection-check{align-items:center;gap:8px;display:flex}.detection-panel input[type=checkbox]{flex-shrink:0;width:16px;height:16px}.detection-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:440px;margin-top:10px;overflow-y:auto}.detection-item{background:#fafcfb;border:1px solid #d2dddd;border-radius:8px;margin-bottom:9px;padding:10px}.detection-item.selected{background:#f1f8fc;border-color:#4b91bd}.detection-item.focused{border:2px solid #ff2d55;padding:9px}.detection-item-heading{justify-content:space-between;align-items:center;gap:6px;display:flex}.detection-item-heading label{align-items:center;gap:5px;display:flex}.detection-item .button{padding:7px 9px;font-size:12px}.detection-item small{color:#52686b;font-size:11px;display:block}.detection-item details{margin:8px 0}.detection-item summary{cursor:pointer;font-size:12px}.detection-bound{color:#23664c;font-size:12px}.detection-unbound{color:#875411;font-size:12px}.detection-panel .two-buttons{margin-top:8px}.detection-examples{background:#f8fbfc;border:1px solid #c9d9df;border-radius:10px;margin:10px 0;padding:10px}.detection-examples summary{cursor:pointer;font-size:12px;font-weight:700}.detection-example-actions{flex-wrap:wrap;gap:6px;display:flex}.detection-example-actions .button{flex:auto}.detection-example-entry{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.detection-panel textarea{resize:vertical}@media (width<=700px){.detection-list{max-height:320px}}.commercial-page{color:#092e38;background:#f4f8f8;min-height:100vh;padding-bottom:72px}.commercial-header{background:#fff;border-bottom:1px solid #dce7e9;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,6vw,88px);display:flex}.commercial-header nav a{color:#0e5d6d;font-weight:700}.commercial-hero{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:860px;margin:0 auto;padding:76px 24px 46px;display:flex}.commercial-hero h1{margin:0;font-size:clamp(38px,6vw,70px);line-height:1.02}.commercial-hero p{color:#3d5c63;margin:0;font-size:20px}.commercial-hero small{color:#71878d;display:block}.commercial-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto;padding:24px;display:grid}.commercial-price-card{background:#fff;border:1px solid #cfdddf;border-radius:18px;flex-direction:column;padding:28px;display:flex;box-shadow:0 16px 40px #113a430f}.commercial-price-card.featured{border:2px solid #277485;transform:translateY(-8px)}.commercial-price-card h2{margin:0 0 8px}.commercial-price-card>p{color:#547078;min-height:48px}.commercial-price-card ul{gap:10px;margin:22px 0 28px;padding:0;list-style:none;display:grid}.commercial-price-card li:before{content:"✓";color:#1b7d68;margin-right:9px;font-weight:800}.commercial-price-card .portal-button{margin-top:auto}.commercial-price{align-items:baseline;gap:7px;display:flex}.commercial-price strong{font-size:34px}.commercial-price span{color:#648087}.commercial-message{max-width:820px;margin:0 auto}.commercial-plan-card{border-color:#a8c9cf}.commercial-plan-badge{color:#176654;background:#e4f2ef;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.commercial-actions{flex-wrap:wrap;gap:10px;display:flex}.commercial-team-table{gap:8px;display:grid}.commercial-team-table>div{border:1px solid #dce7e9;border-radius:10px;grid-template-columns:minmax(180px,1fr) 100px 110px auto;align-items:center;gap:14px;padding:12px;display:grid}.commercial-team-table span:first-child{flex-direction:column;display:flex}.commercial-team-table small{color:#6b8187}.commercial-project-usage,.commercial-trial-notice{background:#edf6f5;border:1px solid #c8dfdc;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:14px 18px;display:flex}.commercial-project-usage>div,.commercial-trial-notice{flex-direction:column;display:flex}.commercial-project-usage p{margin:0}.commercial-readonly{position:relative}.commercial-readonly-overlay{z-index:80;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#f3f8f89e;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:absolute;inset:0}.commercial-readonly-overlay>div{text-align:center;background:#fff;border:1px solid #c9dadd;border-radius:16px;flex-direction:column;gap:12px;max-width:520px;padding:24px;display:flex;box-shadow:0 20px 60px #0a2d352e}.commercial-admin-card{overflow:hidden}.commercial-admin-table{overflow:auto}.commercial-admin-row{border-top:1px solid #dce7e9;grid-template-columns:2fr .8fr 1fr .7fr 1.5fr;align-items:center;gap:12px;min-width:850px;padding:10px;display:grid}.commercial-admin-row.heading{background:#f3f7f7;font-weight:800}.commercial-admin-row span:first-child{flex-direction:column;display:flex}.commercial-admin-row small{color:#6b8187}.survey-card-add.disabled{opacity:.55}@media (width<=850px){.commercial-pricing-grid{grid-template-columns:1fr}.commercial-price-card.featured{transform:none}.commercial-team-table>div{grid-template-columns:1fr 1fr}.commercial-project-usage{flex-direction:column;align-items:flex-start}.commercial-header{padding:0 20px}}@media (pointer:coarse) and (orientation:landscape) and (height<=600px){.app-shell{height:100dvh;min-height:0;overflow:hidden}.workspace{grid-template-columns:48px minmax(0,1fr);min-height:0}.steps-panel{padding:4px 2px;overflow-y:auto}.steps-panel nav{gap:2px;display:grid;overflow:visible}.steps-panel .phase{min-height:34px;padding:2px}.steps-panel .phase-number{flex-basis:28px;width:28px;height:28px}.editor{height:calc(100dvh - 62px);min-height:0}.mobile-quickbar{padding:2px 5px}.mobile-quick-row button{min-height:36px}.mobile-quick-extras .mobile-quick-row button{min-height:32px}.inspector{border-radius:14px;width:min(360px,46vw);max-height:none;padding:12px 12px 52px;inset:66px 6px 6px auto}.mobile-panel-toggle{bottom:12px;right:12px}}.admin-tab-nav{z-index:12;scrollbar-width:thin;background:#f7fafb;gap:.45rem;padding:.75rem .25rem;display:flex;position:sticky;top:0;overflow-x:auto}.admin-tab-nav button{color:#244253;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cedee5;border-radius:9px;padding:.65rem .9rem;font-weight:700}.admin-tab-nav button.active{color:#fff;background:#24586a;border-color:#24586a}.admin-invitation-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.admin-invitation-actions button{cursor:pointer;background:#fff;border:1px solid #cadbe1;border-radius:7px;padding:.35rem .55rem}.admin-utm-panel form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}.admin-utm-panel form label{flex-direction:column;gap:.3rem;display:flex}.admin-utm-panel form label:first-child,.admin-utm-preview{grid-column:1/-1}.admin-utm-preview code,.admin-utm-panel .beta-detail-list a{overflow-wrap:anywhere}.admin-utm-panel .beta-detail-list{max-height:390px;overflow-y:auto}.admin-link-stats{color:#25495c;flex-wrap:wrap;gap:.45rem 1rem;margin:.5rem 0;font-size:.9rem;display:flex}.admin-user-search{gap:.35rem;max-width:360px;margin:.8rem 0;font-weight:700;display:grid}.admin-user-search input{width:100%;font:inherit;border:1px solid #c7d8e0;border-radius:8px;padding:.65rem .8rem}.admin-module{margin:.75rem 0}.admin-module>summary{cursor:pointer;background:#eef5f7;border:1px solid #d1dfe5;border-radius:9px;padding:.9rem 1rem;font-weight:700;display:block}.admin-module>summary:before{content:"▸ "}.admin-module[open]>summary:before{content:"▾ "}.admin-module>:not(summary){margin-top:.8rem}.equipment-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 14px;display:grid}.equipment-tile{text-align:left;color:#25495c;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #cbdbe1;border-radius:9px;gap:3px;min-height:72px;padding:8px;display:grid}.equipment-tile.active{background:#edf7fc;border-color:#087ec2;box-shadow:inset 0 0 0 1px #087ec2}.equipment-tile strong{font-size:.76rem;line-height:1.1}.equipment-name{white-space:pre-line;overflow-wrap:anywhere;word-break:break-word}.equipment-footprint-panel{gap:8px;min-width:0;display:grid}.equipment-footprint-editor{touch-action:manipulation;cursor:crosshair;background:#fff;border:1px solid #cadbe1;width:min(100%,420px);height:260px}.equipment-footprint-current{fill:#2399bc24;stroke:#7aabb8;stroke-width:.008px;pointer-events:none}.equipment-footprint-line{stroke:#25495c;stroke-width:.008px;pointer-events:none}.equipment-footprint-draft{fill:#0084b833;stroke:#0084b8;stroke-width:.014px;pointer-events:none}.equipment-footprint-point{fill:#e16a2b;pointer-events:none}.equipment-footprint-reference{fill:#fff;stroke:#e16a2b;stroke-width:.008px;pointer-events:none}.equipment-tile small{color:#617987;font-size:.66rem}.equipment-icon{color:#087ec2;font-size:1.15rem;line-height:1}.equipment-preview{fill:none;stroke:#087ec2;stroke-width:.025px;width:54px;height:38px;overflow:visible}.equipment-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.equipment-layer{fill:none;stroke:#276c8b;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:visiblePainted}.equipment-mask-layer{fill:#fff;stroke:none}.equipment-layer .selected{stroke:#e16a2b;stroke-width:2.5px}.equipment-snap-references{fill:#fff;stroke:#e16a2b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.equipment-snap-references .active{fill:#e16a2b2e;stroke-width:2px}.equipment-upload{cursor:pointer;margin:8px 0;position:relative}.equipment-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.equipment-library-manager{gap:12px;min-width:0;display:grid}.equipment-library-import{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.equipment-library-import label:not(.equipment-library-file){gap:4px;min-width:0;font-size:.82rem;font-weight:700;display:grid}.equipment-library-import :is(select,input:not([type=file])),.equipment-library-details :is(input,select),.equipment-library-search input{box-sizing:border-box;color:#234457;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cadbe1;border-radius:8px;padding:8px}.equipment-library-import .equipment-library-meta{grid-column:span 1}.equipment-library-import .equipment-library-file{min-height:38px}.equipment-library-guide{color:#31505d;font-size:.82rem}.equipment-library-guide summary{cursor:pointer;font-weight:700}.equipment-library-guide p{margin:6px 0 0}.equipment-library-search{gap:4px;font-size:.82rem;font-weight:700;display:grid}@media (width<=720px){.equipment-library-import{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=440px){.equipment-library-import{grid-template-columns:minmax(0,1fr)}}.equipment-library-file{cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.equipment-library-file input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.equipment-library-list{gap:8px;max-height:520px;display:grid;overflow-y:auto}.equipment-library-list article{background:#fff;border:1px solid #d8e4e9;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.equipment-library-list article>.equipment-preview{flex:0 0 65px}.equipment-library-details{flex:145px;gap:5px;min-width:0;display:grid}.equipment-library-details small{color:#617987}.equipment-library-actions{flex-wrap:wrap;gap:5px;display:flex}.equipment-project-tile{min-width:0}.equipment-project-tile .equipment-tile{width:100%}.equipment-dimension-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.equipment-dimension-fields label{gap:4px;min-width:0;font-size:.76rem;font-weight:700;display:grid}.equipment-dimension-fields .wide,.equipment-dimension-fields .panel-help{grid-column:1/-1}.equipment-catalog-filters{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);gap:7px;margin:8px 0 12px;display:grid}.floor-finish-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.floor-finish-fields label{gap:4px;min-width:0;font-size:.76rem;font-weight:700;display:grid}.floor-finish-fields .input{box-sizing:border-box;width:100%;min-width:0}.floor-finish-layer line{fill:none;stroke:#777;stroke-width:.8px;opacity:.85;vector-effect:non-scaling-stroke}.floor-pattern-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin:8px 0 12px;display:grid}.floor-pattern-tile{color:#29424b;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e0e4;border-radius:8px;gap:3px;padding:5px;display:grid}.floor-pattern-tile.active{border-color:#187b91;box-shadow:0 0 0 2px #b9e1e8}.floor-pattern-tile svg{background:#f7fafb;width:100%;height:58px}.floor-pattern-tile strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.floor-pattern-tile small{color:#6a7d84;font-size:.68rem}.equipment-catalog-filters label,.equipment-editor-import>label:not(.equipment-upload){gap:4px;min-width:0;font-size:.76rem;font-weight:700;display:grid}.equipment-catalog-filters .input,.equipment-editor-import .input{box-sizing:border-box;width:100%;min-width:0}.equipment-editor-import{border:1px solid #d2e2e7;border-radius:9px;margin:8px 0;padding:9px}.equipment-editor-import summary{cursor:pointer;font-size:.82rem;font-weight:700}.equipment-editor-import[open]{gap:8px;display:grid}.equipment-editor-import[open] summary{margin-bottom:3px}.equipment-manage-link{box-sizing:border-box;justify-content:center;align-items:center;margin:6px 0;text-decoration:none;display:flex}.equipment-align-marker{fill:none;stroke:#ed711f;stroke-linecap:round;vector-effect:non-scaling-stroke}.equipment-editor-card,.floor-finish-panel{padding:10px}.equipment-editor-card .button,.floor-finish-panel .button{min-height:36px;padding:5px 7px;font-size:11px;line-height:1.2}.equipment-editor-card .input,.floor-finish-panel .input{height:36px;margin-bottom:0}.equipment-editor-card .metric-note,.floor-finish-panel .metric-note{margin-bottom:5px}.equipment-editor-card .equipment-actions{gap:5px}.equipment-editor-card .equipment-dimension-fields{gap:5px;margin:6px 0}.equipment-editor-card .equipment-angle-row{grid-template-columns:minmax(0,1fr) 82px;align-items:end}.equipment-footprint-trigger{margin-top:7px}.equipment-footprint-controls{border-top:1px solid var(--line);margin-top:7px;padding-top:7px}.equipment-footprint-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.equipment-footprint-help,.floor-finish-help{color:var(--muted);margin-top:6px;font-size:10px}.equipment-footprint-help summary,.floor-finish-help summary{cursor:pointer;font-weight:700}.equipment-editor-card .equipment-footprint-help p,.floor-finish-panel .floor-finish-help p{margin:5px 0 0}.floor-finish-panel .floor-create-surface{margin:3px 0 7px}.floor-finish-panel .equipment-catalog-filters{gap:5px;margin:6px 0}.floor-finish-panel .floor-pattern-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:5px;margin:6px 0}.floor-finish-panel .floor-pattern-tile{gap:2px;padding:4px}.floor-finish-panel .floor-pattern-tile svg{height:42px}.floor-finish-panel .floor-finish-fields{gap:5px;margin:6px 0}.floor-finish-panel .two-buttons{gap:5px;margin-top:5px}.floor-pattern-manager{gap:7px}.floor-pattern-manager>p{margin:0;font-size:.8rem}.floor-pattern-manager .equipment-library-import{gap:6px}.floor-pattern-manager .equipment-library-list{gap:5px}.floor-pattern-manager .equipment-library-list article{gap:6px;padding:7px}.catalog-accordion>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin:0;list-style:none;display:flex}.catalog-accordion>summary::-webkit-details-marker{display:none}.catalog-accordion>summary:after{content:"▾";color:var(--muted);font-size:13px;transition:transform .15s;transform:rotate(-90deg)}.catalog-accordion[open]>summary:after{transform:rotate(0)}.catalog-accordion-body{padding-top:10px;position:relative}.equipment-library-accordion .panel-help{top:9px;right:0}.equipment-library-accordion .equipment-catalog-filters{padding-right:24px}.equipment-only-mine{cursor:pointer;align-items:center;gap:7px;margin:0 0 8px;font-size:11px;font-weight:700;display:flex}.equipment-only-mine input{width:16px;height:16px;accent-color:var(--brand);margin:0}.equipment-numeric-move{margin-top:6px}.numeric-move-bar{border-bottom:1px solid var(--line);background:#f6fafb;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 11px;font-size:11px;display:flex}.numeric-move-bar label{align-items:center;gap:4px;font-weight:700;display:flex}.numeric-move-bar input{width:70px}.numeric-move-bar select{min-width:55px}.numeric-move-bar input,.numeric-move-bar select{box-sizing:border-box;border:1px solid var(--line);height:36px;font:inherit;background:#fff;border-radius:7px;padding:5px 7px}.numeric-move-bar .button{min-height:36px;padding:5px 10px;font-size:11px}@media (pointer:coarse){.numeric-move-bar input,.numeric-move-bar select,.numeric-move-bar .button{min-height:44px;font-size:16px}}.thickness-confirmation{align-items:center;gap:7px;font-size:12px;line-height:1.3;display:flex}.thickness-confirmation input{flex:none}.carpentry-selection-list{overscroll-behavior:contain;gap:8px;max-height:240px;margin:10px 0;display:grid;overflow-y:auto}.carpentry-selection-list .detection-check{min-height:44px;margin:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.portal-layout{background:#f4f7f8;grid-template-columns:244px minmax(0,1fr);min-height:100dvh;display:grid}.portal-sidebar{scrollbar-width:thin;background:#fff;border-right:1px solid #dce5e7;flex-direction:column;height:100dvh;min-height:0;padding:18px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.portal-brand{color:var(--brand-dark);letter-spacing:.08em;align-items:center;gap:10px;font-size:1.18rem;font-weight:850;text-decoration:none;display:inline-flex}.portal-brand-mark{background:0 0;border-radius:0;flex:0 0 34px;width:34px;height:34px;display:block;overflow:visible}.portal-brand-mark img{object-fit:contain;width:100%;max-width:none;height:100%;display:block}.portal-brand.compact{font-size:1rem}.portal-brand.compact .portal-brand-mark{flex-basis:30px;width:30px;height:30px}.portal-brand.compact .portal-brand-mark img{width:100%;height:100%}.portal-navigation{gap:4px;margin-top:24px;display:grid}.portal-navigation a{color:#4b5c63;border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:0 10px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .16s;display:flex}.portal-navigation a>span{color:#6c7e84;text-align:center;width:23px;font-size:1.05rem}.portal-navigation a:hover{color:var(--brand-dark);background:#f1f6f7}.portal-navigation a.active{color:var(--brand-dark);background:#e8f3f4}.portal-navigation a.active>span{color:var(--brand)}.portal-sidebar-spacer{flex:0 0 10px}.portal-navigation-secondary{border-top:1px solid #e4ebed;margin-top:10px;padding-top:10px}.portal-beta-note{color:#708087;align-items:center;gap:8px;margin:12px 8px 0;font-size:.78rem;font-weight:700;display:flex}.portal-status-dot{background:#21a366;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e6f6ed}.portal-main{min-width:0}.portal-mobile-header,.portal-mobile-navigation{display:none}.portal-content{width:min(1180px,100% - 64px);margin:0 auto;padding:54px 0 80px}.portal-content-narrow{width:min(820px,100% - 64px)}.portal-page-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.portal-eyebrow{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-size:.75rem;font-weight:850;display:block}.portal-page-header h1,.auth-card h2,.auth-brand-copy h1,.onboarding-card h2{color:#172c32;letter-spacing:-.035em;margin:0}.portal-page-header h1{font-size:clamp(2rem,3.2vw,2.8rem)}.portal-page-header p{color:#63747a;max-width:620px;margin:10px 0 0;font-size:1rem;line-height:1.55}.portal-button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:.9rem;font-weight:800;text-decoration:none;transition:all .16s;display:inline-flex}.portal-button.primary{background:var(--brand);color:#fff;box-shadow:0 8px 20px #2b64722e}.portal-button.primary:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.portal-button.secondary{color:var(--brand-dark);background:#fff;border-color:#cfdcdf}.portal-button.secondary:hover:not(:disabled){background:#f8fbfb;border-color:#9db8be}.portal-button.wide{width:100%}.portal-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.text-button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:800}.form-message{border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.45}.form-message.error{color:#a63b31;background:#fff1ef}.form-message.success{color:#247348;background:#eaf7ef}.auth-layout{background:#fff;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);min-height:100dvh;display:grid}.auth-brand-panel{color:#fff;background:#183f49;flex-direction:column;min-height:100dvh;padding:42px clamp(42px,6vw,92px);display:flex;position:relative;overflow:hidden}.auth-brand-panel .portal-brand{color:#fff}.auth-brand-copy{z-index:2;max-width:560px;margin-top:auto;margin-bottom:34px;position:relative}.auth-brand-copy .portal-eyebrow{color:#87c2cc}.auth-brand-copy h1{color:#fff;font-size:clamp(2.4rem,4.8vw,4.8rem);line-height:.98}.auth-brand-copy p{color:#c8dadd;max-width:500px;margin:24px 0 0;font-size:1.04rem;line-height:1.65}.auth-brand-foot{z-index:2;color:#8ebfc7;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:800;position:relative}.auth-blueprint{opacity:.32;height:44%;position:absolute;inset:15% -10% auto 26%;transform:rotate(-4deg)}.auth-blueprint:before{content:"";background-image:linear-gradient(#ffffff17 1px,#0000 1px),linear-gradient(90deg,#ffffff17 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.blueprint-wall{background:#b4e0e6;height:7px;display:block;position:absolute;box-shadow:0 0 0 1px #183f49,0 0 0 2px #b4e0e6}.wall-a{width:70%;top:24%;left:6%}.wall-b{width:56%;top:64%;left:26%;transform:rotate(90deg)}.wall-c{width:43%;top:76%;left:30%}.blueprint-dimension{color:#d7f3f6;letter-spacing:.1em;font-size:.8rem;position:absolute;top:16%;left:28%}.blueprint-room{color:#d7f3f6;letter-spacing:.12em;font-size:.9rem;position:absolute;top:48%;left:22%}.auth-form-panel{place-items:center;padding:40px;display:grid}.auth-mobile-brand{display:none}.auth-card{width:min(430px,100%)}.auth-card h2{font-size:2.25rem}.auth-intro{color:#6b7a80;margin:11px 0 30px;font-size:.96rem}.auth-card form{gap:18px;display:grid}.auth-card form>label,.feedback-card label,.form-section-content>label,.profile-settings label{color:#34474d;gap:8px;font-size:.86rem;font-weight:750;display:grid}.auth-card input,.feedback-card input,.feedback-card select,.feedback-card textarea,.form-section-content input,.form-section-content select,.profile-settings select{color:#1f3339;background:#fff;border:1px solid #ccd8da;border-radius:9px;outline:0;width:100%;min-height:48px;padding:0 13px;font-size:.95rem;transition:all .15s}.feedback-card textarea{resize:vertical;padding-top:12px;line-height:1.5}.auth-card input:focus,.feedback-card input:focus,.feedback-card select:focus,.feedback-card textarea:focus,.form-section-content input:focus,.form-section-content select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b64721f}.auth-form-meta{justify-content:space-between;align-items:center;gap:20px;display:flex}.check-row{grid-template-columns:none;align-items:flex-start;color:#617178!important;gap:9px!important;font-size:.8rem!important;font-weight:500!important;display:flex!important}.check-row input{width:16px;min-height:16px;margin:1px 0 0}.auth-divider{color:#8b979b;align-items:center;gap:12px;margin:28px 0 18px;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e0e7e9;flex:1;height:1px}.auth-privacy,.auth-login-link{color:#7c8a8f;text-align:center;margin:22px 0 0;font-size:.78rem;line-height:1.55}.auth-login-link a{color:var(--brand);font-weight:800}.auth-step-list{z-index:2;gap:14px;margin:auto 0 10px;padding:0;list-style:none;display:grid;position:relative}.auth-step-list li{color:#d4e3e5;align-items:center;gap:14px;display:flex}.auth-step-list li>span{color:#a9d5dc;border:1px solid #5d8992;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:800;display:grid}.auth-step-list p{margin:0;font-size:.9rem}.project-loading{gap:16px;display:grid}.portal-skeleton{background:linear-gradient(90deg,#e9eff0 25%,#f6f9f9 50%,#e9eff0 75%) 0 0/200% 100%;border-radius:14px;height:78px;animation:1.4s infinite portal-shimmer}.portal-skeleton.large{height:240px}@keyframes portal-shimmer{to{background-position:-200% 0}}.portal-state-card,.portal-empty-state{text-align:center;background:#fff;border:1px solid #dae4e6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:430px;padding:42px;display:flex}.portal-empty-state h2,.portal-state-card h2{color:#20363c;max-width:570px;margin:12px 0 10px;font-size:1.7rem}.portal-empty-state p,.portal-state-card p{color:#68787e;max-width:520px;margin:0 0 24px;line-height:1.55}.portal-empty-state .text-button{margin-top:17px}.empty-plan{background-image:linear-gradient(#edf5f6 1px,#0000 1px),linear-gradient(90deg,#edf5f6 1px,#0000 1px);background-size:13px 13px;border:2px solid #78a5ae;border-radius:3px;width:104px;height:82px;margin-bottom:22px;position:relative}.empty-plan span{background:var(--brand);position:absolute}.empty-plan span:first-child{width:48px;height:4px;top:20px;left:10px}.empty-plan span:nth-child(2){width:4px;height:46px;top:20px;left:56px}.empty-plan span:nth-child(3){width:30px;height:4px;top:62px;left:56px}.state-icon{color:#ad3e33;background:#fff1ef;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.4rem;font-weight:900;display:grid}.latest-project-card{background:#fff;border:1px solid #d5e1e3;border-radius:18px;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);min-height:278px;display:grid;overflow:hidden;box-shadow:0 14px 40px #1d4c5712}.latest-project-plan{background-color:#eef5f6;background-image:linear-gradient(#2b647217 1px,#0000 1px),linear-gradient(90deg,#2b647217 1px,#0000 1px);background-size:22px 22px;min-height:270px;position:relative;overflow:hidden}.mini-wall{background:#334d54;height:8px;position:absolute}.mini-wall-a{width:70%;top:24%;left:14%}.mini-wall-b{width:47%;top:50%;left:60%;transform:rotate(90deg)}.mini-wall-c{width:54%;top:72%;left:22%}.mini-door{border-top:2px solid #c65345;border-bottom:2px solid #0000;border-left:0;border-right:2px solid #c65345;border-radius:0 100% 0 0;width:54px;height:54px;position:absolute;top:24%;left:39%}.latest-project-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:42px;display:flex}.latest-project-copy h2{color:#1c3339;margin:0;font-size:1.75rem}.project-meta-row{color:#718086;flex-wrap:wrap;gap:8px 22px;margin:14px 0 26px;font-size:.82rem;display:flex}.project-meta-row span:first-child{color:var(--brand);font-weight:750}.project-list-section,.resources-section{margin-top:38px}.section-heading-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.section-heading-row h2{color:#243940;margin:0;font-size:1.16rem}.section-heading-row>span{color:#7b898e;font-size:.78rem}.project-grid{gap:10px;display:grid}.project-card{width:100%;min-height:76px;color:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #dce5e7;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto 28px;align-items:center;gap:15px;padding:12px 16px;transition:all .15s;display:grid}.project-card:hover{border-color:#abc4c9;transform:translateY(-1px);box-shadow:0 8px 24px #1d4c570f}.project-card-icon{width:42px;height:42px;color:var(--brand);background:#eaf4f5;border-radius:9px;place-items:center;font-size:1.2rem;display:grid}.project-card-main{gap:5px;display:grid}.project-card-main strong{color:#283b41;font-size:.94rem}.project-card-main span,.project-card-date{color:#748388;font-size:.78rem}.project-card-arrow{color:var(--brand);font-size:1.15rem}.portal-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#10242a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.onboarding-card{background:#fff;border-radius:20px;width:min(850px,100%);padding:40px;position:relative;box-shadow:0 30px 100px #06191e52}.portal-modal-close{color:#35535b;cursor:pointer;background:#edf3f4;border:0;border-radius:50%;width:36px;height:36px;font-size:1.4rem;position:absolute;top:18px;right:18px}.onboarding-card h2{max-width:620px;font-size:2rem}.onboarding-intro{color:#64747a;max-width:650px;margin:10px 0 28px;line-height:1.55}.onboarding-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.onboarding-steps article{background:#f8fbfb;border:1px solid #dce6e8;border-radius:12px;min-height:178px;padding:20px 17px}.onboarding-steps article>span{color:#84aab2;letter-spacing:.1em;font-size:.73rem;font-weight:850}.onboarding-steps h3{color:#244149;margin:28px 0 8px;font-size:1rem}.onboarding-steps p{color:#65767c;margin:0;font-size:.82rem;line-height:1.5}.onboarding-actions{justify-content:flex-end;align-items:center;gap:22px;margin-top:26px;display:flex}.new-project-form{gap:14px;display:grid}.portal-form-card{background:#fff;border:1px solid #dbe5e7;border-radius:15px;grid-template-columns:42px 1fr;gap:22px;padding:28px;display:grid}.form-section-number{width:38px;height:38px;color:var(--brand);background:#e8f3f4;border-radius:50%;place-items:center;font-size:.8rem;font-weight:900;display:grid}.form-section-content h2{color:#233a40;margin:2px 0 5px;font-size:1.1rem}.form-section-content>p{color:#718087;margin:0 0 22px;font-size:.84rem;line-height:1.5}.form-section-content>label+label,.form-section-content>label+.portal-button,.profile-settings label+label{margin-top:18px}.form-section-content label small{color:#8b989c;font-weight:500}.project-type-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px;display:grid}.project-type-grid button{color:#596b71;cursor:pointer;background:#fff;border:1px solid #d4e0e2;border-radius:10px;place-items:center;gap:4px;min-height:78px;font-size:.8rem;font-weight:750;display:grid}.project-type-grid button>span{color:var(--brand);font-size:1.25rem}.project-type-grid button.active{border-color:var(--brand);color:var(--brand-dark);box-shadow:inset 0 0 0 1px var(--brand);background:#edf6f6}.form-footer-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.resource-feature-card{color:#fff;background:#183f49;border-radius:18px;grid-template-columns:minmax(260px,.75fr) 1.25fr;align-items:center;min-height:240px;display:grid;overflow:hidden}.resource-feature-card>div:last-child{padding:38px 50px}.resource-feature-card .portal-eyebrow{color:#89c4ce}.resource-feature-card h2{margin:0;font-size:1.8rem}.resource-feature-card p{color:#cbdcdf;max-width:560px;margin:10px 0 24px;line-height:1.55}.resource-file-stack{background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:24px 24px;height:100%;min-height:240px;position:relative}.resource-file-stack span{width:112px;height:142px;color:var(--brand);background:#f7fbfb;border:1px solid #7ea7af;border-radius:5px;place-items:end center;padding-bottom:18px;font-weight:900;display:grid;position:absolute;box-shadow:0 16px 30px #0000002e}.resource-file-stack span:first-child{top:20%;left:25%;transform:rotate(-9deg)}.resource-file-stack span:nth-child(2){top:17%;left:38%;transform:rotate(2deg)}.resource-file-stack span:nth-child(3){top:23%;left:50%;transform:rotate(10deg)}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.resource-card{background:#fff;border:1px solid #dbe5e7;border-radius:13px;padding:20px}.resource-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.resource-extension{color:var(--brand);letter-spacing:.08em;background:#e9f3f4;border-radius:5px;padding:5px 7px;font-size:.7rem;font-weight:900}.resource-status{color:#6f7e83;background:#f0f3f4;border-radius:999px;align-items:center;width:fit-content;padding:5px 8px;font-size:.68rem;font-weight:750;display:inline-flex}.resource-card h3{color:#233a40;margin:24px 0 7px;font-size:1rem}.resource-card p{color:#6e7e84;min-height:60px;margin:0 0 18px;font-size:.8rem;line-height:1.5}.resource-guide{background:#edf6f6;border:1px solid #cfe0e3;border-radius:12px;grid-template-columns:42px 1fr;gap:16px;margin-top:20px;padding:21px;display:grid}.resource-guide-icon{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.resource-guide h2{color:#27434a;margin:0 0 4px;font-size:.96rem}.resource-guide p{color:#5e747a;margin:0;font-size:.82rem;line-height:1.5}.help-video-card{background:#fff;border:1px solid #d9e4e6;border-radius:17px;grid-template-columns:minmax(320px,1fr) 1fr;align-items:center;gap:38px;padding:24px;display:grid}.video-placeholder{color:#fff;background:#183f49;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:255px;display:flex}.video-play{background:#ffffff17;border:1px solid #78a7b0;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:16px;padding-left:4px;display:grid}.video-placeholder>span:nth-child(2){font-weight:800}.video-placeholder small{color:#a7c7cd;margin-top:5px}.help-video-card h2{color:#223b42;margin:0;font-size:1.5rem}.help-video-card p{color:#66777d;max-width:500px;margin:10px 0 20px;line-height:1.55}.help-grid{grid-template-columns:1fr minmax(330px,.78fr);align-items:start;gap:18px;margin-top:22px;display:grid}.faq-panel,.feedback-card{background:#fff;border:1px solid #dbe5e7;border-radius:14px;padding:24px}.faq-panel details{border-top:1px solid #e3e9eb}.faq-panel summary{color:#30464c;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;font-size:.88rem;font-weight:750;list-style:none;display:flex}.faq-panel summary span{color:var(--brand);font-size:1.1rem}.faq-panel details p{color:#68797f;margin:-3px 26px 18px 0;font-size:.82rem;line-height:1.55}.feedback-card h2{color:#253d43;margin:0;font-size:1.2rem}.feedback-card>p{color:#6c7c81;margin:7px 0 20px;font-size:.82rem;line-height:1.5}.feedback-card{gap:15px;display:grid}.profile-card{background:#fff;border:1px solid #dbe5e7;border-radius:14px;grid-template-columns:58px 1fr auto;align-items:center;gap:17px;padding:22px;display:grid}.profile-avatar{width:54px;height:54px;color:var(--brand);background:#e5f1f2;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.profile-card h2{color:#293f45;margin:0 0 4px;font-size:1rem}.profile-card p{color:#718087;margin:0;font-size:.8rem}.profile-access{color:#247348;background:#e8f6ee;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850}.profile-settings{margin-top:14px}@media (width<=980px){.portal-layout{grid-template-columns:82px minmax(0,1fr)}.portal-sidebar{padding-inline:12px}.portal-sidebar .portal-brand>span:last-child{display:none}.portal-navigation a{justify-content:center;padding:0;font-size:0}.portal-navigation a>span{font-size:1.05rem}.portal-beta-note{justify-content:center;margin-inline:0;font-size:0}.latest-project-card{grid-template-columns:.8fr 1.2fr}.resource-grid,.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{grid-template-columns:.85fr 1.15fr}.auth-brand-panel{padding:34px}.help-grid{grid-template-columns:1fr}}@media (width<=720px){.portal-layout{display:block}.portal-sidebar{display:none}.portal-mobile-header{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #dbe5e7;justify-content:space-between;align-items:center;height:60px;padding:0 16px;display:flex;position:sticky;top:0}.portal-mobile-action{color:var(--brand);background:#e9f3f4;border-radius:8px;padding:8px 11px;font-size:.75rem;font-weight:850;text-decoration:none}.portal-mobile-navigation{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #d5e0e2;border-radius:15px;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));padding:7px;display:grid;position:fixed;bottom:8px;left:8px;right:8px;box-shadow:0 10px 36px #14363e33}.portal-mobile-navigation a{color:#708087;border-radius:8px;place-items:center;gap:3px;min-width:0;padding:5px 2px;font-size:.58rem;font-weight:750;text-decoration:none;display:grid}.portal-mobile-navigation a>span{font-size:.95rem}.portal-mobile-navigation a.active{color:var(--brand-dark);background:#e9f3f4}.portal-mobile-navigation .admin-feedback-badge{position:absolute;top:1px;right:2px}.portal-content,.portal-content-narrow{width:calc(100% - 28px);padding:28px 0 100px}.portal-page-header{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:24px}.portal-page-header h1{font-size:2rem}.portal-page-header p{font-size:.9rem}.latest-project-card,.resource-feature-card,.help-video-card{grid-template-columns:1fr}.latest-project-plan{min-height:190px}.latest-project-copy{padding:26px 22px}.project-card{grid-template-columns:42px minmax(0,1fr) 20px}.project-card-date{display:none}.project-type-grid{grid-template-columns:repeat(2,1fr)}.portal-form-card{grid-template-columns:1fr;padding:21px}.form-footer-actions{flex-direction:column-reverse}.form-footer-actions .portal-button{width:100%}.resource-feature-card>div:last-child{padding:26px 22px}.resource-file-stack{min-height:180px}.resource-file-stack span{width:86px;height:112px}.resource-grid{grid-template-columns:1fr}.resource-card p{min-height:0}.help-video-card{gap:24px;padding:16px}.video-placeholder{min-height:190px}.auth-layout{background:#f4f7f8;min-height:100dvh;display:block}.auth-brand-panel{display:none}.auth-form-panel{padding:22px 18px 40px;display:block}.auth-mobile-brand{margin-bottom:42px;display:block}.auth-card{background:#fff;border:1px solid #dbe4e6;border-radius:16px;margin:0 auto;padding:24px 20px;box-shadow:0 12px 38px #1b404914}.auth-card h2{font-size:1.8rem}.auth-form-meta{flex-direction:column;align-items:flex-start;gap:12px}.onboarding-card{max-height:calc(100dvh - 28px);padding:28px 20px;overflow:auto}.onboarding-card h2{font-size:1.6rem}.onboarding-steps{grid-template-columns:1fr}.onboarding-steps article{min-height:0}.onboarding-steps h3{margin-top:14px}.onboarding-actions{flex-direction:column-reverse;align-items:stretch}.profile-card{grid-template-columns:50px 1fr}.profile-access{grid-column:1/-1;width:fit-content}}.latest-project-plan.has-croquis{background:#1d2528}.latest-project-plan.has-croquis img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.latest-project-plan.cad-grid-preview{background-color:#273137;background-image:linear-gradient(#8fb2bb2e 1px,#0000 1px),linear-gradient(90deg,#8fb2bb2e 1px,#0000 1px),linear-gradient(#8fb2bb14 1px,#0000 1px),linear-gradient(90deg,#8fb2bb14 1px,#0000 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}.cad-grid-preview-labels{color:#9dcbd2;opacity:.9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;position:absolute;inset:0}.cad-grid-preview-labels:before,.cad-grid-preview-labels:after{content:"";background:#7fc0c9;position:absolute}.cad-grid-preview-labels:before{width:1px;top:12%;bottom:12%;left:22%}.cad-grid-preview-labels:after{height:1px;bottom:22%;left:10%;right:12%}.cad-axis-y{position:absolute;top:10%;left:calc(22% + 7px)}.cad-axis-x{position:absolute;bottom:calc(22% + 7px);right:10%}.cad-origin{color:#d4ecee;position:absolute;bottom:calc(22% + 7px);left:calc(22% + 7px)}.editor-recovery{background:#eef4f5;place-items:center;min-height:100dvh;padding:24px;display:grid}.editor-recovery>section{text-align:center;background:#fff;border:1px solid #d4e2e4;border-radius:18px;width:min(510px,100%);padding:38px;box-shadow:0 18px 48px #163d461f}.editor-recovery-mark{color:#aa4135;background:#fff1ef;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:1.4rem;font-weight:900;display:grid}.editor-recovery h1{color:#223b42;letter-spacing:-.03em;margin:0;font-size:1.8rem}.editor-recovery p{color:#697a80;margin:12px auto 25px;font-size:.96rem;line-height:1.55}.editor-recovery>section>div{justify-content:center;gap:10px;display:flex}@media (width<=520px){.editor-recovery>section{padding:30px 22px}.editor-recovery>section>div{flex-direction:column}.editor-recovery .portal-button{width:100%}}.profile-settings{display:block}.profile-settings .form-section-content{max-width:42rem}.profile-settings select{max-width:20rem}.portal-form-card.commercial-account-card{border-color:#d4e1e3;min-height:0;padding:clamp(22px,3vw,34px);display:block}.commercial-account-card .form-section-content{width:100%;min-width:0;max-width:680px}.commercial-account-card h2{margin:14px 0 9px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.25}.commercial-account-card .form-section-content>p{overflow-wrap:anywhere;max-width:60ch;margin:0 0 14px;font-size:.93rem;line-height:1.55}.commercial-account-card .form-section-content>label{max-width:440px;margin:20px 0}.commercial-account-card .commercial-plan-badge{white-space:normal;max-width:100%}.commercial-account-card .commercial-team-table>div{min-width:0}.commercial-account-card .commercial-team-table span{overflow-wrap:anywhere;min-width:0}@media (width<=720px){.portal-form-card.commercial-account-card{padding:22px}.commercial-account-card .commercial-team-table>div{grid-template-columns:minmax(0,1fr) auto}.commercial-account-card .commercial-team-table>div>:nth-child(3){grid-column:1}.commercial-account-card .commercial-team-table>div>button{grid-area:1/2/3}}.profile-logout{color:#9a443b;margin-top:18px}.auth-service-state{background:#eff5f6;place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-service-state section{background:#fff;border:1px solid #d7e3e5;border-radius:16px;width:min(460px,100%);padding:34px;box-shadow:0 16px 48px #1d4c571a}.auth-service-state span{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:850}.auth-service-state h1{color:#20383f;letter-spacing:-.03em;margin:11px 0 9px;font-size:1.65rem}.auth-service-state p{color:#64757b;margin:0 0 22px;line-height:1.55}.auth-service-state button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:42px;padding:0 15px;font-weight:800}.project-section-heading h2{letter-spacing:-.01em;font-size:1.22rem;font-weight:850}.project-filters{align-items:center;gap:10px;margin:0 0 18px;display:flex}.project-filters input{color:#284047;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #d3e0e2;border-radius:9px;flex:1;padding:0 12px}.project-filter-select{color:#294149;min-width:148px;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbdcdf;border-radius:9px;flex:none;padding:0 32px 0 12px;font-size:.8rem;font-weight:800;box-shadow:0 1px 2px #1f434c08}.project-filter-select:hover,.project-filter-select:focus{border-color:#8fb2b8;outline:0;box-shadow:0 0 0 3px #2b64721a}.project-folder-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));align-items:start;gap:16px;display:grid}.project-folder-card{background:#fff;border:1px solid #dce6e8;border-radius:15px;overflow:hidden;box-shadow:0 8px 22px #1d4c570b}.project-folder-card.open{grid-column:1/-1}.project-folder-toggle{width:100%;min-height:100px;color:inherit;cursor:pointer;text-align:left;background:#fff;border:0;grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;gap:13px;padding:14px;display:grid}.project-folder-toggle:hover{background:#f8fbfb}.project-folder-preview,.survey-card-preview{color:#a7d1d5;background-color:#273137;background-image:linear-gradient(#8fb2bb2e 1px,#0000 1px),linear-gradient(90deg,#8fb2bb2e 1px,#0000 1px),linear-gradient(#8fb2bb14 1px,#0000 1px),linear-gradient(90deg,#8fb2bb14 1px,#0000 1px);background-size:28px 28px,28px 28px,7px 7px,7px 7px;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.project-folder-preview{width:72px;height:72px}.project-folder-preview img,.survey-card-preview img{object-fit:cover;width:100%;height:100%}.project-folder-mark{font-size:1.35rem}.project-folder-copy{gap:4px;min-width:0;display:grid}.project-folder-copy small{color:#7a9095;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:850}.project-folder-copy strong{color:#263f46;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.project-folder-copy>span{color:#73858a;font-size:.78rem}.project-folder-chevron{width:26px;height:26px;color:var(--brand);background:#e9f3f4;border-radius:50%;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.survey-card-grid{background:#f8fbfb;border-top:1px solid #e4ecee;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:0 14px 14px;display:grid}.survey-card{min-height:174px;color:inherit;background:#fff;border:1px solid #dbe6e8;border-radius:11px;grid-template-columns:56px minmax(0,1fr);align-content:start;gap:11px;margin-top:14px;padding:13px;text-decoration:none;display:grid}.survey-card-preview{width:56px;height:56px}.survey-card-preview>span{font-size:1.1rem}.survey-card-copy{align-content:start;gap:4px;min-width:0;display:grid}.survey-card-copy strong{color:#294047;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.survey-card-copy span{color:var(--brand);font-size:.76rem;font-weight:750}.survey-card-copy small{color:#718287;font-size:.7rem;line-height:1.35}.survey-card-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;display:flex}.survey-card-actions .portal-button{min-height:36px;padding:0 12px;font-size:.77rem}.survey-delete-button{color:#9d453b;cursor:pointer;background:#fff7f6;border:1px solid #e1b8b2;border-radius:8px;min-height:36px;padding:0 11px;font-size:.76rem;font-weight:800}.survey-delete-button:hover:not(:disabled){background:#fff0ee}.survey-card-add{background:#fbfdfd;border-style:dashed;border-color:#a9c3c8;grid-template-columns:42px minmax(0,1fr);align-items:center}.survey-card-add:hover{border-color:var(--brand);background:#f4fafb}.survey-card-add-icon{width:42px;height:42px;color:var(--brand);background:#e8f3f4;border-radius:50%;place-items:center;font-size:1.35rem;display:grid}.survey-card-add span:last-child{gap:5px;display:grid}.survey-card-add strong{color:#294047;font-size:.86rem}.survey-card-add small{color:#718287;font-size:.73rem;line-height:1.35}.project-no-results{color:#6f8085;text-align:center;border:1px dashed #c6d6d9;border-radius:12px;margin:0;padding:28px}@media (width<=720px){.project-folder-grid{grid-template-columns:1fr}.project-folder-card.open{grid-column:auto}.survey-card-grid{grid-template-columns:1fr}.project-folder-toggle{min-height:90px}.project-filters{flex-direction:column;align-items:stretch}.project-filter-select{width:100%;min-width:0}}.beta-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.beta-metrics-grid article{background:#fff;border:1px solid #dbe6e8;border-radius:13px;gap:8px;min-height:118px;padding:19px;display:grid}.beta-metrics-grid span{color:#74848a;font-size:.8rem;font-weight:750}.beta-metrics-grid strong{color:#1e4048;font-size:2rem;line-height:1}.beta-admin-grid{grid-template-columns:minmax(280px,.78fr) 1.22fr;align-items:start;gap:16px;margin-top:16px;display:grid}.beta-invitation-list{min-height:300px}.beta-invitation-scroll{max-height:390px;padding-right:5px;overflow:auto}.beta-invitation-row{border-top:1px solid #e6edef;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.beta-invitation-row div{gap:4px;min-width:0;display:grid}.beta-invitation-row strong{color:#30464c;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.beta-invitation-row span{color:#77868b;font-size:.75rem}.beta-invitation-row code{color:#315963;background:#edf4f5;border-radius:4px;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.7rem}.beta-invitation-state{border-radius:999px;flex:none;padding:5px 8px;font-weight:850;color:#9b621d!important;background:#fff4e4!important}.beta-invitation-state.activated{color:#247348!important;background:#e8f6ee!important}.beta-feedback-list{gap:0;margin-top:16px;display:grid}.beta-feedback-list article{border-top:1px solid #e6edef;padding:15px 0}.beta-feedback-list header{justify-content:space-between;gap:16px;display:flex}.beta-feedback-list header strong{color:#30464c;font-size:.86rem}.beta-feedback-list header span,.beta-feedback-list small{color:#718187;font-size:.75rem}.beta-feedback-list article p{color:#5e7076;margin:7px 0;font-size:.86rem;line-height:1.5}.beta-panel-note{color:#728187;margin:5px 0 8px;font-size:.78rem;line-height:1.45}.beta-activity-filters{flex-wrap:wrap;align-items:end;gap:8px;margin:10px 0 12px;display:flex}.beta-activity-filters label{color:#718187;gap:4px;font-size:.7rem;font-weight:700;display:grid}.beta-activity-filters input[type=date]{color:#30464c;min-height:34px;font:inherit;background:#fff;border:1px solid #d6e1e3;border-radius:7px;padding:0 7px}.beta-activity-filters .beta-activity-check{align-items:center;gap:6px;min-height:34px;font-size:.72rem;display:flex}.beta-activity-check input{width:15px;height:15px;accent-color:var(--brand)}.beta-activity-filters .portal-button{min-height:34px;padding:6px 10px;font-size:.75rem}.beta-tester-row{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #e6edef;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.beta-tester-row:hover:not(:disabled) strong{color:var(--brand)}.beta-tester-row:disabled{cursor:wait}.beta-tester-row>span{gap:4px;min-width:0;display:grid}.beta-tester-row strong{color:#30464c;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.beta-tester-row small,.beta-tester-row em{color:#77868b;font-size:.75rem;font-style:normal}.beta-tester-row em{flex:none}.beta-tester-modal{width:min(920px,100%)}.beta-tester-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0;display:grid}.beta-tester-summary article{background:#f8fbfb;border:1px solid #dbe6e8;border-radius:11px;gap:5px;padding:15px;display:grid}.beta-tester-summary span{color:#718187;font-size:.72rem;font-weight:750}.beta-tester-summary strong{color:#23434b;font-size:1.45rem}.beta-tester-detail-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:12px;display:grid}.beta-tester-detail-grid h3,.beta-tester-feedback h3{color:#294149;margin:5px 0 10px;font-size:1rem}.beta-tester-detail-grid>div,.beta-tester-feedback{min-width:0}.beta-tester-detail-grid p,.beta-tester-feedback>p{color:#74848a;margin:0;font-size:.82rem}.beta-detail-list{border-top:1px solid #e4ecee}.beta-detail-list article{border-bottom:1px solid #e4ecee;gap:4px;padding:10px 0;display:grid}.beta-detail-list strong{color:#30464c;text-transform:none;font-size:.82rem}.beta-detail-list span{color:#74848a;font-size:.73rem}.beta-detail-list p{color:#5f7278;margin:2px 0;font-size:.8rem;line-height:1.45}.beta-tester-feedback{margin-top:24px}@media (width<=720px){.beta-metrics-grid{grid-template-columns:repeat(2,1fr)}.beta-admin-grid,.beta-tester-detail-grid{grid-template-columns:1fr}.beta-tester-summary{grid-template-columns:repeat(2,1fr)}.beta-tester-row{align-items:flex-start}.beta-tester-row em{text-align:right;max-width:110px}.beta-activity-filters{align-items:stretch}.beta-activity-filters label{flex:120px}.beta-activity-filters .portal-button{flex:90px}}.profile-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.resources-page{width:min(1320px,100% - 64px)}.resources-main-tabs{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #dbe5e7;border-radius:13px;gap:6px;margin:-10px 0 22px;padding:7px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #1d4c570f}.resources-main-tabs button{color:#607278;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:.87rem;font-weight:850;display:flex}.resources-main-tabs button>span{min-width:25px;height:25px;color:var(--brand);background:#edf4f5;border-radius:6px;place-items:center;font-size:.68rem;font-weight:900;display:grid}.resources-main-tabs button.active{color:#fff;background:#183f49}.resources-main-tabs button.active>span{color:#a8d3da;background:#ffffff1f}.resources-tab-panel{min-width:0}.calculator-tabs{scrollbar-width:thin;gap:7px;padding:2px 2px 10px;display:flex;overflow-x:auto}.calculator-tabs button{color:#5c7076;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d6e2e4;border-radius:999px;flex:1 0 auto;min-height:38px;padding:0 16px;font-size:.78rem;font-weight:820}.calculator-tabs button.active{color:#1d4c57;background:#e8f3f4;border-color:#2b6472;box-shadow:inset 0 0 0 1px #2b6472}.calculator-tab-description{display:none}.calculator-frame{background:#fff;border:1px solid #d8e3e5;border-radius:17px;margin-top:8px;overflow:hidden;box-shadow:0 14px 38px #19414b0e}.calculator-frame>header{border-bottom:1px solid #e2eaeb;justify-content:space-between;align-items:flex-end;gap:24px;padding:27px 30px 23px;display:flex}.calculator-frame>header h2{color:#1f383f;letter-spacing:-.025em;margin:0;font-size:1.42rem}.calculator-frame>header p{color:#687a80;max-width:710px;margin:7px 0 0;font-size:.85rem;line-height:1.5}.calculator-columns{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);min-height:410px;display:grid}.calculator-form-panel{border-right:1px solid #e2eaeb;align-content:start;gap:22px;padding:30px;display:grid}.calculator-result-panel{background:#f8fbfb;align-content:start;gap:16px;padding:30px;display:grid}.calculator-panel-label{color:#759097;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:900}.calculator-field-grid{gap:15px;display:grid}.calculator-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.calculator-field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.calculator-field{color:#344c52;align-content:start;gap:7px;font-size:.77rem;font-weight:800;display:grid}.calculator-field>span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.calculator-field small{color:#839398;font-size:.65rem;font-weight:650}.calculator-field em{color:#88979b;font-size:.65rem;font-style:normal;font-weight:600}.calculator-field input,.calculator-field select{color:#243b41;background:#fff;border:1px solid #cad8db;border-radius:8px;outline:0;width:100%;min-width:0;height:44px;padding:0 11px;font-size:.88rem}.calculator-field input:focus,.calculator-field select:focus,.guide-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b64721c}.calculator-quick-values,.calculator-choice-group>div,.guide-filters{flex-wrap:wrap;gap:7px;display:flex}.calculator-quick-values button,.calculator-choice-group button,.guide-filters button{color:#5d7076;cursor:pointer;background:#fff;border:1px solid #d3e0e2;border-radius:8px;min-height:34px;padding:0 12px;font-size:.72rem;font-weight:800}.calculator-quick-values button.active,.calculator-choice-group button.active,.guide-filters button.active{color:var(--brand-dark);background:#e9f3f4;border-color:#7ba7af}.calculator-choice-group{gap:8px;display:grid}.calculator-choice-group>span{color:#344c52;font-size:.77rem;font-weight:800}.calculator-note{color:#5e747a;background:#eff7f7;border:1px solid #cfdee1;border-radius:9px;grid-template-columns:auto 1fr;gap:10px;padding:13px 15px;font-size:.73rem;line-height:1.45;display:grid}.calculator-note strong{color:#285660}.calculator-result-box{background:#fff;border:1px solid #d8e4e6;border-radius:11px;gap:6px;padding:15px;display:grid}.calculator-result-box>span{color:#74868b;font-size:.7rem;font-weight:780}.calculator-result-box strong{color:#29434a;font-size:1.25rem}.calculator-result-box strong small{color:#648087;margin-left:5px;font-size:.72rem}.calculator-result-box.accent{background:#eaf4f5;border-color:#a7c7cc}.calculator-result-box.accent strong{color:#174d58;font-size:1.65rem}.calculator-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.calculator-formula{color:#fff;background:#183f49;border-radius:10px;gap:7px;padding:14px;display:grid}.calculator-formula span{color:#9bc6ce;text-transform:uppercase;font-size:.68rem;font-weight:850}.calculator-formula code{overflow-wrap:anywhere;font-size:.78rem;line-height:1.5}.calculator-explanation{color:#60747a;margin:0;font-size:.8rem;line-height:1.55}.calculator-empty-result{color:#7a8b90;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.calculator-empty-result>span{width:45px;height:45px;color:var(--brand);background:#e9f3f4;border-radius:50%;place-items:center;margin-bottom:13px;font-size:1.2rem;display:grid}.calculator-empty-result p{max-width:360px;margin:0;font-size:.82rem;line-height:1.5}.calculator-actions{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;border-top:1px solid #dce6e8;justify-content:flex-end;gap:9px;padding:13px 20px;display:flex;position:sticky;bottom:0}.calculator-segmented{background:#eef3f4;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.calculator-segmented button{color:#61747a;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:37px;padding:0 15px;font-size:.76rem;font-weight:850}.calculator-segmented button.active{color:var(--brand-dark);background:#fff;box-shadow:0 2px 7px #1e444d1a}.calculator-toggle-grid{flex-wrap:wrap;gap:10px 18px;display:flex}.calculator-toggle{color:#52676d;cursor:pointer;align-items:center;gap:9px;font-size:.75rem;font-weight:730;display:flex}.calculator-toggle input{opacity:0;position:absolute}.calculator-toggle>span{background:#cbd7d9;border-radius:999px;flex:0 0 36px;width:36px;height:21px;transition:all .15s;position:relative}.calculator-toggle>span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .15s;position:absolute;top:3px;left:3px}.calculator-toggle input:checked+span{background:var(--brand)}.calculator-toggle input:checked+span:after{transform:translate(15px)}.paper-fit-sketch,.slope-sketch,.module-sketch{background:#fff;border-radius:11px;width:100%;max-height:175px}.paper-fit-sketch .sheet{fill:#fff;stroke:#b5c7ca;stroke-width:1.5px}.paper-fit-sketch .margin{fill:none;stroke:#8ea8ae;stroke-dasharray:4 3}.paper-fit-sketch .drawing{fill:#d8eaec;stroke:#2b6472;stroke-width:2px}.paper-fit-sketch text{fill:#2b6472;text-anchor:middle;font-size:10px;font-weight:800}.paper-fit-table-wrap{scrollbar-width:thin;background:#fff;border:1px solid #dbe5e7;border-radius:10px;max-height:235px;overflow:auto}.paper-fit-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.7rem}.paper-fit-table th,.paper-fit-table td{text-align:left;border-bottom:1px solid #e8edef;padding:9px 10px}.paper-fit-table th{color:#61777d;text-transform:uppercase;background:#f1f6f7;font-size:.64rem;position:sticky;top:0}.paper-fit-table td:first-child{gap:2px;display:grid}.paper-fit-table td small{color:#8a989c;font-size:.59rem}.fit-status{border-radius:999px;padding:4px 7px;font-weight:850;display:inline-flex}.fit-status.fits{color:#227248;background:#e6f5ec}.fit-status.does-not-fit{color:#a44237;background:#fff0ee}.calculator-warning{color:#963f35;background:#fff1ef;border-radius:8px;margin:0;padding:11px;font-size:.74rem}.slope-sketch line{stroke:#769da5;stroke-width:2px}.slope-sketch line:first-child{stroke:#2b6472;stroke-width:5px}.slope-sketch text{fill:#4e6c73;font-size:11px;font-weight:750}.module-sketch .module-base{fill:#eff5f6;stroke:#adbec2}.module-sketch .module-piece{fill:#7faab2;stroke:#fff}.module-sketch line{stroke:#6c8388}.module-sketch text{fill:#657b81;text-anchor:middle;font-size:9px}.module-solutions{gap:8px;display:grid}.module-solutions article{background:#fff;border:1px solid #d9e4e6;border-radius:10px;padding:13px}.module-solutions article>span{color:var(--brand);text-transform:uppercase;font-size:.65rem;font-weight:900;display:block}.module-solutions article>strong{color:#294149;margin:4px 0 8px;font-size:.95rem;display:block}.module-solutions dl{grid-template-columns:repeat(2,1fr);gap:5px;margin:0;display:grid}.module-solutions dl>div{justify-content:space-between;gap:6px;display:flex}.module-solutions dt,.module-solutions dd{color:#72848a;margin:0;font-size:.65rem}.module-solutions dd{color:#354e55;font-weight:800}.module-solutions p{color:#a0463c;margin:8px 0 0;font-size:.67rem}.cte-calculator>header{align-items:center}.cte-kind{flex:0 0 240px}.cte-layout{grid-template-columns:minmax(520px,1.05fr) minmax(400px,.95fr);min-height:590px;max-height:calc(100dvh - 250px);display:grid}.cte-form,.cte-results{scrollbar-width:thin;overflow-y:auto}.cte-form{background:#f8fbfb;border-right:1px solid #dfe8ea;padding:22px}.cte-results{background:#fff;align-content:start;gap:14px;padding:24px;display:grid}.cte-step{background:#fff;border:1px solid #d9e4e6;border-radius:11px;margin-bottom:10px}.cte-step summary{cursor:pointer;align-items:center;gap:12px;padding:15px;list-style:none;display:flex}.cte-step summary::-webkit-details-marker{display:none}.cte-step summary>span{width:29px;height:29px;color:var(--brand);background:#e6f1f2;border-radius:50%;flex:0 0 29px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.cte-step summary>div{gap:2px;display:grid}.cte-step summary strong{color:#2b444b;font-size:.82rem}.cte-step summary small{color:#7b8b90;font-size:.67rem}.cte-step-body{border-top:1px solid #e6edef;gap:18px;padding:5px 15px 17px;display:grid}.cte-step-body>.calculator-field-grid{padding-top:15px}.cte-overall-status{border:1px solid;border-radius:11px;align-items:center;gap:11px;padding:14px;display:flex}.cte-overall-status>span{border-radius:50%;flex:0 0 31px;place-items:center;width:31px;height:31px;font-weight:900;display:grid}.cte-overall-status>div{gap:3px;display:grid}.cte-overall-status small{opacity:.8;font-size:.65rem}.cte-overall-status.pass{color:#236d47;background:#eef9f2;border-color:#b8dfc9}.cte-overall-status.fail{color:#9a3f35;background:#fff3f1;border-color:#ecc2bd}.cte-overall-status.incomplete{color:#896724;background:#fff9e9;border-color:#ead7aa}.stair-configurations{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.stair-configurations article{background:#f8fbfb;border:1px solid #dbe6e8;border-radius:9px;gap:4px;padding:11px;display:grid}.stair-configurations span{color:var(--brand);text-transform:uppercase;font-size:.58rem;font-weight:900}.stair-configurations strong{color:#294149;font-size:.82rem}.stair-configurations small{color:#71848a;font-size:.62rem;line-height:1.35}.cte-check-list{gap:8px;display:grid}.cte-check{background:#fff;border:1px solid #e0e7e9;border-radius:9px;grid-template-columns:10px 1fr;gap:10px;padding:12px;display:grid}.cte-check-dot{background:#d09c35;border-radius:50%;width:8px;height:8px;margin-top:5px}.cte-check.pass .cte-check-dot{background:#2b9160}.cte-check.fail .cte-check-dot{background:#bd4c3f}.cte-check-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cte-check-heading strong{color:#314a51;font-size:.71rem;line-height:1.4}.cte-check-heading>span{color:#88631c;text-transform:uppercase;background:#fff5dc;border-radius:999px;flex:none;padding:3px 6px;font-size:.57rem;font-weight:900}.cte-check.pass .cte-check-heading>span{color:#227148;background:#e9f7ef}.cte-check.fail .cte-check-heading>span{color:#9b4137;background:#fff0ee}.cte-check dl{grid-template-columns:1fr 1fr;gap:6px;margin:9px 0;display:grid}.cte-check dl>div{gap:2px;display:grid}.cte-check dt{color:#8a989c;text-transform:uppercase;font-size:.57rem}.cte-check dd{color:#50676d;margin:0;font-size:.65rem;font-weight:750}.cte-check footer{color:#809095;border-top:1px solid #edf1f2;flex-wrap:wrap;align-items:center;gap:5px 10px;padding-top:8px;font-size:.58rem;display:flex}.cte-check footer a{color:var(--brand);margin-left:auto;font-weight:800;text-decoration:none}.cte-check footer em{width:100%;font-style:normal}.cte-disclaimer{color:#66787e;background:#f1f4f5;border-radius:9px;padding:13px;font-size:.65rem;line-height:1.5}.guides-area>header{justify-content:space-between;align-items:end;gap:25px;padding:25px 0;display:flex}.guides-area h2{color:#20383f;margin:0;font-size:1.4rem}.guides-area header p{color:#6c7d82;max-width:600px;margin:7px 0 0;font-size:.83rem}.guide-search{align-items:center;min-width:260px;display:flex;position:relative}.guide-search span{color:#829398;position:absolute;left:12px}.guide-search input{background:#fff;border:1px solid #d1dee0;border-radius:9px;outline:0;width:100%;height:42px;padding:0 12px 0 36px}.guide-filters{margin-bottom:16px}.guide-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.guide-card{background:#fff;border:1px solid #dbe5e7;border-radius:12px;flex-direction:column;min-height:190px;padding:19px;display:flex}.guide-card>span{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:900}.guide-card h3{color:#294149;margin:22px 0 7px;font-size:.98rem}.guide-card p{color:#708187;margin:0 0 17px;font-size:.76rem;line-height:1.5}.guide-card a{color:var(--brand);justify-content:space-between;align-items:center;margin-top:auto;font-size:.76rem;font-weight:850;text-decoration:none;display:flex}.guides-empty{color:#75878c;text-align:center;border:1px dashed #cbdadc;border-radius:12px;padding:50px}@media (width<=1100px){.calculator-columns{grid-template-columns:1fr}.calculator-form-panel{border-bottom:1px solid #e2eaeb;border-right:0}.cte-layout{grid-template-columns:1fr;max-height:none}.cte-form,.cte-results{overflow:visible}.cte-form{border-bottom:1px solid #dfe8ea;border-right:0}.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stair-configurations{grid-template-columns:1fr}}@media (width<=720px){.resources-page{width:calc(100% - 24px)}.resources-main-tabs{margin-top:0;padding:5px;top:60px}.resources-main-tabs button{min-width:0;padding:0 7px;font-size:.7rem}.resources-main-tabs button>span{display:none}.calculator-tabs{margin-inline:-2px}.calculator-tabs button{flex:none}.calculator-tab-description{gap:3px;margin:1px 0 10px;display:grid}.calculator-tab-description strong{color:#294149;font-size:.84rem}.calculator-tab-description span{color:#718187;font-size:.7rem}.calculator-frame{margin-inline:-2px}.calculator-frame>header{flex-direction:column;align-items:stretch;padding:20px}.calculator-frame>header h2{font-size:1.2rem}.calculator-columns{min-height:0}.calculator-form-panel,.calculator-result-panel{padding:20px}.calculator-field-grid.two,.calculator-field-grid.three{grid-template-columns:1fr}.calculator-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:9px;display:grid;bottom:78px}.calculator-actions .portal-button{min-height:42px;padding-inline:10px;font-size:.75rem}.calculator-results-grid{grid-template-columns:1fr 1fr}.calculator-note{grid-template-columns:1fr}.paper-fit-table{font-size:.65rem}.cte-kind{flex-basis:auto}.cte-form,.cte-results{padding:13px}.cte-step-body .calculator-field-grid.three{grid-template-columns:1fr 1fr}.cte-check-heading{display:grid}.cte-check footer a{margin-left:0}.guides-area>header{flex-direction:column;align-items:stretch}.guide-search{min-width:0}.guide-card-grid{grid-template-columns:1fr}.guide-card{min-height:160px}}@media (width<=440px){.resources-main-tabs button{font-size:.64rem}.cte-step-body .calculator-field-grid.three,.calculator-results-grid{grid-template-columns:1fr}.calculator-segmented button{padding-inline:8px}.calculator-result-box.accent strong{font-size:1.35rem}}.trash-list{gap:12px;display:grid}.trash-card{background:#fff;border:1px solid #dbe5e7;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.trash-card .portal-eyebrow{color:#9a6653;margin-bottom:6px}.trash-card h2{color:#294149;margin:0;font-size:1rem}.trash-card p{color:#718187;margin:7px 0 0;font-size:.82rem;line-height:1.45}.trash-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.trash-card{flex-direction:column;align-items:flex-start}.trash-card-actions{justify-content:stretch;width:100%}.trash-card-actions .portal-button,.trash-card-actions .survey-delete-button{flex:145px}}.project-folder-toolbar{align-items:center;gap:10px;padding:10px 12px 10px 0;display:flex}.project-folder-toolbar .project-folder-toggle{flex:1;min-width:0}.project-folder-edit{flex:none;min-height:36px!important;padding:0 12px!important;font-size:.76rem!important}.project-editor-modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:calc(100dvh - 48px);padding:32px;position:relative;overflow:auto;box-shadow:0 30px 100px #06191e52}.project-editor-form{gap:14px;display:grid}.project-editor-heading{padding-right:42px}.project-editor-heading .portal-eyebrow{margin-bottom:7px}.project-editor-heading h2{color:#20383f;letter-spacing:-.03em;margin:0;font-size:1.75rem}.project-editor-heading p{color:#6b7c82;margin:8px 0;font-size:.88rem;line-height:1.5}.project-editor-modal .portal-form-card{padding:21px}.project-editor-modal .project-type-grid{margin-bottom:0}.project-editor-modal .form-footer-actions{margin-top:2px}@media (width<=720px){.project-folder-toolbar{gap:4px;padding:8px}.project-folder-toggle{grid-template-columns:52px minmax(0,1fr) 24px;padding:10px 5px}.project-folder-preview{width:52px;height:52px}.project-folder-edit{min-height:34px!important;padding:0 9px!important}.project-editor-modal{max-height:calc(100dvh - 28px);padding:24px 18px}.project-editor-heading h2{font-size:1.45rem}.project-editor-modal .portal-form-card{padding:18px}}.feedback-attachments small{color:#7b898e;font-weight:500}.feedback-attachments input[type=file]{background:0 0;border:0;min-height:0;padding:9px 0;font-size:.78rem}.feedback-attachment-preview,.feedback-image-list{flex-wrap:wrap;gap:8px;display:flex}.feedback-attachment-preview>span{width:72px;height:56px;position:relative}.feedback-attachment-preview img,.feedback-image-list img{object-fit:cover;border:1px solid #d8e4e6;border-radius:7px;width:100%;height:100%;display:block}.feedback-attachment-preview button{color:#fff;cursor:pointer;background:#8e3d34;border:0;border-radius:50%;width:20px;height:20px;line-height:1;position:absolute;top:-6px;right:-6px}.feedback-image-list a{width:86px;height:64px;display:block}.beta-feedback-list header strong{gap:3px;display:grid}.beta-feedback-list header strong small{color:#718187;font-size:.72rem;font-weight:600}.admin-feedback-badge{color:#fff;background:#bd4c3f;border-radius:999px;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:.65rem;font-weight:900;display:inline-grid}.portal-navigation a:has(.admin-feedback-badge){gap:8px}.feedback-image-button{cursor:zoom-in;background:0 0;border:0;width:86px;height:64px;padding:0;display:block}.feedback-image-button:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #7db5c0}.feedback-image-modal{background:#fff;border:1px solid #d6e0e2;border-radius:16px;width:min(1100px,100vw - 36px);max-height:calc(100dvh - 36px);padding:18px;position:relative;box-shadow:0 26px 90px #0b191e52}.feedback-image-modal img{object-fit:contain;border-radius:8px;width:auto;max-width:100%;max-height:calc(100dvh - 72px);margin:auto;display:block}.auth-layout{background:#fff;grid-template-rows:72px minmax(0,1fr);grid-template-columns:minmax(0,58fr) minmax(0,42fr);min-height:100dvh;display:grid}.portal-brand{color:#172c32}.auth-page-header{background:#fffdf9;border-bottom:1px solid #ecebe7;grid-column:1/-1;align-items:center;padding:0 clamp(30px,3.5vw,52px);display:flex}.auth-page-header .portal-brand{color:#151b1d;letter-spacing:.055em;font-size:1.18rem}.auth-page-header .portal-brand-mark{flex-basis:38px;width:38px;height:38px}.auth-brand-panel{background:#183f49;grid-area:2/1;min-height:0;padding:0 clamp(40px,4.7vw,68px)}.auth-form-panel{background:#fff;grid-area:2/2;padding:145px clamp(40px,5vw,74px) 56px;display:block}.auth-form-panel .auth-card{width:min(504px,100%);margin:0}.auth-layout-login .auth-brand-copy{max-width:620px;margin:106px 0 0}.auth-layout-login .auth-brand-copy h1{max-width:590px;font-size:clamp(3rem,4.6vw,4.75rem);line-height:1.01}.auth-layout-login .auth-brand-copy p{max-width:530px;margin-top:24px;font-size:1.02rem}.auth-layout-login .auth-brand-foot{color:#87c2cc;margin-top:43px}.auth-layout-login .auth-blueprint{opacity:.34;height:52%;inset:46% -10% auto 20%}.auth-card h2{font-size:clamp(2.1rem,3.1vw,3rem);line-height:1.05}.auth-card form{gap:24px;margin-top:44px}.auth-card form>label{color:#1f343a;gap:9px;font-size:.92rem}.auth-card input{border-radius:6px;min-height:56px;font-size:1rem}.auth-card .portal-button.primary{min-height:58px;box-shadow:none;background:#2b6472;border-radius:5px;margin-top:8px;font-size:1rem}.auth-password-reset-link{color:#2b6472;text-underline-offset:3px;width:fit-content;margin:27px auto 0;font-size:.92rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;display:block}.auth-divider{background:#d9e1e3;height:1px;margin:42px 0 26px}.auth-invitation-link{text-align:center;color:#2b6472;text-underline-offset:3px;width:fit-content;margin:0 auto;font-size:.98rem;font-weight:850;line-height:1.35;text-decoration:underline;text-decoration-thickness:1px;display:block}.auth-two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-two-fields label{color:#34474d;gap:8px;font-size:.86rem;font-weight:750;display:grid}.auth-card select{color:#1f3339;background:#fff;border:1px solid #ccd8da;border-radius:9px;outline:0;width:100%;min-height:48px;padding:0 11px;font-size:.95rem}.auth-card select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b64721f}.auth-layout-registration .auth-brand-copy{max-width:590px;margin:64px 0 0}.auth-layout-registration .auth-brand-copy h1{font-size:clamp(2.9rem,4.2vw,4.2rem);line-height:1.02}.auth-layout-registration .auth-step-list{margin:30px 0 0}.auth-layout-registration .auth-form-panel{padding-top:96px}.auth-layout-registration .auth-card form{gap:12px;margin-top:22px}.auth-layout-registration .auth-card form>label,.auth-layout-registration .auth-two-fields label{gap:5px;font-size:.78rem}.auth-layout-registration .auth-card input,.auth-layout-registration .auth-card select{min-height:40px;font-size:.86rem}.auth-layout-registration .auth-card .portal-button.primary{min-height:46px;margin-top:0;font-size:.9rem}.auth-layout-registration .auth-intro{margin:8px 0 16px;font-size:.86rem}.auth-layout-registration .check-row{font-size:.72rem!important}.auth-layout-registration .check-row input{min-height:15px}.auth-layout-registration .auth-login-link{margin-top:16px}.auth-layout-recovery .auth-brand-copy{max-width:510px;margin:106px 0 0}.auth-layout-recovery .auth-brand-copy h1{color:#fff;font-size:clamp(2.9rem,4.2vw,4.1rem);line-height:1.02}.auth-layout-recovery .auth-form-panel{padding-top:158px}.auth-layout-recovery .auth-card form{margin-top:30px}.auth-recovery-card .portal-button.primary{margin-top:4px}@media (width<=980px){.auth-layout{grid-template-columns:minmax(0,52fr) minmax(0,48fr)}.auth-brand-panel{padding-inline:34px}.auth-form-panel{padding-inline:38px}.auth-layout-login .auth-brand-copy h1{font-size:3.3rem}}.help-video-card .help-video-player{border:0;border-radius:12px;width:100%;min-height:255px}.help-video-grid .help-video-player{border:0;border-radius:8px;width:100%;height:190px}.security-controls-card,.security-log-card{margin-top:20px}.security-controls-heading,.tester-security-actions{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.security-controls-heading h2,.security-log-card h2{margin:6px 0}.security-controls-heading p{max-width:620px;margin:0}.security-control-list{gap:10px;margin-top:18px;display:grid}.security-control{border-top:1px solid var(--portal-border,#dbe6e9);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.security-control strong{color:#173e48;display:block}.security-control small{color:#62808a;margin-top:4px;line-height:1.45;display:block}.security-control input{accent-color:#2f7280;cursor:pointer;flex:none;width:46px;height:26px}.security-control.danger strong{color:#a43a28}.security-mode{letter-spacing:.03em;border-radius:999px;align-items:center;width:max-content;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.security-mode.safe{color:#257150;background:#e6f4ed}.security-mode.alert{color:#b24432;background:#fff0ec}.tester-security-actions{border:1px solid var(--portal-border,#dbe6e9);background:#f8fbfc;border-radius:12px;margin:20px 0;padding:16px}.tester-security-actions>div:first-child{gap:6px;display:grid}.tester-security-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.portal-button.danger{color:#fff;background:#b44634;border-color:#b44634}.portal-button.danger:hover{background:#963626;border-color:#963626}.action-confirm-modal{max-width:490px}.action-confirm-modal h2{margin:8px 0 10px}.action-confirm-modal p{line-height:1.55}.action-confirm-modal label{gap:7px;margin:18px 0;display:grid}.action-confirm-modal input{min-height:42px;font:inherit;border:1px solid #bfcfd4;border-radius:8px;padding:0 12px}.beta-extension-days{color:#596e73;gap:3px;font-size:.72rem;display:grid}.beta-extension-days select,.action-confirm-modal select{color:#294149;min-height:38px;font:inherit;background:#fff;border:1px solid #bfcfd4;border-radius:8px;padding:0 9px}@media (width<=700px){.security-controls-heading,.tester-security-actions{display:grid}.security-control{align-items:flex-start}.security-control input{margin-top:6px}.tester-security-buttons{justify-content:flex-start}.tester-security-buttons .portal-button{flex:135px}.security-mode{font-size:.72rem}}.account-delete-card{border-color:#f0c5bc}.account-delete-confirmation{gap:14px;margin-top:16px;display:grid}.account-delete-confirmation label{gap:7px;display:grid}.account-delete-confirmation input[type=password],.account-delete-confirmation input:not([type]){min-height:42px;font:inherit;border:1px solid #bfcfd4;border-radius:8px;padding:0 12px}.account-delete-confirmation .delete-check{color:#5a727a;grid-template-columns:auto 1fr;align-items:start;gap:10px;line-height:1.45}.account-delete-confirmation .delete-check input{accent-color:#b44634;margin-top:3px}.portal-page-header-actions{align-items:center;gap:12px;display:flex}.portal-help-link{color:var(--brand);align-items:center;gap:7px;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.portal-help-link span{border:1px solid #9ebbc1;border-radius:50%;place-items:center;width:23px;height:23px;font-size:.75rem;display:grid}.portal-help-link:hover{color:var(--brand-dark)}.onboarding-video{background:#f7fbfb;border:1px solid #d9e5e7;border-radius:14px;grid-template-columns:minmax(250px,.95fr) 1.05fr;gap:20px;margin:24px 0 4px;padding:14px;display:grid}.onboarding-video-placeholder,.onboarding-video-player{border-radius:10px;width:100%;min-height:170px}.onboarding-video-placeholder{color:#fff;text-align:center;background:#183f49;flex-direction:column;justify-content:center;align-items:center;display:flex}.onboarding-video-placeholder .video-play{margin:0 0 12px}.onboarding-video-placeholder strong{font-size:.9rem}.onboarding-video-placeholder small{color:#afd0d5;margin-top:5px;font-size:.72rem}.onboarding-video-player,.help-video-player{object-fit:cover;background:#183f49;display:block}.onboarding-video-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:10px 12px;display:flex}.onboarding-video-copy p{color:#64767c;margin:9px 0 16px;font-size:.84rem;line-height:1.5}.help-video-library{background:#fff;border:1px solid #dbe5e7;border-radius:14px;margin-top:22px;padding:24px}.help-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.help-video-grid article{background:#f8fbfb;border:1px solid #e0e9eb;border-radius:11px;min-height:165px;padding:18px;scroll-margin-top:24px}.help-video-grid article:target{border-color:#78aeb7;box-shadow:0 0 0 3px #e7f2f3}.help-video-number{color:var(--brand);letter-spacing:.1em;font-size:.72rem;font-weight:900}.help-video-grid h3{color:#2b454c;margin:20px 0 6px;font-size:.95rem}.help-video-grid p{color:#68797f;min-height:48px;margin:0 0 14px;font-size:.8rem;line-height:1.45}.help-video-grid .resource-status{color:#356a73;background:#edf5f5;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:.72rem;font-weight:800;display:inline-flex}@media (width<=720px){.auth-layout{background:#fff;grid-template-rows:64px minmax(0,1fr);grid-template-columns:1fr;display:grid}.auth-page-header{background:#fff;grid-area:1/1;padding:0 20px}.auth-page-header .portal-brand-mark{flex-basis:33px;width:33px;height:33px}.auth-brand-panel{display:none}.auth-form-panel{background:#fff;grid-area:2/1;padding:40px 20px 48px;display:block}.auth-mobile-brand{display:none}.auth-form-panel .auth-card{width:min(440px,100%);box-shadow:none;border:0;border-radius:0;margin:0 auto;padding:0}.auth-card h2{font-size:2.1rem}.auth-card form{margin-top:34px}.auth-two-fields{grid-template-columns:1fr}.auth-layout-registration .auth-form-panel,.auth-layout-recovery .auth-form-panel{padding-top:40px}.auth-layout-registration .auth-card form{gap:14px}.portal-page-header-actions{flex-direction:column;align-items:flex-start;gap:10px}.onboarding-video,.help-video-grid{grid-template-columns:1fr}}.portal-icon{flex:none;width:24px;height:24px;display:block}.portal-navigation a>.portal-nav-label{text-align:left;width:auto;font-size:inherit;color:inherit}.portal-navigation a{position:relative}@media (width>=721px) and (width<=980px){.portal-layout{grid-template-columns:210px minmax(0,1fr)}.portal-navigation a{justify-content:flex-start;padding:0 10px;font-size:.875rem}.portal-sidebar .portal-brand>span:last-child{display:inline}}@media (width<=720px){.portal-mobile-navigation{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px}.portal-mobile-navigation a{justify-content:center;align-items:center;min-width:0;min-height:50px;padding:6px;display:flex;position:relative}.portal-mobile-navigation .portal-nav-label{display:none}.portal-mobile-navigation .portal-icon,.portal-mobile-action .portal-icon{width:30px;height:30px}.portal-mobile-navigation .admin-feedback-badge{min-width:16px;font-size:11px;position:absolute;top:0;right:1px}.portal-mobile-action{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}}.announcements-panel{z-index:80;pointer-events:none;gap:10px;width:min(390px,100vw - 36px);display:grid;position:fixed;top:18px;right:18px}.announcements-heading{color:#fff;pointer-events:auto;background:#183f49;border:1px solid #cfe0e3;border-radius:12px;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 16px;display:flex;box-shadow:0 14px 34px #10313933}.announcements-heading .portal-eyebrow{color:#9bd1d8;margin:0;font-size:.66rem}.announcements-heading strong{font-size:.82rem}.announcements-list{gap:10px;max-height:calc(100dvh - 94px);display:grid;overflow:auto}.announcement-card{pointer-events:auto;background:#fff;border:1px solid #cfe0e3;border-left:4px solid #2b6472;border-radius:12px;padding:17px 42px 15px 17px;position:relative;box-shadow:0 14px 34px #10313929}.announcement-card.success{border-left-color:#2f9360}.announcement-card.warning{border-left-color:#b44634}.announcement-date{color:#7a8b90;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:.68rem;font-weight:750;display:block}.announcement-card h2{color:#203b42;margin:0;font-size:1rem}.announcement-card p{color:#5f7278;white-space:pre-line;margin:7px 0 12px;font-size:.82rem;line-height:1.5}.announcement-close{color:#789096;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:1.35rem;line-height:1;position:absolute;top:8px;right:10px}.announcement-close:hover{color:#203b42}.announcement-understood{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:.76rem;font-weight:850}.compact-button{min-height:34px!important;padding:0 10px!important;font-size:.72rem!important}@media (width<=720px){.announcements-panel{width:calc(100vw - 20px);top:70px;right:10px}.announcements-list{max-height:calc(100dvh - 150px)}.announcements-heading{padding:11px 13px}}.announcement-modal-backdrop{z-index:110}.announcement-modal{background:#fff;border:1px solid #d5e2e4;border-radius:20px;width:min(680px,100%);max-height:calc(100dvh - 48px);padding:38px 42px 34px;position:relative;overflow:auto;box-shadow:0 30px 100px #06191e59}.announcement-modal h2{color:#172c32;letter-spacing:-.035em;max-width:520px;margin:0;font-size:clamp(1.55rem,3vw,2rem)}.announcement-modal-intro{color:#66777d;margin:9px 0 24px;line-height:1.5}.announcement-modal-list{gap:9px;display:grid}.announcement-modal-item{background:#f8fbfb;border:1px solid #dce6e8;border-left:4px solid #2b6472;border-radius:11px;overflow:hidden}.announcement-modal-item.success{border-left-color:#2f9360}.announcement-modal-item.warning{border-left-color:#b44634}.announcement-modal-item.expanded{background:#fff}.announcement-title-toggle{color:#213b42;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:17px 18px;font-weight:850;display:flex}.announcement-title-copy{gap:5px;display:grid}.announcement-level{color:#51727a;letter-spacing:.05em;text-transform:uppercase;background:#eaf2f4;border-radius:999px;width:fit-content;padding:3px 6px;font-size:.62rem;font-style:normal;font-weight:850}.announcement-level.success{color:#247348;background:#e8f6ee}.announcement-level.warning{color:#a33d32;background:#fff0ec}.announcement-title-toggle:hover{background:#f0f7f7}.announcement-title-toggle small{color:#67868d;font-size:1.3rem;font-weight:500}.announcement-detail{padding:0 18px 18px}.announcement-detail .announcement-date{color:#789096;text-transform:uppercase;letter-spacing:.06em;margin:0 0 9px;font-size:.7rem;font-weight:750;display:block}.announcement-detail p{color:#536a71;white-space:pre-line;margin:0;line-height:1.6}.announcement-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.announcement-image-button{cursor:zoom-in;background:#edf4f5;border:1px solid #d7e4e6;border-radius:9px;min-width:0;padding:0;position:relative;overflow:hidden}.announcement-image-button img{object-fit:cover;width:100%;height:160px;display:block}.announcement-image-button span{color:#fff;background:#172c32d6;border-radius:5px;padding:4px 7px;font-size:.65rem;font-weight:750;position:absolute;bottom:7px;right:7px}.announcement-links{gap:7px;margin-top:16px;display:grid}.announcement-links a{color:var(--brand);align-items:center;gap:7px;font-size:.84rem;font-weight:800;text-decoration:none;display:flex}.announcement-links a:hover{text-decoration:underline}.announcement-empty{color:#68797f;margin:0;line-height:1.5}.announcement-lightbox{z-index:140;background:#07161be0;place-items:center;padding:34px;display:grid;position:fixed;inset:0}.announcement-lightbox img{object-fit:contain;border-radius:8px;max-width:94vw;max-height:88vh;box-shadow:0 20px 70px #0006}.announcement-lightbox .portal-modal-close{color:#244149;background:#fff;top:16px;right:16px}.announcement-admin-images{flex-wrap:wrap;gap:10px;display:flex}.announcement-admin-images>div{gap:5px;width:92px;display:grid}.announcement-admin-images img{object-fit:cover;border:1px solid #d7e4e6;border-radius:7px;width:92px;height:70px}.announcement-admin-images .text-button,.announcement-admin-links .text-button{text-align:left;font-size:.72rem}.announcement-admin-link-fields{grid-template-columns:1fr 1.4fr auto;align-items:end;gap:9px;display:grid}.announcement-admin-links{gap:6px;display:grid}.announcement-admin-links>div{color:#38565e;background:#f0f6f7;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:.78rem;font-weight:700;display:flex}.announcements-admin-grid{align-items:start}.announcement-history-card{grid-template-rows:auto auto auto minmax(0,1fr);height:560px;min-height:0;overflow:hidden}.announcement-history-filters{gap:9px;display:flex}.announcement-history-filters label{flex:1;gap:4px!important;font-size:.72rem!important}.announcement-history-filters input{min-height:38px!important;padding:0 8px!important;font-size:.78rem!important}.announcement-history-scroll{scrollbar-width:thin;scrollbar-color:#9db9bf #edf3f4;min-height:0;padding-right:5px;overflow-y:auto}.announcement-history-scroll::-webkit-scrollbar{width:7px}.announcement-history-scroll::-webkit-scrollbar-thumb{background:#9db9bf;border-radius:99px}.announcement-history-scroll::-webkit-scrollbar-track{background:#edf3f4;border-radius:99px}.announcement-history-scroll .beta-detail-list article{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.announcement-history-scroll>p{color:#718187;margin:0;font-size:.82rem}@media (width<=720px){.announcement-modal{max-height:calc(100dvh - 28px);padding:30px 20px 24px}.announcement-images{grid-template-columns:1fr}.announcement-image-button img{height:180px}.announcement-admin-link-fields{grid-template-columns:1fr}.announcement-admin-link-fields .portal-button{width:100%}.announcement-history-card{height:460px;max-height:460px}}.calculator-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:9px;display:grid}.calculator-picker button{min-height:150px;color:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid #d9e4e6;border-radius:12px;align-content:start;gap:7px;padding:19px;display:grid}.calculator-picker button:hover{background:#f8fbfb;border-color:#8fb2b8}.calculator-picker span{color:var(--brand);text-transform:uppercase;font-size:.65rem;font-weight:900}.calculator-picker strong{color:#294149;margin-top:14px;font-size:.95rem}.calculator-picker small{color:#718187;font-size:.72rem;line-height:1.45}@media (width<=900px){.calculator-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.calculator-picker{grid-template-columns:1fr}.calculator-picker button{min-height:125px}}.resource-readme-link{color:var(--brand);text-underline-offset:3px;margin-top:8px;font-size:.75rem;font-weight:850;display:inline-block}.module-positions{color:#40516b;margin-top:.65rem;font-size:.78rem}.module-positions summary{cursor:pointer;font-weight:700}.module-positions p{margin:.45rem 0 0;line-height:1.55}.paper-preview{gap:10px;display:grid}.paper-fit-sketch{min-height:220px;overflow:visible}.paper-fit-sketch .drawing-overflow{fill:#c9463861;stroke:#b84034;stroke-width:2px}.paper-fit-sketch .title-block rect{fill:#e8ecee;stroke:#647b81;stroke-width:1.2px}.paper-fit-sketch .title-block line{stroke:#899a9e;stroke-width:.8px}.paper-preview-meta{color:#526a70;background:#eef5f6;border-radius:9px;gap:3px;padding:10px 12px;font-size:.68rem;display:grid}.paper-preview-meta strong{color:#244a53;font-size:.75rem}.paper-preview-meta .overflow-copy{color:#a33e34;font-weight:800}.paper-fit-table tbody tr{cursor:pointer;outline:0}.paper-fit-table tbody tr:hover,.paper-fit-table tbody tr:focus{background:#f2f8f8}.paper-fit-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--brand);background:#e7f2f3}.fit-status.invalid{color:#6f7e82;background:#f0f2f3}.module-preview{gap:10px;display:grid}.module-sketch .module-cut{fill:#e2a94f;stroke:#fff}.module-sketch .module-joint{fill:#536a70}.module-sketch .module-remainder{fill:#b9ddc8;stroke:#6ba17d;stroke-dasharray:3 2}.module-sketch .module-deficit{fill:none;stroke:#bd4c3f;stroke-width:3px}.module-sketch .module-deficit-label{fill:#a33f35;text-anchor:middle;font-size:10px;font-weight:850}.module-legend{color:#667b81;flex-wrap:wrap;gap:7px 13px;font-size:.64rem;font-weight:750;display:flex}.module-legend span{align-items:center;gap:5px;display:flex}.module-legend i{background:#7faab2;border-radius:2px;width:10px;height:10px}.module-legend i.cut{background:#e2a94f}.module-legend i.joint{background:#536a70}.module-legend i.remainder{background:#b9ddc8}.module-legend i.deficit{background:#bd4c3f}.module-solutions article{transition:border-color .15s,box-shadow .15s}.module-solutions article.selected{background:#f8fbfb;border-color:#70a3ac;box-shadow:inset 0 0 0 1px #70a3ac}.module-select{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:0 0 9px;display:grid}.module-select span{color:var(--brand);text-transform:uppercase;font-size:.65rem;font-weight:900}.module-select strong{color:#294149;grid-column:1;font-size:.95rem}.module-select small{color:#71858a;grid-area:1/2/3;font-size:.62rem;font-weight:800}.module-solutions dd.negative{color:#a33f35}.cte-results{scrollbar-gutter:stable;scrollbar-color:#8eabb1 #edf3f4;min-height:0;max-height:calc(100dvh - 250px);overflow-y:scroll}.cte-results::-webkit-scrollbar{width:10px}.cte-results::-webkit-scrollbar-track{background:#edf3f4}.cte-results::-webkit-scrollbar-thumb{background:#8eabb1;border:2px solid #edf3f4;border-radius:99px}.cte-results>.calculator-panel-label{z-index:3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff7;margin:-24px -24px 0;padding:18px 24px 12px;position:sticky;top:-24px}@media (width<=1100px){.cte-results{scrollbar-gutter:auto;max-height:none;overflow:visible}.cte-results>.calculator-panel-label{background:0 0;margin:0;padding:0;position:static}.paper-fit-sketch{min-height:190px}}@media (width<=720px){.paper-fit-sketch{min-height:165px}.module-select{grid-template-columns:1fr}.module-select small{grid-area:auto/1}.paper-fit-table-wrap{max-height:280px}}.calculator-result-panel .calculator-panel-label,.calculator-result-panel .calculator-result-box>span,.calculator-result-panel .calculator-result-box strong small{font-size:.78rem}.calculator-result-panel .calculator-formula span{font-size:.76rem}.calculator-result-panel .calculator-formula code{font-size:.9rem;line-height:1.6}.calculator-result-panel .calculator-explanation{font-size:.88rem;line-height:1.6}.calculator-result-panel .calculator-empty-result p{font-size:.88rem}.paper-preview-meta{font-size:.78rem;line-height:1.45}.paper-preview-meta strong{font-size:.86rem}.paper-preview-grid{gap:12px;display:grid}.paper-preview-grid.both{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.paper-preview-grid.both .paper-fit-sketch{min-height:155px}.paper-fit-table{font-size:.77rem}.paper-fit-table th{font-size:.7rem}.paper-fit-table td small{font-size:.68rem}.module-positions{font-size:.84rem}.module-legend{font-size:.72rem}.module-solutions article>span,.module-select span{font-size:.74rem}.module-solutions article>strong,.module-select strong{font-size:1rem}.module-solutions dt,.module-solutions dd{font-size:.74rem}.module-solutions p{font-size:.74rem;line-height:1.45}.module-select small{font-size:.7rem}.cte-overall-status strong{font-size:.86rem}.cte-overall-status small{font-size:.72rem}.stair-configurations span{font-size:.68rem}.stair-configurations strong{font-size:.9rem}.stair-configurations small{font-size:.7rem}.cte-check-heading strong{font-size:.8rem}.cte-check-heading>span,.cte-check dt{font-size:.65rem}.cte-check dd{font-size:.75rem;line-height:1.45}.cte-check footer{font-size:.68rem;line-height:1.4}.cte-disclaimer{font-size:.74rem;line-height:1.55}.cte-form{scrollbar-gutter:stable;scrollbar-color:#8eabb1 #edf3f4;min-height:0;max-height:calc(100dvh - 250px);overflow-y:scroll}.cte-form::-webkit-scrollbar{width:10px}.cte-form::-webkit-scrollbar-track{background:#edf3f4}.cte-form::-webkit-scrollbar-thumb{background:#8eabb1;border:2px solid #edf3f4;border-radius:99px}@media (width<=1100px){.cte-form{scrollbar-gutter:auto;max-height:none;overflow:visible}.paper-preview-grid.both{grid-template-columns:1fr}.paper-preview-grid.both .paper-fit-sketch{min-height:190px}}.cte-diagram-card{background:#f8fbfb;border:1px solid #d9e4e6;border-radius:10px;gap:7px;padding:13px;display:grid}.cte-diagram-card .calculator-panel-label{color:#5f777e;margin:0;font-size:.68rem}.cte-diagram{background:#fff;border-radius:8px;width:100%;height:170px}.cte-diagram text{fill:#5f777e;text-anchor:middle;font-size:9px;font-weight:750}.cte-diagram-stair{fill:none;stroke:#2b6472;stroke-width:3px;stroke-linejoin:round}.cte-diagram-ground{stroke:#94aeb3;stroke-width:1.5px}.cte-diagram-ramp{fill:#d8eaec;stroke:#2b6472;stroke-width:2px}.cte-diagram-card>small{color:#7b8d92;font-size:.65rem;line-height:1.4}
