*{box-sizing:border-box}
:root{--bg:#101827;--panel:#182235;--panel2:#1d293c;--line:#26344a;--text:#eef4ff;--muted:#91a0b8;--blue:#3984f6;--green:#12b981;--red:#ef4444;--yellow:#f59e0b}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
body{font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.app-shell{min-height:100vh}.topbar{height:106px;background:#182235;border-bottom:1px solid #1e2a3d;display:flex;align-items:flex-start;padding:20px 28px;gap:24px;position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:9px;color:#fff}.brand strong,.top-brand{font-weight:800}.brand-mark{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#4b8df8;font-size:21px;font-weight:900}
.top-brand{font-size:18px;color:#3f8cff;min-width:290px}.top-nav{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.nav-link{padding:10px 11px;border-radius:7px;font-weight:700;color:#e5edf9;white-space:nowrap}.nav-link:hover,.nav-link.active{background:#223047;color:#fff}
.top-actions{display:flex;align-items:center;gap:8px}.currency,.small-btn{background:#223047;border:1px solid #26364e;border-radius:6px;padding:9px 12px;color:#e8effb}.small-btn:hover{background:#2a3a54}.mobile-menu{display:none;background:#223047;border:0;color:#fff;padding:9px;border-radius:7px}
.layout{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1450px;margin:0 auto}.sidebar{background:#141e2e;min-height:calc(100vh - 106px);padding:20px 15px;border-right:1px solid #1f2b40}.sidebar-title{font-size:20px;font-weight:800;margin:0 0 16px;display:flex;justify-content:space-between}.add-mini{background:var(--blue);padding:2px 8px;border-radius:6px}.project-new{display:block;background:var(--blue);text-align:center;padding:10px;border-radius:6px;font-weight:800;margin-bottom:14px}.project-item{display:flex;background:#1d293c;border:1px solid transparent;border-radius:7px;margin:8px 0;min-height:61px}.project-item.selected{border-color:#3e8cff}.project-main{padding:11px 10px;display:flex;flex-direction:column;gap:5px;flex:1}.project-main span{font-size:12px;color:#17c897}.project-actions{display:flex;align-items:center;gap:8px;padding:0 9px;color:#9db0c9}.empty-side{color:#6e7d94;padding:10px}.content{padding:20px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.page-head h1{font-size:26px;margin:0}.muted{color:var(--muted)}.green{color:#18c995}.red{color:#ff5555}
.btn{border:0;border-radius:6px;padding:10px 15px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--blue);color:#fff}.btn.full{width:100%}
.project-toolbar{display:flex;justify-content:space-between;align-items:center;background:#1a2638;border:1px solid var(--line);border-radius:7px;padding:17px 15px;margin-bottom:15px}.project-toolbar strong{font-size:16px}.project-toolbar .green{margin-left:8px;font-size:12px}.project-toolbar select,.settings-strip select{background:#223047;color:#fff;border:1px solid #2b3b55;padding:9px;border-radius:6px}
.settings-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#1a2638;border:1px solid var(--line);border-radius:7px;padding:14px;margin-bottom:17px;color:#aebbd0}.settings-strip b{color:#fff}.settings-strip .danger{color:#ff8d8d}
.quick-panel{background:#1a2638;border:1px solid var(--line);border-radius:7px;padding:18px;margin-bottom:17px}.section-label{font-size:13px;font-weight:800;color:#aebbd0;margin-bottom:13px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick{border:0;border-radius:5px;color:#fff;padding:14px 10px;font-weight:800;cursor:pointer}.quick.income{background:#12b981}.quick.expense{background:#ef4444}.quick.withdraw{background:#f59e0b}.quick.deposit{background:#3984f6}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:17px}.metric{background:#1d293c;border:1px solid var(--line);border-radius:7px;padding:17px;display:flex;justify-content:space-between;min-height:120px}.metric span{display:block;color:#b6c2d4;font-weight:700;font-size:12px;border-bottom:1px solid #2a3950;padding-bottom:12px;margin-bottom:15px}.metric strong{display:block;font-size:21px;color:#fff}.metric small{display:block;color:#91a0b8;margin-top:6px}.metric i{color:#3e8cff;font-style:normal}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:#1d293c;border:1px solid var(--line);border-radius:7px;padding:17px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:16px;margin:0 0 15px}.panel-head a{color:#6fa9ff}.badge{background:#223047;color:#9eb6d9;padding:6px 9px;border-radius:5px;font-size:11px}.health-row{display:flex;justify-content:space-between;border-top:1px solid #2a3950;padding:11px 0;color:#b9c5d5}.health-row b{color:#6fa9ff}
.notice{padding:11px 13px;border-radius:6px;margin-bottom:15px}.notice.success{background:#10392e;color:#70e3be;border:1px solid #1b6b55}.notice.error{background:#3b1820;color:#ff9ba7;border:1px solid #71303c}
.auth-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at top,#1b2a44 0,#101827 55%)}.auth-card,.form-card{width:min(480px,100%);background:#182235;border:1px solid var(--line);border-radius:10px;padding:25px;box-shadow:0 18px 50px #0005}.auth-card.wide{width:min(800px,100%)}.auth-card .brand{margin-bottom:24px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.auth-card label,.form-card label{display:block;color:#b9c5d5;font-weight:700;margin:0 0 15px}.auth-card input,.form-card input,.form-card select,.form-card textarea{display:block;width:100%;margin-top:7px;background:#101827;border:1px solid #2b3b55;border-radius:6px;color:#fff;padding:11px;outline:none}.form-card textarea{resize:vertical}.auth-card input:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#4a91ff}.center{text-align:center}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid section{background:#141e2e;border:1px solid #26344a;border-radius:7px;padding:15px}.form-grid section h2{font-size:15px;margin:0 0 15px}.standalone-page{padding:0 20px 50px}.simple-header{max-width:1050px;margin:0 auto;padding:20px 0;display:flex;justify-content:space-between;align-items:center}.form-card{max-width:1050px;margin:20px auto}.form-card h1{margin-top:0}.form-card hr{border:0;border-top:1px solid var(--line);margin:28px 0}
@media(max-width:1100px){.top-nav{justify-content:flex-start;overflow:auto}.top-brand{min-width:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{height:70px;padding:12px 15px;align-items:center;gap:10px}.mobile-menu{display:block}.top-brand{font-size:15px;flex:1}.top-nav{display:none}.top-actions .currency{display:none}.layout{display:block}.sidebar{position:fixed;top:70px;left:-280px;width:260px;z-index:25;transition:left .2s;box-shadow:12px 0 35px #0006}.sidebar.open{left:0}.content{padding:15px}.two-col{grid-template-columns:1fr}}
@media(max-width:600px){.page-head h1{font-size:22px}.project-toolbar{align-items:flex-start;gap:12px;flex-direction:column}.project-toolbar select{width:100%}.quick-grid,.metric-grid{grid-template-columns:1fr}.quick{min-height:48px}.settings-strip{gap:10px}.metric{min-height:105px}.form-grid.two{grid-template-columns:1fr}.auth-card,.form-card{padding:18px}.standalone-page{padding:0 12px 40px}.simple-header{padding:14px 0}.simple-header .brand strong{font-size:14px}}
/* Step 2 accounting + responsive dashboard additions */
.head-actions{display:flex;gap:8px}.metric-grid-large{grid-template-columns:repeat(4,1fr)}
.all-projects{display:block;background:#1b273a;border:1px solid #26344a;border-radius:7px;padding:10px 11px;margin-bottom:10px;color:#c7d4e8;font-weight:700}.all-projects.sidebar-all-active{border-color:#3e8cff;color:#fff;background:#20324c}
.metric strong.green{color:#18c995}.metric strong.red{color:#ff6565}.health-healthy{color:#69dfbb}.health-watch{color:#f7c96a}.health-attention{color:#ff8a8a}.health-setup{color:#8eb6ff}
.health-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.health-summary>div{background:#162235;border:1px solid #26344a;border-radius:6px;padding:11px}.health-summary strong{display:block;font-size:17px}.health-summary span{display:block;color:#8292aa;font-size:11px;margin-top:5px}
.activity-row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #2a3950}.activity-row div{min-width:0}.activity-row strong,.activity-row span{display:block}.activity-row span{color:#8493a9;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-row b{white-space:nowrap}
.project-health-list{margin-top:15px}.project-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.project-summary-card{background:#162235;border:1px solid #26344a;border-radius:7px;padding:14px}.project-summary-card:hover{border-color:#3e8cff}.project-summary-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.project-summary-card>div:first-child span{font-size:11px;color:#75dcb9}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.mini-metrics span{font-size:10px;color:#7f8fa7}.mini-metrics b{display:block;color:#eaf1fb;font-size:12px;margin-top:3px}
.empty-state{background:#182235;border:1px dashed #34465f;border-radius:10px;text-align:center;padding:50px 20px}.empty-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:12px;background:#223047;color:#6ea8ff;font-size:28px}.empty-state h2{margin:14px 0 7px}.empty-state p{margin-bottom:18px}.party-box{background:#141e2e;border:1px solid #26344a;border-radius:7px;padding:15px;margin:4px 0 16px}.party-box h3{font-size:14px;margin:0 0 13px}.party-box h3 .muted{font-size:11px;font-weight:500}.wide-card{max-width:1250px}.table-wrap{overflow:auto;border:1px solid #26344a;border-radius:7px}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{padding:12px 11px;border-bottom:1px solid #26344a;text-align:left;white-space:nowrap}.data-table th{background:#141e2e;color:#9fb0c8;font-size:11px;text-transform:uppercase}.data-table td{color:#d9e3f1}.data-table tr:last-child td{border-bottom:0}.amount.in{color:#1bd19a}.amount.out{color:#ff6c72}
@media(max-width:1250px){.metric-grid-large{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.metric-grid-large{grid-template-columns:repeat(2,1fr)}.project-summary-grid{grid-template-columns:1fr}.health-summary{grid-template-columns:1fr 1fr}.head-actions .btn{padding:9px 11px}}
@media(max-width:600px){.metric-grid-large{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:13px;min-height:100px}.metric span{padding-bottom:8px;margin-bottom:9px}.metric strong{font-size:17px}.metric small{font-size:10px}.health-summary{grid-template-columns:1fr}.activity-row{align-items:flex-start}.page-head{gap:10px}.page-head .btn{font-size:12px}.mini-metrics{grid-template-columns:1fr 1fr}.mini-metrics span:last-child{grid-column:1/-1}}
/* Step 3: parties, ledgers and reporting */
.toolbar-links{display:flex;gap:7px;flex-wrap:wrap}.party-create{background:#141e2e;border:1px solid #26344a;border-radius:7px;padding:16px;margin-bottom:16px}.party-create h2{font-size:15px;margin:0 0 14px}.party-create form{margin:0}.party-create .btn{margin-top:13px}.date-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#141e2e;border:1px solid #26344a;border-radius:7px;padding:13px;margin-bottom:16px}.date-filter label{color:#9eafc5;font-size:12px;font-weight:700}.date-filter input,.date-filter select{display:block;margin-top:6px;background:#101827;color:#fff;border:1px solid #2b3b55;border-radius:6px;padding:9px}.ledger-summary,.report-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.ledger-summary>div,.report-cards>div{background:#162235;border:1px solid #26344a;border-radius:7px;padding:14px}.ledger-summary span,.report-cards span{display:block;color:#8fa0b8;font-size:11px}.ledger-summary strong,.report-cards strong{display:block;font-size:20px;margin-top:7px}.ledger-summary small{display:block;color:#6f829d;margin-top:5px}.report-panel{margin-top:15px}.report-panel h2{margin-bottom:0}
@media(max-width:900px){.ledger-summary,.report-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ledger-summary,.report-cards{grid-template-columns:1fr 1fr}.date-filter label,.date-filter input,.date-filter select{width:100%}.date-filter .btn{width:100%}.toolbar-links{width:100%}.toolbar-links .small-btn{flex:1}}
