*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,Arial,sans-serif;background:#f5f7fb;color:#1d2735}a{color:#2563eb;text-decoration:none}
body{min-height:100vh}.app-shell{display:flex;min-height:100vh}.sidebar{width:230px;background:#0f172a;color:white;padding:24px 16px;position:fixed;top:0;bottom:0;left:0;z-index:20}.brand{font-size:24px;font-weight:800;margin:0 8px 28px}.sidebar nav{display:grid;gap:8px}.sidebar a{color:#cbd5e1;padding:12px 14px;border-radius:10px}.sidebar a:hover{background:#1e293b;color:#fff}.main{margin-left:230px;width:calc(100% - 230px)}.topbar{height:68px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.menu-btn{display:none;border:0;background:#eef2ff;padding:8px 11px;border-radius:8px}.user-chip{background:#eef2ff;color:#334155;padding:8px 12px;border-radius:999px;font-size:13px}.content{padding:24px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats-grid.three{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.stat-card span{display:block;color:#64748b;font-size:13px;margin-bottom:9px}.stat-card strong{font-size:25px}
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panel h2{font-size:18px;margin:0}.panel p{color:#64748b;margin:5px 0 0}.grid-2{display:grid;grid-template-columns:1fr 1.35fr;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full-col{grid-column:1/-1}.form-grid label,.filter-grid label,.stack label{display:block;font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}.form-grid input,.form-grid select,.form-grid textarea,.filter-grid input,.filter-grid select,.search-form input,.stack input{width:100%;border:1px solid #dbe1ea;border-radius:9px;padding:11px 12px;background:#fff;font:inherit}.form-grid textarea{resize:vertical}.actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid #d4dbe6;background:#fff;color:#1f2937;border-radius:8px;padding:9px 13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn.small{padding:7px 10px}.btn.tiny{padding:5px 8px;font-size:12px}.full{width:100%}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f4;white-space:nowrap}th{background:#f8fafc;color:#475569;font-size:12px}tfoot th{background:#eef2ff}.empty{text-align:center;color:#94a3b8;padding:25px}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.badge.debit{background:#fee2e2;color:#b91c1c}.badge.credit{background:#dcfce7;color:#15803d}.row-actions{display:flex;gap:6px}.row-actions form{margin:0}.search-form{display:flex;gap:8px}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.report-filter{grid-template-columns:2fr 1fr 1fr 1fr auto}.profile-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.profile-grid div{border:1px solid #edf0f4;border-radius:10px;padding:14px}.profile-grid span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}
.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:13px}.alert.error{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}
.login-body{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1d4ed8);padding:20px}.login-card{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-card h1{margin:0 0 6px}.login-card p{color:#64748b;margin:0 0 24px}.login-brand{font-size:24px;font-weight:800;color:#2563eb;margin-bottom:25px}.stack{display:grid;gap:10px}.password-field{display:flex;gap:8px}.password-field input{flex:1}.text-btn{border:0;background:#eef2ff;color:#2563eb;border-radius:8px;padding:0 12px;cursor:pointer}.demo-login{margin-top:18px;background:#f8fafc;border:1px dashed #cbd5e1;padding:10px;border-radius:8px;font-size:12px;color:#64748b}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}.grid-2{grid-template-columns:1fr}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,1fr)}.filter-grid,.report-filter{grid-template-columns:1fr 1fr}.filter-action{align-self:end}}
@media(max-width:600px){.content{padding:14px}.stats-grid,.stats-grid.three{grid-template-columns:1fr}.form-grid,.profile-grid,.filter-grid,.report-filter{grid-template-columns:1fr}.full-col{grid-column:auto}.panel-head,.profile-head{align-items:flex-start;flex-direction:column}.search-form{width:100%}}
@media print{.sidebar,.topbar,.btn,.filter-grid{display:none!important}.main{margin:0;width:100%}.content{padding:0}.panel{border:0;box-shadow:none}.stats-grid{page-break-inside:avoid}}
