:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#183348;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.topbar{min-height:82px;background:linear-gradient(112deg,#0d2638 0%,#12334a 58%,#174b63 100%);color:white;display:flex;align-items:center;gap:13px;padding:0 max(20px,calc((100vw - 760px)/2));box-shadow:0 4px 18px #0b253526;border-bottom:1px solid #43b9dc42}.brand-mark{width:44px;height:44px;flex:0 0 44px;display:block;filter:drop-shadow(0 3px 8px #0002)}.brand-lockup{min-width:0}.brand{font-weight:850;letter-spacing:1.35px;font-size:15px;line-height:1.2}.brand span{color:#42c6e9}.subbrand{font-size:12px;color:#c2d9e5;margin-top:5px;letter-spacing:.1px}.offline{margin-left:auto;font-size:10px;letter-spacing:1.2px;border:1px solid #6d9aaa66;border-radius:20px;padding:6px 10px;color:#d4eaf3;background:#ffffff08}main{max-width:720px;margin:0 auto;padding:34px 20px 56px}.view{animation:appear .2s ease}@keyframes appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}.hidden{display:none!important}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#357ca0;font-weight:800;margin:12px 0}h1{font-size:clamp(28px,5vw,38px);letter-spacing:-1.2px;line-height:1.1;margin:8px 0 12px}.intro{color:#607482;line-height:1.55;margin:0 0 26px;max-width:590px}.tool-card{width:100%;display:flex;align-items:center;text-align:left;gap:16px;padding:20px;border:1px solid #dce5ea;background:white;border-radius:17px;box-shadow:0 5px 18px #18334808;cursor:pointer;color:inherit}.tool-card:hover{border-color:#77a9c3}.tool-icon{width:52px;height:52px;display:grid;place-items:center;background:#e4f2f8;color:#17678e;border-radius:14px;font-size:30px;font-weight:700}.tool-copy{display:grid;gap:5px;flex:1}.tool-copy strong{font-size:16px}.tool-copy small,.future small{font-size:13px;line-height:1.4;color:#6b7e8a}.arrow{font-size:30px;color:#367da0}.future{display:flex;gap:14px;align-items:center;margin-top:15px;padding:18px;border:1px dashed #c8d6de;border-radius:16px;color:#25475a}.plus{font-size:25px;color:#367da0}.future div{display:grid;gap:5px}.footnote{font-size:11px;color:#81919b;margin-top:30px}.back{border:0;background:transparent;color:#347999;padding:0;font-size:13px;font-weight:700;cursor:pointer;margin-bottom:18px}.panel{background:#fff;border:1px solid #e0e8ed;border-radius:18px;padding:22px;box-shadow:0 5px 18px #18334808}.panel label{display:block;font-size:13px;font-weight:700;margin:15px 0 7px}.panel label:first-child{margin-top:0}.panel input,.panel select{width:100%;height:48px;padding:0 13px;border:1px solid #ccd9e0;border-radius:10px;background:#fbfcfd;color:#183348;font:inherit}.panel input:focus,.panel select:focus{outline:2px solid #8dc5dd;border-color:#367da0}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:22px;border:0;border-radius:11px;background:#17678e;color:#fff;padding:15px 17px;font:inherit;font-weight:750;cursor:pointer}.primary span{font-size:20px}.result{margin-top:16px}.result h2{font-size:19px;margin:0 0 14px}.result .stat{background:#f0f6f9;border-radius:12px;padding:14px;margin-bottom:14px}.result .stat small{display:block;color:#637985;margin-bottom:5px}.result .stat strong{font-size:21px}.notice{font-size:12px;line-height:1.5;color:#7a6b48;background:#fff8e8;border:1px solid #f1dfb7;border-radius:12px;padding:13px;margin-top:15px}@media(min-width:600px){main{padding-top:48px}.panel{padding:26px}}
.table-wrap{overflow-x:auto;margin:12px 0 18px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #e2e9ed;vertical-align:top}th{color:#607482;font-size:11px;text-transform:uppercase;letter-spacing:.6px}td code{font-size:12px;overflow-wrap:anywhere;color:#17678e}td small{display:block;color:#72838d;margin-top:4px}h3{font-size:15px;margin:20px 0 8px}.stat p{margin:8px 0 0;color:#607482;font-size:13px}@media print{.topbar,#home,#dfli>.back,#dfli>.eyebrow,#dfli>h1,#dfli>.intro,#calcForm,#dfli>.notice,#printResult{display:none!important}body{background:white}main{padding:0;max-width:none}.hidden{display:none!important}#dfli{display:block!important}.panel{box-shadow:none;border:0;padding:0}.result{display:block!important}.notice{display:block!important}}

.field-help{display:block;color:#607384;font-size:.82rem;margin-top:-.45rem;margin-bottom:.5rem;line-height:1.4}

.datasheets{margin-top:18px}.datasheets h2,.budget h2{font-size:19px;margin:0 0 12px}.datasheets a{color:#17678e;font-weight:700;font-size:13px}.product-photo{background:#fff;border:1px solid #e2e9ed;border-radius:12px;padding:15px;text-align:center;margin:10px 0}.product-photo img{width:min(100%,300px);height:auto;object-fit:contain}.budget{margin-top:16px}.budget-preview{margin-top:18px}.totals{margin-top:18px}.totals>div{display:flex;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #e2e9ed;font-size:13px}.totals .grand{font-size:17px;background:#f0f6f9;padding:14px;border-radius:8px;margin-top:8px}.totals strong{white-space:nowrap}@media print{body.print-budget #home,body.print-budget #calcForm,body.print-budget .datasheets{display:none!important}}
/* Mejoras de fichas, esquema visual y presupuesto por línea */
.product-link{border-top:1px solid #e3eaee;padding:13px 0 3px;margin-top:8px}.product-link h3{margin:0 0 7px}.product-link p{font-size:13px;color:#607482;margin:0 0 8px}.link-row{display:flex;flex-wrap:wrap;gap:10px 18px}.datasheets a{display:inline-block;padding:5px 0;line-height:1.4}.segment-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:center}.segment-visual-wrap{background:#f5f8fa;border:1px solid #e0e8ed;border-radius:12px;padding:14px;min-width:0}.segment-visual{display:flex;gap:5px;align-items:stretch;min-height:86px;width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:5px}.segment-block{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;flex-shrink:0;padding:7px 5px;border-radius:5px;text-align:center;white-space:normal;overflow-wrap:normal;border:1px solid #b9d0de}.segment-block.terminal{background:#dcecf8;color:#164e75}.segment-block.central{background:#e2f0e4;color:#24613a}.segment-block strong{font-size:12px;line-height:1.25;overflow-wrap:normal;white-space:nowrap}.segment-block small{font-size:10px;line-height:1.2;white-space:nowrap}.checkline{display:flex!important;align-items:center;gap:10px;font-weight:500!important;line-height:1.4}.panel .checkline input{width:18px;height:18px;flex:0 0 18px;margin:0}.budget-lines .line-discount{width:78px;height:36px;padding:5px;font-size:13px}.budget-lines td{vertical-align:middle}.budget-lines td:first-child{min-width:150px}.budget-lines .line-net{white-space:nowrap;font-weight:700}@media(min-width:620px){.segment-layout{grid-template-columns:minmax(0,1.1fr) minmax(200px,.9fr)}}
/* Imágenes de producto y materiales */
.product-with-photo{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0}.product-with-photo>img{width:100%;height:88px;object-fit:contain;background:#fff;border:1px solid #e2e9ed;border-radius:9px;padding:5px}.product-with-photo>div{min-width:0}.material-image-cell{width:92px;text-align:center;vertical-align:middle}.material-thumb{width:78px;height:48px;object-fit:contain;display:block;margin:auto}.budget-lines .line-discount{width:78px;height:36px;padding:5px;font-size:13px}@media(max-width:420px){.product-with-photo{grid-template-columns:86px minmax(0,1fr);gap:10px}.product-with-photo>img{height:72px}.material-thumb{width:58px;height:42px}}

.general-discount-row{display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:10px;align-items:center}.panel .general-discount-row input{height:42px}.secondary{border:1px solid #cbd9e1;border-radius:9px;background:#f3f7f9;color:#183348;padding:10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.budget-lines th,.budget-lines td{white-space:nowrap}.budget-lines th:first-child,.budget-lines td:first-child{white-space:normal;min-width:170px}.budget-lines .line-net{white-space:nowrap}

/* Últimos ajustes: diagrama único adaptable, columnas alineadas y módulo aerodinámico */
.segment-layout{grid-template-columns:minmax(0,1fr);gap:12px}.segment-visual-wrap{width:100%;padding:10px;overflow:hidden}.segment-svg{display:block;width:100%;height:auto;max-width:100%;overflow:hidden}.segment-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segment-choice-grid label{margin-top:12px}.compatible{color:#287044}.incompatible{color:#a0442d;background:#fff1ed;border-radius:8px;padding:9px;margin:8px 0}.center-cell{text-align:center!important;vertical-align:middle!important;white-space:nowrap}.image-heading{width:90px}.material-image-cell{text-align:center!important;vertical-align:middle!important;padding-left:2px!important;padding-right:2px!important}.material-thumb{margin:0 auto}.general-docs{display:flex;flex-wrap:wrap;gap:8px 18px;border-top:1px solid #e3eaee;padding-top:14px;margin-top:10px}.general-docs h3{width:100%;margin:0}.general-docs a{font-size:13px;font-weight:700;color:#17678e}.official-tool-frame{margin-top:16px;width:100%;height:900px;border:1px solid #dce5ea;border-radius:12px;overflow:hidden;background:white}.official-tool-frame iframe{width:100%;height:100%;border:0}.link-button{text-decoration:none;display:flex}.segment-visual-wrap .segment-svg text{font-family:Arial,sans-serif}@media(max-width:480px){.segment-choice-grid{grid-template-columns:1fr}.official-tool-frame{height:760px}}
.aero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:12px 0}.aero-grid>div{min-width:0}.aero-results{margin-top:18px}.aero-results table{width:100%;border-collapse:collapse;font-size:12px}.aero-results th,.aero-results td{padding:8px 6px;border-bottom:1px solid #dfe7ec;text-align:center;vertical-align:middle}.aero-results th{background:#eef4f7;color:#24465b}.aero-results td:first-child,.aero-results th:first-child{text-align:left}.aero-results .use-candidate{padding:8px 10px;white-space:nowrap;font-size:12px}.aero-explain{background:#f4f8fa;border-radius:8px;padding:10px;margin:10px 0;color:#345469;font-size:13px}.aero-no-results{background:#fff2e9;border:1px solid #f0d0b4;border-radius:8px;padding:12px;color:#814d28}.aero-results .picked{background:#edf7ef}@media(max-width:520px){.aero-grid{grid-template-columns:1fr}.aero-results{overflow-x:auto}.aero-results table{min-width:680px}}

/* Presupuestos Presto / BC3 */
.presto-search-results{display:grid;gap:6px;margin-top:8px}.presto-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;text-align:left;background:#f5f8fa;border:1px solid #d8e3e9;border-radius:8px;padding:10px;cursor:pointer;color:#17384c}.presto-result strong{font-size:13px;overflow-wrap:anywhere}.presto-result small{display:block;color:#607784;margin-top:3px}.presto-result .price{font-weight:700;white-space:nowrap}.presto-line{display:grid;grid-template-columns:minmax(0,1fr) 86px 100px 34px;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #dce5ea}.presto-line .description{font-size:13px;overflow-wrap:anywhere}.presto-line .description small{display:block;color:#607784;margin-top:4px}.presto-line input{min-width:0;width:100%;box-sizing:border-box}.presto-line .remove{border:0;border-radius:6px;padding:8px;background:#fbe9e9;color:#8e2222;cursor:pointer}.presto-thead{display:grid;grid-template-columns:minmax(0,1fr) 86px 100px 34px;gap:8px;color:#607784;font-size:11px;font-weight:700;padding-bottom:6px}.presto-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.presto-actions button{flex:1;min-width:220px}.presto-line .num{text-align:right;font-variant-numeric:tabular-nums}.presto-total{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #dce5ea}.presto-total strong{font-variant-numeric:tabular-nums}.presto-total.grand{font-size:18px;font-weight:700;color:#12334a}@media(max-width:600px){.presto-line,.presto-thead{grid-template-columns:minmax(0,1fr) 60px 82px 30px;gap:5px}.presto-line .description{font-size:12px}.presto-line input{padding:8px 4px}}
/* Estructura jerárquica de Presto */
.presto-line{grid-template-columns:minmax(0,1fr) 70px 100px 105px 32px;gap:8px}
.presto-thead{grid-template-columns:minmax(0,1fr) 70px 100px 105px 32px;gap:8px}
.presto-line .description{min-width:0}
.presto-code,.presto-desc{display:block;width:100%;box-sizing:border-box;margin-top:5px;font:inherit;padding:6px 8px;border:1px solid #d4e0e6;border-radius:6px;background:#fff;color:#19374a}
.presto-code{font-weight:700}
.presto-rowtools{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.presto-kind{font-size:10px;letter-spacing:.06em;font-weight:800;color:#567180}
.presto-rowtools .tiny{border:1px solid #cbd9df;background:#f4f8fa;border-radius:5px;padding:3px 7px;cursor:pointer;color:#17384c}
.presto-chapter{background:#f2f6e6;border-radius:6px;font-weight:700;padding-top:14px;padding-bottom:14px}
.presto-partida{background:#f7fafb}
.presto-line input[type=number]{width:100%;min-width:0;box-sizing:border-box}
.presto-line .num input{text-align:right}
@media(max-width:700px){.presto-line,.presto-thead{grid-template-columns:minmax(0,1fr) 55px 78px 85px 28px;gap:4px}.presto-line{padding-top:10px;padding-bottom:10px}.presto-code,.presto-desc{font-size:12px;padding:6px 4px}}
/* Mejoras de la herramienta Presto: columna de importe y bloqueo de precios */
.presto-line{grid-template-columns:minmax(0,1fr) 76px 128px 100px 30px}
.presto-thead{grid-template-columns:minmax(0,1fr) 76px 128px 100px 30px}
.presto-line .price-cell{display:flex;align-items:center;gap:4px;min-width:0}
.presto-line .price-cell input{flex:1;min-width:0}
.presto-line .price-lock{flex:0 0 auto;border:1px solid #cbd9df;background:#f4f8fa;border-radius:5px;padding:4px;cursor:pointer;line-height:1.2}
.presto-line .price-lock.locked{background:#fff3e8;border-color:#e9c7a6}
.presto-line .price-lock.unlocked{background:#e8f6ec;border-color:#a9d5b4}
.presto-line input:disabled{background:#f1f4f5;color:#5b6d76;opacity:1;cursor:not-allowed}
.presto-line .lineamount{white-space:nowrap}
@media(max-width:700px){.presto-line,.presto-thead{grid-template-columns:minmax(0,1fr) 56px 104px 78px 26px;gap:4px}.presto-line .price-lock{padding:3px}.presto-line .description{font-size:12px}}

/* Fotos oficiales asociadas por referencia de producto */
.presto-product-description{display:flex;align-items:center;gap:9px;min-width:0}.presto-product-photo{width:56px;height:48px;object-fit:contain;flex:0 0 56px;background:#fff;border:1px solid #e2e8ec;border-radius:5px;padding:2px}.presto-edit-fields{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.presto-edit-fields input{width:100%;min-width:0;box-sizing:border-box}
@media print{
 @page{size:A3 landscape;margin:6mm}
}
@page { size: A3 landscape; margin: 7mm; }

/* Biblioteca de compatibilidades y documentación oficial */
.official-resource{display:flex;gap:16px;align-items:flex-start;margin:12px 0;padding:20px}
.resource-symbol,.doc-symbol{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:#e4f2f8;color:#17678e;font-weight:850;font-size:15px}
.resource-content{min-width:0}.official-resource h2,.doc-resource h2{font-size:17px;margin:0 0 7px}.official-resource p,.doc-resource p{font-size:13px;line-height:1.5;color:#607482;margin:0 0 12px}
.resource-link,.doc-resource a{display:inline-block;color:#17678e;font-size:13px;font-weight:800;text-decoration:none;line-height:1.5}.resource-link:hover,.doc-resource a:hover{text-decoration:underline}
.docs-list{display:grid;gap:12px}.doc-resource{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;align-items:start;padding:18px}.doc-resource>div:last-child{min-width:0}.doc-resource .doc-symbol{font-size:11px;letter-spacing:.3px}.doc-resource h2{margin-top:2px}
@media(max-width:420px){.official-resource{padding:16px;gap:12px}.resource-symbol,.doc-symbol{flex-basis:42px;height:42px}.doc-resource{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px}}

/* Dimensionador de conductos: responsive, usable en escritorio y móvil */
.dim-grid-2,.dim-grid-3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dim-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dim-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dim-section-heading h2{margin:0 0 5px}.dim-section-heading .field-help{margin:0;max-width:760px}.dim-plan-preview{margin-top:12px;border:1px dashed #bdcbd4;border-radius:10px;min-height:90px;display:flex;align-items:center;justify-content:center;padding:10px;color:#6b7e89;font-size:12px;text-align:center;background:#f9fbfc;overflow:hidden}.dim-plan-preview img{max-width:100%;max-height:420px;object-fit:contain}.dim-plan-preview iframe{width:100%;height:460px;border:0}.dim-room-list,.dim-segment-list{display:grid;gap:10px}.dim-room-row{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;gap:10px;align-items:start;padding:12px;border:1px solid #d9e3e8;border-radius:10px}.dim-room-row.selected{border-color:#087ca7;background:#f1f9fc}.dim-room-select{width:30px;height:30px;border-radius:8px;border:1px solid #b7c9d3;background:#fff;color:#17678e;font-weight:800}.dim-room-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dim-room-fields label,.dim-segment-row label{font-size:11px;color:#617783;display:flex;flex-direction:column;gap:4px}.dim-room-fields input,.dim-segment-row input,.dim-segment-row select{width:100%;min-width:0;box-sizing:border-box;padding:8px;border:1px solid #cbd7de;border-radius:6px;background:#fff;color:#243b49}.dim-room-result{grid-column:1/-1;font-size:12px;color:#365567;padding-top:4px}.dim-remove{border:1px solid #e2c9c9;color:#a33434;background:#fff;border-radius:7px;width:30px;height:30px;font-size:20px;line-height:1}.dim-canvas-wrap{width:100%;overflow:auto;border:1px solid #d9e3e8;border-radius:9px;background:#fff}.dim-canvas-wrap svg{display:block;width:100%;min-width:640px;height:auto;min-height:300px}.dim-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11px;color:#5c727e}.dim-legend span{display:flex;align-items:center;gap:6px}.dim-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.dim-segment-row{display:grid;grid-template-columns:60px repeat(3,minmax(95px,1fr)) repeat(2,minmax(90px,1fr)) 30px;gap:8px;align-items:end;border:1px solid #d9e3e8;border-radius:9px;padding:10px}.dim-segment-row> b{font-size:12px;padding-bottom:10px}.dim-seg-result{grid-column:1/-1;font-size:12px;background:#f4f8fa;border-radius:5px;padding:7px;color:#385564}.dim-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.dim-summary>div,.dim-stats>div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e0e7eb;padding:10px;border-radius:7px;font-size:12px}.dim-summary span,.dim-stats span{color:#617783}.dim-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.dim-check.ok{color:#147341}.dim-check.warn{color:#9a5b00}.dim-check.neutral{color:#617783}.dim-warnings{display:grid;gap:7px;margin:12px 0}.dim-warning,.dim-success{border-radius:7px;padding:10px;font-size:12px;line-height:1.45;background:#fff5e6;color:#805000;border:1px solid #f0d4a8}.dim-success{background:#edf8f0;color:#21663a;border-color:#c5e5ce}
@media(max-width:760px){.dim-grid-2,.dim-grid-3{grid-template-columns:1fr}.dim-section-heading{flex-direction:column}.dim-room-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dim-segment-row{grid-template-columns:45px repeat(2,minmax(0,1fr));}.dim-segment-row>label{min-width:0}.dim-segment-row .dim-remove{grid-column:3;grid-row:1}.dim-seg-result{grid-column:1/-1}.dim-summary{grid-template-columns:1fr}.dim-stats{grid-template-columns:1fr}.dim-canvas-wrap svg{min-width:760px}}
@media print{#ductSizer .back,#ductSizer button,#ductSizer input,#ductSizer select,#ductSizer .dim-plan-preview,#ductSizer .dim-canvas-wrap{display:none!important}}
/* Comparador de propuestas conceptuales de red de conductos */
.duct-proposals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.duct-proposal{border:1px solid #d7e2e8;border-radius:10px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:9px;min-width:0}.duct-proposal.active{border:2px solid #087ca7;background:#f1f9fc;padding:13px}.duct-proposal-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.duct-proposal-top strong{font-size:14px;color:#17384c}.duct-proposal-index{font-size:11px;white-space:nowrap;color:#607784;background:#eef3f5;border-radius:5px;padding:4px 6px}.duct-proposal p{font-size:12px;line-height:1.45;color:#536d7a;margin:0}.duct-proposal-meta{display:grid;gap:7px;font-size:11px;line-height:1.45;color:#536d7a;flex:1}.duct-proposal button{width:100%;margin-top:4px}.proposal-note{grid-column:1/-1;margin:0;padding:8px 0 0}@media(max-width:760px){.duct-proposals{grid-template-columns:1fr}.duct-proposal-top{align-items:center}}

/* v16 — lectura asistida de planos */
.plan-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:12px 0}.plan-tools label{min-width:180px;max-width:260px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:#536d7a}.plan-tools input{padding:9px;border:1px solid #cbd7de;border-radius:7px}.plan-scale-status{padding:10px 12px;border-radius:8px;background:#f0f6f9;color:#365567;font-size:12px;margin:10px 0}.plan-canvas-wrap{width:100%;max-height:70vh;overflow:auto;border:1px solid #d4e0e6;border-radius:9px;background:#edf2f5}.plan-canvas-wrap canvas{display:block;max-width:100%;height:auto;cursor:crosshair;touch-action:manipulation}.traced-rooms-list{display:grid;gap:7px;margin-top:10px}.traced-room-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9e3e8;border-radius:8px;padding:9px 11px;font-size:12px}.traced-room-item strong{color:#173d54}.traced-room-item button{border:1px solid #e2c9c9;color:#a33434;background:#fff;border-radius:6px;padding:4px 8px}@media(max-width:760px){.plan-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-tools label{grid-column:1/-1;max-width:none}.plan-tools button{width:100%;font-size:12px;padding:10px 7px}.plan-canvas-wrap{max-height:60vh}}

@media(max-width:480px){.topbar{min-height:74px;padding-left:16px;padding-right:16px;gap:10px}.brand-mark{width:39px;height:39px;flex-basis:39px}.brand{font-size:14px;letter-spacing:1px}.subbrand{font-size:11px}.offline{padding:5px 8px}}
