.setup-pages{overflow:auto;min-height:0}
.setup-pages .d-list{flex:0 0 var(--pages-left);width:var(--pages-left);min-width:220px}
.pages-heading{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:8px;border-bottom:1px solid var(--line)}
.setup-pages .d-filters{display:flex;flex-direction:column;gap:6px;padding:10px;flex-shrink:0}
.setup-pages #page-filter{width:100%;min-width:0}
.setup-pages #pq{width:100%;min-width:0;order:-1}
.setup-pages .d-row{width:100%;border-radius:0;background:transparent;color:var(--ink);text-align:left;grid-template-columns:64px minmax(0,1fr) 20px;gap:8px;padding:10px;border-width:0 0 1px;font:inherit}
.setup-pages .d-row:hover{background:var(--hover)}
.setup-pages .d-row.on{background:var(--accent-bg)}
.setup-pages .d-row .th{width:64px;height:48px}
.setup-pages .d-row .th img{object-fit:contain}
.setup-pages .page-caption{min-width:0}
.setup-pages .ttl{font-size:12px;margin:3px 0}
.setup-pages .sub{font-size:10px}
.setup-pages .pages-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:start;gap:8px;padding:8px}
.setup-pages .pages-gallery .d-row{display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:6px;position:relative;padding:8px;gap:6px}
.setup-pages .pages-gallery .th{width:100%;height:100px}
.setup-pages .pages-gallery .d-state{position:absolute;right:10px;top:10px;background:var(--panel)}
.pages-viewer{flex:1;min-width:280px;display:flex;flex-direction:column;background:var(--bg);min-height:0}
.setup-pages .d-prev{flex:1;height:auto;min-height:260px;border:0}
.setup-pages .d-detail{flex:0 0 var(--pages-right);width:var(--pages-right);border:0;min-width:220px}
.setup-pages .d-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:14px}
.setup-pages .fp-actions{flex-wrap:wrap;gap:6px;padding:10px}
.pages-resize{width:6px;flex:0 0 6px;cursor:col-resize;background:var(--line);touch-action:none}
.pages-resize:hover,.pages-resize:focus-visible{background:var(--accent);outline:none}
.setup-pages .fp-ph{max-width:calc(100% - 20px);flex-wrap:wrap}
@media(max-width:900px){.setup-pages .d-list{flex-basis:220px}.setup-pages .d-detail{flex-basis:260px}.setup-pages .d-filters{max-height:140px}}
/* Page review: clear hierarchy and a persistent sheet-scoped action. */
.setup-pages .page-review-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:20px 18px 16px;border-bottom:1px solid var(--line)}
.page-review-heading h2{font-size:22px;line-height:1.2;margin:7px 0;color:var(--ink)}
.page-review-heading p{font-size:12px;line-height:1.5;color:var(--dim);margin:0}
.review-eyebrow{font-size:10px;font-weight:600;letter-spacing:.09em;color:var(--dim)}
.review-state{display:inline-flex;flex-shrink:0;padding:4px 7px;border:1px solid var(--line);border-radius:5px;font-size:10px;font-weight:600;color:var(--dim);background:var(--bg)}
.review-state.is-reviewed{color:var(--ok,#42b88c);background:color-mix(in srgb,var(--ok,#42b88c) 9%,var(--panel));border-color:color-mix(in srgb,var(--ok,#42b88c) 25%,var(--line))}
.setup-pages .review-cards{padding:14px 12px;background:var(--bg)}
.review-intro{font-size:12px;color:var(--dim);line-height:1.6;padding:0 5px 14px}
.setup-pages .review-card{padding:14px;margin:0 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.setup-pages .review-card:empty{display:none}
.review-card-title{display:flex;gap:9px;align-items:center;margin-bottom:12px}
.review-card-title h3{font-size:13px;line-height:1.4;margin:0;font-weight:650;color:var(--ink)}
.review-step{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:700;flex-shrink:0}
.setup-pages .review-card .d-field{margin-bottom:10px;padding:0;gap:7px}
.setup-pages .review-card .d-field:last-child{margin-bottom:0}
.setup-pages .review-card .k{color:var(--dim);font-weight:500;font-size:12px}
.setup-pages .review-card select{min-width:0;width:100%;min-height:34px}
.setup-pages .review-card button{min-height:32px;white-space:normal;line-height:1.4}
.setup-pages .review-card .d-note{line-height:1.6;font-size:12px}
.review-source{margin:0 0 10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--dim)}
.review-source summary,.review-bulk summary{cursor:pointer;line-height:1.5}
.review-source[open] summary{margin-bottom:8px}
.setup-pages .d-found-list{display:grid;gap:6px;margin:8px 0 12px}
.setup-pages .d-found-list>div{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;background:var(--bg)}
.setup-pages .d-found-list b{font-size:14px;color:var(--ink)}
.setup-pages .d-found-list span{font-size:12px;color:var(--dim)}
.review-open{width:100%;text-align:center;color:var(--accent)}
.setup-pages #setup-region .row{display:flex;align-items:stretch}
.setup-pages #setup-region [data-region=confirm]{width:100%;margin-top:4px}
.setup-pages .review-footer{display:flex;flex-direction:column;align-items:stretch;padding:14px 16px;gap:8px}
.review-progress{display:flex;justify-content:space-between;color:var(--dim);font-size:11px}
.review-footer progress{width:100%;height:4px;accent-color:var(--accent);margin-bottom:5px}
.review-confirm{width:100%;min-height:36px;justify-content:center;white-space:normal}
.review-nav{display:flex;gap:8px}
.review-nav button{flex:1;justify-content:center;min-height:30px}
.review-bulk{font-size:11px;color:var(--dim);padding-top:3px}
.setup-pages .review-footer .review-bulk button{width:100%}
@media(max-width:1100px){.setup-pages .page-review-heading{flex-direction:column;gap:8px}.setup-pages .review-card{padding:12px}}

.setup-pages #setup-region .review-source{border-bottom:0}
.setup-pages #setup-region p{margin:8px 0}
.review-view{border:1px solid var(--line);border-radius:7px;margin:10px 0;padding:9px;background:var(--bg)}
.review-view.selected{border-color:var(--accent)}
.review-view-focus{display:block;width:100%;text-align:left;border:0;background:transparent;padding:3px 0 9px}
.review-view-focus small{display:block;color:var(--dim);font-size:11px;margin-top:5px}
.setup-pages .review-card .row{flex-wrap:wrap;gap:6px}
.review-view-editor{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.review-view-editor>b{display:block;margin-bottom:12px}
.review-view-editor input,.review-card textarea,.review-measure input{width:100%;min-width:0;box-sizing:border-box}
.review-card textarea{resize:vertical;min-height:72px;font:inherit;line-height:1.5;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:8px}
.review-measure{padding:12px;margin-top:10px;border:1px solid var(--accent);border-radius:7px;font-size:12px;line-height:1.6}
.review-measure input{display:block;margin:8px 0}

.review-view-editor input,.review-measure input{min-height:34px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font:inherit}

/* Evidence-linked review cards: fixed readable type, PDF-coordinate target. */
.page-callout-layer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.page-callout-leader{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.page-callout-leader path{fill:none;stroke:#6c8fff;stroke-width:2;filter:drop-shadow(0 1px 2px #0005)}
.page-callout-leader circle{fill:#fff;stroke:#527cf0;stroke-width:2}
.page-callout-leader .callout-dot{fill:#527cf0;stroke:none}
.region-reminder{position:absolute;pointer-events:auto;width:min(320px,calc(100% - 32px));box-sizing:border-box;padding:18px;border:1px solid #cdd9ef;border-radius:14px;background:#fff;color:#1b2942;box-shadow:0 8px 28px #10244a26,0 2px 6px #10244a12;font-size:13px;line-height:1.5;cursor:default}
.region-reminder[hidden]{display:none}
.callout-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:750;color:#5272b7;margin-bottom:7px}
.region-reminder strong{display:block;font-size:16px;line-height:1.35;letter-spacing:-.02em}
.region-reminder p{margin:8px 0 14px;color:#58677d}
.region-reminder-actions{display:flex;flex-wrap:wrap;gap:8px}
.region-reminder button{min-height:34px;padding:7px 12px;border-radius:7px;white-space:normal;background:#fff;border:1px solid #d3dcea;color:#35465f;font-weight:600}
.region-reminder button.primary{background:#4169e1;border-color:#4169e1;color:#fff;box-shadow:0 2px 4px #4169e126}
.region-reminder button:hover{filter:brightness(.97)}
.region-reminder button:focus-visible{outline:3px solid #91adff;outline-offset:2px}
.region-reminder button:disabled{opacity:.5}
.region-reminder .callout-locate{flex-basis:100%;text-align:left;min-height:24px;padding:0 0 4px;border:0;background:transparent;color:#4169c2;font-size:12px}
.region-reminder.is-drawing{padding:12px 16px}
.region-reminder.is-drawing p{margin:4px 0 8px}

.callout-floor{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:12px;font-weight:600;color:#58677d}
.callout-floor select{flex:1;min-width:0;border:1px solid #d3dcea;border-radius:7px;background:#f7f9fd;color:#1b2942;padding:7px 10px;font:inherit}
.setup-level-card{width:260px;padding:14px}
.setup-level-card strong{font-size:14px}
.setup-level-card p{font-size:11px;margin:6px 0 10px}
.setup-level-row{display:block;margin:10px 0;font-size:11px;font-weight:650}
.setup-level-row>span{display:block;margin-bottom:5px}
.setup-level-row>div{display:flex;align-items:center;gap:6px}
.setup-level-row input{width:70px;min-width:0;background:#f5f8ff;color:#1b2942;border:1px solid #cdd9ef;border-radius:6px;padding:7px;font:inherit;font-size:14px}
.setup-level-row small{color:#69798e;font-weight:400}
.setup-level-card .level-error{color:#b42318}
.setup-level-card button{width:100%}
/* Reserved review gutter keeps every PDF dimension unobstructed at any zoom. */
.has-level-rail>div:first-child{right:280px!important}
.setup-level-rail{position:absolute;right:0;top:0;bottom:0;width:280px;box-sizing:border-box;padding:16px;background:#f7f9fd;color:#24324b;border-left:1px solid #ced8e9;overflow:auto;z-index:9;font-size:12px}
.setup-level-rail header p{font-size:12px;line-height:1.5;color:#617089}
.setup-level-rail header span{color:#4169c2;font-size:11px}
.level-review-row{padding:12px 0;border-bottom:1px solid #dce3ee}
.level-locate{display:flex;align-items:center;gap:7px;border:0!important;background:transparent!important;color:#34435a!important;text-align:left;font-size:10px!important;padding:0!important;margin-bottom:8px;line-height:1.4}
.level-locate span,.level-number{border-radius:50%;background:#4169e1;color:white;min-width:22px;height:22px;display:grid;place-items:center;font-size:11px}
.level-values{display:flex;align-items:center;gap:4px}
.level-values input{width:40px;min-width:0;padding:6px 3px;background:white;color:#24324b;border:1px solid #ced8e9;border-radius:5px;font-size:12px}
.level-values small{font-size:10px;color:#617089}
.level-values button{padding:6px!important;font-size:11px!important;border:1px solid #4169e1!important;color:#4169e1!important;background:white!important;border-radius:5px}
.level-review-row.confirmed .level-values button{color:#16754e!important;border-color:#8dc7ab!important}
.level-review-row.selected{background:#e9efff;outline:5px solid #e9efff}
.level-number-layer{position:absolute;inset:0 280px 0 0;pointer-events:none;z-index:8;overflow:hidden}
.level-number{position:absolute;pointer-events:auto;border:2px solid white!important;padding:0!important;box-shadow:0 1px 5px #18365a44;transform:translateY(-50%)}
.level-number.confirmed{background:#19845d}
.level-number[hidden]{display:none}
.setup-level-rail .level-error{color:#b42318;font-size:12px}
.level-values input{width:48px;appearance:textfield;-moz-appearance:textfield}
.level-values input::-webkit-inner-spin-button,.level-values input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inline-level-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:8}
.inline-level-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.inline-level-leaders path{stroke:#7893d0;stroke-width:1;fill:none}
.inline-level-chip{position:absolute;display:flex;align-items:center;gap:3px;padding:4px 6px;background:#fff;border:1px solid #b9c9e9;border-radius:7px;box-shadow:0 2px 7px #17305c20;color:#273b5a;pointer-events:auto;font-size:12px}
.inline-level-chip[hidden]{display:none}
.inline-level-chip input{width:34px;min-width:0;border:0;background:#f3f6fc;color:#273b5a;border-radius:3px;font:inherit;padding:3px 2px;appearance:textfield}
.inline-level-chip input:nth-of-type(2){width:42px}
.inline-level-chip input::-webkit-inner-spin-button,.inline-level-chip input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inline-level-chip button{font-size:11px!important;padding:4px 7px!important;background:#4169e1!important;color:white!important;border:0!important;border-radius:4px;min-height:23px}
.inline-level-chip.confirmed{border-color:#78b99a}
.inline-level-chip.confirmed button{background:#188258!important}
.inline-level-progress{position:absolute;bottom:15px;left:15px;background:#17263de8;color:#fff;border-radius:6px;padding:8px 12px;font-size:12px}
.inline-level-chip{display:block;padding:5px 7px;width:184px;box-sizing:border-box}
.inline-level-name{display:block;font-size:9px;font-weight:650;line-height:1.25;margin-bottom:4px;color:#52627a}
.inline-level-edit{display:flex;align-items:center;gap:5px}
.inline-level-chip .inline-level-edit input{width:103px;font-size:12px}
.inline-level-leaders .detected-level-line{stroke:#398df0;stroke-width:2;opacity:.75}
.setup-roof-layer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.setup-roof-shapes{position:absolute;width:100%;height:100%;pointer-events:none}
.setup-roof-card{position:absolute;width:180px;background:white;border:1px solid #b9c9e9;border-radius:8px;padding:9px;box-sizing:border-box;box-shadow:0 2px 8px #142c5020;color:#243750;font-size:12px;pointer-events:auto}
.setup-roof-card[hidden]{display:none}
.setup-roof-card label{display:flex;gap:6px;align-items:center;margin:6px 0}
.setup-roof-card input{width:48px;background:#f4f7fc;color:#243750;border:1px solid #cdd9ed;border-radius:4px;padding:3px}
.setup-roof-card button{font-size:10px;padding:5px;background:white;color:#315cbd;border:1px solid #b9c9e9;border-radius:4px}
.setup-roof-card>div{display:flex;justify-content:space-between;gap:4px}
.fe-editor.fe-inline{position:absolute;inset:0;z-index:30;width:auto;height:auto;max-width:none;max-height:none;margin:0;background:var(--bg);border:0;border-radius:0;display:flex;flex-direction:column;padding:10px;box-sizing:border-box}
.fe-inline .fe-canvas{flex:1;min-height:150px;position:relative}
.fe-inline .fe-header h2{font-size:15px}
.fe-inline .fe-toolbar{flex-wrap:wrap;gap:5px}
.fe-inline small{font-size:10px}
.setup-roof-card:not(.expanded){width:auto;min-width:92px;padding:4px}
.setup-roof-card:not(.expanded)>label,.setup-roof-card:not(.expanded)>div{display:none}
.setup-roof-card .roof-select{border:0;background:transparent;font-weight:650;font-size:11px;padding:2px;color:#294e91}
.setup-roof-card.selected{border:2px solid #e97916;box-shadow:0 3px 12px #b55f182e;z-index:2}
.setup-roof-card.selected .roof-select{color:#a6500d}
.setup-roof-add{position:absolute;top:14px;right:16px;pointer-events:auto;background:#4169e1!important;color:white!important;border:1px solid #7392ed!important;border-radius:7px;padding:9px 14px;box-shadow:0 2px 8px #10284b25}

/* Essential project settings in stage 3. */
.simple-framing-settings{flex:1;min-height:0;overflow:auto;padding:32px max(24px,calc((100% - 1160px)/2));}
.simple-settings-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.simple-settings-head h1{font-size:26px;margin:8px 0}.simple-settings-head p,.simple-settings-grid p{color:var(--dim);line-height:1.5}
.simple-settings-status{padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--dim);font-size:12px;margin:24px 0}
.simple-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.simple-settings-grid section{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.simple-settings-grid h2{font-size:17px;margin:0}.simple-settings-grid p{font-size:12px;min-height:36px}.simple-setting{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-size:13px}.simple-setting small{color:var(--dim);font-size:11px}.simple-setting input,.simple-setting select{width:100%;min-height:36px}.simple-framing-settings>.d-note{margin:22px 0;line-height:1.6}.simple-framing-settings footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0}.simple-framing-settings footer button{padding:10px 18px}
@media(max-width:1000px){.simple-settings-grid{grid-template-columns:1fr}.simple-settings-grid p{min-height:0}}

.wall-type-section .wall-type-cards{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.wall-type-section .wall-type-cards button{display:flex;align-items:center;gap:12px;padding:12px;text-align:left;border-radius:9px;min-height:62px}.wall-type-cards button>span:first-of-type{flex:1}.wall-type-cards strong{display:block;font-size:13px;font-weight:600}.wall-type-cards small{display:block;margin-top:5px;font-size:12px;color:var(--dim)}.wall-type-section .wall-type-cards i{width:5px;height:30px;border-radius:3px}.wall-type-cards .wall-type-check{font-size:16px}.wall-type-section .wall-type-cards button.on{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}

/* Compact general framing rules; advanced layouts stay out of the main flow. */
.simple-framing-settings{padding:32px max(24px,calc((100% - 880px)/2))}
.simple-framing-settings .simple-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
.simple-framing-settings footer{justify-content:flex-end}
@media(max-width:700px){.simple-framing-settings .simple-settings-grid{grid-template-columns:1fr}}
