:root{--primary:#2563eb;--dark:#1e293b;--bg:#f8fafc;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626}*{box-sizing:border-box}body{font-family:Inter,sans-serif;color:#0f172a;background:var(--bg)}h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:Poppins,sans-serif}.hero{padding:80px 0 60px;background:linear-gradient(135deg,#eff6ff,#fff)}.hero-card{border:0;border-radius:24px;box-shadow:0 20px 60px rgba(15,23,42,.08)}.feature-card,.stat-card,.panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 8px 25px rgba(15,23,42,.04)}.feature-card{padding:24px;height:100%;transition:.2s}.feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,23,42,.08)}.icon-box{width:48px;height:48px;border-radius:14px;background:#eff6ff;color:var(--primary);display:grid;place-items:center;font-size:22px}.stat-card{padding:20px}.stat-value{font-size:28px;font-weight:700}.dashboard-nav{min-height:100vh;background:#0f172a}.dashboard-nav a{color:#cbd5e1;text-decoration:none;display:block;padding:10px 14px;border-radius:10px}.dashboard-nav a:hover,.dashboard-nav a.active{background:#1e293b;color:#fff}.table> :not(caption)>*>*{vertical-align:middle}.form-control,.form-select{border-radius:10px;padding:.65rem .8rem}.btn{border-radius:10px}.progress{height:10px;border-radius:999px}.attendance-table td,.attendance-table th{white-space:nowrap}.hero-stat{font-size:38px;font-weight:700;color:var(--primary)}.small-muted{font-size:.82rem;color:#64748b}.auth-card{max-width:460px;margin:70px auto}.empty-state{padding:50px;text-align:center;color:#64748b}.report-card{break-inside:avoid}.print-only{display:none}@media print{.no-print,nav,footer{display:none!important}.print-only{display:block}.container{max-width:none!important}.panel{box-shadow:none}}@media(max-width:767px){.hero{padding:50px 0}.table-responsive{border-radius:12px}.stat-value{font-size:24px}}
