/* VIA CH4 layout family: cards, tables, responsive grids and Spanish technical typography.
   BOVIA identity: graphite, mineral white and agricultural ochre. */
:root{font-family:Arial,Helvetica,sans-serif;color:#202b2e;background:#f1f3f3;--ink:#202b2e;--muted:#5b696f;--line:#d5dddf;--accent:#f0c457;--paper:#fff;--blue:#33697b}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.file-button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:5px;padding:9px 13px;font-size:.875rem}button:hover,.file-button:hover{background:#eef1f2}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #327ba2;outline-offset:3px}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(2rem,3.6vw,3.65rem);margin:12px 0 20px;font-weight:700}h2{font-size:1.65rem;margin:0 0 19px}h3{font-size:1.12rem;margin:0 0 12px}p{margin:0 0 16px}small{font-size:.8125rem}.skip{position:fixed;top:-100px;z-index:100;background:var(--accent);padding:12px}.skip:focus{top:0}#sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--ink);color:#e9eff0;padding:28px 22px;display:flex;flex-direction:column;z-index:40;overflow:auto}.brand{font-size:2rem;text-decoration:none;font-weight:800;letter-spacing:-.055em;display:flex;align-items:center;gap:8px}.brand span{color:var(--ink);background:var(--accent);padding:1px 7px;letter-spacing:-.04em}.brand-sub{font-size:.75rem;letter-spacing:.1em;color:#acbcbf;margin:10px 0 30px}nav{display:grid;gap:3px}nav a{text-decoration:none;font-size:.875rem;padding:9px 10px;border-radius:4px;color:#bfced1;display:flex;gap:14px}nav a span{font-size:.75rem;color:#8ca0a5}nav a:hover{background:#2c3b40;color:white}nav a[aria-current=page]{background:#3c4748;color:var(--accent);border-left:3px solid var(--accent)}.sidebar-foot{margin-top:auto;padding-top:30px;font-size:.75rem;color:#9faeb1;letter-spacing:.08em}.sidebar-foot strong{display:block;color:white;font-size:.875rem;letter-spacing:0;margin-top:6px}.sidebar-foot p{margin-top:12px;letter-spacing:0}.workspace{margin-left:238px;min-width:0}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 36px;position:sticky;top:0;z-index:20}#breadcrumb{font-size:.875rem;font-weight:600}.toolbar{display:flex;gap:8px;align-items:center}.file-button input{display:none}#menu{display:none}main{padding:34px 36px 60px;max-width:1680px;margin:auto;min-height:calc(100vh - 150px)}footer{padding:22px 36px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem;display:flex;gap:16px;flex-wrap:wrap}footer span{margin-left:auto}#status:not(:empty){background:#fff1ce;color:#60470c;padding:12px 36px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#617076;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:25px;height:3px;background:#c79c3a}.intro{max-width:820px;color:var(--muted);font-size:1.05rem}.page-head{margin-bottom:28px;display:flex;align-items:end;justify-content:space-between;gap:25px}.page-head>div{max-width:850px}.tag{display:inline-flex;font-size:.75rem;padding:4px 8px;background:#e9eff1;color:#455961;border-radius:3px;line-height:1.4}.tag.project{background:#e1edf3;color:#24566e}.tag.design{background:#fff1c9;color:#685015}.tag.external{background:#e6eee8;color:#3b5c44}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.kpi{background:white;border:1px solid var(--line);padding:21px 22px;border-radius:7px;min-width:0}.kpi .label{color:var(--muted);font-size:.875rem}.kpi strong{display:block;font-size:clamp(1.45rem,2.2vw,2.35rem);letter-spacing:-.045em;line-height:1.1;margin:12px 0}.kpi small{color:var(--muted);display:block}.kpi .pending{font-size:1.15rem;line-height:1.4;color:#7e6124}.card{background:white;border:1px solid var(--line);padding:25px;border-radius:7px;min-width:0;margin-bottom:20px}.card.dark{background:var(--ink);color:white;border:0}.dark p,.dark small{color:#bfd0d3}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hero{background:#202b2e;color:white;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;border-radius:8px;overflow:hidden}.hero .eyebrow{color:#c5d2d4}.hero h1{font-size:clamp(2.4rem,4vw,4.25rem);margin:22px 0}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:#c5d2d4;font-size:1rem;max-width:630px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.button{display:inline-block;text-decoration:none;font-size:.875rem;font-weight:600;padding:12px 18px;border-radius:4px;border:1px solid #718087}.button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}.scheme{padding:8px 0;display:grid;align-content:center;gap:12px}.scheme .node{padding:15px;border:1px solid #748489;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.875rem}.scheme .node b{color:var(--accent);white-space:nowrap}.scheme .node.focus{background:#354044;border-color:var(--accent)}.arrow{text-align:center;font-size:1.1rem;color:#c59935;height:16px;line-height:16px}.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.flow a{border:1px solid var(--line);border-top:3px solid var(--blue);padding:17px 13px;text-decoration:none;font-size:.8125rem;min-width:0}.flow strong{display:block;font-size:1.25rem;margin:10px 0 4px;overflow-wrap:anywhere}.flow small{color:var(--muted)}.flow a:hover{background:#f0f5f7}.note{background:#fff4d9;border-left:3px solid #bf963a;padding:14px 18px;margin:17px 0;font-size:.875rem;color:#644f22}.note.neutral{background:#edf3f6;border-color:#5f8799;color:#39596a}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field{display:block;min-width:0}.field>label{font-size:.875rem;display:block;min-height:44px;margin-bottom:6px}.field input:not([type=range]),.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #bcc9cf;border-radius:4px;background:#fff}.field input[type=range]{width:100%;accent-color:#8b671d}.field .unit{color:var(--muted);font-size:.8125rem}.field summary{font-size:.75rem;cursor:pointer;color:#5b696f;margin-top:7px}.field details p{font-size:.8125rem;margin-top:8px;overflow-wrap:anywhere}.field input::placeholder{color:#856b38}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 15px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px;margin:15px 0;max-width:100%}table{border-collapse:collapse;width:100%;background:white;font-size:.875rem}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e3e8ea;vertical-align:top}th{background:#eef2f3;color:#43545b;font-size:.8125rem;position:sticky;top:0;white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr:last-child td{border-bottom:0}td input,td select{max-width:160px;width:100%;font:inherit;padding:8px;border:1px solid #c6cfd4;border-radius:3px}td a{color:#245b76}code{font-size:.875rem;background:#edf1f2;padding:3px 6px;overflow-wrap:anywhere}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.tabs button.active{background:var(--ink);border-color:var(--ink);color:white}.chart{width:100%;height:230px;display:block}.chart text{font-family:Arial;font-size:13px;fill:#536770}.chart .axis{stroke:#cbd5d9;stroke-width:1}.chart .line{fill:none;stroke:#346d86;stroke-width:3}.chart .line2{fill:none;stroke:#b48b2b;stroke-width:2}.legend{display:flex;gap:20px;font-size:.8125rem;color:var(--muted)}.legend span:before{content:'';display:inline-block;width:14px;height:3px;background:#346d86;margin-right:7px;vertical-align:middle}.legend span:nth-child(2):before{background:#b48b2b}.row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.row strong{font-variant-numeric:tabular-nums}.list{padding-left:20px;color:var(--muted)}.list li{margin-bottom:9px}.full{grid-column:1/-1}.muted{color:var(--muted)}.source-link{overflow-wrap:anywhere}.pill-link{display:inline-block;padding:6px 10px;background:#edf1f2;font-size:.8125rem;margin:3px;border-radius:3px;text-decoration:none}.source-card{border-left:3px solid var(--blue)}.warning-text{color:#795b1b}.number{font-variant-numeric:tabular-nums}.hidden{display:none!important}dialog{border:1px solid var(--line);border-radius:8px;max-width:700px;width:90vw;padding:30px}dialog::backdrop{background:#13262c80}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eff3f5;padding:16px;font-size:.8125rem}.budget-summary{display:flex;justify-content:space-between;padding:17px 0;font-size:1.1rem}.budget-summary b{font-variant-numeric:tabular-nums}.details-card>summary{cursor:pointer;font-weight:700;font-size:1rem;padding:4px 0}.details-card[open]>summary{margin-bottom:22px}.empty{padding:35px 20px;text-align:center;color:var(--muted);border:1px dashed #b9c7cd;border-radius:5px}.plot-title{margin-top:22px;font-size:.875rem;color:var(--muted)}
@media(min-width:1500px){main{padding:44px 50px}.fields{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){#sidebar{width:200px;padding:25px 15px}.workspace{margin-left:200px}main{padding:28px 24px}.hero{grid-template-columns:1fr;padding:28px}.scheme{grid-template-columns:1fr 1fr}.scheme .arrow{display:none}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:1fr 1fr}header{padding:0 24px}.flow{grid-template-columns:1fr 1fr}}
@media(max-width:760px){#sidebar{transform:translateX(-100%);width:238px;transition:transform .15s}body.menu-open #sidebar{transform:translateX(0)}.workspace{margin-left:0}#menu{display:block;flex-shrink:0}header{height:auto;min-height:65px;padding:12px 16px;flex-wrap:wrap;gap:10px}.toolbar{margin-left:auto}.toolbar button,.file-button{font-size:.8125rem;padding:8px}#breadcrumb{font-size:.8125rem}.toolbar #reset{display:none}main{padding:24px 16px 45px}.grid2,.grid3{grid-template-columns:1fr}.hero{padding:25px 21px;gap:15px}.hero h1{font-size:2.65rem}.scheme{grid-template-columns:1fr}.kpi{padding:18px 15px}.kpi strong{font-size:1.8rem}.card{padding:21px 17px}.page-head{display:block}.page-head .tag{margin-top:10px}.fields{gap:16px 12px}.field>label{min-height:44px;font-size:.875rem}.field .tag{font-size:.7rem}.flow a{padding:13px 10px}.flow strong{font-size:1.15rem}footer{padding:20px 16px;display:block}footer span{display:block;margin-top:10px}.table-wrap{margin-left:0;margin-right:0}h1{font-size:2.2rem}#status:not(:empty){padding:10px 16px}.chart{height:210px}}
@media(max-width:390px){.fields{grid-template-columns:1fr}.toolbar{width:100%;justify-content:flex-end}.kpis{gap:9px}.kpi strong{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{#sidebar,header,.toolbar{display:none}.workspace{margin:0}main{padding:0}.card{break-inside:avoid}.table-wrap{overflow:visible}body{background:white}.hero{color:black;background:white}.hero p{color:black}footer{display:none}}
.header-identity{display:flex;align-items:center;gap:16px;min-width:0}.organization-logo{display:block;width:150px;height:auto;flex-shrink:0;border-radius:3px}footer{align-items:center}footer .organization-logo{width:180px}@media(max-width:1100px){header{height:auto;min-height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.header-identity{flex:1}.toolbar{margin-left:auto}}@media(max-width:760px){.header-identity{gap:10px}.header-identity .organization-logo{width:134px}.header-identity #breadcrumb{font-size:.75rem}footer .organization-logo{margin-bottom:16px}}
