:root{--ink-navy:#1f3b34;--ink-navy-2:#4c6350;--blue-line:#a3b18a;--blue-line-dim:#a3b18a52;--ink-navy-dim:#1f3b3440;--paper:#f8f8f8;--paper-line:#dedfdd;--ink-dark:#152229;--muted:#61707a;--muted-dark:#2f3e51;--pass:#2e7d5b;--pass-bg:#e5f2ec;--fail:#ae3f27;--fail-bg:#fbeae5;--compliance-pass:#a3b18a;--compliance-fail:#c86a4a;--card:#fff;font-size:16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:var(--ink-dark);background:var(--paper);font-family:Arial,Helvetica,sans-serif}.modal-overlay{z-index:50;background:#0f19208c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-overlay{z-index:60}.modal-card{overscroll-behavior:contain;background:#fff;border-radius:6px;width:380px;max-width:92vw;max-height:calc(100dvh - 32px);padding:20px 22px;overflow-y:auto;box-shadow:0 12px 40px #00000040}.auth-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-main{justify-content:center;align-items:center;padding:56px 24px;display:flex}.auth-panel{width:100%;max-width:380px}.auth-logo-link{margin:0 0 44px;display:inline-block}.auth-logo{width:auto;height:34px;display:block}.modal-card.auth-card{width:auto;max-width:none;box-shadow:none;background:0 0;border-radius:0;max-height:none;padding:0;overflow:visible}.modal-card.auth-card h3{letter-spacing:0;color:var(--ink-dark);margin:0 0 22px;font-size:24px}.auth-aside{background:var(--paper);border-left:1px solid var(--paper-line);justify-content:center;align-items:center;padding:56px 48px;display:flex}.auth-points{flex-direction:column;gap:34px;max-width:400px;display:flex}.auth-point{grid-template-columns:24px 1fr;align-items:start;gap:16px;display:grid}.auth-point h4{color:var(--ink-dark);margin:2px 0 6px;font-size:15px}.auth-point p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.auth-free{color:var(--ink-navy);margin:0;padding-left:40px;font-size:13px;font-weight:600}.auth-card .modal-actions{flex-direction:column-reverse;align-items:stretch;gap:14px;margin-top:24px}.auth-card .modal-actions .btn-primary{width:100%;padding:11px 16px;font-size:13.5px}.auth-card .modal-actions .left{gap:4px 18px}.auth-card .modal-actions .btn-ghost{color:var(--ink-navy);text-underline-offset:3px;border:none;padding:2px 0;font-size:12.5px;text-decoration:underline}.auth-card .modal-actions .btn-ghost:hover{color:var(--ink-navy-2)}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-main{padding:40px 16px}.auth-aside{border-left:none;border-top:1px solid var(--paper-line);padding:40px 16px}}.team-list{overscroll-behavior:contain;max-height:232px;overflow-y:auto}.modal-card h3{color:var(--ink-navy);letter-spacing:.03em;margin:0 0 16px;font-size:14px}.modal-card label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px;font-size:10.5px;display:block}.modal-card label:first-of-type{margin-top:0}.modal-card input[type=text],.modal-card input[type=email],.modal-card input[type=password],.modal-card textarea{border:1px solid var(--paper-line);border-radius:6px;width:100%;padding:9px 10px;font-size:13.5px}.modal-card input[type=text]:focus,.modal-card input[type=email]:focus,.modal-card input[type=password]:focus,.modal-card textarea:focus{border-color:var(--blue-line);outline:none}.pw-field{position:relative}.pw-field input[type=text],.pw-field input[type=password]{padding-right:34px}.pw-toggle-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pw-toggle-btn:hover{color:var(--ink-dark)}.modal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;display:flex}.modal-actions .left{flex-wrap:wrap;gap:8px;display:flex}.btn-ghost{border:1px solid var(--paper-line);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:8px 13px;font-size:12.5px}.btn-ghost:hover{border-color:var(--fail);color:var(--fail)}.billing-toggle{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.billing-toggle span{transition:color .15s}.billing-toggle span.active{color:var(--ink-dark);font-weight:700}.billing-toggle .switch{background:var(--paper-line);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.billing-toggle .switch[aria-checked=true]{background:var(--ink-navy)}.billing-toggle .switch:focus-visible{outline:2px solid var(--ink-navy);outline-offset:2px}.billing-toggle .knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.billing-toggle .switch[aria-checked=true] .knob{transform:translate(16px)}.billing-toggle .save-badge{color:var(--pass);background:var(--pass-bg);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.btn-primary{background:var(--ink-navy);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:12.5px;font-weight:600}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{border:1px solid var(--paper-line);color:var(--ink-dark);cursor:pointer;background:0 0;border-radius:6px;padding:8px 13px;font-size:12.5px}.modal-logo-row{align-items:center;gap:12px;display:flex}.modal-logo-preview{border:1px dashed var(--paper-line);background:#fafaf8;border-radius:6px;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.modal-logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.modal-logo-preview .ph{color:var(--muted);text-align:center;font-size:9px}.app-page{flex-direction:column;height:100vh;display:flex}.app-header{border-bottom:1px solid var(--paper-line);-webkit-backdrop-filter:blur(10px);background:#ffffffd9;flex:none;align-items:center;height:72px;padding:0 18px;display:flex}.app-header-logo{width:auto;height:28px;display:block}.app-shell{flex:1;width:100%;min-height:0;display:flex}.limit-banner{background:var(--ink-navy);color:#e4ede2;text-align:center;flex:none;padding:10px 20px;font-size:12.5px}.limit-banner button{color:var(--blue-line);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.limit-banner button:hover{color:#fff}.rail{background:var(--ink-navy);color:#e4ede2;flex-direction:column;flex:0 0 280px;width:280px;padding:22px 18px;display:flex;overflow:hidden}.profile-menu{margin-bottom:16px;position:relative}.profile-trigger{border:1px solid var(--ink-navy-2);cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;width:100%;margin:0;padding:10px 12px;display:flex}.profile-trigger:hover{border-color:var(--blue-line-dim)}.profile-logo-wrap{background:#2a3a2c;border-radius:6px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;overflow:hidden}.profile-logo-wrap img{object-fit:contain;max-width:100%;max-height:100%}.profile-logo-wrap .ph{color:#4e6a7c;text-align:center;font-size:9px;line-height:1.2}.profile-name{color:#f1f8fb;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.profile-chevron{color:#9db59b;flex:none;transition:transform .15s}.profile-chevron.open{transform:rotate(180deg)}.profile-dropdown{z-index:30;background:var(--ink-navy-2);border:1px solid var(--blue-line-dim);border-radius:6px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 20px #00000040}.profile-dropdown button{color:#edf5ea;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:12.5px}.profile-dropdown button:hover{background:var(--ink-navy)}.canvas{background:var(--paper);flex-direction:column;flex:1;min-width:0;display:flex}.canvas-scroll{flex:1;overflow-y:auto}.canvas-inner{flex-direction:column;max-width:1000px;min-height:100%;margin:0 auto;padding:36px 40px 80px;display:flex}#emptyState{text-align:center;max-width:492px;color:var(--muted);margin:80px auto}#emptyState h2{color:var(--ink-dark);margin-bottom:10px;font-size:20px}#emptyState p{text-align:left;font-size:14px;line-height:1.6}#emptyState button{background:var(--ink-navy);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:18px;padding:11px 18px;font-size:13.5px;font-weight:600}#emptyState button:disabled{opacity:.5;cursor:default}.new-btn{border:1px solid var(--blue-line);color:#edf5ea;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.new-btn:hover{background:var(--ink-navy-2)}.request-mfr-btn{color:#9db59b;border-color:var(--blue-line-dim);flex:none;justify-content:center;margin-top:12px;font-size:12px}.report-bug-btn{color:#9db59b;border-color:var(--blue-line-dim);flex:none;justify-content:center;margin-top:8px;font-size:12px}.rail-list-label{color:#fff;text-transform:uppercase;letter-spacing:.12em;margin:4px 0 8px;font-size:10.5px}.rail-usage-note{color:#ffffff8c;margin:-2px 0 10px;padding:0 4px;font-size:11px;line-height:1.4}#projectList{flex-direction:column;flex:1;gap:6px;min-height:0;margin:0 -18px;padding:0 18px;display:flex;overflow-y:auto}.proj-item{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px;position:relative}.proj-item:hover{background:var(--ink-navy-2)}.proj-del{color:#7c9479;cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1;position:absolute;top:7px;right:6px}.proj-item:hover .proj-del,.proj-del:focus-visible{opacity:1}.proj-del:hover{color:#f6b39f}.proj-item .pname{padding-right:16px}.proj-item.active{background:var(--ink-navy-2);border-color:var(--blue-line-dim)}.proj-item .pname{color:#f1f8fb;font-size:13.5px;font-weight:600}.proj-item .pmeta{color:#8ca789;margin-top:2px;font-size:11px}.folder-group{border-radius:6px;margin-bottom:4px}.folder-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:8px;display:flex}.folder-head:hover{background:var(--ink-navy-2)}.folder-group.drag-over{outline:1px dashed var(--blue-line)}.folder-group.drag-over .folder-head,.folder-group.drag-over .folder-items{background:#a3b18a47}.folder-chevron{color:#8ca789;flex:0 0 10px;font-size:9px;transition:transform .12s}.folder-chevron.collapsed{transform:rotate(-90deg)}.folder-name{color:#e4ede2;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:0;font-size:12.5px;font-weight:700;overflow:hidden}.folder-name:focus{border-bottom:1px solid var(--blue-line);outline:none}.folder-count{color:#7c9479;flex:none;font-size:10px}.folder-del{color:#7c9479;cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:13px}.folder-del:hover{color:#f6b39f}.folder-items{border-left:1px solid var(--ink-navy-2);flex-direction:column;gap:6px;margin-left:12px;padding-top:4px;padding-left:14px;display:flex}.folder-empty-hint{color:#fff;text-wrap:balance;padding:6px 10px;font-size:10.5px}.proj-item[draggable=true]{cursor:grab}.proj-item.dragging{opacity:.4}.unfiled-zone{border-radius:6px;flex-direction:column;flex:1;gap:6px;min-height:80px;transition:background .12s;display:flex}.unfiled-zone.drag-over{outline:1px dashed var(--blue-line);outline-offset:-2px;background:#a3b18a2e}.new-btn.folder-btn{margin-bottom:18px}.invite-message{border:1px solid var(--blue-line-dim);color:#e4ede2;background:#a3b18a2e;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px;padding:8px 10px;font-size:12px;display:flex}.invite-message.error{color:#f6d3c7;background:#d98b772e;border-color:#d98b77}.invite-message button{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;padding:0;font-size:12px}.invite-message button:hover{opacity:1}.practice-switcher{margin-bottom:18px}.practice-switcher label{text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:6px;font-size:10.5px;display:block}.practice-switcher-row{align-items:center;gap:6px;display:flex}.practice-switcher select{background:var(--ink-navy-2);border:1px solid var(--blue-line-dim);color:#edf5ea;border-radius:6px;flex:1;min-width:0;padding:7px 8px;font-size:12.5px}.practice-leave-btn{border:1px solid var(--blue-line-dim);color:#9db59b;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:7px 8px;font-size:11px}.practice-leave-btn:hover{border-color:var(--fail);color:var(--fail)}.proj-item .ptag{letter-spacing:.08em;text-transform:uppercase;color:#c7dcc3;background:#a3b18a2e;border-radius:6px;margin-top:5px;padding:2px 6px;font-size:9.5px;display:inline-block}.proj-item .ptag.ptag-locked{color:#e4ede2;background:#ffffff1f;margin-left:4px}.drawing-face{text-transform:uppercase;letter-spacing:.09em;font-family:Arial,Helvetica,sans-serif}.titleblock{background:var(--card);border:1.5px solid var(--ink-navy);border-radius:18px;margin-bottom:26px;overflow:hidden;box-shadow:0 1px #142b3e0f}.titleblock-top{background:var(--ink-navy);color:#edf5ea;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.titleblock-top .tb-title{letter-spacing:.1em;font-size:12px}.titleblock-top .tb-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--blue-line-dim);color:#e4ede2;cursor:pointer;background:0 0;border-radius:6px;padding:5px 10px;font-size:11.5px}.icon-btn:hover{background:var(--ink-navy-2)}.icon-btn.danger{color:#f6d3c7;border-color:#d98b77}.icon-btn.saved{background:var(--pass);border-color:var(--pass);color:#fff}.tb-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:0;margin:0 -1px -1px 0;display:grid}.tb-cell{border-right:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);padding:10px 14px}.tb-cell label{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:4px;font-size:9.5px;display:block}.tb-cell input,.tb-cell select{width:100%;color:var(--ink-dark);background:0 0;border:none;padding:2px 0;font-size:14px;font-weight:600}.tb-cell input:focus,.tb-cell select:focus{border-bottom:1px solid var(--blue-line);outline:none}.tb-cell.wide{grid-column:span 2}.tb-cell.span-3{grid-column:span 3}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:30px 0 12px;display:flex}.section-head h2{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-navy);align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.section-head h2:before{content:"";background:var(--blue-line);width:16px;height:2px;display:inline-block}.section-head--numbered h2:before{content:none}.section-num{color:var(--ink-navy);letter-spacing:0;font-size:12px;font-weight:700}.section-head--divider{border-top:1px solid var(--ink-navy-dim);margin-top:48px;padding-top:40px}.section-check{color:var(--pass);letter-spacing:0;font-size:12px;font-weight:700}.additional-types-inset{border-top:1px solid var(--paper-line)}.additional-types-area-label{color:var(--ink-dark);margin:20px 0 0;padding:0 12px;font-size:14px;font-weight:700}.section-head--inset{padding:0 12px}.hint{color:var(--muted);font-size:11.5px;line-height:1.5}.card{background:var(--card);border:1px solid var(--paper-line);border-radius:18px}.card.input-card{border:1.5px solid var(--ink-navy);overflow:hidden}.card.input-card table.uval-table thead th{background:var(--ink-navy);color:#edf5ea;border-bottom:none}.disclaimer{color:var(--muted);background:#fbf7ec;border:1px solid #e7d9ae;border-radius:6px;margin-top:26px;padding:14px 16px;font-size:11.5px;line-height:1.7}.app-trademarks{color:var(--muted);opacity:.8;margin-top:auto;padding-top:26px;font-size:10.5px;line-height:1.6}.disclaimer strong{color:#8a6a1d}.warn-banner{color:#8a6a1d;background:#fbf7ec;border:1px solid #e7d9ae;border-radius:6px;margin-bottom:14px;padding:9px 12px;font-size:12px}.locked-banner{color:var(--ink-dark);background:var(--paper);border:1px solid var(--paper-line);border-left:3px solid var(--ink-navy);border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:12.5px;line-height:1.5}.locked-banner button{font:inherit;color:var(--ink-navy);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.locked-fieldset{border:0;min-width:0;margin:0;padding:0}.locked-fieldset:disabled input,.locked-fieldset:disabled select,.locked-fieldset:disabled textarea{cursor:not-allowed;background:var(--paper)!important;color:var(--muted)!important}.locked-fieldset:disabled button{opacity:.45;cursor:not-allowed}.error-banner{color:var(--fail);background:var(--fail-bg);border:1px solid var(--fail);border-radius:6px;margin-bottom:14px;padding:9px 12px;font-size:12px}.validate-empty input[data-empty=true]:not([data-optional=true]){border-color:var(--fail);background:var(--fail-bg)}.info-banner{color:var(--muted);background:var(--paper);border:1px solid var(--paper-line);border-radius:6px;margin-bottom:14px;padding:9px 12px;font-size:12px}.add-workarea-btn{background:var(--ink-navy);color:#fff;cursor:pointer;text-align:center;letter-spacing:.02em;border:none;border-radius:6px;width:100%;padding:12px 16px;font-size:13.5px;font-weight:700;transition:background .15s}.add-workarea-btn:hover{background:var(--ink-navy-2)}.gross-grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.gross-cell{border-left:1px solid var(--paper-line);padding:14px 16px}.gross-cell:first-child{border-left:none}.gross-cell label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:10px;display:flex}.gross-cell input{border:1px solid var(--paper-line);text-align:right;border-radius:6px;width:100%;padding:8px 9px;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:15px}.gross-cell input:focus{border-color:var(--blue-line);outline:none}table.rows-table{border-collapse:collapse;width:100%;font-size:13px}table.rows-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--paper-line);background:#f6f7f5;padding:9px 10px;font-size:10px;font-weight:700}table.rows-table thead th.num{text-align:right}.card>table.rows-table:first-child thead tr:first-child th:first-child{border-top-left-radius:17px}.card>table.rows-table:first-child thead tr:first-child th:last-child{border-top-right-radius:17px}table.rows-table tbody td{border-bottom:1px solid var(--paper-line);vertical-align:middle;padding:6px 10px}table.rows-table tbody tr:last-child td{border-bottom:none}table.rows-table input,table.rows-table select{width:100%;color:var(--ink-dark);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px;font-size:13px}table.rows-table input:focus,table.rows-table select:focus{border-color:var(--blue-line);background:#fbfeff;outline:none}.pitch-note{flex-basis:100%}table.rows-table tr.has-options td{border-bottom:none}table.rows-table tr.opening-options-row td{padding-top:0;padding-bottom:12px}.opening-options{background:var(--paper);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;padding:10px 12px;display:flex}.opening-option{flex-direction:column;gap:4px;display:flex}.opening-option>span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}table.rows-table .opening-option select{border:1px solid var(--paper-line);background:#fff;width:auto;min-width:140px}table.rows-table .opening-option--product select{min-width:260px;max-width:100%}table.rows-table .opening-option input{border:1px solid var(--paper-line);background:#fff;width:90px}.opening-options .pitch-note{color:var(--muted);flex:220px;align-self:center;font-size:11.5px}table.rows-table option.option-locked{color:#9aa3a8}table.rows-table input.num{text-align:right;min-width:56px;font-family:Consolas,Menlo,Monaco,Courier New,monospace}table.rows-table input.opening-num,table.rows-table input.opening-label{border-color:var(--paper-line);background:#fff}table.rows-table td.computed{text-align:right;color:var(--ink-navy);white-space:nowrap;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-weight:600}table.rows-table td.rowdel{text-align:center;width:30px}.row-del-btn{color:#b9857a;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:15px}.row-del-btn:hover{color:var(--fail)}.add-row-bar{border-top:1px dashed var(--paper-line);padding:10px}.add-row-btn{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px dashed #aab6b4;border-radius:6px;width:100%;padding:8px 12px;font-size:12.5px}.add-row-btn:hover{border-color:var(--blue-line);color:var(--ink-navy)}.bo-card{flex-wrap:wrap;align-items:flex-start;gap:20px;padding:14px 16px;display:flex}.walltypes-summary,.rooftypes-summary{border-top:1px dashed var(--paper-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex}.walltypes-summary.match,.rooftypes-summary.match{color:var(--pass);background:var(--pass-bg)}.walltypes-summary.mismatch,.rooftypes-summary.mismatch{color:#8a6a1d;background:#fbf7ec}.walltypes-summary .wt-figures,.rooftypes-summary .wt-figures{font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-weight:600}.bo-field{flex:0 0 180px}.bo-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:10px;display:block}.bo-field input{border:1px solid var(--paper-line);text-align:right;border-radius:6px;width:100%;padding:8px 9px;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:15px}.bo-field input:focus{border-color:var(--blue-line);outline:none}.bo-field select{border:1px solid var(--paper-line);width:100%;color:var(--ink-dark);background:#fff;border-radius:6px;padding:8px 9px;font-size:13px}.bo-field select:focus{border-color:var(--blue-line);outline:none}.bo-note{min-width:220px;color:var(--muted);flex:1;padding-top:2px;font-size:12px;line-height:1.6}.workarea-card{border:1.5px solid var(--ink-navy);background:var(--card);border-radius:18px;margin-bottom:20px;overflow:hidden}.workarea-head{background:var(--ink-navy);align-items:center;gap:12px;padding:10px 14px;display:flex}.workarea-head input{background:#fff;border:1px solid #0000;border-radius:6px;flex:1;padding:7px 10px;font-size:13.5px;font-weight:600}.workarea-head input:focus{border-color:var(--blue-line);outline:none}.workarea-head .wa-remove{border:1px solid var(--blue-line-dim);color:#e4ede2;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:6px 11px;font-size:11.5px}.workarea-head .wa-remove:hover{color:#f6d3c7;border-color:#d98b77}.workarea-body{padding:16px}.workarea-body .section-head{margin:18px 0 10px}.workarea-body>.section-head:first-child{margin-top:0}table.uval-table{border-collapse:collapse;width:100%;font-size:13px}table.uval-table thead th{text-align:right;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--paper-line);background:#f6f7f5;padding:9px 10px;font-size:10px;font-weight:700}table.uval-table thead th:first-child{text-align:left}table.uval-table tbody td{border-bottom:1px solid var(--paper-line);text-align:right;padding:6px 10px}table.uval-table tbody tr:last-child td{border-bottom:none}table.uval-table tbody td:first-child{text-align:left;color:var(--ink-dark);font-weight:600}table.uval-table input{border:1px solid var(--paper-line);text-align:right;border-radius:6px;width:90px;padding:6px 8px;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:13px}table.uval-table input:focus{border-color:var(--blue-line);outline:none}table.uval-table td.na{color:#b7bec0;padding-right:14px;font-family:Consolas,Menlo,Monaco,Courier New,monospace}table.uval-table td.uval-fixed{color:#1f3b34;background:#f3f5f4;border-radius:6px;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-weight:600}.output-grid{grid-template-columns:1fr;gap:18px;display:grid}.output-card{background:var(--card);border:1px solid var(--paper-line);border-radius:18px;overflow:hidden}.output-card h3{letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--paper-line);color:var(--ink-navy);background:#f6f7f5;margin:0;padding:10px 14px;font-size:11.5px}table.output-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12.5px}table.output-table th:first-child,table.output-table td:first-child{width:46%}table.output-table th:nth-child(2),table.output-table td:nth-child(2),table.output-table th:nth-child(3),table.output-table td:nth-child(3),table.output-table th:nth-child(4),table.output-table td:nth-child(4){width:18%}table.output-table td:first-child{white-space:normal;overflow-wrap:break-word}table.output-table th{text-align:right;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--paper-line);padding:7px 10px;font-size:9.5px}table.output-table th:first-child{text-align:left}table.output-table td{text-align:right;border-bottom:1px solid var(--paper-line);padding:6px 10px;font-family:Consolas,Menlo,Monaco,Courier New,monospace}table.output-table td:first-child{text-align:left;color:var(--ink-dark);font-family:inherit}table.output-table tr.total td{border-top:1.5px solid var(--ink-navy);color:var(--ink-navy);border-bottom:none;font-weight:700}table.output-table tr.subtotal td{color:var(--muted)}.gauge-card{background:var(--ink-navy);color:#edf5ea;border-radius:18px;margin-top:26px;padding:22px 24px 18px;position:relative;overflow:hidden}.gauge-top{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.gauge-title{letter-spacing:.1em;text-transform:uppercase;color:#9db59b;font-size:11px}.verdict{letter-spacing:.03em;border-radius:6px;padding:5px 14px;font-size:20px;font-weight:800}.verdict.pass{background:var(--pass-bg);color:var(--compliance-pass)}.verdict.fail{background:var(--fail-bg);color:var(--compliance-fail)}.gauge-stats{z-index:1;flex-wrap:wrap;gap:28px;margin-top:10px;display:flex;position:relative}.gauge-stat .k{text-transform:uppercase;letter-spacing:.08em;color:#9db59b;font-size:10px}.gauge-stat .v{color:#f1f7ee;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:19px;font-weight:700}.gauge-stat .v small{color:#a9c7a5;font-size:12px;font-weight:500}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress-strip{flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 4px;display:flex}.progress-step{background:var(--card);border:1px solid var(--paper-line);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:12.5px;transition:border-color .25s,color .25s,background-color .25s;display:inline-flex}.progress-step:hover{border-color:var(--ink-navy);color:var(--ink-navy)}.progress-dot{background:var(--paper);border:1px solid var(--paper-line);width:22px;height:22px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;transition:background-color .3s,color .3s,border-color .3s;display:inline-flex}.progress-step.is-current,.progress-step.is-current .progress-dot{border-color:var(--ink-navy);color:var(--ink-navy)}.progress-step.is-done{color:var(--ink-dark)}.progress-step.is-done .progress-dot{background:var(--ink-navy);border-color:var(--ink-navy);color:#fff;animation:.35s ease-out progress-tick}@keyframes progress-tick{0%{transform:scale(.6)}70%{transform:scale(1.12)}to{transform:scale(1)}}.progress-verdict{letter-spacing:.08em;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:800}.progress-verdict--pass{color:var(--pass);background:var(--pass-bg)}.progress-verdict--fail{color:var(--fail);background:var(--fail-bg)}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.rows-table tr.row-new>td,.workarea-card.is-new{animation:.35s ease-out slide-in}@media (prefers-reduced-motion:reduce){.progress-step,.progress-dot{transition:none}.progress-step.is-done .progress-dot,.rows-table tr.row-new>td,.workarea-card.is-new{animation:none}}.hints-card{background:var(--card);border:1px solid var(--paper-line);border-left:4px solid var(--compliance-fail);border-radius:18px;margin-top:18px;padding:16px 18px}.hints-card h4{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-navy);margin:0 0 6px;font-size:11.5px}.hints-intro{color:var(--ink-dark);margin:0 0 10px;font-size:13px}.hints-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hints-card li{background:var(--paper);color:var(--ink-dark);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:13px;display:flex}.hints-apply{color:var(--ink-navy);border-color:var(--ink-navy);flex:none;font-weight:600}.hints-apply:hover{background:var(--ink-navy);color:#fff;border-color:var(--ink-navy)}.hints-note{color:var(--muted);margin:10px 0 0;font-size:11.5px}.hl-card{--hl-floor:#b5754e;--hl-walls:#4a6584;--hl-roof:#8fa874;--hl-openings:#2f5d50;margin-top:18px}.hl-body{padding:14px 16px 16px}.hl-legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;font-size:12px;display:flex}.hl-legend span{align-items:center;gap:6px;display:inline-flex}.hl-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.hl-row{grid-template-columns:74px 1fr auto;align-items:center;gap:12px;margin-top:10px;display:grid}.hl-name{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.hl-track{height:28px;position:relative}.hl-bar{border-radius:4px;height:100%;transition:width .45s;display:flex;overflow:hidden}.hl-seg{flex:none;justify-content:center;align-items:center;min-width:0;transition:width .45s;display:flex;overflow:hidden}.hl-seg:not(:last-child){box-shadow:inset -2px 0 #fff}.hl-floor{background:var(--hl-floor)}.hl-walls{background:var(--hl-walls)}.hl-roof{background:var(--hl-roof)}.hl-openings{background:var(--hl-openings)}.hl-seg-label{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000040;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:11px;font-weight:700}.hl-roof .hl-seg-label{text-shadow:0 1px 2px #00000073,0 0 1px #00000059}.hl-total{color:var(--ink-dark);white-space:nowrap;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:13px;font-weight:700}.hl-total small{color:var(--muted);font-size:10.5px;font-weight:500}.hl-tip{background:var(--ink-dark);color:#fff;white-space:nowrap;pointer-events:none;z-index:2;border-radius:4px;padding:5px 8px;font-size:11.5px;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.hl-bar,.hl-seg{transition:none}}.result-bar{z-index:6;border:1px solid var(--paper-line);border-left:5px solid var(--fail);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:18px;padding:10px 16px;transition:border-color .35s,opacity .25s,transform .25s;display:flex;position:sticky;bottom:14px;box-shadow:0 8px 28px #15222924}.result-bar--pass{border-left-color:var(--pass)}.result-bar--hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.result-bar-verdict{letter-spacing:.08em;color:var(--fail);background:var(--fail-bg);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;transition:color .35s,background-color .35s}.result-bar--pass .result-bar-verdict{color:var(--pass);background:var(--pass-bg)}.result-bar-figures{color:var(--ink-dark);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 20px;font-family:Consolas,Menlo,Monaco,Courier New,monospace;font-size:14px;font-weight:700;display:flex}.result-bar-figures .k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px;font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:600}.result-bar-figures small{color:var(--muted);font-size:11px;font-weight:500}.result-bar--pass .result-bar-margin{color:var(--pass)}.result-bar--fail .result-bar-margin{color:var(--fail)}.result-bar-note{color:var(--fail);font-size:11.5px}@media (width>=1000px){.result-bar,.result-bar-figures{flex-wrap:nowrap}.result-bar-figures>span{white-space:nowrap}}.result-bar--pulse{animation:.9s ease-out result-bar-pulse}@keyframes result-bar-pulse{0%{box-shadow:0 0 #2e7d5b73,0 8px 28px #15222924}to{box-shadow:0 0 0 14px #2e7d5b00,0 8px 28px #15222924}}@media (prefers-reduced-motion:reduce){.result-bar,.result-bar-verdict{transition:none}.result-bar--pulse{animation:none}}#printArea{display:none}@media print{@page{size:A4;margin:0}html,body{background:#fff!important}body.print-gated #printArea{display:none!important}body.print-gated .print-gate-notice{color:#152229;padding:40px 30px;font-size:14px;display:block!important}.app-page,.modal-overlay{display:none!important}#printArea{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:12mm;display:block;background:#fff!important}.rp-footer{text-align:center;color:#61707a;margin:14px 0 0;font-size:9.5px}.rp-openings-wrap,.rp-output-grid>div,.rp-summary{break-inside:avoid}table.rp-elements th,table.rp-elements td:first-child{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.rp-header{border-bottom:3px solid #1f3b34;margin-bottom:14px;padding-bottom:10px}.rp-header h1{color:#1f3b34;margin:0 0 4px;font-size:19px}.rp-header .rp-sub{color:#555;font-size:11.5px;line-height:1.45}.rp-tb{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:11.5px}.rp-tb td{border:1px solid #ccc;padding:6px 9px}.rp-tb td.k{color:#555;text-transform:uppercase;letter-spacing:.06em;width:130px;font-size:9.5px}.rp-openings-wrap{margin-bottom:14px}.rp-openings-wrap h4{text-transform:uppercase;margin:0 0 6px;font-size:11px}table.rp-elements.rp-openings th:nth-child(n),table.rp-elements.rp-openings td:nth-child(n){text-align:right;width:33.33%}table.rp-elements.rp-openings td:first-child{background:0 0;border-right-width:1px;font-family:Consolas,monospace}.rp-output-grid{grid-template-columns:1fr;gap:14px;margin-bottom:14px;display:grid}.rp-output-grid h4{text-transform:uppercase;margin:0 0 6px;font-size:11px}table.rp-elements{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10.5px}table.rp-elements th:first-child,table.rp-elements td:first-child{width:46%}table.rp-elements th:nth-child(2),table.rp-elements td:nth-child(2),table.rp-elements th:nth-child(3),table.rp-elements td:nth-child(3),table.rp-elements th:nth-child(4),table.rp-elements td:nth-child(4){width:18%}table.rp-elements td:first-child{white-space:normal;overflow-wrap:break-word}table.rp-elements th{text-align:right;text-transform:uppercase;background:#f6f7f5;border:1px solid #aaa;border-bottom-width:2px;padding:5px 7px;font-size:9px}table.rp-elements th:first-child{text-align:left}table.rp-elements td{text-align:right;border:1px solid #aaa;padding:5px 7px;font-family:Consolas,monospace}table.rp-elements td:first-child{text-align:left;background:#f6f7f5;border-right-width:2px;font-family:inherit}table.rp-elements tr.total td{font-weight:700}table.rp-elements tr.total.pass td:last-child,table.rp-elements tr.total.fail td:last-child{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}table.rp-elements tr.total.pass td:last-child{background:#e5f2ec}table.rp-elements tr.total.fail td:last-child{background:#fbeae5}.rp-summary{border:2px solid #1f3b34;margin-top:6px;padding:12px 14px;font-size:12.5px}.rp-summary .rp-verdict{margin-bottom:6px;font-size:15px;font-weight:800}.rp-summary .rp-verdict.pass{color:#2e7d5b}.rp-summary .rp-verdict.fail{color:#ae3f27}}.notes-card textarea{border:1px solid var(--paper-line);resize:vertical;background:var(--card);border-radius:6px;width:100%;min-height:60px;padding:10px 12px;font-family:inherit;font-size:13px}.print-gate-notice{display:none}.tour-overlay{z-index:80;position:fixed;inset:0}.tour-backdrop{background:#0f19208c;position:fixed;inset:0}.tour-spotlight{pointer-events:none;border-radius:8px;outline:2px solid #a3b18ae6;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 9999px #0f19208c}.tour-card{background:#fff;border-radius:10px;width:340px;max-width:calc(100vw - 24px);padding:18px 20px 16px;transition:opacity .15s;position:fixed;box-shadow:0 12px 40px #00000047}.tour-card--centred{width:400px;top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card--hidden{opacity:0;pointer-events:none}.tour-count{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10.5px}.tour-card h3{color:var(--ink-dark);margin:0 0 8px;font-size:15px}.tour-body{color:var(--ink-dark);font-size:13px;line-height:1.55}.tour-body p{margin:0 0 8px}.tour-body p:last-child{margin-bottom:0}.tour-body .tour-note{color:var(--muted);font-size:12px}.tour-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.tour-card--centred .tour-actions{justify-content:flex-end}.tour-nav{gap:8px;display:flex}.tour-skip{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}@media (width<=639px){.tour-card:not(.tour-card--centred){width:auto;right:12px;top:auto!important;bottom:12px!important;left:12px!important}}@media print{.tour-overlay{display:none!important}}
