:root{--black:#09090b;--purple:#7c3aed;--yellow:#facc15;--white:#fff;--bg:#f6f4fb;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--text:#1d1830;--muted:#776f87;--border:#ebe7f1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;display:grid;grid-template-columns:245px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:var(--black);color:#fff;padding:26px 18px;display:flex;flex-direction:column}.brand{display:grid;gap:2px;padding:0 10px 28px}.brand .via{color:var(--yellow);font-weight:1000;letter-spacing:.15em}.via-logo{display:block;width:100%;max-width:150px;height:auto;margin-bottom:8px}.brand b{font-size:21px}.brand small{color:#a8a1b5}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#c9c4d1;text-align:left;padding:12px 14px;border-radius:10px;font-weight:700;font-size:14px}nav button.active,nav button:hover{background:var(--purple);color:white}.license{margin-top:auto;border:1px solid #322b3e;background:#17131d;padding:13px;border-radius:12px;display:grid;gap:5px}.license b{font-size:12px}.license span{color:#bdf5cd}main{padding:26px 30px 18px;max-width:1500px;width:100%}header{display:flex;justify-content:space-between;align-items:center}header small{color:var(--purple);font-weight:900;letter-spacing:.08em}h1{margin:3px 0;font-size:28px}header p,.title p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:10px}.header-actions button,.title button,.viewbar button{border:1px solid var(--border);background:white;border-radius:10px;padding:10px 13px;font-weight:800}.avatar{background:var(--purple)!important;color:#fff}.header-actions i{background:var(--red);color:white;border-radius:99px;padding:2px 5px;font-style:normal}.viewbar{margin:22px 0 18px;display:flex;justify-content:space-between}.viewbar>div{background:#ece8f4;padding:4px;border-radius:10px}.viewbar button{border:0;background:transparent}.viewbar button.selected{background:white;color:var(--purple);box-shadow:0 3px 10px #0001}.viewbar select{border:1px solid var(--border);border-radius:10px;padding:8px 13px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:white;border:1px solid var(--border);border-radius:16px;box-shadow:0 7px 24px #2113330a}.card{padding:18px;border-left:5px solid var(--purple)}.card.green{border-color:var(--green)}.card.red{border-color:var(--red)}.card.yellow{border-color:var(--yellow)}.card span,.card small{display:block;color:var(--muted)}.card strong{font-size:23px;display:block;margin:6px 0}.layout{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-top:14px}.panel{padding:18px}.wide{}.title{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.title h2{margin:0;font-size:17px}.status{padding:5px 9px;border-radius:99px;font-size:12px}.status.warning{background:#fff5d8;color:#9a6500}.budget-row{display:grid;grid-template-columns:130px 1fr 120px;gap:10px;align-items:center;margin:12px 0}.track{height:9px;background:#eeeaf3;border-radius:99px;overflow:hidden}.fill{height:100%;background:var(--green);border-radius:99px}.fill.yellow{background:var(--amber)}.fill.red{background:var(--red)}.budget-row strong{text-align:right}.score{display:flex;align-items:center;gap:16px}.ring{width:95px;height:95px;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:900;background:radial-gradient(closest-side,white 72%,transparent 73% 99%),conic-gradient(var(--green) 82%,#eee 0)}.ring small{font-size:11px}.score p{margin:3px 0;color:var(--muted)}.signals{list-style:none;padding:0;display:grid;gap:8px}.credit{display:grid;gap:7px;padding:10px 0;border-bottom:1px solid var(--border)}progress{width:100%;height:9px;accent-color:var(--green)}progress.warn{accent-color:var(--amber)}.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.goals>div{border:1px solid var(--border);padding:14px;border-radius:12px;display:grid;gap:6px;position:relative}.goals span{font-size:25px}.goals small{color:var(--muted)}.goals em{position:absolute;right:12px;top:12px;font-style:normal;font-weight:900;color:var(--purple)}.member{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.member .pic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ede5ff;color:var(--purple);font-weight:900}.member small{display:block;color:var(--muted)}.member em{font-style:normal;font-weight:900}.alert{display:flex;gap:10px;padding:11px;border-radius:11px;margin:8px 0}.alert span{display:grid}.alert small{color:var(--muted)}.alert.red{background:#fff0f0}.alert.yellow{background:#fff8df}.alert.green{background:#ecfff2}footer{text-align:center;color:var(--muted);padding:20px}.dark{}@media(max-width:1050px){body{grid-template-columns:80px 1fr}.brand b,.brand small,nav button:not(.active),.license{font-size:0}.brand .via{font-size:11px}.brand .via-logo{max-width:56px}nav button{font-size:0;text-align:center}nav button::first-letter{font-size:20px}.kpis{grid-template-columns:1fr 1fr}.goals{grid-template-columns:1fr}}@media(max-width:700px){body{display:block}.sidebar{height:auto;position:static;padding:12px}.brand{padding:0}.sidebar nav,.license{display:none}main{padding:18px 12px}.kpis,.layout{grid-template-columns:1fr}.viewbar{display:grid;gap:10px}.budget-row{grid-template-columns:90px 1fr 95px}header p{display:none}}
*{box-sizing:border-box}.login-screen{position:fixed;inset:0;z-index:20;background:linear-gradient(135deg,#12051d 0%,#3e0863 52%,#ffcf24 52%,#ffde60 100%);display:grid;place-items:center;padding:24px;transition:.25s}.login-screen.hidden{opacity:0;visibility:hidden}.login-card{width:min(900px,100%);min-height:480px;background:#fff;border-radius:28px;box-shadow:0 30px 90px #0007;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}.login-brand{background:#100d15;color:#fff;padding:64px 48px;display:flex;flex-direction:column;justify-content:center}.login-brand .via{color:#ffcf24;font-size:22px}.login-brand .via-logo{max-width:210px}.login-brand h1{font-size:44px;margin:14px 0}.login-brand p{color:#e6ddec;font-size:18px}.login-card form,.demo-profiles{padding:40px}.login-card form{display:flex;flex-direction:column;gap:16px}.login-card form.hidden{display:none}.login-card label{font-weight:700;display:grid;gap:7px}.login-card input,.rolebar select{border:1px solid #d9cde1;border-radius:12px;padding:13px;font:inherit}.login-card form button{background:#6f13a7;color:#fff;border:0;border-radius:12px;padding:15px;font-weight:800}.login-card form button.demo-link{background:#fff;color:#6f13a7;border:1px solid #6f13a7}.login-card form small{color:#716a75}.auth-tabs{display:flex;gap:8px;margin-top:28px}.auth-tabs button{border:1px solid #6f13a7;background:transparent;color:#fff;border-radius:10px;padding:10px 14px;font-weight:800}.auth-tabs button.active{background:#ffcf24;color:#17131b;border-color:#ffcf24}.demo-profiles{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;padding-top:0}.demo-profiles b{width:100%}.demo-profiles button{border:1px solid #d8c8e2;background:#fbf8fd;border-radius:10px;padding:10px}.rolebar{margin:20px 0;background:#17131b;color:#fff;border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px}.rolebar select{background:#fff;min-width:190px}.rolebar b{color:#ffcf24;flex:1}.rolebar button{background:#6f13a7;color:#fff;border:0;border-radius:9px;padding:9px 14px}.toast{position:fixed;right:24px;bottom:24px;background:#17131b;color:#fff;padding:14px 18px;border-left:5px solid #ffcf24;border-radius:10px;box-shadow:0 12px 40px #0005;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:none}@media(max-width:760px){.login-card{grid-template-columns:1fr}.login-brand{padding:30px}.login-card form,.demo-profiles{grid-column:1;padding:24px}.demo-profiles{padding-top:0}.rolebar{align-items:stretch;flex-direction:column}}
.auth-links{display:flex;gap:10px;flex-wrap:wrap}.login-card form .auth-links button{background:none;border:0;padding:0;color:#6f13a7;font-weight:700;font-size:13px;text-decoration:underline;cursor:pointer}.login-card form .auth-links button:hover{color:#4d0b76}
