@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito+Sans:wght@400;600;700;800;900&display=swap";:root{--brand-red:#d9222f;--brand-yellow:#ffca1b;--brand-white:#fff;--line:#e8c96e;--panel-bg:#ffffffe0;--text-main:#1f1a1a;--text-soft:#695c5c}*,:before,:after{box-sizing:border-box}body{min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 11% 14%,#ffffffe0,#0000 39%),radial-gradient(circle at 92% 19%,#ffffff61,#0000 33%),linear-gradient(145deg,#ffe88d 0%,#ffd84f 45%,#f6c438 100%);margin:0;font-family:Nunito Sans,Segoe UI,sans-serif}#root{min-height:100vh}h1,h2,h3{letter-spacing:.02rem;margin:0;font-family:Bebas Neue,Impact,sans-serif}p{margin:0}.app-shell{gap:1rem;width:min(1200px,92vw);margin:0 auto;padding:1.4rem 0 2.4rem;display:grid}.hero,.panel,.kpi,.scenario,.summary-card{border:1px solid var(--line);background:var(--panel-bg);border-radius:16px;box-shadow:0 10px 26px #00000014}.hero{color:#fff;background:linear-gradient(135deg,#eb2029eb,#ad0c17f2),radial-gradient(circle at 100% 0,#ffdf2047,#0000 56%);padding:1.3rem 1.4rem}.hero-tag{letter-spacing:.11rem;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.hero h1{color:#fff;margin:.38rem 0 .28rem;font-size:clamp(2rem,4vw,3.3rem);line-height:.95}.hero p{max-width:74ch;margin:0;font-weight:500}.controls{grid-template-columns:2fr 1.2fr .6fr;align-items:end;gap:.9rem;padding:1rem;display:grid}.view-switch{flex-wrap:wrap;gap:.5rem;display:flex}.view-switch button{border:1px solid var(--line);color:var(--text-main);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem .8rem;font-weight:700}.view-switch button.active{background:var(--brand-red);color:#fff;border-color:var(--brand-red)}.select-block,.meta-block{gap:.3rem;display:grid}.select-block label,.meta-block span{color:var(--text-soft);font-size:.82rem;font-weight:700}.select-block select{border:1px solid var(--line);border-radius:10px;height:2.4rem;padding:0 .65rem;font-weight:600}.meta-block{border:1px dashed var(--line);background:#ffffffb8;border-radius:12px;padding:.7rem}.meta-block strong{font-size:1.5rem;font-weight:900}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.kpi{padding:.95rem}.kpi p{color:var(--text-soft);text-transform:uppercase;letter-spacing:.04rem;margin:0;font-size:.86rem;font-weight:800}.kpi h2{color:var(--text-main);margin:.35rem 0 0;font-size:clamp(1.3rem,3vw,2rem)}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.scenario{background:linear-gradient(#ffffffe6,#fff5b69e);padding:.9rem}.scenario h3{margin:0 0 .3rem;font-size:1rem}.scenario p{margin:.2rem 0}.audit-overview{grid-template-columns:1fr 1.2fr;gap:.8rem;display:grid}.audit-score h3,.audit-plan h3{margin:0 0 .45rem}.score-line{align-items:baseline;gap:.65rem;display:flex}.score-line strong{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1}.score-line span{color:var(--text-soft);font-weight:700}.audit-plan ol{gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.finding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.finding{border:1px solid var(--line);background:#ffffffd9;border-radius:14px;padding:.8rem}.finding-level{letter-spacing:.03rem;border-radius:999px;margin:0 0 .25rem;padding:.16rem .5rem;font-size:.72rem;font-weight:900;display:inline-block}.finding h3{margin:0 0 .3rem;font-size:1rem}.finding p{margin:.18rem 0}.finding-action{font-weight:700}.severity-alta{background:#ffe6e6db;border-color:#bb1c1c9e}.severity-alta .finding-level{color:#871010;background:#bc21212e}.severity-media{background:#fff8dbe6;border-color:#c792009e}.severity-media .finding-level{color:#7a4d00;background:#ffbd0040}.severity-baja{background:#f0f6ffe0;border-color:#466ebd85}.severity-baja .finding-level{color:#214f94;background:#5585da3d}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.panel{padding:1rem}.panel h3{margin:0 0 .7rem;font-size:1.1rem}.bar-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.bar-head{justify-content:space-between;gap:.5rem;font-size:.95rem;display:flex}.bar-track{background:#00000014;border-radius:999px;width:100%;height:.55rem;overflow:hidden}.bar-track span{border-radius:inherit;background:linear-gradient(90deg,#de2323,#ffbd00);height:100%;display:block}.payment-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.payment-list li{border:1px solid var(--line);background:#ffffffc7;border-radius:12px;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:.4rem;padding:.65rem;display:grid}.payment-list small{color:var(--text-soft);font-weight:700}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.summary-card{padding:.75rem}.summary-card h3{margin:0 0 .6rem;font-size:1rem}.entry-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.entry-form label{gap:.35rem;font-size:.86rem;font-weight:700;display:grid}.entry-form input,.entry-form select{border:1px solid var(--line);height:2.35rem;font:inherit;border-radius:10px;padding:0 .62rem}.entry-form .wide{grid-column:span 2}.entry-form .submit{background:var(--brand-red);color:#fff;cursor:pointer;border:none;border-radius:10px;height:2.35rem;font-size:.95rem;font-weight:800}.form-error{color:#ab0a0a;grid-column:span 4;margin:0;font-weight:700}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;border-bottom:1px solid #00000014;padding:.53rem .42rem;font-size:.9rem}thead th{letter-spacing:.05rem;text-transform:uppercase;color:var(--text-soft);font-size:.77rem}.pill{border-radius:999px;padding:.18rem .48rem;font-size:.74rem;font-weight:800}.pill.in{color:#116d11;background:#49c56033}.pill.out{color:#9f0000;background:#e33c3c33}.pos{color:#0c7a2a;font-weight:800}.neg{color:#a01414;font-weight:800}@media (width<=1120px){.controls{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-grid,.audit-overview,.finding-grid,.split-grid,.summary-grid{grid-template-columns:1fr}.entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-form .wide,.form-error{grid-column:span 2}}@media (width<=640px){.app-shell{width:min(1200px,95vw)}.entry-form{grid-template-columns:1fr}.entry-form .wide,.form-error{grid-column:span 1}}
