@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --page:#f4f8fc;--surface:#fff;--surface-soft:#f8fbff;--primary:#0754e8;--primary-hover:#0048d6;
  --primary-soft:#eaf3ff;--border:#dfe8f3;--border-strong:#cbd9eb;--text:#1b2430;--text-secondary:#657184;
  --muted:#8b96a8;--success:#2caf69;--warning:#f7cb10;--danger:#e34f5d;--rail:164px;
  --shadow:0 2px 12px rgba(28,70,120,.05);--radius:14px;--footer:74px
}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font:400 14px/1.45 Inter,Arial,sans-serif;padding-bottom:var(--footer)}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}img{display:block;max-width:100%}
.guided-app{min-height:100vh}.guided-rail{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--rail);background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px calc(var(--footer) + 52px);transition:.22s}
.rail-logo{text-decoration:none;color:var(--primary);font-size:21px;font-weight:800;letter-spacing:-.045em;padding:0 7px 20px;white-space:nowrap}.rail-logo span{color:#1670e9}
.guided-rail nav{display:grid;gap:4px}.guided-rail nav a,.guided-rail nav button{border:0;background:transparent;text-decoration:none;border-radius:9px;min-height:43px;padding:0 10px;display:flex;align-items:center;gap:10px;color:#5f6d80;font-size:12px;text-align:left;width:100%}.guided-rail nav a:hover,.guided-rail nav button:hover{background:#f5f8fc;color:var(--primary)}.guided-rail nav .active{background:var(--primary-soft);color:var(--primary);font-weight:700}.guided-rail nav i{font-style:normal;font-size:17px;width:18px;text-align:center}
.rail-helper{margin-top:auto;border:1px solid var(--border);border-radius:12px;padding:9px;text-align:center;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:var(--shadow)}.rail-helper img{width:82px;height:82px;object-fit:contain;margin:-8px auto -2px}.rail-helper b{font-size:11px}.rail-helper p{font-size:9px;color:var(--text-secondary);margin:4px 0 9px}.rail-helper button{border:0;border-radius:7px;background:var(--primary);color:#fff;height:33px;width:100%;font-weight:600;font-size:11px}.rail-collapse{position:absolute;bottom:calc(var(--footer) + 10px);left:12px;right:12px;border:0;background:transparent;color:var(--text-secondary);font-size:11px;height:32px}.rail-helper+.rail-collapse{display:block}
.guided-page{margin-left:var(--rail);min-width:0}.guided-header{height:84px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:30}.project-heading{min-width:0}.project-heading h1{font-size:20px;line-height:1.2;margin:0 0 7px;display:flex;align-items:center;gap:6px;white-space:nowrap}.project-heading h1 span{overflow:hidden;text-overflow:ellipsis}.project-heading h1 button{border:0;background:transparent;color:var(--text-secondary);font-size:13px;padding:4px}.project-heading p{margin:0;color:var(--text-secondary);font-size:10px;display:flex;align-items:center;gap:7px}.project-heading p i{width:3px;height:3px;background:#b4becb;border-radius:50%}.project-heading p button{border:0;background:transparent;color:var(--primary);padding:0;font-size:10px}.save-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #2caf6917}.save-dot.saving{background:#f0a11f}.save-dot.error{background:var(--danger)}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.header-icon{border:0;background:transparent;color:var(--text-secondary);height:38px;padding:0 7px;font-size:12px}.header-icon span{font-size:10px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700}.mobile-menu,.mobile-brand{display:none}
.button{border:1px solid var(--border-strong);height:43px;padding:0 18px;border-radius:8px;background:#fff;font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover{border-color:#aabed7}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px #0754e825}.button.primary:hover{background:var(--primary-hover)}.button.secondary{background:#fff}.button.compact{height:38px;font-size:11px;padding:0 14px}.button.full{width:100%}
.guided-main{max-width:1260px;margin:0 auto;padding:14px 18px 26px}.desktop-stepper{height:72px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:12px;overflow:hidden}.desktop-stepper button{border:0;background:#fff;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;text-align:left;padding:0 15px;position:relative}.desktop-stepper button:not(:last-child):after{content:"";position:absolute;right:-1px;top:23px;width:1px;height:26px;background:var(--border)}.desktop-stepper i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9eef5;color:#687689;font-weight:700}.desktop-stepper b,.desktop-stepper small{display:block}.desktop-stepper b{font-size:12px}.desktop-stepper small{font-size:9px;color:var(--text-secondary);margin-top:2px}.desktop-stepper button.active{background:linear-gradient(180deg,#fff,#f7fbff)}.desktop-stepper button.active i{background:var(--primary);color:#fff}.desktop-stepper button.active b{color:var(--primary)}.desktop-stepper button.complete i{background:#e7f8ef;color:var(--success)}.desktop-stepper button.locked{opacity:.62}.mobile-stepper{display:none}
.stage-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden;scroll-margin-top:98px}.stage-heading{display:none;width:100%;height:56px;border:0;background:#fff;padding:0 18px;text-align:left;align-items:center;justify-content:space-between}.stage-heading span{display:flex;align-items:baseline;gap:7px}.stage-heading b{font-size:16px}.stage-heading small{font-size:11px;color:var(--text-secondary)}.stage-heading .stage-state{font-style:normal;font-size:10px;color:var(--text-secondary)}.stage-card.collapsed .stage-heading{display:flex}.stage-card.collapsed .stage-content{display:none}.stage-card:not(.collapsed)>.stage-heading{display:none}.stage-card.locked{opacity:.72}.stage-card.locked .stage-heading{display:flex;cursor:not-allowed}.stage-summary{display:none}.stage-card.collapsed.complete .stage-summary{display:flex;min-height:48px;border-top:1px solid var(--border);padding:9px 18px;align-items:center;gap:18px;color:var(--text-secondary);font-size:11px}.stage-summary span{white-space:nowrap}.stage-summary button{height:30px;margin-left:auto;padding:0 11px;border:1px solid #cfe0fa;border-radius:6px;background:#fff;color:var(--primary);font-size:9px;font-weight:600}.stage-card.collapsed.locked .stage-summary{display:none}.stage-content{padding:16px 18px 18px}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.section-title-row h2{font-size:16px;line-height:1.25;margin:0 0 4px}.section-title-row p{font-size:10px;color:var(--text-secondary);margin:0}.hint-button{border:1px solid #cfe0fa;border-radius:7px;background:#fff;color:var(--primary);font-size:9px;height:29px;padding:0 10px;white-space:nowrap}
.upload-row{display:grid;grid-template-columns:225px 1fr 290px;gap:12px;margin-bottom:13px}.upload-card,.url-card,.recognition-card{border:1px solid var(--border);border-radius:10px;background:#fff;min-height:88px}.upload-card{border-style:dashed;display:grid;grid-template-columns:42px 1fr;align-content:center;padding:14px 16px;cursor:pointer}.upload-card input{display:none}.upload-card .upload-icon{grid-row:1/3;align-self:center;font-size:27px;color:var(--primary)}.upload-card b{color:var(--primary);font-size:12px}.upload-card small{font-size:9px;color:var(--text-secondary)}.upload-card.has-file{background:#f1f7ff;border-style:solid;border-color:#aac9fb}.url-card{padding:12px}.url-card label{font-size:10px;font-weight:600;display:block;margin-bottom:7px}.url-card>div{display:grid;grid-template-columns:1fr 82px;gap:7px}.url-card input,.catalog-search input{height:35px;border:1px solid var(--border);border-radius:6px;padding:0 10px;font-size:10px;min-width:0}.url-card button{border:0;background:var(--primary);color:#fff;border-radius:6px;font-size:10px;font-weight:600}.recognition-card{padding:13px 14px}.recognition-card>div{display:flex;justify-content:space-between;font-size:10px}.recognition-card strong{font-size:10px}.progress{height:7px;background:#e8eef7;border-radius:8px;display:block;margin:11px 0 8px;overflow:hidden}.progress i{display:block;width:0;height:100%;background:var(--primary);border-radius:inherit;transition:.3s}.recognition-card small{color:var(--text-secondary);font-size:9px}.recognition-card.success small{color:var(--success)}
.room-selector-wrap>p{font-size:10px;font-weight:600;margin:0 0 8px}.room-selector{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}.room-chip{flex:0 0 135px;height:49px;border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 9px;display:grid;grid-template-columns:24px 1fr;text-align:left;align-items:center}.room-chip i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#66758a;color:#fff;font-size:10px;font-weight:700}.room-chip b,.room-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-chip b{font-size:10px}.room-chip small{font-size:8px;color:var(--text-secondary);margin-top:2px}.room-chip.active{border:2px solid var(--primary);background:var(--primary-soft)}.room-chip.active i{background:var(--primary)}
.plan-workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:13px;margin-top:10px}.plan-canvas{min-height:390px;border:1px solid var(--border);border-radius:10px;background:#fbfdff;display:grid;place-items:center;overflow:hidden;position:relative}.empty-plan{text-align:center;color:var(--text-secondary)}.empty-plan span{display:block;font-size:34px;color:var(--primary)}.empty-plan b{display:block;color:var(--text);margin:7px}.empty-plan p{font-size:10px}.plan-media{position:relative;max-width:92%;max-height:370px;transform-origin:center;transition:transform .2s}.plan-media img{width:100%;height:100%;object-fit:contain}.plan-media svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.plan-room{fill:#0754e800;stroke:transparent;stroke-width:.45;cursor:pointer;transition:.15s}.plan-room:hover{fill:#0754e81a;stroke:#0754e8}.plan-room.active{fill:#0754e82f;stroke:#0754e8;stroke-width:.65}.plan-marker{fill:var(--primary);stroke:#fff;stroke-width:.6;cursor:pointer}.plan-marker-text{fill:#fff;font-size:3.2px;font-weight:800;text-anchor:middle;dominant-baseline:central;pointer-events:none}.plan-tools{position:absolute;z-index:4;display:grid;gap:4px}.plan-tools button{width:34px;height:34px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#5d6a7c}.plan-tools button:hover,.plan-tools button.active{background:var(--primary);border-color:var(--primary);color:#fff}.top-tools{top:12px;left:12px}.zoom-tools{bottom:12px;left:12px}.room-properties{border:1px solid var(--border);border-radius:10px;padding:15px;background:#fff;min-height:390px}.room-properties h3{font-size:12px;margin:0 0 15px}.property-grid{display:grid;gap:9px}.property-grid label{display:grid;grid-template-columns:1fr 104px;align-items:center;gap:8px;font-size:9px;color:var(--text-secondary)}.property-grid input,.property-grid select{width:100%;height:31px;border:1px solid var(--border);border-radius:6px;padding:0 8px;text-align:right;background:#fff;color:var(--text);font-size:10px}.property-link{display:flex;justify-content:space-between;font-size:9px;color:var(--text-secondary);padding:5px 0}.property-link button{border:0;background:transparent;color:var(--primary);font-size:9px}.room-actions{display:grid;gap:7px;margin-top:12px}.room-actions button{height:34px;border:1px solid var(--border);background:#fff;border-radius:7px;font-size:9px}.room-actions .danger{color:var(--danger);border-color:#f4cfd4}.plan-note{font-size:9px;color:var(--text-secondary);margin:9px 0 0}.stage-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:15px}.stage-actions span{font-size:10px;color:var(--text-secondary);margin-right:auto}
.rooms-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.room-review{border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;grid-template-columns:32px 1fr repeat(3,110px);gap:10px;align-items:center}.room-review>i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-style:normal;font-weight:700}.room-review b{font-size:12px}.room-review label{font-size:8px;color:var(--text-secondary)}.room-review input{display:block;width:100%;height:32px;border:1px solid var(--border);border-radius:6px;padding:0 7px;margin-top:3px}
.works-layout{display:grid;grid-template-columns:220px minmax(390px,1fr) 245px;gap:12px}.works-layout h3{font-size:10px;margin:0 0 9px}.repair-presets{display:grid;gap:7px}.preset-card{width:100%;min-height:58px;border:1px solid var(--border);border-radius:8px;background:#fff;display:grid;grid-template-columns:32px 1fr;text-align:left;gap:8px;padding:9px}.preset-card>i{font-style:normal;font-size:22px}.preset-card b,.preset-card small{display:block}.preset-card b{font-size:10px}.preset-card small{font-size:8px;color:var(--text-secondary);margin-top:2px}.preset-card.active{border:2px solid var(--primary);background:var(--primary-soft);color:var(--primary)}.work-categories-column,.works-result{border:1px solid var(--border);border-radius:9px;padding:11px}.column-head{display:flex;justify-content:space-between}.column-head button{border:0;background:transparent;color:var(--primary);font-size:9px}.work-categories{display:grid}.work-category-row{display:grid;grid-template-columns:22px 1fr auto 22px;align-items:center;gap:7px;min-height:34px;border-bottom:1px solid #edf2f7;font-size:9px}.work-category-row:last-child{border:0}.work-category-row input{accent-color:var(--primary)}.work-category-row span{color:var(--text-secondary);font-size:8px}.work-category-row button{border:0;background:transparent;color:var(--primary);padding:0}.works-result{padding:15px;display:flex;flex-direction:column}.works-result>span,.works-result>small{color:var(--text-secondary);font-size:9px}.works-result>b{font-size:22px;margin:3px 0}.works-result dl{margin:17px 0;display:grid;gap:10px}.works-result dl div{display:flex;justify-content:space-between}.works-result dt{font-size:9px;color:var(--text-secondary)}.works-result dd{font-size:11px;font-weight:700;margin:0}.works-result .button{margin-top:auto;width:100%}.helper-inline{display:flex;align-items:center;justify-content:flex-end;margin-top:4px;padding-right:20px}.helper-inline img{width:58px;height:58px;object-fit:contain}.helper-inline p{border:1px solid var(--border);border-radius:8px;padding:7px 10px;margin:0;max-width:245px}.helper-inline b,.helper-inline span{display:block}.helper-inline b{font-size:9px}.helper-inline span{font-size:8px;color:var(--text-secondary);margin-top:2px}
.estimate-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.65fr);gap:12px}.estimate-panel,.catalog-panel{border:1px solid var(--border);border-radius:10px;overflow:hidden}.estimate-toolbar{min-height:60px;padding:10px 12px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.estimate-toolbar b{display:block;font-size:10px}.segment{display:flex;margin-top:7px}.segment button{height:25px;border:1px solid var(--border);background:#fff;color:var(--text-secondary);font-size:8px;padding:0 9px}.segment button:first-child{border-radius:5px 0 0 5px}.segment button:last-child{border-radius:0 5px 5px 0}.segment button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.estimate-metrics{display:flex}.estimate-metrics div{padding:0 12px;border-left:1px solid var(--border);min-width:82px}.estimate-metrics span,.estimate-metrics b{display:block}.estimate-metrics span{font-size:7px;color:var(--text-secondary)}.estimate-metrics b{font-size:10px;margin-top:5px}.estimate-table-wrap{overflow:auto}.guided-estimate-table{border-collapse:collapse;width:100%;min-width:680px;table-layout:fixed}.guided-estimate-table th{height:34px;padding:0 8px;background:#f6f9fc;border-bottom:1px solid var(--border);font-size:8px;color:var(--text-secondary);font-weight:500;text-align:right}.guided-estimate-table th:first-child{text-align:left;width:31%}.guided-estimate-table td{height:31px;padding:4px 8px;border-bottom:1px solid #edf2f7;font-size:8px;text-align:right}.guided-estimate-table td:first-child{text-align:left}.guided-estimate-table tr.room-group td{background:#f8fbff;font-weight:700;font-size:9px;height:34px}.guided-estimate-table tr.room-group button{border:0;background:transparent;color:var(--primary);font-weight:700}.guided-estimate-table input{width:68px;height:23px;border:1px solid transparent;border-radius:4px;text-align:right;font-size:8px;background:transparent}.guided-estimate-table input:hover,.guided-estimate-table input:focus{background:#fff;border-color:#a8c4ef;outline:0}.estimate-warning{margin:8px;border:1px solid #f2d98b;border-radius:6px;background:#fffaf0;padding:8px 10px;color:#8c6a10;font-size:8px}.estimate-warning button{border:0;background:transparent;color:var(--primary);font-size:8px}.catalog-head{padding:11px;border-bottom:1px solid var(--border)}.catalog-head b{font-size:10px}.som-badge{font-size:7px;background:var(--primary);color:#fff;padding:2px 4px;border-radius:3px;margin-left:4px}.catalog-search{display:grid;grid-template-columns:1fr 30px 30px;gap:4px;margin-top:8px}.catalog-search input{height:31px}.catalog-search button{border:1px solid var(--border);background:#fff;border-radius:5px}.material-cards{padding:7px;display:grid;gap:7px;max-height:390px;overflow:auto}.material-card{border:1px solid var(--border);border-radius:7px;padding:7px;display:grid;grid-template-columns:64px 1fr 30px;gap:8px;align-items:center}.material-card img{width:64px;height:64px;object-fit:contain;border-radius:5px;background:#fff}.material-card b,.material-card small,.material-card strong,.material-card span{display:block}.material-card b{font-size:8px;line-height:1.3}.material-card small{font-size:7px;color:var(--text-secondary);margin:3px 0}.material-card span{font-size:7px;color:var(--success)}.material-card strong{font-size:10px;margin-top:3px}.material-card>a{width:29px;height:29px;border-radius:5px;background:var(--primary);color:#fff;text-decoration:none;display:grid;place-items:center}.catalog-more{width:100%;height:31px;border:0;border-top:1px solid var(--border);background:#fff;color:var(--primary);font-size:8px}
.guided-estimate-table tr.estimate-more td{text-align:center;background:#fbfdff}.guided-estimate-table tr.estimate-more button{border:0;background:transparent;color:var(--primary);font-size:8px;font-weight:600}.design-tabs{height:39px;border-bottom:1px solid var(--border);display:flex;gap:4px}.design-tabs button{border:0;background:#fff;min-width:58px;font-size:9px;position:relative}.design-tabs button.active{color:var(--primary);font-weight:700}.design-tabs button.active:after{content:"";position:absolute;height:2px;background:var(--primary);bottom:0;left:12px;right:12px}.design-controls{display:grid;grid-template-columns:130px 150px 170px 190px 160px 1fr;align-items:end;gap:12px;padding:11px 0}.design-controls>label{font-size:8px;color:var(--text-secondary)}.design-controls select{width:100%;height:32px;border:1px solid var(--border);border-radius:6px;background:#fff;padding:0 8px;margin-top:5px;font-size:9px}.toggle-row{display:flex;align-items:center;gap:7px;height:32px;color:var(--text)!important}.toggle-row input{display:none}.toggle-row i{width:29px;height:17px;border-radius:18px;background:#ccd6e4;position:relative}.toggle-row i:after{content:"";position:absolute;width:13px;height:13px;top:2px;left:2px;background:#fff;border-radius:50%;transition:.2s}.toggle-row input:checked+i{background:var(--primary)}.toggle-row input:checked+i:after{left:14px}.palette{display:flex;gap:3px;margin-top:8px}.palette button{width:23px;height:23px;border:2px solid #fff;box-shadow:0 0 0 1px #d2dae5;border-radius:4px;background:var(--c)}.palette button.active{box-shadow:0 0 0 2px var(--primary)}.reference-stack{display:flex;height:32px;margin-top:5px}.reference-stack img,.reference-stack button{width:32px;height:32px;object-fit:cover;border:1px solid var(--border);background:#fff;margin-right:4px;border-radius:5px}.design-status{border:1px solid #b8d2fb;background:#f2f7ff;border-radius:8px;padding:10px;display:flex;align-items:center;gap:10px;margin-bottom:9px}.design-status div{flex:1}.design-status b,.design-status small{display:block}.design-status b{font-size:10px}.design-status small{font-size:8px;color:var(--text-secondary)}.design-status strong{font-size:11px;color:var(--primary)}.spinner{width:22px;height:22px;border:3px solid #d5e5ff;border-top-color:var(--primary);border-radius:50%;animation:spin .85s linear infinite}.design-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.design-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;min-width:0;position:relative}.design-card.active{border:2px solid var(--primary)}.design-image{height:155px;background:#f0f4f8;position:relative;overflow:hidden}.design-image img{width:100%;height:100%;object-fit:cover}.design-image .pending-design{height:100%;display:grid;place-items:center;text-align:center;padding:10px;color:var(--text-secondary);font-size:8px}.design-image .pending-design span{font-size:26px;color:var(--primary);display:block}.before-after{position:absolute;top:6px;left:6px;display:flex}.before-after span{background:#fff;color:var(--text);font-size:7px;padding:3px 5px}.before-after span:last-child{background:#e7f8ef;color:var(--success)}.design-card footer{padding:7px}.design-card b,.design-card small{display:block}.design-card b{font-size:9px}.design-card small{font-size:7px;color:var(--text-secondary)}.design-card button{width:100%;border:1px solid #c6d9f5;background:#fff;color:var(--primary);border-radius:5px;margin-top:5px;height:25px;font-size:7px}.generate-all{display:block;margin:12px auto 0}.design-spec{margin-top:12px;display:grid;grid-template-columns:1.35fr repeat(3,1fr) 1.05fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.spec-column{padding:11px;border-right:1px solid var(--border);min-height:135px}.spec-column:last-child{border:0}.spec-column h3{font-size:9px;margin:0 0 7px}.spec-column p,.spec-column li,.spec-column a{font-size:7px;color:var(--text-secondary);margin:3px 0}.spec-column ul{margin:0;padding-left:12px}.spec-column strong{font-size:14px}.spec-column a{display:block;color:var(--primary);text-decoration:none}.cost-list div{display:flex;justify-content:space-between;font-size:7px;margin-bottom:6px}.cost-list .total{border-top:1px solid var(--border);padding-top:7px;font-weight:700;color:var(--text)}
.sticky-total{position:fixed;z-index:45;left:var(--rail);right:0;bottom:0;height:var(--footer);background:#fff;border-top:1px solid var(--border-strong);display:grid;grid-template-columns:98px 190px repeat(3,130px) minmax(170px,1fr) 118px 92px 108px;align-items:center;box-shadow:0 -5px 22px #2c56891a;padding:0 12px}.sticky-total>div{padding:0 13px;border-right:1px solid var(--border)}.sticky-total span,.sticky-total b{display:block}.sticky-total span{font-size:8px;color:var(--text-secondary);text-transform:uppercase}.sticky-total b{font-size:11px;margin-top:4px}.grand-total b{font-size:20px}.collapse-total{border:0;background:transparent;color:var(--text-secondary);font-size:10px}.calculate-button{height:43px;border:0;border-radius:7px;background:var(--warning);font-weight:700;font-size:11px;margin:0 10px}.export-button{border:0;background:#fff;height:43px;display:flex;align-items:center;gap:6px;justify-content:center;font-size:9px}.export-button i{font-style:normal;color:var(--primary);font-size:12px}.export-button .pdf{color:var(--danger);font-size:7px;border:1px solid var(--danger);padding:2px}.export-button .xls{color:#1e9f59;font-weight:800}
.guided-dialog{border:0;border-radius:14px;padding:0;box-shadow:0 25px 80px #0f315044;width:min(620px,calc(100% - 28px))}.guided-dialog::backdrop{background:#1633528a;backdrop-filter:blur(3px)}.guided-dialog form,.guided-dialog>div{padding:25px;position:relative}.guided-dialog h2{margin:0 0 5px;font-size:20px}.guided-dialog p{color:var(--text-secondary);font-size:11px}.guided-dialog label{display:grid;gap:5px;font-size:10px;color:var(--text-secondary);margin:10px 0}.guided-dialog input,.guided-dialog select{border:1px solid var(--border);border-radius:7px;height:40px;padding:0 10px;background:#fff}.dialog-close{position:absolute;right:13px;top:9px;border:0;background:transparent;color:var(--text-secondary);font-size:24px}.dialog-logo{color:var(--primary);font-weight:800;font-size:22px;text-decoration:none}.auth-dialog{max-width:430px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#edf3f9;padding:3px;border-radius:8px}.auth-tabs button{height:36px;border:0;border-radius:6px;background:transparent}.auth-tabs button.active{background:#fff;box-shadow:var(--shadow)}.auth-dialog form[data-mode=login] .register-only{display:none}.form-error{color:var(--danger)!important;min-height:18px}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.url-results{display:grid;gap:10px;max-height:65vh;overflow:auto}.url-result{border:1px solid var(--border);border-radius:9px;padding:9px;display:grid;grid-template-columns:120px 1fr;gap:10px}.url-result img{width:120px;height:95px;object-fit:contain}.url-result button{height:32px;border:0;background:var(--primary);color:#fff;border-radius:6px;font-size:9px}.works-dialog-list{max-height:56vh;overflow:auto}.dialog-work-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:9px 0;font-size:10px}.versions-list,.version-row{display:grid;gap:8px}.version-row{grid-template-columns:55px 1fr auto;border:1px solid var(--border);border-radius:8px;padding:10px;align-items:center}.version-row button{border:1px solid var(--border);background:#fff;color:var(--primary);border-radius:6px;height:32px}.toast{position:fixed;z-index:100;left:50%;bottom:95px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#162235;color:#fff;padding:10px 15px;border-radius:8px;font-size:11px;transition:.2s;max-width:min(440px,calc(100% - 24px));text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.screen-overlay{display:none;position:fixed;z-index:38;inset:0;background:#17304c88}.screen-overlay.show{display:block}
.guided-app.rail-mini{--rail:72px}.guided-app.rail-mini .rail-logo{font-size:0}.guided-app.rail-mini .rail-logo:after{content:"S";font-size:22px}.guided-app.rail-mini .guided-rail nav span,.guided-app.rail-mini .rail-helper{display:none}.guided-app.rail-mini .guided-rail nav a,.guided-app.rail-mini .guided-rail nav button{justify-content:center}.guided-app.rail-mini .rail-collapse{font-size:0}.guided-app.rail-mini .rail-collapse span{font-size:18px;transform:rotate(180deg)}
.plan-vertex{fill:#fff;stroke:var(--primary);stroke-width:.75;cursor:grab}.plan-vertex:active{fill:var(--primary);cursor:grabbing}.plan-canvas.pan-mode{cursor:grab}.plan-canvas.pan-mode:active{cursor:grabbing}.plan-canvas.edit-mode .plan-room.active{fill:#0754e83d;stroke-dasharray:2 1}.line-room-count{display:block;color:var(--text-secondary);font-size:7px;margin-top:2px}.material-cards.compact .material-card{grid-template-columns:42px 1fr 30px;padding:5px}.material-cards.compact .material-card img{width:42px;height:42px}.material-cards.compact .material-card span{display:none}.reference-thumb{position:relative;width:32px;height:32px;margin-right:4px;display:inline-block}.reference-thumb img{width:32px!important;height:32px!important;margin:0!important}.reference-thumb button{position:absolute;right:-3px;top:-5px;width:16px!important;height:16px!important;margin:0!important;border-radius:50%!important;background:#fff!important;color:var(--danger);font-size:11px;line-height:1}.design-spatial-view{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:14px;border:1px solid var(--border);border-radius:10px;padding:16px;background:#f8fbff;min-height:365px}.spatial-plan{display:grid;place-items:center;min-height:330px;perspective:950px;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#eef5fc,#fff)}.spatial-board{position:relative;width:min(86%,620px);transform-origin:center;transition:transform .25s}.spatial-board img{width:100%;filter:contrast(1.03)}.spatial-board svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.spatial-plan.is-3d .spatial-board{transform:rotateX(56deg) rotateZ(calc(var(--rotation) - 54deg)) scale(.86);filter:drop-shadow(0 30px 18px #183d652e)}.spatial-plan.is-3d .plan-room{fill:#0754e826;stroke:#0754e8;stroke-width:.45}.design-spatial-view>aside{padding:18px 10px}.spatial-kicker{font-size:9px;color:var(--primary);font-weight:700;text-transform:uppercase}.design-spatial-view h3{font-size:17px;margin:7px 0}.design-spatial-view p{font-size:10px;color:var(--text-secondary)}.rotation-control{display:grid;gap:5px;font-size:9px;color:var(--text-secondary);margin:14px 0}.rotation-control input{accent-color:var(--primary)}.spatial-rooms{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.spatial-rooms button{min-height:44px;border:1px solid var(--border);border-radius:7px;background:#fff;display:grid;grid-template-columns:24px 1fr;align-items:center;text-align:left;font-size:9px}.spatial-rooms button.active{border-color:var(--primary);background:var(--primary-soft)}.spatial-rooms i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}.spatial-rooms small{display:block;color:var(--text-secondary);font-size:7px}.substitutions-list{display:grid;gap:8px;max-height:58vh;overflow:auto;margin-top:14px}.substitutions-list article{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px}.substitutions-list img{width:58px;height:58px;object-fit:contain}.substitutions-list b,.substitutions-list span,.substitutions-list strong{display:block}.substitutions-list b{font-size:10px}.substitutions-list span{font-size:8px;color:var(--text-secondary);margin:3px 0}.substitutions-list a{color:var(--primary);font-size:9px;text-decoration:none}.sticky-total.mini{height:54px;grid-template-columns:90px 190px minmax(200px,1fr)}.sticky-total.mini .sticky-metric,.sticky-total.mini .export-button{display:none}.sticky-total.mini .calculate-button{justify-self:end;width:230px}.sticky-total.mini .grand-total b{font-size:17px}
/* Desktop proportions follow the approved 607 x 1280 reference. */
@media (min-width:1181px){
  :root{--rail:184px;--footer:84px}
  .guided-header{height:96px}
  .desktop-stepper{height:84px}
  .desktop-stepper button:not(:last-child):after{top:29px}
  .plan-canvas,.room-properties{min-height:556px}
  .plan-media{max-height:526px}
  .stage-card.collapsed .stage-heading{height:42px}
  .stage-card.collapsed.complete .stage-summary{min-height:40px;padding-top:5px;padding-bottom:5px}
  .work-category-row{min-height:30px}
  .estimate-toolbar{min-height:52px;padding:6px 10px}
  .guided-estimate-table th{height:28px}
  .guided-estimate-table td{height:27px;padding:2px 7px}
  .guided-estimate-table tr.room-group td{height:30px}
  .guided-estimate-table tr.estimate-more td{height:24px;padding-top:1px;padding-bottom:1px}
  .estimate-warning{margin:5px;padding:5px 8px}
  .material-cards{max-height:310px}
  .guided-estimate-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
  .design-image{height:190px}
  .spec-column{min-height:170px}
}

@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:1180px){
  :root{--rail:132px}.guided-main{padding-left:12px;padding-right:12px}.upload-row{grid-template-columns:190px 1fr 230px}.plan-workspace{grid-template-columns:minmax(0,1fr) 235px}.works-layout{grid-template-columns:190px minmax(330px,1fr) 205px}.estimate-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr)}.design-controls{grid-template-columns:repeat(3,1fr)}.sticky-total{grid-template-columns:70px 160px repeat(3,105px) minmax(150px,1fr) 90px 72px 82px}.export-button span{display:none}
}
@media(max-width:900px){
  :root{--rail:0px;--footer:70px}.guided-rail{width:280px;transform:translateX(-100%);padding-bottom:16px;box-shadow:18px 0 50px #12304a2b}.guided-rail.open{transform:translateX(0)}.rail-helper+.rail-collapse{display:block;bottom:8px}.guided-page{margin-left:0}.guided-header{height:64px;padding:0 14px}.mobile-menu{display:grid;place-items:center;width:40px;height:40px;border:0;background:#f1f6fc;border-radius:8px;margin-right:10px}.mobile-brand{display:block;color:var(--primary);font-size:15px;font-weight:800}.project-heading h1{font-size:13px;margin:2px 0 0}.project-heading p{display:none}.header-tools .header-icon,.header-tools .avatar,.header-tools .secondary{display:none}.header-tools .primary{font-size:0;width:42px;padding:0}.header-tools .primary:before{content:"✓";font-size:15px}.guided-main{padding:10px 10px 24px}.desktop-stepper{display:none}.mobile-stepper{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);border-radius:11px;padding:10px 12px;margin-bottom:10px;position:sticky;top:72px;z-index:20}.mobile-stepper span,.mobile-stepper b{display:block}.mobile-stepper span{font-size:9px;color:var(--text-secondary)}.mobile-stepper b{font-size:13px;margin-top:2px}.mobile-progress{width:42%;height:6px;background:#e8eef6;border-radius:7px;overflow:hidden}.mobile-progress i{height:100%;display:block;background:var(--primary);width:20%;transition:.2s}.stage-card{scroll-margin-top:126px}.stage-card:not(.collapsed)>.stage-heading{display:flex;border-bottom:1px solid var(--border)}.stage-card:not(.collapsed)>.stage-heading .stage-state{display:none}.stage-content{padding:14px}.section-title-row h2{font-size:15px}.section-title-row p{font-size:11px}.hint-button{display:none}.upload-row{grid-template-columns:1fr}.upload-card,.url-card,.recognition-card{min-height:84px}.room-selector{scroll-snap-type:x mandatory;margin-right:-14px}.room-chip{scroll-snap-align:start;flex-basis:145px;min-height:54px}.plan-workspace{display:block}.plan-canvas{min-height:350px}.room-properties{margin-top:10px;min-height:0}.plan-tools{display:none}.rooms-review-grid{grid-template-columns:1fr}.room-review{grid-template-columns:32px 1fr 1fr}.room-review label:nth-last-child(-n+2){grid-column:2/4}.works-layout{grid-template-columns:1fr}.repair-presets{grid-template-columns:repeat(2,1fr)}.preset-card{min-height:74px}.work-category-row{min-height:43px;font-size:10px}.helper-inline{justify-content:center}.estimate-layout{grid-template-columns:1fr}.estimate-panel{border:0;overflow:visible}.estimate-toolbar{border:1px solid var(--border);border-radius:9px}.estimate-table-wrap{overflow:visible}.guided-estimate-table{min-width:0;display:block}.guided-estimate-table thead{display:none}.guided-estimate-table tbody{display:grid;gap:8px}.guided-estimate-table tr{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff}.guided-estimate-table tr.room-group{display:flex;justify-content:space-between;background:#f2f7ff}.guided-estimate-table td{border:0;height:auto;padding:4px;text-align:left!important}.guided-estimate-table td:first-child{grid-column:1/4;font-weight:600}.guided-estimate-table td:before{content:attr(data-label);display:block;font-size:7px;color:var(--text-secondary)}.guided-estimate-table input{width:100%;text-align:left}.catalog-panel{margin-top:2px}.material-cards{max-height:none}.material-card{grid-template-columns:72px 1fr 38px}.material-card img{width:72px;height:72px}.design-controls{grid-template-columns:1fr 1fr}.design-gallery{display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-14px;padding-bottom:8px}.design-card{flex:0 0 76%;scroll-snap-align:start}.design-image{height:230px}.design-spec{grid-template-columns:1fr}.spec-column{border-right:0;border-bottom:1px solid var(--border)}.stage-actions{position:sticky;bottom:calc(var(--footer) + 5px);z-index:10;background:#ffffffef;border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 6px 20px #153b651c}.stage-actions span{display:none}.stage-actions .button{width:100%}.sticky-total{left:0;height:var(--footer);grid-template-columns:1fr 148px;padding:0 10px;padding-bottom:env(safe-area-inset-bottom)}.sticky-total .collapse-total,.sticky-total .sticky-metric,.sticky-total .export-button{display:none}.sticky-total .grand-total{border:0;padding:0}.sticky-total .grand-total b{font-size:18px}.calculate-button{margin:0;height:46px}.toast{bottom:86px}
}
@media(max-width:520px){
  body{font-size:15px}.guided-main{padding-left:8px;padding-right:8px}.stage-content{padding:13px 11px}.stage-heading{padding:0 12px}.stage-heading span{display:grid;gap:0}.stage-heading b{font-size:14px}.section-title-row h2{font-size:15px}.upload-card{grid-template-columns:38px 1fr}.plan-canvas{min-height:310px}.room-properties{padding:13px}.property-grid label{grid-template-columns:1fr 115px;font-size:10px}.rooms-review-grid{gap:8px}.room-review{grid-template-columns:30px 1fr}.room-review label{grid-column:1/3!important}.repair-presets{grid-template-columns:1fr}.works-result{min-height:230px}.estimate-toolbar{display:block}.estimate-metrics{margin-top:10px;overflow:auto}.estimate-metrics div:first-child{border-left:0;padding-left:0}.design-controls{grid-template-columns:1fr}.design-card{flex-basis:88%}.design-image{height:215px}.dialog-grid{grid-template-columns:1fr}.header-tools{gap:0}.guided-dialog form,.guided-dialog>div{padding:20px 16px}.grand-total span{font-size:7px}.sticky-total{grid-template-columns:1fr 132px}.calculate-button{font-size:10px}
}
@media(max-width:900px){
  .mobile-menu,.header-tools .primary{width:44px;height:44px}.stage-heading{min-height:60px}.url-card input,.url-card button,.catalog-search input,.catalog-search button{height:44px}.catalog-search{grid-template-columns:1fr 44px 44px}.work-category-row{min-height:48px;font-size:12px}.property-link button{min-height:44px}.room-actions button{height:44px;font-size:11px}.guided-estimate-table input{min-height:40px;font-size:11px}.material-card{grid-template-columns:72px 1fr 44px}.material-card>a{width:44px;height:44px}.material-card b{font-size:11px}.material-card small,.material-card span{font-size:9px}.material-card strong{font-size:12px}.design-card button{height:40px;font-size:10px}.stage-summary{flex-wrap:wrap}.stage-summary button{height:40px}.design-spatial-view{grid-template-columns:1fr;padding:10px;min-height:0}.spatial-plan{min-height:285px}.design-spatial-view>aside{padding:8px}.spatial-rooms{grid-template-columns:1fr}.substitutions-list article{grid-template-columns:54px 1fr}.substitutions-list article>a{grid-column:2}.sticky-total.mini{grid-template-columns:1fr 132px}.sticky-total.mini .collapse-total{display:none}.sticky-total.mini .calculate-button{width:auto;justify-self:stretch}
}
@media print{.guided-rail,.guided-header,.desktop-stepper,.mobile-stepper,.sticky-total,.stage-actions{display:none!important}.guided-page{margin:0}.stage-card{break-inside:avoid}.stage-card.collapsed .stage-content{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Reference-accurate visual system: crisp line icons, denser cards and readable type. */
.ui-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.guided-rail nav .ui-icon{width:18px;height:18px}.project-heading h1 .ui-icon{width:15px;height:15px}.header-icon{display:inline-flex;align-items:center;gap:5px}.header-icon>.ui-icon{width:17px;height:17px}.mobile-menu>.ui-icon{width:22px;height:22px}
.button>.ui-icon,.calculate-button>.ui-icon{width:17px;height:17px}.plan-tools .ui-icon{width:17px;height:17px}.empty-plan .ui-icon{width:36px;height:36px}.upload-icon .ui-icon{width:29px;height:29px}.room-actions button{display:flex;align-items:center;justify-content:center;gap:7px}.room-actions .ui-icon{width:15px;height:15px}.preset-card>i{display:grid;place-items:center;color:#5f6f84}.preset-card>i .ui-icon{width:22px;height:22px}.preset-card.active>i{color:var(--primary)}.catalog-search .ui-icon,.material-card>a .ui-icon{width:15px;height:15px}.export-button>.ui-icon{width:16px;height:16px;color:var(--primary)}
.stage-card,.desktop-stepper{box-shadow:0 2px 10px rgba(31,70,112,.045)}.stage-card{border-radius:11px}.button{border-radius:7px}.section-title-row h2{letter-spacing:-.015em}.room-properties,.estimate-panel,.catalog-panel,.design-card,.work-categories-column,.works-result{box-shadow:0 1px 3px rgba(31,70,112,.025)}
.estimate-actions .button.secondary{color:var(--primary);border-color:#bad1f6}.estimate-actions .button.secondary:hover{background:var(--primary-soft)}
.design-plan-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #cfe0fa;background:linear-gradient(90deg,#f5f9ff,#fff);border-radius:8px;padding:9px 11px;margin:0 0 10px}.design-plan-actions>div{display:flex;align-items:center;gap:9px;min-width:0}.design-plan-actions>div>.ui-icon{width:21px;height:21px;color:var(--primary)}.design-plan-actions b,.design-plan-actions small{display:block}.design-plan-actions b{font-size:10px}.design-plan-actions small{font-size:8px;color:var(--text-secondary);margin-top:2px}.design-plan-actions .button{height:34px;font-size:9px;white-space:nowrap;color:var(--primary);border-color:#bad1f6}
.pending-design>div{display:grid;justify-items:center;gap:7px}.pending-design .ui-icon{width:30px;height:30px;color:var(--primary)}.pending-design span{font-size:8px!important;color:var(--text-secondary)!important}
.spatial-board{width:min(92%,700px)}.spatial-board img{margin:auto;max-height:540px;object-fit:contain}.spatial-board .generated-plan-image{filter:none;filter:drop-shadow(0 15px 18px rgba(27,63,105,.14));border-radius:7px}.spatial-board .source-plan-image{opacity:.3;filter:grayscale(.5)}.plan-generation-placeholder{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(280px,78%);display:grid;justify-items:center;text-align:center;gap:6px;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:10px;padding:18px;box-shadow:0 12px 35px rgba(34,70,110,.13);backdrop-filter:blur(5px)}.plan-generation-placeholder .ui-icon{width:30px;height:30px;color:var(--primary)}.plan-generation-placeholder b{font-size:12px}.plan-generation-placeholder span{font-size:9px;color:var(--text-secondary)}.spatial-generation-state{display:flex;align-items:flex-start;gap:7px;border:1px solid var(--border);border-radius:7px;padding:8px;margin:11px 0;color:var(--text-secondary);font-size:8px}.spatial-generation-state .ui-icon{width:16px;height:16px;color:var(--primary)}.spatial-generation-state.ready{border-color:#bde5cf;background:#f1fbf5;color:#357153}.spatial-generation-state.ready .ui-icon{color:var(--success)}.spatial-actions{display:flex;gap:6px}.spatial-actions .button{height:34px;padding:0 11px;font-size:9px;text-decoration:none;flex:1}.spatial-plan.has-generated-plan{background:linear-gradient(145deg,#f4f8fc,#fff)}
.sticky-total{grid-template-columns:86px 180px repeat(3,112px) minmax(180px,1fr) 108px 76px 104px 104px}.calculate-button{display:flex;align-items:center;justify-content:center;gap:7px}.materials-export{color:var(--primary)}

@media (min-width:1181px){
  .guided-main{max-width:1280px}.guided-rail nav a,.guided-rail nav button{font-size:13px}.project-heading h1{font-size:21px}.project-heading p,.project-heading p button{font-size:11px}.desktop-stepper b{font-size:13px}.desktop-stepper small{font-size:10px}.section-title-row h2{font-size:17px}.section-title-row p{font-size:11px}.hint-button{font-size:10px}.upload-card b{font-size:13px}.upload-card small,.url-card label,.url-card input,.url-card button,.recognition-card>div,.recognition-card strong,.recognition-card small{font-size:10px}.room-selector-wrap>p{font-size:11px}.room-chip b{font-size:11px}.room-chip small{font-size:9px}.room-properties h3{font-size:13px}.property-grid label,.property-link,.property-link button,.room-actions button{font-size:10px}.plan-note,.stage-actions span{font-size:10px}.works-layout h3,.preset-card b,.estimate-toolbar b,.catalog-head b{font-size:11px}.preset-card small,.work-category-row span,.helper-inline span{font-size:9px}.work-category-row{font-size:10px}.works-result>span,.works-result>small,.works-result dt,.helper-inline b{font-size:10px}.guided-estimate-table th,.guided-estimate-table td,.estimate-warning,.estimate-warning button{font-size:9px}.guided-estimate-table tr.room-group td{font-size:10px}.estimate-metrics span{font-size:8px}.estimate-metrics b{font-size:11px}.material-card b{font-size:9px}.material-card small,.material-card span{font-size:8px}.design-tabs button{font-size:10px}.design-controls>label{font-size:9px}.design-controls select{font-size:10px}.design-card b{font-size:10px}.design-card small,.design-card button{font-size:8px}.spec-column h3{font-size:10px}.spec-column p,.spec-column li,.spec-column a,.cost-list div{font-size:8px}.design-plan-actions b{font-size:11px}.design-plan-actions small{font-size:9px}
}

@media(max-width:1180px) and (min-width:901px){.sticky-total{grid-template-columns:62px 145px repeat(3,92px) minmax(145px,1fr) repeat(4,62px)}.materials-export span{display:none}}
@media(max-width:900px){
  .ui-icon{stroke-width:2}.section-title-row{margin-bottom:12px}.stage-content{overflow:hidden}.stage-actions.estimate-actions{position:static;display:grid;grid-template-columns:1fr 1fr;box-shadow:none}.stage-actions.estimate-actions .button{min-width:0;padding:0 9px;font-size:10px}.stage-actions.estimate-actions span{display:none}.design-plan-actions{align-items:stretch;flex-direction:column;padding:12px}.design-plan-actions b{font-size:12px}.design-plan-actions small{font-size:10px;line-height:1.4}.design-plan-actions .button{width:100%;height:44px;font-size:11px}.design-controls>label{font-size:11px}.design-controls select{height:44px;font-size:12px}.toggle-row{height:44px;font-size:12px}.palette button{width:30px;height:30px}.reference-stack,.reference-stack img,.reference-stack button,.reference-thumb,.reference-thumb img{height:40px!important}.reference-stack img,.reference-stack button,.reference-thumb,.reference-thumb img{width:40px!important}.design-status b{font-size:12px}.design-status small{font-size:10px}.design-spatial-view h3{font-size:18px}.design-spatial-view p{font-size:11px}.spatial-generation-state{font-size:10px}.spatial-actions .button{height:44px;font-size:11px}.spatial-board{width:96%}.plan-generation-placeholder{padding:14px}.spatial-kicker{font-size:10px}.spatial-rooms button{min-height:48px;font-size:11px}.spatial-rooms small{font-size:9px}.spec-column h3{font-size:13px}.spec-column p,.spec-column li,.spec-column a,.cost-list div{font-size:11px;line-height:1.45}.sticky-total{grid-template-columns:1fr 148px}.materials-export{display:none!important}
}
@media(max-width:520px){.stage-actions.estimate-actions{grid-template-columns:1fr}.spatial-actions{display:grid}.design-spatial-view{padding:8px}.spatial-plan{min-height:250px}.plan-generation-placeholder{width:88%}.design-plan-actions>div{align-items:flex-start}.design-plan-actions>div>.ui-icon{margin-top:2px}}
.spatial-generation-state.stale{border-color:#eed38c;background:#fffaf0;color:#85630c}

/* Constructor interaction fixes: upload, room review and inline work assignment. */
.upload-row{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.4fr)}
.upload-card,.recognition-card{min-height:96px}
.upload-card.drag{border-color:var(--primary);background:#eaf3ff;box-shadow:0 0 0 4px rgba(7,84,232,.12)}
.recognition-card.processing{border-color:#aac9fb;background:#f7fbff}
.recognition-card.processing .progress i{width:34%!important;animation:recognition-sweep 1.45s ease-in-out infinite}
.recognition-card.processing strong{font-variant-numeric:tabular-nums;color:var(--primary);min-width:42px;text-align:right}
@keyframes recognition-sweep{0%{transform:translateX(-120%)}55%{transform:translateX(130%)}100%{transform:translateX(300%)}}

.plan-workspace.is-empty{display:block}
.plan-workspace.is-empty .plan-canvas{min-height:178px}
.plan-workspace.is-empty .room-properties,.plan-workspace.is-empty .plan-tools{display:none}
.plan-opening{pointer-events:none}.plan-opening path{fill:none;stroke:#fff;stroke-width:.55;stroke-linecap:round}.plan-opening.door circle{fill:#f28a2c;stroke:#fff;stroke-width:.5}.plan-opening.window rect{fill:#0ba5c7;stroke:#fff;stroke-width:.5}
.opening-property{align-items:flex-start;padding:8px 0}.opening-property>span{display:grid;gap:2px}.opening-property small{font-size:8px;color:#8996a7}.opening-property b{white-space:nowrap}

.room-bulk-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 185px 145px 166px;gap:9px;align-items:end;border:1px solid var(--border);border-radius:10px;background:#f8fbff;padding:11px;margin-bottom:10px}
.opening-summary{display:flex;align-items:center;gap:9px;min-width:0;color:var(--primary)}.opening-summary>.ui-icon{width:21px;height:21px}.opening-summary span,.opening-summary b,.opening-summary small{display:block}.opening-summary b{font-size:10px;color:var(--text)}.opening-summary small{font-size:8px;color:var(--text-secondary);margin-top:2px}
.room-bulk-toolbar>label{font-size:8px;color:var(--text-secondary)}.room-bulk-toolbar input{display:block;width:100%;height:38px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:0 9px;margin-top:3px}.room-bulk-toolbar .button{height:38px;padding:0 10px;font-size:9px}
.rooms-review-grid{grid-template-columns:1fr}.room-review{position:relative;grid-template-columns:32px minmax(155px,1.4fr) repeat(5,minmax(80px,1fr)) 34px;padding:10px}.room-review.active{border-color:#9dc0f7;box-shadow:0 0 0 2px rgba(7,84,232,.06)}.room-review label{min-width:0}.room-review .room-name-field input{text-align:left}.room-card-delete{width:34px;height:34px;border:1px solid #f2d3d7;border-radius:7px;background:#fff;color:var(--danger);display:grid;place-items:center}.room-card-delete .ui-icon{width:15px;height:15px}

.work-categories{gap:6px}.work-accordion{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.work-category-row{grid-template-columns:24px 1fr;min-height:40px;padding:0 8px;border:0}.work-category-toggle{width:100%;min-height:40px;display:grid!important;grid-template-columns:1fr auto 18px;align-items:center;gap:8px;text-align:left;color:var(--text)!important}.work-category-toggle b{font-size:9px}.work-category-toggle span{font-size:8px!important}.work-category-toggle i{font-style:normal;text-align:center;transition:transform .2s}.work-accordion.open .work-category-toggle i{transform:rotate(180deg)}
.work-accordion-body{display:none;border-top:1px solid var(--border);background:#fbfdff}.work-accordion.open .work-accordion-body{display:block}.work-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid #e8eef5;padding:8px;gap:6px 10px}.work-item-row:last-child{border-bottom:0}.work-item-row>label{display:flex;align-items:flex-start;gap:7px;min-width:0}.work-item-row>label input{margin-top:3px;accent-color:var(--primary)}.work-item-row>label span,.work-item-row>label b,.work-item-row>label small{display:block}.work-item-row>label b{font-size:9px}.work-item-row>label small{font-size:7px;color:var(--text-secondary);margin-top:2px}.work-item-row>button{border:1px solid #cfe0fa;border-radius:6px;background:#fff;color:var(--primary);height:29px;padding:0 8px;font-size:8px}.work-item-row>button i{font-style:normal}.work-room-choices{display:none;grid-column:1/3;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border:1px solid #dfe9f6;border-radius:7px;background:#fff}.work-room-choices.open{display:grid}.work-room-choices label{display:flex;align-items:center;gap:5px;min-width:0;font-size:8px}.work-room-choices label>input{accent-color:var(--primary)}.work-room-choices label>span{display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-room-choices label i{font-style:normal;display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:7px;font-weight:700}

.export-logo{width:23px;height:23px;object-fit:contain;flex:0 0 auto}
.global-dropzone{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:rgba(232,242,255,.92);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:.15s}.global-dropzone.show{opacity:1;visibility:visible}.global-dropzone>div{width:min(520px,calc(100% - 32px));min-height:245px;border:3px dashed var(--primary);border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(18,65,125,.22);display:grid;place-items:center;align-content:center;text-align:center;padding:30px;color:var(--primary)}.global-dropzone span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--primary-soft)}.global-dropzone .ui-icon{width:38px;height:38px}.global-dropzone b{font-size:22px;margin:16px 0 4px}.global-dropzone p{margin:0;color:var(--text-secondary);font-size:12px}

@media(max-width:1180px){.upload-row{grid-template-columns:minmax(250px,.85fr) minmax(300px,1.15fr)}.room-bulk-toolbar{grid-template-columns:1fr 175px 140px}.room-bulk-toolbar #addRoomButton{grid-column:3}.opening-summary{grid-row:1/3}.room-review{grid-template-columns:32px minmax(145px,1.5fr) repeat(3,minmax(78px,1fr))}.room-review label:nth-of-type(5),.room-review label:nth-of-type(6){grid-row:2}.room-card-delete{grid-column:-2}}
@media(max-width:900px){.upload-row{grid-template-columns:1fr}.plan-workspace.is-empty .plan-canvas{min-height:150px}.room-bulk-toolbar{grid-template-columns:1fr 1fr}.opening-summary{grid-column:1/3;grid-row:auto}.room-bulk-toolbar>label{grid-column:1/3}.room-bulk-toolbar #addRoomButton{grid-column:auto}.room-review{grid-template-columns:32px 1fr 1fr;padding:11px}.room-review>i{align-self:start;margin-top:16px}.room-review label,.room-review label:nth-of-type(5),.room-review label:nth-of-type(6){grid-column:auto;grid-row:auto}.room-review .room-name-field{grid-column:2/4}.room-card-delete{grid-column:3;justify-self:end}.work-category-toggle b{font-size:11px}.work-category-toggle span{font-size:10px!important}.work-item-row>label b{font-size:11px}.work-item-row>label small{font-size:9px}.work-item-row>button{height:38px;font-size:9px}.work-room-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.work-room-choices label{min-height:36px;font-size:10px}.opening-summary b{font-size:11px}.opening-summary small{font-size:9px}}
@media(max-width:520px){.plan-workspace.is-empty .plan-canvas{min-height:132px}.room-bulk-toolbar{grid-template-columns:1fr}.opening-summary,.room-bulk-toolbar>label,.room-bulk-toolbar #addRoomButton{grid-column:1}.room-review{grid-template-columns:30px 1fr}.room-review .room-name-field,.room-review label{grid-column:2}.room-card-delete{grid-column:2}.work-item-row{grid-template-columns:1fr}.work-item-row>button{grid-column:1;width:100%}.work-room-choices{grid-column:1;grid-template-columns:1fr}.global-dropzone>div{min-height:210px}.global-dropzone b{font-size:18px}}

/* Repair presets explain scope and outcome before the estimate is built. */
.repair-presets{gap:8px}.preset-card{position:relative;min-height:67px;grid-template-columns:36px 1fr;padding:10px}.preset-card>span{min-width:0}.preset-card em{display:inline-flex;margin-top:5px;border-radius:10px;background:#eef3f8;color:#68778a;padding:2px 7px;font-size:7px;font-style:normal;font-weight:700}.preset-card.active em{background:#d6e8ff;color:var(--primary)}
.preset-details{margin-top:10px;border:1px solid var(--border);border-radius:9px;background:linear-gradient(180deg,#fbfdff,#fff);padding:11px}.preset-details>span{display:block;color:var(--primary);font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.preset-details>b{display:block;margin-top:4px;font-size:9px;line-height:1.35}.preset-details>p{font-size:8px;line-height:1.45;color:var(--text-secondary);margin:5px 0 8px}.preset-details ul{display:grid;gap:5px;list-style:none;padding:0;margin:0 0 9px}.preset-details li{display:flex;align-items:flex-start;gap:5px;font-size:8px;line-height:1.35}.preset-details li .ui-icon{width:12px;height:12px;flex:0 0 12px;color:var(--success);margin-top:1px}.preset-details>small{display:block;border-top:1px solid #e8eef5;padding-top:8px;color:var(--text-secondary);font-size:7px;line-height:1.4}.preset-details>small strong{color:var(--text)}
@media(min-width:1181px){.preset-card b{font-size:11px}.preset-card small{font-size:9px}.preset-card em{font-size:8px}.preset-details>b{font-size:10px}.preset-details>p,.preset-details li{font-size:8px}}
@media(max-width:900px){.preset-column{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preset-column>h3{grid-column:1/3}.repair-presets{grid-template-columns:1fr 1fr}.preset-details{margin-top:0}.preset-details>span{font-size:9px}.preset-details>b{font-size:11px}.preset-details>p,.preset-details li{font-size:10px}.preset-details>small{font-size:9px}.preset-card em{font-size:9px}}
@media(max-width:620px){.preset-column{grid-template-columns:1fr}.preset-column>h3{grid-column:1}.repair-presets{grid-template-columns:1fr}.preset-details{padding:12px}.preset-card{min-height:72px}.preset-card b{font-size:12px}.preset-card small{font-size:10px}}
