:root{--night:#101b1c;--deep:#163234;--chalk:#f5f0e6;--paper:#fffdf7;--line:#d9d1c3;--acid:#d8ed5c;--clay:#d95d3d;--muted:#687371;--ink:#172425}*{box-sizing:border-box}body{margin:0;background:var(--chalk);color:var(--ink);font:14px Manrope,sans-serif}button,input,select,textarea{font:inherit}.login{min-height:100vh;background:linear-gradient(125deg,#0d2020,#1e3e3e);display:grid;place-items:center;padding:24px}.login:before{content:"";position:fixed;width:55vw;height:55vw;border:1px solid #d8ed5c4a;border-radius:50%;right:-20vw;top:-22vw}.login form{width:min(440px,100%);position:relative;color:#eff4e8}.mark,.eyebrow{font:500 11px "DM Mono";letter-spacing:.12em;color:var(--acid)}.login h1,h1,h2,h3{font-family:"Barlow Condensed";letter-spacing:-.025em}.login h1{font-size:clamp(59px,8vw,85px);line-height:.8;margin:28px 0}.login p{color:#c6d2cc;line-height:1.7}.login label,label{display:grid;gap:7px;margin:17px 0;color:#c9d3cc;font-size:12px}.login input{background:#ffffff12;color:white;border:1px solid #ffffff3c}input,select,textarea{width:100%;border:1px solid var(--line);background:white;padding:11px;border-radius:2px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--acid);border-color:var(--deep)}.action,.minor{border:0;cursor:pointer;border-radius:1px;font-weight:800}.action{padding:13px 17px;background:var(--acid);color:#1c2923;box-shadow:4px 4px 0 #091312;margin-top:14px}.login .action{width:100%}.login small{color:#ffc6b8;padding-top:10px;display:block}aside{background:var(--night);color:#e9eee8;position:fixed;width:234px;inset:0 auto 0 0;padding:30px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;color:inherit;text-decoration:none;align-items:center;font:700 21px "Barlow Condensed";letter-spacing:.04em}.brand span{width:31px;height:31px;display:grid;place-items:center;background:var(--acid);color:var(--deep)}.workspace{font:10px "DM Mono";letter-spacing:.12em;color:#92a09c;margin:42px 8px 16px}nav{display:grid;gap:3px}nav button{border:0;text-align:left;background:transparent;color:#aebbb5;padding:11px 12px;cursor:pointer;border-left:2px solid transparent}nav button:hover,nav button.selected{color:var(--acid);border-left-color:var(--acid);background:#ffffff08}.account{margin-top:auto;border-top:1px solid #ffffff1a;padding:18px 8px 0;display:grid;gap:4px}.account b{font-size:13px}.account span{font:10px "DM Mono";letter-spacing:.06em;color:#9cad9f;text-transform:uppercase}.account button{margin-top:8px;padding:0;text-align:left;border:0;background:transparent;color:#9cad9f;cursor:pointer;font-size:11px}main{margin-left:234px;padding:42px clamp(25px,5vw,80px);max-width:1700px}main>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:31px;margin-bottom:30px}h1{font-size:clamp(44px,5vw,67px);line-height:.84;margin:0}h2{font-size:30px;line-height:.9;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:52px}.metric{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--deep);padding:18px;min-height:132px}.metric.good{border-color:#5c9455}.metric.warning{border-color:var(--clay)}.metric span,.report-grid span{font:500 10px "DM Mono";letter-spacing:.1em;color:var(--muted)}.metric strong{display:block;font:600 34px "Barlow Condensed";margin-top:17px}.metric small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 17px}.section-head .minor{border:1px solid var(--ink);background:transparent;padding:9px 12px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.project-card{background:var(--paper);border:1px solid var(--line);padding:18px;box-shadow:5px 5px 0 #dcd3c5}.card-top,footer{display:flex;justify-content:space-between;align-items:center}.dots{border:0;background:transparent;cursor:pointer}.status,.flow{display:inline-block;padding:4px 7px;font:10px "DM Mono";border-radius:10px;background:#e6ece8;color:var(--deep)}.status.en.ejecución,.status.en.ejecucion{background:#e3f0b3}.status.en.pausa,.status.cerrada{background:#eadeda}.project-card h3{font-size:27px;margin:22px 0 3px}.project-card p{color:var(--muted);font-size:11px}.progress,.inline-progress{height:6px;background:#dedbd1;margin:24px 0 11px}.progress i,.inline-progress i{display:block;height:100%;background:var(--deep)}.card-numbers{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.card-numbers b{display:block;color:var(--ink);font-size:14px}.project-card footer{border-top:1px solid var(--line);padding-top:13px;margin-top:18px;color:var(--muted);font-size:11px}.project-card footer button{border:0;background:transparent;cursor:pointer;font-weight:800}.hint{background:#293d36;color:#e6efdf;border-left:5px solid var(--acid);padding:15px 18px;line-height:1.6;margin-bottom:23px}.table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line)}table{border-collapse:collapse;width:100%;min-width:750px}th{text-align:left;font:10px "DM Mono";letter-spacing:.08em;color:var(--muted);padding:13px 14px;background:#f0ece2}td{padding:14px;border-top:1px solid var(--line);vertical-align:middle}td b{display:block}td small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.inline-progress{width:75px;display:inline-block;margin:0 7px 0 0}.minor{padding:7px 10px;border:1px solid var(--line);background:var(--paper)}.filter{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px;color:var(--muted)}.filter label{color:var(--muted);margin:0;width:260px}.flow.in{background:#e6f4d5;color:#2b6527}.flow.out{background:#fde4dd;color:#9e3e26}.accounts{margin-top:42px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.accounts h2{grid-column:1/-1}.accounts article{background:var(--deep);color:#fff;padding:17px}.accounts article span{display:block;color:#b6c4bd;font-size:11px;margin:8px 0}.accounts article strong{font:600 25px "Barlow Condensed";color:var(--acid)}.report-hero{background:var(--deep);color:#eff2e9;padding:28px;margin-bottom:20px}.report-hero p{font:10px "DM Mono";color:var(--acid);letter-spacing:.1em}.report-hero h2{font-size:43px}.report-hero span{color:#c4cec8;font-size:12px}.positive{color:#367e30;font-weight:800}.negative{color:#b3432b;font-weight:800}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.report-grid article{background:var(--paper);border:1px solid var(--line);padding:20px}.report-grid strong{display:block;font:600 40px "Barlow Condensed";margin:12px 0}.report-grid p{color:var(--muted);font-size:12px}.empty{text-align:center;padding:35px;color:var(--muted)}.empty b{color:var(--ink);font-size:15px}.empty p{font-size:12px}dialog{border:0;padding:0;width:min(720px,94vw);background:transparent}dialog::backdrop{background:#13211fd9;backdrop-filter:blur(4px)}dialog form{background:var(--paper);padding:28px;box-shadow:10px 10px 0 var(--acid)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font-size:36px}.close{border:0;background:transparent;font-size:30px;line-height:.6;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px}.form-grid label{color:var(--muted);font:10px "DM Mono";letter-spacing:.03em}.form-grid textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;margin-top:18px}.modal-actions .action{margin:0}#toast{position:fixed;right:24px;bottom:24px;background:var(--night);color:white;padding:13px 16px;opacity:0;transform:translateY(15px);transition:.2s;z-index:3}#toast.show{opacity:1;transform:none}@media(max-width:900px){aside{position:static;width:auto;display:block;padding:16px}.workspace{margin:16px 0 7px}.account{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}main{margin:0;padding:29px 20px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){main>header,.section-head{display:block}.action{margin-top:16px}.metrics,.report-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.filter{display:block}.filter label{width:100%;margin-bottom:12px}}
