@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito:wght@300;400;500;600;700&family=Oswald:wght@600;700&family=Playfair+Display:wght@400;600;700;800&display=swap";:root{--navy:#0e6b6b;--navy-dark:#094f4f;--gold:#c8960c;--gold-light:#e8b020;--gold-pale:#f5e6c0;--white:#fff;--light-bg:#f9f6ef;--text:#1a2e2e;--text-muted:#5a6e6e;--border:#e2d5b0;--success-bg:#e6f4ea;--success-text:#137333;--danger-bg:#fce8e6;--danger-text:#c5221f;--warning-bg:#fef7e0;--warning-text:#b06000;--info-bg:#e8f0fe;--info-text:#1a73e8;--font-heading:"Playfair Display", serif;--font-body:"Nunito", sans-serif;--font-stats:"Oswald", sans-serif;--font-counter:"Bebas Neue", sans-serif;--sidebar-width:240px;--header-height:64px;--shadow-sm:0 2px 8px #0e6b6b0f;--shadow-md:0 4px 20px #0e6b6b14;--shadow-lg:0 12px 40px #0e6b6b29;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--light-bg);color:var(--text);line-height:1.6;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--navy);font-weight:700}a{color:inherit;transition:var(--transition);text-decoration:none}button{font-family:var(--font-body);cursor:pointer;transition:var(--transition);background:0 0;border:none}input,select,textarea{font-family:var(--font-body);outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gold-pale);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--navy);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--navy-dark)}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{transform:scale(.5)}70%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes ringPulse{0%{opacity:.8;transform:scale(1)}50%{opacity:0;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}@keyframes particleRise{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(-120px)}}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}to{opacity:.2;transform:scale(.6)}}@keyframes ticker{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes morphBlob{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes floatOrbA{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes glitchTitle{0%{transform:skew(0)}2%{transform:skew(-3deg)}4%{transform:skew(3deg)}6%{transform:skew(0)}to{transform:skew(0)}}@keyframes miniCardFloat{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes heroImgZoom{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes gridFloat{0%{transform:perspective(1000px)rotateX(60deg)translateY(0)}to{transform:perspective(1000px)rotateX(60deg)translateY(100px)}}@keyframes aboutImgFloat{0%{transform:translateY(0)rotate(.4deg)}50%{transform:translateY(-14px)rotate(-.4deg)}to{transform:translateY(0)rotate(.4deg)}}@keyframes badgeCardBounce{0%{opacity:0;transform:scale(0)rotate(-10deg)}70%{opacity:1;transform:scale(1.12)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes lineExpandA{0%{width:0}to{width:60px}}@keyframes pulseBorderA{0%{box-shadow:0 0 #c8960c66}70%{box-shadow:0 0 0 10px #c8960c00}to{box-shadow:0 0 #c8960c00}}.text-navy{color:var(--navy)}.text-gold{color:var(--gold)}.bg-navy{background-color:var(--navy)}.bg-gold{background-color:var(--gold)}.btn-primary{background:linear-gradient(135deg, var(--navy), var(--navy-dark));color:var(--white);border-radius:50px;padding:10px 24px;font-weight:600;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0e6b6b4d}.btn-gold{background:linear-gradient(135deg, var(--gold), var(--gold-light), #f5c842);color:var(--navy-dark);background-size:200%;border-radius:50px;padding:10px 24px;font-weight:800;animation:3s linear infinite shimmer;position:relative;overflow:hidden}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c8960c4d}.btn-outline{border:1.5px solid var(--navy);color:var(--navy);border-radius:8px;padding:8px 16px;font-weight:600}.btn-outline:hover{background:var(--navy);color:var(--white)}.input-field{border:1.5px solid var(--border);font-family:var(--font-body);width:100%;transition:var(--transition);background:var(--white);border-radius:11px;padding:12px 14px;font-size:.88rem}.input-field:focus{border-color:var(--navy);background:#0e6b6b05;transform:translateY(-2px);box-shadow:0 0 0 3px #0e6b6b26}.empty-state{border:2px dashed var(--border);text-align:center;color:var(--text-muted);background:#0e6b6b05;border-radius:16px;padding:40px}.student-dashboard-grid,.student-quick-grid,.student-news-grid,.student-fee-options,.student-attendance-stats,.student-profile-grid,.student-report-info-grid,.student-card,.student-polaroid-card,.student-fee-main-card,.student-fee-option-card,.student-profile-card,.student-table-card,.student-report-card{min-width:0}.student-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.student-table-wrap table{min-width:640px}.student-week-attendance-table{min-width:0!important}@media (width<=1180px){.student-dashboard-grid{grid-template-columns:1fr!important}.student-fee-options,.student-attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.student-profile-grid{grid-template-columns:1fr!important}.student-header-right{gap:12px!important}.student-search-input{width:140px!important}}@media (width<=760px){.student-shell{display:block!important}.student-sidebar{display:none!important}.student-mobile-topbar{background:linear-gradient(135deg,#051a1a 0%,#094f4f 100%);border-bottom:1px solid #c8960c47;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex!important}.student-mobile-nav{border-bottom:3px solid var(--gold);background:linear-gradient(135deg,#051a1a 0%,#0a5d5d 100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 12px;display:grid!important}.student-mobile-nav a{justify-content:center;min-width:0;gap:6px!important;padding:8px 6px!important;font-size:.68rem!important}.student-mobile-nav a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-main{margin-left:0!important}.student-header{flex-direction:row!important;align-items:center!important;gap:12px!important;height:auto!important;padding:12px 16px!important;position:sticky!important;top:0!important}.student-header-right{margin-left:auto;flex-wrap:nowrap!important;gap:8px!important}.student-search,.student-breadcrumb{display:none!important}.student-content{padding:16px 14px 24px!important}.student-dashboard-grid,.student-quick-grid,.student-news-grid,.student-fee-options,.student-attendance-stats,.student-profile-grid,.student-report-info-grid{grid-template-columns:1fr!important}.student-card,.student-polaroid-card,.student-fee-main-card,.student-fee-option-card,.student-profile-card,.student-report-card{border-radius:14px!important;padding:20px!important}.student-badge-row,.student-fee-card-top,.student-fee-stats,.student-fee-progress,.student-profile-header,.student-attendance-card-header,.student-report-header,.student-report-summary,.student-report-signatures{flex-direction:column!important;align-items:stretch!important;gap:14px!important}.student-fee-main-card{margin-bottom:28px!important}.student-fee-option-card{text-align:left!important;align-items:flex-start!important}.student-print-actions{justify-content:stretch!important}.student-print-actions button{width:100%}.student-report-card{overflow:visible!important}.student-report-card h1{font-size:1.45rem!important;line-height:1.15!important}.student-report-signatures>div{width:100%!important}.student-attendance-week-controls{grid-template-columns:36px minmax(0,1fr) 36px;width:100%;display:grid!important}.student-attendance-week-controls input{width:100%;min-width:0}}@media (width<=420px){.student-content{padding:14px!important}.student-card,.student-polaroid-card,.student-fee-main-card,.student-fee-option-card,.student-profile-card,.student-report-card{padding:16px!important}}
