:root{color-scheme:dark;--navy:#071426;--navy2:#0e2038;--surface:#12253e;--surface2:#172d49;--steel:#5680ba;--ice:#c9dcf2;--white:#f7fbff;--muted:#94a9c2;--green:#55d39a;--red:#ff7979;--orange:#f5b85c;--line:rgba(201,220,242,.13);--shadow:0 24px 70px rgba(0,0,0,.26)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--navy);color:var(--white);font:15px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{margin:0;color:var(--steel);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.error{min-height:21px;color:var(--red);font-size:13px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,rgba(86,128,186,.25),transparent 35%),var(--navy)}.auth-brand{display:flex;align-items:center;gap:12px;position:fixed;top:28px;left:34px;font-size:20px;font-weight:850}.auth-brand svg,.logo svg{width:42px;height:42px}.auth-card{width:min(460px,100%);padding:38px;border:1px solid var(--line);border-radius:30px;background:rgba(18,37,62,.82);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.auth-card h1{font-size:34px;letter-spacing:-.04em;margin:9px 0}.auth-card label,.form-grid label{display:grid;gap:7px;margin-top:18px;color:var(--ice);font-size:13px;font-weight:650}.auth-card input,.form-grid input,.form-grid select{width:100%;padding:14px 15px;border-radius:13px;border:1px solid var(--line);background:#09182a;color:var(--white);outline:none}.auth-card input:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--steel);box-shadow:0 0 0 3px rgba(86,128,186,.16)}.primary,.secondary{border:0;border-radius:13px;min-height:45px;padding:0 18px;font-weight:800}.primary{background:var(--steel);color:white}.primary:disabled{cursor:wait;opacity:.65}.secondary{background:var(--surface2);color:var(--ice);border:1px solid var(--line)}.wide{width:100%;display:flex;justify-content:space-between;align-items:center}.back-link{display:block;text-align:center;margin-top:20px;color:var(--muted);text-decoration:none;font-size:13px}
.platform{min-height:100vh;grid-template-columns:260px 1fr}.platform:not([hidden]){display:grid}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 20px;border-right:1px solid var(--line);background:#09182a;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:11px;padding:0 11px 30px;color:white;text-decoration:none;font-size:20px;font-weight:850}.sidebar nav{display:grid;gap:6px}.sidebar nav button{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;border:0;border-radius:13px;background:transparent;color:var(--muted);text-align:left;font-weight:650}.sidebar nav button span{width:22px;text-align:center;font-size:19px}.sidebar nav button:hover,.sidebar nav button.active{background:rgba(86,128,186,.16);color:var(--ice)}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:16px 10px;border-top:1px solid var(--line)}.sidebar-bottom small,.sidebar-bottom strong{display:block}.sidebar-bottom small{color:var(--muted);font-size:10px}.sidebar-bottom strong{margin-top:3px;max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ice);font-size:20px}.mobile-only{display:none}
main{min-width:0}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(7,20,38,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:5}.topbar h1{margin:3px 0 0;font-size:26px;letter-spacing:-.03em}.period-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.period-control button{width:42px;height:42px;border:0;background:transparent;color:var(--ice);font-size:24px}.period-control strong{min-width:155px;text-align:center;text-transform:capitalize}.content{padding:34px 38px 70px;max-width:1500px;margin:auto}.notice{margin:18px 38px 0;padding:12px 15px;border:1px solid rgba(85,211,154,.25);border-radius:12px;background:rgba(85,211,154,.1);color:var(--green)}
.topbar-actions{display:flex;align-items:center;gap:10px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(23,45,73,.92),rgba(14,32,56,.88));box-shadow:0 16px 44px rgba(0,0,0,.14)}.metric{padding:22px}.metric small{color:var(--muted)}.metric strong{display:block;margin-top:9px;font-size:25px;letter-spacing:-.03em}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.warning{color:var(--orange)!important}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.panel{padding:24px}.panel-head,.view-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.panel h2{font-size:18px;margin:0}.bar-row{margin-top:22px}.bar-label{display:flex;justify-content:space-between;margin-bottom:8px}.bar{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:var(--green)}.empty{padding:45px;text-align:center;color:var(--muted)}
.view-actions{margin-bottom:18px}.view-actions h2{margin:0}.search{min-width:260px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:white}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px}.data-table{width:100%;border-collapse:collapse;background:rgba(14,32,56,.72)}.data-table th,.data-table td{padding:15px 17px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:rgba(86,128,186,.08)}.row-title{font-weight:750}.sub{display:block;color:var(--muted);font-size:12px;margin-top:3px}.amount{text-align:right!important;font-variant-numeric:tabular-nums;font-weight:750}.actions{display:flex;justify-content:flex-end;gap:7px}.small-button{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ice)}.danger{color:var(--red)}.pill{display:inline-flex;padding:4px 8px;border-radius:99px;background:rgba(86,128,186,.16);color:var(--ice);font-size:11px;font-weight:750}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{min-width:0}.project-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.project-item:last-child{border-bottom:0}.project-item span:nth-child(2){flex:1}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.scenario-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.scenario-grid input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#09182a;color:white}.scenario-grid button{grid-column:1/-1}
.form-grid textarea{width:100%;padding:14px 15px;border-radius:13px;border:1px solid var(--line);background:#09182a;color:var(--white);outline:none;resize:vertical}.form-grid textarea:focus{border-color:var(--steel);box-shadow:0 0 0 3px rgba(86,128,186,.16)}.support-history{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:0 14px}.support-history article{padding:13px 0;border-bottom:1px solid var(--line)}.support-history article:last-child{border:0}.support-history article span{float:right;color:var(--muted);font-size:11px}.support-history article p{margin:7px 0 0;white-space:pre-wrap}
.scenario-grid select{min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#09182a;color:white}.auth-actions{display:flex;justify-content:space-between;gap:10px;margin-top:13px}.auth-actions button{padding:5px 0;border:0;background:transparent;color:var(--ice);font-size:12px}.auth-actions button:hover{color:white;text-decoration:underline}.insight-panel{margin:18px 0}.chart-legend{display:flex;gap:14px;color:var(--muted);font-size:12px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:50%}.income-dot,.income-bar{background:var(--green)}.expense-dot,.expense-bar{background:var(--red)}.trend-chart{display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:15px;height:280px;padding:28px 12px 0;border-bottom:1px solid var(--line)}.chart-column{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center;color:var(--muted);font-size:11px}.chart-bars{display:flex;height:100%;align-items:end;justify-content:center;gap:6px}.chart-bars i{display:block;width:min(28px,35%);min-height:2px;border-radius:6px 6px 2px 2px}
dialog{width:min(620px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:25px;background:var(--navy2);color:var(--white);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(2,8,15,.72);backdrop-filter:blur(5px)}dialog form{padding:25px}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}dialog h2{margin:4px 0 0}dialog footer{justify-content:flex-end;margin-top:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.checkbox input{width:auto}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--ice);outline-offset:3px}.primary{background:#426da8}.eyebrow{color:#7fa5d3}.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin}.toolbar-controls{display:flex;align-items:center;gap:7px}.load-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--muted);padding:28px}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--ice);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.project-grid{grid-template-columns:1fr}}@media(max-width:760px){.platform:not([hidden]){display:block}.sidebar{position:fixed;z-index:20;transform:translateX(-100%);transition:.2s;width:270px}.sidebar.open{transform:none}.mobile-only{display:block}.topbar{height:88px;padding:0 17px;gap:12px}.topbar>div:first-of-type{flex:1}.topbar h1{font-size:20px}.period-control strong{min-width:105px;font-size:12px}.content{padding:22px 15px 60px}.metrics{grid-template-columns:1fr}.view-actions{align-items:stretch;flex-direction:column}.search{min-width:0;width:100%}.form-grid,.scenario-grid{grid-template-columns:1fr}.notice{margin:14px}.auth-brand{position:static;margin-bottom:20px}.auth-shell{display:flex;flex-direction:column}.auth-card{padding:27px}}
@media(max-width:760px){.toolbar-controls{display:grid;grid-template-columns:1fr auto}.toolbar-controls .search{grid-column:1/-1}.toolbar-controls .primary{min-height:40px}.data-table th,.data-table td{padding:13px 12px}.actions{position:sticky;right:0;background:#0e2038}.auth-actions{flex-direction:column;align-items:center}}
