:root{font-family:Segoe UI,Arial,sans-serif;color:#193248;background:#f1f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,34px);line-height:1.15}h2{font-size:25px}h3{font-size:17px}small{font-size:12px}input,select,textarea{color:#193248}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #9ad4ee;outline-offset:2px}.hidden{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px max(20px,calc((100vw - 1320px)/2));background:#102e45;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand small{display:block}.brand small{color:#c3d4df;margin-top:3px}.mark{background:#0ca4b7;color:#fff;border-radius:10px;padding:11px 9px;font-weight:800;letter-spacing:.04em}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top-actions #saveStatus{font-size:12px;color:#c3d4df;margin-right:8px}.page{max-width:1360px;margin:0 auto;padding:28px 20px 60px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #a9c1ce;border-radius:9px;background:#fff;color:#193f57;padding:10px 14px;font-weight:650;min-height:40px;text-decoration:none;white-space:nowrap}.button:hover:not(:disabled){background:#eaf4f7}.button.primary{background:#087fa2;border-color:#087fa2;color:#fff}.button.primary:hover:not(:disabled){background:#086e8c}.button.ghost{background:transparent;color:#fff;border-color:#7895a6}.button.ghost:hover{background:#274b61}.button.subtle{background:#f4f8fa}.button.active{background:#d7f1f6;border-color:#087fa2;color:#075d78}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;color:#087fa2}.welcome{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:25px;align-items:stretch;padding-top:48px}.hero,.journey{background:#fff;border:1px solid #dce5e9;border-radius:18px;padding:40px;box-shadow:0 12px 30px #1932480b}.hero h1{max-width:650px;margin:12px 0 14px}.hero p{max-width:600px;color:#5c6e78;font-size:17px;line-height:1.55}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.journey{margin:0;counter-reset:journey;list-style:none;display:flex;flex-direction:column;justify-content:center;gap:16px}.journey li{display:flex;align-items:center;gap:13px;font-weight:650}.journey li:before{counter-increment:journey;content:counter(journey);display:grid;place-items:center;background:#e0f3f7;color:#0b7391;border-radius:50%;width:33px;height:33px;flex:none}
.wizard-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:19px}.wizard-head h1{margin:6px 0}.wizard-head p{color:#60727d;margin:0}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.steps button{background:#fff;border:1px solid #d8e3e9;border-radius:10px;padding:10px;color:#59707e;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:650;min-height:52px}.steps button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f0f3;color:#3c6476}.steps button.active{background:#e8f7fa;border-color:#0b8eab;color:#066a84}.steps button.active span{background:#0b8eab;color:#fff}.steps button.complete span{background:#d4f2e7;color:#177853}.notice{background:#fff6dc;color:#73531b;border:1px solid #eedb95;border-radius:10px;padding:12px 15px;margin-bottom:16px;line-height:1.45}.panel{background:#fff;border:1px solid #dbe5e9;border-radius:16px;padding:28px;box-shadow:0 10px 25px #19324808}.section-head{border-bottom:1px solid #e8eef1;margin-bottom:22px;padding-bottom:16px}.section-head h2{margin:8px 0}.section-head p{color:#647781;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:850px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;margin-bottom:6px}.field small,.helper{font-size:12px;color:#667984;font-weight:400;line-height:1.5}.field input,.field select,.field textarea{width:100%;border:1px solid #bdcdd5;border-radius:9px;padding:10px 11px;background:#fff;min-height:41px}.field textarea{resize:vertical;min-height:100px}.field.compact{margin:0;min-width:145px}.choice{border:0;padding:0;margin:22px 0}.choice legend{font-weight:700;margin-bottom:11px}.choice label{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #d6e2e7;border-radius:9px;margin:0 8px 8px 0;cursor:pointer}.choice label:has(input:checked){border-color:#0b8eab;background:#edf9fb}.choice input{accent-color:#087fa2}.branch{background:#f7fafb;border:1px solid #e2eaee;border-radius:11px;padding:18px;margin:0 0 18px}.branch h3{margin:0 0 14px}.branch .helper{margin:7px 0 0}.result-strip{background:#eaf6f8;border:1px solid #cce8ef;border-radius:11px;padding:17px 20px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.result-strip span,.result-strip strong,.result-strip small{display:block}.result-strip span{font-size:12px;color:#497184;font-weight:700}.result-strip strong{font-size:27px;margin:4px 0;color:#0b5b76}.result-strip small{color:#4d6b79}.result-strip code{white-space:normal;color:#225063;font-size:12px}.footer-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;color:#65808d;font-size:13px}
.map-settings{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:17px}.map-settings .file-button{margin-bottom:6px}.map-settings .compact{flex:1;max-width:215px}.map-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tool-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tool-group .button{padding:8px 10px;min-height:36px;font-size:12px}.tool-group select{border:1px solid #bdcdd5;border-radius:8px;padding:8px;background:white}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:13px}.canvas-wrap{min-height:420px;overflow:auto;background:#e0e8ed;border:1px solid #acc0cb;border-radius:10px;display:flex;justify-content:center;align-items:start}.canvas-wrap canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair;background:#fff}.map-side{border:1px solid #e2e9ed;border-radius:10px;padding:14px}.map-side h3{margin-bottom:13px}.map-side dl{margin:0}.map-side dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e9eff2;padding:8px 0}.map-side dt{font-size:12px;color:#60737d}.map-side dd{font-size:12px;font-weight:750;margin:0;text-align:right}.object-list{margin-top:10px;max-height:230px;overflow:auto}.object-list div{border-top:1px solid #e6ecef;padding:7px 0;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px}.object-list button{border:0;background:transparent;color:#aa4444;cursor:pointer}.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:13px 0;font-size:12px;color:#5e707c}.swatch{display:inline-block;width:13px;height:13px;border-radius:3px;vertical-align:middle;margin-right:4px}.swatch.weak{background:#e0524c}.swatch.mid{background:#edbd3d}.swatch.strong{background:#56b56b}.swatch.ap{background:#6443b5}.swatch.smart{background:#193c59}.swatch.wall{background:#222f3b}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:23px}.review-card{border:1px solid #dfe8eb;border-radius:10px;padding:16px}.review-card span,.review-card strong,.review-card small{display:block}.review-card span{font-size:12px;color:#647985;font-weight:700}.review-card strong{font-size:22px;margin:5px 0}.review-card small{color:#6a7c86}.warnings{padding-left:22px;color:#64522c;line-height:1.55}.warnings li{margin-bottom:7px}.warnings.ok{color:#1c7651}.report-preview{border:1px solid #dfe8ec;border-radius:10px;padding:22px;background:#fcfdfd}.report-preview h3{margin-bottom:8px}.report-preview p{color:#536b78}.report-preview dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.report-preview dl div{padding:9px;border-bottom:1px solid #e4eaed}.report-preview dt{font-size:12px;color:#657a85}.report-preview dd{font-weight:700;margin:3px 0 0}.report-preview img{max-width:100%;height:auto;border:1px solid #dce4e8;border-radius:7px}
@media(max-width:1000px){.map-layout{grid-template-columns:1fr}.map-side{display:block}.review-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.topbar{align-items:start;flex-direction:column}.welcome{grid-template-columns:1fr;padding-top:12px}.hero,.journey{padding:25px}.page{padding:17px 12px 40px}.steps{grid-template-columns:repeat(5,minmax(40px,1fr));gap:4px}.steps button{font-size:0;padding:6px;min-height:43px}.steps button span{font-size:13px}.panel{padding:18px}.form-grid,.form-grid.three,.review-grid{grid-template-columns:1fr}.wizard-head{align-items:center}.report-preview dl{grid-template-columns:1fr}}@media print{.topbar,.steps,.footer-nav,.button,.map-toolbar{display:none!important}.page{padding:0}.panel{border:0;box-shadow:none}}

.steps{grid-template-columns:repeat(6,1fr)}
.budget-settings{margin-bottom:12px}
.budget-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:9px;margin:18px 0}
.budget-summary>div{border:1px solid #dce8ed;border-radius:9px;padding:12px;background:#f7fbfc}
.budget-summary span,.budget-summary strong{display:block}.budget-summary span{font-size:12px;color:#607987}.budget-summary strong{margin-top:5px;font-size:17px;color:#174761}
.budget-status{grid-column:1/-1;margin:0;background:#eaf6f8;border-radius:8px;padding:10px 12px;color:#275266}
.budget-tools{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.budget-tools .field{min-width:190px;flex:1}
.budget-table-wrap{max-width:100%;overflow-x:auto;margin:12px 0 20px;border:1px solid #dae6eb;border-radius:9px}
.budget-table{border-collapse:collapse;width:100%;min-width:940px;font-size:12px}
.budget-table th{text-align:left;background:#eaf2f5;color:#3c5e6e;padding:10px 8px;white-space:nowrap}
.budget-table td{border-top:1px solid #e6ecef;padding:8px;vertical-align:top}
.budget-table tr.below-cost{background:#fff7e9}.budget-description{min-width:295px;max-width:490px;line-height:1.4}
.budget-description small{display:block;color:#68808b;margin-top:5px}
.budget-table input:not([type=checkbox]),.budget-table select{width:100%;min-width:72px;border:1px solid #bfd0d8;border-radius:6px;padding:7px;background:#fff}
.budget-table input[type=checkbox]{width:17px;height:17px;accent-color:#087fa2}
.budget-table td:nth-child(3){width:78px}.budget-table td:nth-child(4){width:135px}.budget-table td:nth-child(5){width:125px}.budget-table td:nth-child(6){width:125px}
.money-cell{white-space:nowrap;font-weight:700}.budget-reset{border:0;background:none;color:#087fa2;padding:5px 0;cursor:pointer;font-size:11px;text-align:left}
@media(max-width:1000px){.budget-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media(max-width:700px){.steps{grid-template-columns:repeat(6,minmax(38px,1fr))}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

.company-logo{display:block;width:125px;height:auto;max-height:65px;object-fit:contain;background:#fff;border-radius:8px;padding:5px;flex:none}
.welcome-logo{display:block;width:min(280px,70%);height:auto;margin:0 0 22px}
.map-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:13px}
.map-targets>div{background:#eaf6f8;border:1px solid #cce8ef;border-radius:11px;padding:16px 18px}
.map-targets span,.map-targets strong,.map-targets small{display:block}.map-targets span{color:#497184;font-size:12px;font-weight:700}.map-targets strong{color:#0b5b76;font-size:29px;margin:5px 0}.map-targets small{color:#4d6b79}
.swatch.socket{background:#178767}.budget-table.preview-quote{min-width:650px}.budget-table.preview-quote td:nth-child(3),.budget-table.preview-quote td:nth-child(4),.budget-table.preview-quote td:nth-child(5){width:auto}
@media(max-width:700px){.company-logo{width:110px}.welcome-logo{width:min(230px,75%)}.map-targets{grid-template-columns:1fr}}

.budget-match{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:9px;margin:10px 0 22px}
.budget-match>div{border:1px solid #cce5da;background:#eff9f3;border-radius:9px;padding:10px 12px}
.budget-match>div.mismatch{border-color:#efcea7;background:#fff7e9}
.budget-match span,.budget-match strong,.budget-match small{display:block}.budget-match span{font-size:12px;font-weight:750;color:#4b6775}.budget-match strong{font-size:20px;margin:4px 0}.budget-match small{font-size:11px;color:#647985}
.spreadsheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:27px}.spreadsheet-head h3{margin-bottom:4px}.spreadsheet-head p{margin-bottom:0}
.quote-sheet{width:100%;min-width:1050px;border-collapse:collapse;font-size:12px;color:#263d4b}
.quote-sheet th,.quote-sheet td{border:1px solid #cbd9df;padding:8px 9px;vertical-align:top}
.quote-sheet thead th{background:#dfeef4;color:#234e64;text-align:left;white-space:nowrap}
.quote-sheet tbody tr:nth-child(even){background:#f5fafc}.quote-sheet tbody td:nth-child(3){min-width:250px}
.quote-sheet tbody td:nth-child(n+6),.quote-sheet tfoot th:last-child{text-align:right;white-space:nowrap}
.quote-sheet tfoot th{background:#d7e9f0;text-align:right;font-size:13px}
.signature-block{margin:45px 0 15px;max-width:360px;padding-top:18px;break-inside:avoid}.signature-line{border-top:2px solid #193248;height:14px}.signature-block strong,.signature-block small{display:block}.signature-block small{color:#536b78;margin-top:4px}
@media(max-width:700px){.budget-match{grid-template-columns:repeat(2,minmax(0,1fr))}.spreadsheet-head{align-items:start;flex-direction:column}}

.map-type-counts{display:inline-block;background:#f5fafc;border:1px solid #dce9ee;border-radius:8px;padding:8px 12px;margin:0 0 16px;color:#31586d;font-weight:700;font-size:12px}
.object-list select{border:1px solid #bdcdd5;border-radius:6px;background:#fff;padding:3px 5px;font-size:12px}

.apu-picker{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(145px,.8fr) minmax(260px,1.6fr) 100px auto;gap:12px;align-items:end;background:#f5fafc;border:1px solid #d5e6ed;border-radius:11px;padding:16px;margin:12px 0 20px}
.apu-picker h3{margin:0 0 5px}.apu-picker p{margin:0}.apu-picker .field{margin:0;min-width:0}.apu-picker .button{align-self:end;margin:0}
.apu-alias{display:inline-block;background:#dcf5e9;color:#136b50;border-radius:5px;padding:2px 5px;font-weight:700;font-size:11px}
.budget-custom-actions{margin:8px 0 12px}.budget-custom-actions .button{font-size:12px}
@media(max-width:1150px){.apu-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.apu-picker>div:first-child{grid-column:1/-1}}
@media(max-width:700px){.apu-picker{grid-template-columns:1fr}.apu-picker>div:first-child{grid-column:auto}}

/* Acabado visual Final 1: profundidad suave y colores del logo. */
:root{color-scheme:light;--ink:#15324b;--blue:#087bdc;--cyan:#0aa6d4;--green:#50b91c;--line:#d5e5ee;--lift:0 18px 42px rgba(15,52,85,.10),0 3px 9px rgba(15,52,85,.05)}
body{color:var(--ink);background:radial-gradient(circle at 8% 16%,#dceeff 0,transparent 28%),radial-gradient(circle at 91% 4%,#e3f8e8 0,transparent 25%),#f2f7fb;min-height:100vh}
.topbar{position:relative;background:linear-gradient(112deg,#102c55 0%,#07558e 55%,#08616e 100%);box-shadow:0 10px 28px rgba(8,48,87,.18)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#078be9,#15c7db,#72d532)}
.company-logo{border-radius:14px;padding:7px;box-shadow:0 7px 16px rgba(0,22,53,.22)}
.brand strong{font-size:16px;letter-spacing:.01em}.brand small{color:#d8edfa}
.page{padding-top:32px}
.button{border-radius:13px;border-color:#bdd3e0;box-shadow:0 3px 0 rgba(18,70,107,.07),0 5px 12px rgba(18,70,107,.05);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,70,107,.13)}
.button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 5px rgba(18,70,107,.12)}
.button.primary{border-color:#087fc8;background:linear-gradient(130deg,#0877db,#0aa7cc);box-shadow:0 8px 18px rgba(6,120,198,.23),inset 0 1px 0 rgba(255,255,255,.24)}
.button.primary:hover:not(:disabled){background:linear-gradient(130deg,#066cc5,#078fac);box-shadow:0 12px 25px rgba(6,120,198,.28)}
.button.ghost{border-color:rgba(211,238,252,.5);box-shadow:none}.button.ghost:hover:not(:disabled){background:rgba(255,255,255,.13);box-shadow:none}
.eyebrow{color:#0875bd;letter-spacing:.15em}
.welcome{gap:22px}
.hero,.journey,.panel{border:1px solid rgba(197,222,235,.86);border-radius:27px;box-shadow:var(--lift)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(136deg,#fff 0%,#f8fcff 63%,#e5f5ff 100%);padding:46px}
.hero:before{content:"";position:absolute;z-index:-1;width:310px;height:310px;right:-115px;top:-115px;border-radius:50%;background:radial-gradient(circle at 33% 34%,#b8fbd0 0%,#35bddc 45%,#0572ca 76%);box-shadow:inset 20px 20px 35px rgba(255,255,255,.55),0 22px 45px rgba(1,100,178,.2);opacity:.6}
.hero:after{content:"";position:absolute;z-index:-1;width:190px;height:190px;right:46px;bottom:-110px;border:25px solid rgba(24,149,216,.10);border-radius:50%}
.hero h1{font-size:clamp(30px,3.4vw,45px);max-width:660px;color:#143857;letter-spacing:-.025em}
.hero p{color:#496879}.welcome-logo{padding:10px 13px;border-radius:17px;background:#fff;box-shadow:0 10px 25px rgba(18,90,149,.11);width:min(240px,70%)}
.journey{background:linear-gradient(155deg,#143b67,#0b6b91);color:#fff;padding:34px 28px;position:relative;overflow:hidden}
.journey:after{content:"";position:absolute;width:250px;height:250px;right:-100px;bottom:-135px;border-radius:50%;background:radial-gradient(circle,#53ca64,transparent 70%);opacity:.35;pointer-events:none}
.journey li{position:relative;z-index:1}.journey li:before{width:37px;height:37px;background:linear-gradient(145deg,#d2ffeb,#91e6f6);color:#075679;box-shadow:0 5px 12px rgba(0,30,65,.25),inset 0 1px 0 #fff}
.wizard-head h1{color:#173b59}.steps{gap:10px}
.steps button{border-radius:15px;border-color:var(--line);min-height:62px;box-shadow:0 5px 13px rgba(25,67,98,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.steps button:hover:not(:disabled){transform:translateY(-2px);border-color:#7dc6e1;box-shadow:0 10px 20px rgba(25,67,98,.12)}
.steps button.active{background:linear-gradient(125deg,#e8f8ff,#e4f9ed);border-color:#50b3d6;box-shadow:0 8px 20px rgba(8,132,183,.14)}
.steps button.active span{background:linear-gradient(145deg,#0587dc,#10b5b5);box-shadow:0 4px 9px rgba(0,110,170,.25)}
.steps button.complete span{background:linear-gradient(145deg,#d6f5c4,#a7e9cf);color:#166d4d}
.panel{background:linear-gradient(175deg,#fff 0%,#fff 78%,#fafdff 100%);padding:31px}.section-head{border-bottom-color:#e1edf3}.section-head h2{color:#173c5a}
.field input,.field select,.field textarea,.tool-group select,.object-list select{border-radius:12px;border-color:#bed1de;background:#fff;box-shadow:inset 0 2px 3px rgba(27,68,98,.035);transition:border-color .18s ease,box-shadow .18s ease}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#77b6d3}.field input:focus,.field select:focus,.field textarea:focus{border-color:#078ed3;box-shadow:0 0 0 4px rgba(30,161,216,.12)}
.choice label,.branch,.notice,.result-strip,.map-targets>div,.map-side,.review-card,.report-preview,.budget-summary>div,.budget-match>div,.apu-picker,.budget-table-wrap{border-radius:17px}
.choice label:has(input:checked){background:linear-gradient(120deg,#e6f7ff,#e7f9ed);box-shadow:0 5px 14px rgba(8,120,171,.09)}
.branch,.apu-picker{background:linear-gradient(135deg,#f6fbff,#f2fbf7);border-color:#cfe4eb}
.result-strip,.map-targets>div{background:linear-gradient(120deg,#e7f6ff,#e9fbf1);border-color:#bde6e6;box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(16,130,157,.07)}
.result-strip strong,.map-targets strong{color:#086a9b}
.canvas-wrap{border-radius:18px;background:repeating-linear-gradient(45deg,#e6f0f5,#e6f0f5 10px,#edf5f8 10px,#edf5f8 20px);border-color:#a8c9d9;box-shadow:inset 0 3px 12px rgba(22,68,95,.1)}
.canvas-wrap canvas{box-shadow:0 9px 24px rgba(18,52,77,.17)}.map-side,.review-card{background:#fbfeff;border-color:#d6e8ef;box-shadow:0 7px 18px rgba(20,75,105,.06)}
.review-card:nth-child(3n+1){border-top:4px solid #0b9ada}.review-card:nth-child(3n+2){border-top:4px solid #4dbd66}.review-card:nth-child(3n){border-top:4px solid #20b1c1}
.budget-summary>div,.budget-match>div{box-shadow:0 6px 16px rgba(22,72,105,.06);border-color:#cde5e2;background:linear-gradient(135deg,#f2fbff,#f0fcf4)}
.budget-match>div.mismatch{background:linear-gradient(135deg,#fff8ec,#fff1e1);border-color:#edcd9c}.budget-status{border-radius:12px}
.budget-table-wrap{box-shadow:0 6px 18px rgba(25,74,102,.05);border-color:#c9dee9;background:#fff}
.budget-table th,.quote-sheet thead th{background:linear-gradient(180deg,#e4f4fb,#d9edf7);color:#194867}.quote-sheet tbody tr:nth-child(even){background:#f5fbff}.quote-sheet tfoot th{background:linear-gradient(110deg,#d9edf7,#dcf4ea)}
.report-preview{background:linear-gradient(150deg,#fff,#f4fbff);border-color:#cfe4ec;box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(23,76,106,.06)}
.signature-block{border-radius:14px;padding:22px 18px 12px;background:#f7fbfe}
@media(max-width:1000px){.steps{gap:6px}.steps button{font-size:12px;gap:5px;padding:8px 5px}}
@media(max-width:700px){.page{padding:18px 12px 44px}.hero,.journey{padding:27px}.hero:before{width:190px;height:190px;right:-100px;top:-65px;opacity:.32}.hero h1{font-size:clamp(29px,7vw,38px)}.panel{padding:19px}.steps{gap:4px}.steps button{min-height:47px;font-size:0}.steps button span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.button,.steps button,.field input,.field select,.field textarea{transition:none}.button:hover:not(:disabled),.steps button:hover:not(:disabled),.button:active:not(:disabled){transform:none}}
@media print{body{background:#fff}.topbar,.steps,.footer-nav,.button,.map-toolbar{display:none!important}.panel,.hero,.journey,.review-card,.budget-table-wrap,.report-preview{box-shadow:none}.panel{background:#fff;border:0}}
