*{box-sizing:border-box}body{margin:0;background:#f5f5f0;color:#203c35;font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button,a,label.import{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;background:white;border:1px solid #d8ded7;border-radius:7px;padding:10px 15px;color:#28473e}button:hover{background:#e7eee6}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #d49e4c;outline-offset:2px}header{height:76px;background:#fcfcf8;border-bottom:1px solid #dce1d8;display:flex;justify-content:space-between;align-items:center;padding:0 4%}.brand{color:#234c3d;text-decoration:none;font-size:23px;display:flex;gap:12px;align-items:center}.brand b{font-size:17px;letter-spacing:1px}.brand span{font-weight:400;font-size:12px}.header-right{display:flex;gap:24px;align-items:center}.saved{font-size:12px;color:#6f8072}main{max-width:1550px;margin:auto;padding:38px 4% 20px}.heading{position:relative;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6e7f71}.eyebrow span{margin-left:15px;border-left:1px solid #c4cdc0;padding-left:15px}h1{font-family:Manrope,sans-serif;font-size:38px;letter-spacing:-1.6px;margin:13px 0 9px;font-weight:600}h1>span{color:#cf9b4b}.heading p{color:#6b7a71;margin:0}.project-tools{position:absolute;right:0;bottom:5px;display:flex;gap:10px;align-items:center}.import{cursor:pointer;padding:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dce2d7;background:#fcfcf9;border-radius:10px;margin-bottom:28px;overflow:hidden}.stats>div{padding:23px 26px;border-right:1px solid #e2e6dd}.stats>div:last-child{border:none}.stats small{letter-spacing:1.3px;font-size:10px;color:#758071}.stats strong{display:block;font-size:32px;font-weight:500;margin:8px 0}.stats em{font-style:normal;font-size:16px;color:#829080}.stats span{font-size:12px;color:#778575}nav{display:flex;gap:28px;border-bottom:1px solid #d6ddd1;margin-bottom:24px}nav button{border:0;border-radius:0;background:none;padding:0 0 15px;font-size:13px;color:#758071}nav button span{font-size:10px;margin-right:7px}nav button.active{color:#264c3b;border-bottom:3px solid #315e45}.workspace{display:grid;grid-template-columns:270px 1fr;gap:24px}aside,.content{background:#fdfdf9;border:1px solid #dce2d7;border-radius:10px}aside{padding:22px;height:fit-content}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title span{background:#edf0e8;padding:3px 8px;border-radius:4px;font-size:11px}h2{font-size:17px;margin:0 0 6px;font-weight:600}h3{font-size:11px;margin:24px 0 14px;text-transform:uppercase;letter-spacing:1px;color:#607363}.muted{color:#778476;font-size:12px;line-height:1.7}.field{display:block;font-size:11px;color:#657362;margin-bottom:13px}.field>div{display:flex;margin-top:7px;border:1px solid #dbe1d5;border-radius:5px;align-items:center;background:white;overflow:hidden}.field input{width:100%;border:0;padding:9px;color:#294838;min-width:0;background:none}.field span{padding-right:9px;color:#9ba495;font-size:10px}.field select{width:100%;padding:9px;border:1px solid #dbe1d5;border-radius:5px;background:white;color:#294838;margin-top:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.note{font-size:11px;line-height:1.7;background:#f2f2e8;color:#7c7963;padding:12px;border-radius:5px}.reset{width:100%;font-size:11px;margin-top:12px}.content{padding:24px;min-width:0}.canvas-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.canvas-head p,.rail-editor p{font-size:11px;color:#8b9488;margin:0}.pill{font-size:10px;padding:7px 10px;background:#edf2e8;border-radius:20px;color:#668361}.drawing{border:1px solid #dce3d8;border-radius:8px;background-color:#f1f4ed;background-image:radial-gradient(#cbd5c6 .7px,transparent .7px);background-size:16px 16px;position:relative;overflow:hidden}.drawing-tools{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px;font-size:10px}.drawing-tools button{padding:5px 9px;font-size:11px}.svgscroll{overflow:auto;max-height:650px}.svgscroll svg{display:block;max-height:none;height:auto}.dim{font:150px 'DM Sans',sans-serif;fill:#7c897d}.dim.small{font-size:115px}.rowlabel{font-size:145px;fill:#6e8272}.panelnum{font-size:200px;fill:#d5dfd4;opacity:.8}.railnum{font-size:105px;fill:#8c754c}.legend{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #dce3d8;background:#f9faf5;padding:14px 17px;font-size:10px;color:#6c7c6b}.legend i{display:inline-block;width:12px;height:9px;margin-right:5px;border-radius:2px}.green{background:#234943}.gold{background:#d9be7b}.rail-editor{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:20px}.rail-editor h2{margin-top:7px}.rail-editor h2 small{font-size:12px;color:#8b9687;font-weight:400}.rail-editor label{font-size:11px;color:#697866;width:50%}.position{display:flex;align-items:center;gap:10px;margin:12px 0}.position input[type=range]{width:65%;accent-color:#385d43}.position input[type=number]{width:70px;padding:7px;border:1px solid #dce2d7;border-radius:4px}.position+small{font-size:10px;color:#879380}.cut-summary{background:#eaf0e5;padding:15px;margin:20px 0;border-radius:6px}.cut-summary span{font-size:11px;color:#788570}.cut{padding:14px 0;border-bottom:1px solid #e4e7de}.cut>div:first-child{display:flex;justify-content:space-between;font-size:12px}.cut span,.cut small{color:#85917d;font-size:10px}.cutbar{display:flex;background:repeating-linear-gradient(45deg,#edf0e6,#edf0e6 4px,#dee4d7 4px,#dee4d7 5px);height:32px;margin:10px 0;border-radius:4px;overflow:hidden}.cutbar>div{background:#416b55;color:white;border-right:3px solid #f7f8f0;display:flex;align-items:center;justify-content:center;font-size:11px;white-space:nowrap;overflow:hidden}.assembly{display:flex;justify-content:space-between;gap:12px;font-size:11px;border-bottom:1px solid #e5e8df;padding-bottom:10px}.assembly b{font-weight:400;color:#71806c}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;margin-top:20px}th{text-align:left;font-size:10px;color:#86917f;padding:13px;background:#f0f3e9}td{padding:20px 12px;border-bottom:1px solid #e3e7dc}td input{width:85px;padding:8px;border:1px solid #dfe4d7;border-radius:4px;color:#385a40}td small{display:block;color:#84907d;font-size:10px;margin-top:6px}.primary{background:#355b42;color:white}.sources{display:flex;gap:12px;flex-wrap:wrap}.sources a{color:#4f7251;font-size:12px}.check{display:flex;gap:15px;padding:22px 0;border-bottom:1px solid #e2e8dc;line-height:1.7;font-size:13px}.check input{accent-color:#355b42;width:18px}.alert{background:#fff0d4;color:#986728;padding:15px;font-size:12px}footer{display:flex;justify-content:space-between;padding:26px 0 0;font-size:10px;letter-spacing:.5px;color:#8e9987}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#284a38;color:white;z-index:10}@media(min-width:1300px){.svgscroll svg{max-height:650px}}@media(max-width:900px){.workspace{grid-template-columns:230px 1fr}.project-tools{position:static;margin-top:18px}h1{font-size:30px}.stats>div{padding:18px}.stats strong{font-size:26px}.rail-editor{flex-direction:column;align-items:flex-start}.rail-editor label{width:100%}.content{padding:16px}}@media(max-width:680px){header{height:64px}.header-right .saved{display:none}.header-right button{font-size:10px}.brand span{display:none}main{padding-top:26px}.stats{grid-template-columns:1fr 1fr}.stats>div{border-bottom:1px solid #e2e6dd}nav{gap:16px;overflow:auto;white-space:nowrap}nav button{font-size:11px}nav button span{display:none}.workspace{display:flex;flex-direction:column}.content{order:-1}.canvas-head{gap:10px}.pill{display:none}aside{width:100%}.svgscroll{max-height:480px}footer{gap:15px;line-height:1.5}.heading h1{font-size:29px}}@media print{header,aside,nav,.project-tools,.drawing-tools,.toast{display:none}main{padding:0}.workspace{display:block}.content{border:none}.stats{margin:10px 0}.svgscroll{max-height:none;overflow:visible}.svgscroll svg{width:100%!important;min-width:0!important}.drawing{break-inside:avoid}body{background:white}.rail-editor{display:none}footer{margin-top:10px}}
.dialog-shade{position:fixed;inset:0;background:#17342688;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.export-dialog{position:relative;background:#fcfcf8;border-radius:12px;padding:26px;width:100%;max-width:580px;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #10271844}.export-dialog p{font-size:13px;line-height:1.7}.export-dialog textarea{display:block;width:100%;height:180px;border:1px solid #c8d2c3;border-radius:6px;padding:12px;margin:16px 0;font:12px monospace;color:#234437;background:white}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.close{position:absolute;right:12px;top:10px;font-size:20px;padding:3px 10px}.site-url{width:100%;padding:12px;border:1px solid #c8d2c3;margin-top:9px}.toast{z-index:70;max-width:90vw}.project-tools{flex-wrap:wrap}.export-dialog h2{padding-right:28px}@media(max-width:1100px){.project-tools{position:static;margin-top:16px}}@media print{.dialog-shade,.toast{display:none!important}}
.measure{min-width:0;margin:10px 0 16px}.measure label{font-size:12px;color:#586d5d}.number-wrap{display:flex;align-items:center;background:white;border:1px solid #cbd6c7;border-radius:6px;margin:7px 0}.number-wrap input{min-width:0;width:100%;font-size:16px;padding:10px;border:0;border-radius:6px;color:#254735;background:none}.number-wrap span{font-size:11px;padding-right:10px;color:#7b8c78}.measure>input[type=range]{width:100%;height:30px;accent-color:#355f45;touch-action:pan-y;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:9px;color:#879681}.row-controls{padding:18px;border:1px solid #d6dfd0;background:#f4f6ee;border-radius:8px;margin-bottom:18px}.row-tabs,.row-actions{display:flex;flex-wrap:wrap;gap:8px}.row-tabs button{min-height:44px;flex:1;padding:9px;font-size:12px}.row-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.row-actions button{font-size:11px}.rail-measure{width:50%}.row-measures .measure{margin-bottom:6px}@media(max-width:700px){.row-measures{grid-template-columns:1fr 1fr;gap:0 12px}.row-tabs button{min-width:40%}.rail-measure{width:100%}.row-controls{padding:12px}.svgscroll svg{min-width:0!important}.content{padding:12px}}@media print{.row-controls{display:none}}

.module-count{margin:18px 0;padding:16px;background:#fff;border:1px solid #cbd6c7;border-radius:8px}.module-count>label{font-weight:600}.count-stepper{display:flex;gap:10px;margin-top:10px}.count-stepper button{min-width:48px;min-height:48px;font-size:24px}.count-stepper input{width:90px;text-align:center;font-size:20px;border:1px solid #cbd6c7;border-radius:6px;color:#254735}.count-stepper button:disabled{opacity:.35;cursor:default}.module-count p{margin-bottom:0}

.manage-rows{margin-bottom:14px;align-items:center}.manage-rows button{min-height:44px}.manage-rows button:disabled{opacity:.4;cursor:default}.row-tabs button{flex:0 1 calc(25% - 6px)}@media(max-width:700px){.row-tabs button{flex:1 1 40%}}

.roof-controls{border:1px solid #b7cdd6;background:#f3f8fa;border-radius:8px;padding:18px;margin-bottom:18px}.roof-controls summary{cursor:pointer;padding:12px 0;font-weight:600}.fit-result p{margin:6px 0 0;font-size:12px;line-height:1.5}.fit-ok{padding:15px;background:#e5f0e4;border-radius:6px;color:#285639}.roof-clearance td{padding:12px}.roof-clearance th{white-space:nowrap}@media print{.roof-controls .row-measures,.roof-controls details{display:none}.roof-controls{break-inside:avoid}}

.brand img{display:block;width:250px;height:auto;max-width:100%}@media(max-width:680px){.brand img{width:185px}}@media print{body:before{content:"CLIMACÍAS SOLAR";display:block;color:#234943;font-size:20px;font-weight:bold;margin-bottom:12px}}
