:root{color:#17202a;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#126c7114,#eef2f500 360px),#eef2f5}button,input,select,textarea{font:inherit}button{border:0}.app-shell{width:min(1500px,calc(100% - 48px));margin:0 auto;padding:28px 0 42px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:8px;background:#126c71;color:#fff;font-size:24px;font-weight:800;box-shadow:0 18px 34px #126c7138}.brand-lockup p,.brand-lockup h1,.panel-heading h2,.panel-heading p,.stat-card p,.stat-card strong,.stat-card span{margin:0}.brand-lockup p{color:#657282;font-weight:700;letter-spacing:0}.brand-lockup h1{color:#17202a;font-size:clamp(24px,3vw,40px);line-height:1.05;letter-spacing:0}.top-actions{display:flex;gap:10px}.top-actions button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #cdd6df;border-radius:8px;background:#fff;color:#243142;font-weight:800;cursor:pointer}.top-actions button:hover{border-color:#126c71;color:#126c71}.control-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.control-strip>div{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:4px;padding:10px 14px;border:1px solid #d8e0e8;border-radius:8px;background:#ffffffd1}.control-strip span,.panel-heading span,.fund-row small,.budget-row small,.obligation-item span,.transaction-row span{color:#657282;font-size:13px;font-weight:700}.control-strip strong{color:#17202a;font-size:15px}.control-strip .guard-pill{flex-direction:row;align-items:center;justify-content:flex-start;color:#126c71;background:#e7f4f2;border-color:#a8d4cf}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;min-height:130px;padding:18px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;box-shadow:0 16px 34px #17202a0f}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px}.stat-card p{color:#657282;font-size:13px;font-weight:800;text-transform:uppercase}.stat-card strong{display:block;margin-top:8px;color:#17202a;font-size:30px;line-height:1;letter-spacing:0}.stat-card span{display:block;margin-top:9px;color:#657282;font-size:13px;font-weight:700}.stat-green .stat-icon{background:#ddf4ea;color:#1e8f54}.stat-blue .stat-icon{background:#e7ebff;color:#5840c8}.stat-amber .stat-icon{background:#fff0df;color:#bd681d}.stat-rose .stat-icon{background:#ffe7ee;color:#b33f62}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.panel{grid-column:span 4;min-width:0;padding:18px;border:1px solid #d8e0e8;border-radius:8px;background:#ffffffeb;box-shadow:0 14px 30px #17202a0d}.panel-large{grid-column:span 8}.panel-wide{grid-column:span 6}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading h2{margin-top:2px;color:#1f2937;font-size:22px;line-height:1.2;letter-spacing:0}.panel-heading p{color:#657282;font-size:13px;font-weight:700;white-space:nowrap}.chart-frame{height:352px}.compact-chart{height:270px}.pie-frame{height:280px}.fund-list,.budget-list,.obligation-list,.transaction-list{display:grid;gap:12px}.fund-row,.budget-row,.obligation-item,.transaction-row{border:1px solid #e1e7ed;border-radius:8px;background:#fbfcfd}.fund-row,.budget-row{padding:12px}.fund-heading,.budget-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.fund-heading span,.budget-row span{color:#283545;font-weight:800}.fund-heading strong,.budget-row strong{color:#17202a;white-space:nowrap}.progress-track,.budget-track{height:9px;margin:10px 0 7px;overflow:hidden;border-radius:999px;background:#e5ebf0}.progress-fill,.budget-track span{display:block;height:100%;border-radius:inherit}.fill-green,.budget-track span{background:#1e8f54}.fill-blue{background:#5840c8}.fill-amber{background:#db8b29}.fill-rose{background:#b33f62}.obligation-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-left:4px solid #9aa7b6}.obligation-item strong,.transaction-row strong{display:block;color:#243142}.obligation-item b,.transaction-row b{color:#17202a;white-space:nowrap}.status-ready{border-left-color:#1e8f54}.status-attention{border-left-color:#b33f62}.status-upcoming{border-left-color:#5840c8}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 10px;border-bottom:1px solid #e1e7ed;text-align:left;white-space:nowrap}th{color:#657282;font-size:13px;text-transform:uppercase}td{color:#283545;font-weight:700}td:first-child{display:flex;align-items:center;gap:9px}td:last-child{display:table-cell}td:last-child svg{margin-right:4px;vertical-align:-2px}.account-dot{display:inline-block;width:9px;height:9px;border-radius:999px}.dot-healthy{background:#1e8f54}.dot-watch{background:#db8b29}.dot-due{background:#b33f62}.transaction-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px}.transaction-row time{color:#657282;font-size:13px;font-weight:800}.positive{color:#1e8f54}.negative{color:#b33f62}@media(max-width:1100px){.control-strip,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.panel-large,.panel-wide{grid-column:span 6}}@media(max-width:760px){.app-shell{width:min(100% - 28px,1500px);padding-top:18px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions button{flex:1;justify-content:center}.control-strip,.stats-grid{grid-template-columns:1fr}.panel,.panel-large,.panel-wide{grid-column:1 / -1}.chart-frame{height:300px}.transaction-row{grid-template-columns:1fr;gap:7px}}
