:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#182c2a;background:#f3f5f7;font-size:16px;--ink:#112d2a;--green:#bdff75;--muted:#60716f;--line:#dfe6e4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cdd8d4;background:white;color:var(--ink);border-radius:8px;padding:11px 16px;font-size:.9rem;font-weight:600}button:hover{background:#e8efe9}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover{background:#245149}button:focus-visible,a:focus-visible{outline:3px solid #5585d0;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #cbd6d2;border-radius:7px;background:#fff;padding:10px;color:#172e29;min-width:0}label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600}textarea{min-height:80px}aside{width:232px;position:fixed;inset:0 auto 0 0;background:var(--ink);color:white;display:flex;flex-direction:column;padding:32px 18px}.brand{display:flex;align-items:center;gap:13px;font-size:.9rem;font-weight:700;letter-spacing:.09em}.brand b{display:grid;place-items:center;width:43px;height:43px;background:var(--green);color:var(--ink);border-radius:10px;font-size:1.7rem;letter-spacing:-.1em}.brand small{font-size:.75rem;font-weight:400;color:#b4c8c2}.brand span{line-height:1.5}nav{display:grid;gap:5px;margin-top:45px}nav button{text-align:left;background:transparent;border:0;color:#c9d8d3;padding:14px 16px}nav button:hover,nav button.active{background:#294841;color:#fff}nav button.active{box-shadow:inset 3px 0 var(--green)}.aside-bottom{margin-top:auto;display:grid;gap:12px;color:#c9d8d3;font-size:.85rem;padding:15px}.aside-bottom button{background:transparent;color:#fff;border-color:#536c63}.workspace{margin-left:232px;padding:40px clamp(20px,4vw,65px);max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:.75rem;font-weight:700;color:#627571;letter-spacing:.13em;margin:0 0 8px}h1{font-size:2rem;letter-spacing:-.045em;margin:0}h2{font-size:1.1rem;margin:0 0 18px}h3{font-size:1rem;margin:0 0 10px}p{line-height:1.6}.filters{display:flex;align-items:flex-end;gap:12px;margin-bottom:24px}.filters label{max-width:200px}.filters label:nth-child(3){max-width:320px;flex:1}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.card .label{font-size:.875rem;color:var(--muted);display:block;margin-bottom:14px}.value{font-size:clamp(1.25rem,2vw,2rem);font-weight:650;letter-spacing:-.04em}.card small{display:block;font-size:.8rem;color:var(--muted);margin-top:10px;line-height:1.5}.spotlight{background:var(--ink);color:white}.spotlight .label,.spotlight small{color:#cedfd4}.spotlight .value{color:var(--green)}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin:22px 0}.muted{color:var(--muted)}.note{background:#e8efed;border-left:3px solid #799c8c;padding:14px 18px;font-size:.875rem;line-height:1.6;border-radius:5px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;margin-top:18px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;white-space:nowrap}th{color:#596e65;background:#f8faf9;font-size:.8rem;font-weight:600}th,td{padding:15px 18px;border-bottom:1px solid #e7ece9}tr:last-child td{border-bottom:0}td small{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.tag{display:inline-block;border-radius:5px;padding:5px 9px;background:#eef2f0;color:#445e51;font-size:.8rem}.tag.good{background:#e0f4d9;color:#285129}.tag.warn{background:#fff0d8;color:#805312}.tag.cancel{background:#f9e3e3;color:#8d3838}.empty{padding:40px 24px;text-align:center;background:white;border:1px dashed #bfcdc6;border-radius:12px;margin-top:18px}.empty p{color:var(--muted)}.actions{display:flex;gap:6px}.actions button{padding:6px 9px;font-size:.8rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards .card h3{margin-top:13px}.cards .card p{font-size:.875rem;color:var(--muted)}.metric-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}.metric-row:last-child{border:0}.bar-row{display:grid;grid-template-columns:125px 1fr 100px;gap:10px;align-items:center;margin:19px 0;font-size:.8rem}.bar-track{height:9px;background:#edf2ed;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:#3f8165;border-radius:10px}.negative{color:#a73c42}.login{max-width:450px;margin:12vh auto;background:white;border:1px solid var(--line);padding:38px;border-radius:18px}.login .brand{margin-bottom:40px}.login h1{font-size:2.35rem;line-height:1.15}.login p{color:var(--muted)}.login form{display:grid;gap:18px;margin-top:28px}.error{color:#ae333b!important;font-size:.875rem}footer{font-size:.8rem;color:var(--muted);margin-top:40px}#status:not(:empty){margin-bottom:15px;padding:12px;background:#e2efd9;border-radius:8px}dialog{width:min(740px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:15px;padding:28px;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#102b2866}.dialog-heading,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{margin:0}.dialog-heading button{font-size:1.5rem;border:0;padding:3px 12px}.dialog-actions{justify-content:flex-end;margin-top:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.form-grid .wide{grid-column:1/-1}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.hidden{display:none!important}a{color:#206b50}code{background:#edf2ef;padding:3px 5px;border-radius:4px}pre{overflow:auto;font-size:.8rem;background:#f4f6f5;padding:15px}details{margin:16px 0}summary{cursor:pointer;font-weight:600}#file-input{max-width:100%}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{position:static;width:auto;padding:18px}.brand{font-size:.8rem}aside .brand b{height:34px;width:34px;font-size:1.4rem}nav{display:flex;overflow:auto;margin-top:18px;gap:5px}nav button{white-space:nowrap;padding:11px}.aside-bottom{display:none}.workspace{margin:0;padding:24px 16px}header{align-items:flex-start}h1{font-size:1.7rem}header button{font-size:.8rem;padding:10px}.filters{flex-wrap:wrap}.filters label{flex:1;max-width:none;min-width:120px}.filters label:nth-child(3){max-width:none;min-width:200px}.split,.cards{grid-template-columns:1fr}.card{padding:18px}.value{font-size:1.45rem}.kpis{gap:10px}.form-grid{grid-template-columns:1fr}.login{margin:8vh 16px}.bar-row{grid-template-columns:100px 1fr 90px}}
