@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-latin-700.woff2') format('woff2')}
:root{--green:#275937;--green-dark:#234f2d;--background:#eef3ec;--text:#23382a}
[hidden]{display:none!important}
body{font-family:Inter,system-ui,sans-serif;background:var(--background);color:var(--text);margin:0}
.app-container{max-width:960px;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.topo{background:linear-gradient(135deg,#275937,#3f7d43);color:white;border-radius:18px;padding:30px;margin-bottom:18px;box-shadow:0 15px 35px rgba(0,0,0,.12)}
h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.brand-icon{font-size:2.5rem;line-height:1.2}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em}.intro{font-size:.95rem;line-height:1.65;color:#f0f6ef}
.app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 4px 18px}.connection-status{font-size:.82rem;color:#46604c}.connection-status.is-offline{color:#765013;font-weight:600}
.card{border:none;border-radius:18px;box-shadow:0 10px 25px rgba(0,0,0,.08)}.card-body{padding:35px;min-width:0}.section-heading h2,.info h2{font-size:1.15rem;font-weight:700}.section-heading p{font-size:.9rem;color:#526257;margin-bottom:28px}
label{font-weight:600;margin-bottom:8px}.unit-label{font-weight:400;color:#526257}.form-control{border-radius:12px;padding:13px;font-size:16px;min-width:0;border-color:#b8c7bb;color:#23382a}.input-group-text{background:#2f6b3c;color:white;border:none;min-width:47px;justify-content:center;border-radius:12px}.input-group{flex-wrap:nowrap}.form-control:focus{border-color:#357a50;box-shadow:0 0 0 .2rem rgba(39,89,55,.2)}.form-control[aria-invalid=true]{border:2px solid #b02a37}.field-error{font-size:.82rem;color:#b02a37;margin:6px 0 0}.input-hint{color:#526257;font-size:.8rem}
.btn{min-height:44px;white-space:normal;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-calcular{background:#2f6b3c;border:none;border-radius:12px;padding:14px;font-weight:600;font-size:1.1rem;transition:background .2s,transform .2s}.btn-calcular:hover,.btn-calcular:focus-visible{background:#234f2d;transform:translateY(-2px)}.btn-outline-success{--bs-btn-color:#275937;--bs-btn-border-color:#275937;--bs-btn-hover-bg:#275937;--bs-btn-hover-border-color:#275937}.btn-link{color:#275937}
.resultado{margin-top:30px;border-radius:18px;background:linear-gradient(135deg,#176d45,#20834e);color:white;padding:30px;text-align:center;overflow-wrap:anywhere}.resultado h2{font-size:clamp(1.8rem,6vw,2.8rem);font-weight:700;margin:10px 0}.estimate-note{font-size:.78rem;margin:16px 0 0;color:#f0f6ef;line-height:1.6}.resultado.calculated{animation:fade .35s ease-out}
.info{background:#f8faf8;border:1px solid #e3eae2;border-radius:15px;padding:20px;margin-top:20px}.info h2{margin-bottom:20px}.summary-list{margin:0 0 16px}.summary-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #dce5db;font-size:.9rem}.summary-list dt{font-weight:400}.summary-list dd{text-align:right;font-weight:600;margin:0;overflow-wrap:anywhere;min-width:0}.formula-detail{font-size:.82rem;overflow-wrap:anywhere}details{font-size:.85rem}summary{cursor:pointer;min-height:44px;padding:12px 0;color:#275937;font-weight:600}.result-actions{display:flex;flex-wrap:wrap;gap:10px}.result-actions .btn{flex:1 1 170px}
.action-status{color:#275937;font-size:.88rem;min-height:1.3em}.footer-actions{margin-top:18px;border-top:1px solid #e3eae2;padding-top:16px;text-align:center}.footer-actions p{font-size:.75rem;color:#526257}.app-footer{text-align:center;padding:24px 8px;font-size:.75rem;color:#526257}.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:100}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #ad6c15;outline-offset:4px}#update-notice{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
@keyframes fade{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:575.98px){.app-container{padding-top:max(16px,env(safe-area-inset-top))}.topo{padding:22px 18px}.brand-icon{font-size:1.6rem}.eyebrow{font-size:.65rem}.card-body{padding:22px 18px}.resultado{padding:24px 14px}.info{padding:16px 12px}.summary-list>div{font-size:.83rem;gap:10px}.summary-list dt{flex:1}.summary-list dd{flex:1}.footer-actions .btn{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
