:root{color-scheme:dark;--base:#0a1020;--surface:#101a2b;--panel:#141e30;--stroke:#253148;--text:#f1f5fd;--muted:#94a2b9;--subtle:#687b97;--mint:#55e8bb;--coral:#ff8d9e;--accent:#9fbbff;--violet:#a797f8}
*{box-sizing:border-box}body{margin:0;background:var(--base);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#0e1728;border-right:1px solid var(--stroke);padding:33px 18px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;padding:0 12px 53px}.symbol{width:39px;height:39px;display:grid;place-items:center;font-size:23px;font-weight:850;background:linear-gradient(135deg,#53dbb0,#b5c8ff);color:#102239;border-radius:12px}.symbol.large{width:56px;height:56px;font-size:29px;border-radius:16px;margin-bottom:34px}.logo strong{font-size:24px;letter-spacing:-1.4px;line-height:1}.logo small{display:block;letter-spacing:2px;font-size:8px;color:var(--subtle);margin-top:6px;font-weight:800}.brand-dot{color:var(--mint)}.nav-label,.eyebrow{color:#7e92b5;font-size:10px;letter-spacing:1.7px;font-weight:850}.nav-label{padding:0 14px 14px}.navigation{display:flex;flex-direction:column;gap:7px}.nav-btn{display:flex;align-items:center;gap:13px;background:transparent;color:#a6b6d1;border:1px solid transparent;text-align:left;padding:13px 14px;border-radius:11px;font-weight:600}.nav-btn:hover{background:#17243a;color:white}.nav-btn.active{background:#1a3144;border-color:#2f5863;color:#76ecca}.nav-icon{font-size:20px;width:23px;text-align:center;line-height:20px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.private-pill{font-size:12px;color:#b7c4d7;display:flex;gap:10px;align-items:center;margin-bottom:18px}.dot{height:7px;width:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px #55e8bb75}.logout{color:#a8bbd7;background:transparent;border:0;padding:7px 0}.logout:hover{color:#fff}.workspace{min-width:0}.topbar{height:75px;border-bottom:1px solid #1e2a3c;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,49px)}.topbar-left,.top-actions{display:flex;align-items:center;gap:13px}.breadcrumb{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#8ca2c6}.crumb-sep{color:#506079}.top-indicator{font-size:11px;color:#88d6ba}.icon-button{min-width:37px;height:37px;border:1px solid var(--stroke);border-radius:9px;background:#172338;color:#c8d6ed;font-size:19px}.avatar{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;background:#344d6a;color:white;font-weight:700}.content{max-width:1460px;padding:36px clamp(20px,3vw,49px) 70px;margin:auto}.page-title-row{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:27px;flex-wrap:wrap}.page-title-row h1{font-size:clamp(27px,3vw,36px);letter-spacing:-1.3px;margin:10px 0 6px;font-weight:790}.greeting{color:#b7c5dd}.page-title-row p,.panel-title p,.muted{color:var(--muted)}.page-title-row p{margin:0;font-size:13px}.btn{border-radius:10px;border:1px solid var(--stroke);padding:12px 16px;font-weight:760;background:#24354c;color:var(--text)}.btn:disabled{opacity:.5}.btn-main{border-color:transparent;background:var(--mint);color:#072b28;box-shadow:0 6px 20px #37d1a515}.btn-main:hover{background:#8af5d3}.btn-soft{background:#1c2a3f}.btn-full{width:100%;display:flex;justify-content:space-between;align-items:center}.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#174e59 0%,#133c51 48%,#1b2549 100%);border:1px solid #2d6970;border-radius:18px;padding:30px 34px;min-height:202px;margin-bottom:17px;display:flex;align-items:center}.hero-content{position:relative;z-index:2}.hero-label{letter-spacing:1.45px;font-size:11px;color:#aed5d8;font-weight:850}.info-mark{cursor:help;color:#c9f7ec}.hero-value{font-size:clamp(39px,4.6vw,59px);font-weight:790;letter-spacing:-2px;margin:15px 0 8px}.hero-support{color:#bdd2df;font-size:12px}.hero-support strong{color:white}.hero-glow{position:absolute;right:3%;bottom:-230px;width:470px;height:470px;background:radial-gradient(circle,#65dcce55 0%,#65dcce00 67%)}.hero-decoration{position:absolute;right:10%;top:15px;font-size:180px;color:#bceff010;transform:rotate(-20deg)}.metric-grid,.cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.metric,.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:16px}.metric{padding:23px;min-width:0}.metric-head{color:#aabbd4;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.metric-head span{font-size:16px}.metric strong{font-size:clamp(23px,2.6vw,32px);display:block;margin:17px 0 9px;letter-spacing:-.9px;overflow-wrap:anywhere}.metric small{color:var(--subtle)}.positive,.icon-positive{color:var(--mint)}.negative,.icon-negative{color:var(--coral)}.icon-neutral{color:var(--accent)}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.panel{padding:24px;min-width:0}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.panel-title h2{font-size:16px;letter-spacing:-.3px;margin:0 0 5px}.panel-title p{font-size:12px;margin:0}.mini-label{color:#9bb5d0;background:#1e3147;border:1px solid #31506b;border-radius:7px;font-size:10px;letter-spacing:.5px;padding:7px 9px}.legend{display:flex;gap:11px;flex-wrap:wrap;color:var(--muted);font-size:11px}.legend-dot{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:4px}.green{background:var(--mint)}.coral{background:var(--coral)}.line-chart{min-height:215px}.chart-svg{width:100%;height:auto;display:block;min-height:215px}.chart-svg text{fill:#8194b3;font-size:11px}.chart-gridline{stroke:#28374d;stroke-width:1;stroke-dasharray:3 6}.chart-zero{stroke:#39506b;stroke-width:1}.space-top{margin-top:17px}.link-btn{border:0;background:transparent;color:#83e9c9;font-weight:750}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:530px}.data-table th{text-align:left;color:#8294ad;font-size:10px;letter-spacing:1px;font-weight:780;padding:14px 10px;border-bottom:1px solid var(--stroke)}.data-table td{padding:16px 10px;border-bottom:1px solid #223044;color:#cad5e5}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#f2f6fc;font-weight:690}.right{text-align:right!important}.date-text{color:#94a7c3}.pill{border-radius:7px;background:#203348;color:#b7cae2;padding:6px 10px;font-size:11px;white-space:nowrap}.table-action{border:0;background:none;color:#9cbcff;padding:6px;cursor:pointer}.table-action.danger{color:var(--coral)}.empty{color:var(--muted);padding:35px 10px;text-align:center}.filterbar{display:flex;align-items:center;gap:16px;margin-bottom:17px}.filterbar strong{text-transform:capitalize;min-width:145px;text-align:center}.spacer{flex:1}.tip{padding:15px 18px;margin-top:17px;border:1px solid #345067;background:#142c40;border-radius:11px;color:#b6cada;font-size:12px;line-height:1.6}.cost-grid{margin-top:19px}.services-list{min-height:180px}.service{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--stroke);font-size:12px}.service strong{color:#d1deed}.footnote{margin-top:15px;font-size:12px}.budget{margin:16px 0}.budget-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.budget-input{width:118px!important}.track{background:#2a3b52;border-radius:20px;height:7px;overflow:hidden;margin:7px 0}.fill{background:var(--mint);height:100%;border-radius:20px}.fill.over{background:var(--coral)}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.input{background:#0c1627;border:1px solid #3b4a63;color:#f2f7fd;border-radius:9px;padding:10px 12px;min-height:42px;width:100%}.input:focus{outline:2px solid #669bc9}.auth-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#1c4354,#0a1020 55%);padding:20px}.login-card{width:min(450px,100%);background:#121d2e;border:1px solid #2a4055;border-radius:23px;padding:39px;box-shadow:0 35px 100px #0004}.login-card h1{font-size:52px;margin:10px 0;letter-spacing:-2px}.login-card p{line-height:1.75;color:var(--muted);margin:20px 0 30px}.login-foot{color:#8395b0;font-size:11px;text-align:center;margin-top:25px}.dialog{width:min(520px,94vw);background:#162237;color:var(--text);border:1px solid #436078;border-radius:19px;padding:27px;max-height:91vh;overflow-y:auto}.dialog::backdrop{background:#050912ce}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-top h2{margin:0;font-size:21px}.modal-close{border:0;background:transparent;color:#b5c6dc;font-size:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;color:#b3c3db;font-size:12px}.full{grid-column:1/-1}.checkbox-field{display:flex;align-items:center;gap:10px;font-size:12px;color:#c4d3e8}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.alert{background:#4a2830;border:1px solid #9d4f64;color:#ffe0e6;padding:14px 18px;border-radius:12px;margin-bottom:15px;overflow-wrap:anywhere}
@media(max-width:1060px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:25px 10px}.panel{padding:19px}.chart-grid{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{min-height:auto;height:auto;position:static;padding:12px 14px;border-right:0;border-bottom:1px solid var(--stroke)}.sidebar .logo,.sidebar .nav-label,.sidebar-bottom{display:none}.navigation{flex-direction:row;gap:6px;overflow-x:auto}.nav-btn{white-space:nowrap;font-size:11px;padding:10px 12px;gap:6px}.nav-icon{font-size:16px;width:18px}.topbar{height:53px;padding:0 16px}.top-indicator{display:none}.content{padding:24px 14px 60px}.hero{padding:25px;min-height:180px}.metric-grid,.cost-grid{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:span 2}.metric{padding:19px}.chart-grid{grid-template-columns:1fr}.hero-value{font-size:42px}}
@media(max-width:480px){.metric-grid,.cost-grid{grid-template-columns:1fr}.metric:last-child{grid-column:auto}.form-grid{grid-template-columns:1fr}.page-title-row h1{font-size:27px}.panel{padding:15px}.metric strong{font-size:28px}.hero-value{font-size:39px}.dialog{padding:18px}}
/* Moneta 2.0: gestione spazi e inviti */
.space-select{width:min(270px,31vw);min-height:36px;padding:6px 10px;font-size:12px}
.space-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:20px}
.space-form .field{flex:1 1 180px}
.space-action{font-size:12px;padding:8px 12px}
@media(max-width:760px){.space-select{width:min(205px,49vw)}.topbar-left{gap:6px}.topbar .breadcrumb,.topbar .crumb-sep{display:none}}
@media(max-width:480px){.space-select{width:160px;font-size:10px}.topbar{padding:0 10px}.top-actions{gap:5px}}
