:root{--primary:#047857;--primary-dark:#065f46;--primary-soft:#ecfdf5;--text-dark:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--radius-lg:24px;--radius-md:16px}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text-dark);background:#f8fafc}.login-brand{background:linear-gradient(rgba(236,253,245,.88),rgba(4,120,87,.95));align-items:center;justify-content:center;color:white}.brand-content{max-width:560px;padding:48px}.school-logo{width:96px;height:96px;border-radius:28px;background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:48px;box-shadow:0 20px 40px rgba(0,0,0,.12)}.brand-content h1{font-size:56px;font-weight:800}.feature-box{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-md);padding:18px 12px;font-size:14px}.login-card{max-width:560px;background:white;border:1px solid var(--border);border-radius:var(--radius-lg);padding:44px;box-shadow:0 24px 70px rgba(15,23,42,.08)}.form-control,.form-select{border-radius:14px;border-color:var(--border)}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .25rem rgba(4,120,87,.14)}.btn-success{background:var(--primary);border-color:var(--primary);border-radius:14px;font-weight:700}.btn-success:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.secure-box{background:var(--primary-soft);border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:18px}.app-shell{min-height:100vh;display:flex}.sidebar{width:280px;min-height:100vh;background:linear-gradient(180deg,#064e3b,#022c22);color:white;padding:24px;position:fixed;inset:0 auto 0 0}.sidebar-brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.sidebar-brand .logo{width:52px;height:52px;background:#ecfdf5;color:#047857;border-radius:16px;display:grid;place-items:center;font-size:26px}.sidebar-brand small,.sidebar-footer small{display:block;color:#d1fae5}.sidebar-nav a{display:block;color:white;text-decoration:none;padding:13px 16px;border-radius:14px;margin-bottom:8px}.sidebar-nav a.active,.sidebar-nav a:hover{background:#059669}.sidebar-footer{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(255,255,255,.08);border-radius:18px;padding:18px;text-align:center}.main-content{margin-left:280px;width:calc(100% - 280px)}.topbar{min-height:76px;background:white;border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.topbar-actions .form-control{width:340px}.user-chip{font-weight:700}.content-area{padding:28px}.stat-card,.panel{background:white;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.stat-card small{display:block;color:var(--text-muted);margin-top:8px}.stat-card h3{font-weight:800;margin:8px 0}.chart-bars{height:260px;display:flex;gap:34px;align-items:end;border-bottom:1px solid var(--border);padding:24px}.chart-bars div{text-align:center}.chart-bars span{display:block;width:34px;background:linear-gradient(#059669,#047857);border-radius:10px 10px 0 0;margin-bottom:8px}.notice-item{padding:14px 0;border-bottom:1px solid var(--border)}.student-mini{display:flex;gap:14px;align-items:center}.avatar-lg{width:56px;height:56px;background:var(--primary-soft);color:var(--primary);border-radius:18px;display:grid;place-items:center;font-weight:800}.category-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.category-row:last-child{border-bottom:0}.receipt-box{max-width:760px;margin:0 auto}.receipt-total{background:var(--primary-soft);border:1px solid #bbf7d0;border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center}.receipt-total strong{font-size:26px;color:var(--primary)}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:0}@media(max-width:991px){.sidebar{display:none}.main-content{margin-left:0;width:100%}.topbar-actions .form-control{display:none}.login-card{padding:28px;border-radius:20px}}@media print{.sidebar,.topbar{display:none!important}.main-content{margin-left:0!important;width:100%!important}body{background:white}.panel{box-shadow:none;border:1px solid #ddd}}
