@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;--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left);--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}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--text);background:#051a1a;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}}@keyframes pulse{0%{opacity:.88;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}to{opacity:.88;transform:scale(1)}}@keyframes logoPulse{0%{filter:drop-shadow(0 0 10px #c8960c73);transform:scale(1)}50%{filter:drop-shadow(0 0 16px #c8960ca6);transform:scale(1.04)}to{filter:drop-shadow(0 0 10px #c8960c73);transform:scale(1)}}.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}.mobile-bottom-bar.force-visible{display:flex!important}.teacher-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.teacher-table-wrap table{min-width:640px}@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}.teacher-dashboard-grid,.teacher-quick-grid{grid-template-columns:1fr!important}}@media (width<=760px){button,.btn-primary,.btn-gold,.btn-outline{min-height:48px!important}input,select,textarea{min-height:48px}.admin-content table,.teacher-content table,.student-content table{-webkit-overflow-scrolling:touch;width:100%;display:block;overflow-x:auto}.teacher-shell{display:block!important}.teacher-sidebar,.teacher-mobile-topbar{display:none!important}.teacher-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}.teacher-mobile-nav a{justify-content:center;min-width:0;gap:6px!important;padding:8px 6px!important;font-size:.68rem!important}.teacher-mobile-nav a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-main{margin-left:0!important}.teacher-header{flex-direction:row!important;align-items:center!important;gap:6px!important;height:auto!important;min-height:40px!important;padding:6px 10px!important;position:sticky!important;top:0!important}.teacher-header-right{flex-wrap:nowrap!important;justify-content:flex-end!important;gap:4px!important;margin-left:auto!important;overflow:hidden!important}.teacher-header-right button,.teacher-header-right .teacher-header-year-pill,.teacher-header-right .teacher-header-avatar{height:30px!important;min-height:30px!important}.teacher-content{padding:16px 14px 24px!important}.teacher-logout-btn{display:none!important}.teacher-hero-banner{border-radius:14px!important;padding:20px 18px!important}.teacher-dashboard-grid,.teacher-quick-grid,.teacher-class-list,.marks-overview-stats,.marks-overview-panels,.marks-overview-bottom-grid,.marks-overview-filters{grid-template-columns:1fr!important}.marks-overview-hero{flex-direction:column!important}.marks-overview-hero button{width:100%}.marks-overview-panel{border-radius:14px!important;padding:16px!important}.marks-overview-class-shelf{padding:16px!important}.marks-overview-class-grid{flex-direction:column!important}.marks-overview-class-grid>button{width:100%}.marks-overview-table-wrap,.marks-overview-result-wrap{margin-top:12px}.marks-overview-class-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.marks-overview-student-header{grid-template-columns:1fr!important}.marks-overview-teacher-list,.marks-overview-student-list{max-height:none!important}.marks-overview-page table{min-width:640px}.teacher-class-card,.teacher-attendance-card{border-radius:14px!important;padding:18px!important}.teacher-attendance-header,.teacher-attendance-footer,.teacher-attendance-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.teacher-attendance-header select,.teacher-attendance-actions button{width:100%}.teacher-attendance-date-picker{width:100%!important}.teacher-attendance-date-picker-row{grid-template-columns:1fr!important;gap:8px!important}.teacher-attendance-list{max-height:none!important;padding-right:0!important}.student-shell{display:block!important}.student-sidebar{display:none!important}.student-mobile-topbar{border-bottom:2px solid var(--gold);padding:12px 14px calc(12px + env(safe-area-inset-top,0px));z-index:95;background:linear-gradient(135deg,#051a1a 0%,#094f4f 100%);justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;display:flex!important}.student-mobile-brand-copy{display:none}.student-mobile-install{display:none!important}.student-mobile-subtitle{display:-webkit-box}.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;padding-top:0!important}.student-header{display:none!important}.student-header-right{flex-wrap:nowrap!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important;overflow-x:auto!important}.student-header-right button,.student-header-right .headerYearPill,.student-header-right .headerAvatar{min-height:48px}.student-search,.student-breadcrumb{display:none!important}.student-content{padding:16px 14px 120px!important}.mobile-bottom-bar{padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-radius:18px;justify-content:flex-start;width:auto;bottom:8px;left:8px;right:8px;overflow:hidden}.mobile-bottom-bar>button{border-radius:12px!important;flex:0 0 40px!important;width:40px!important;min-width:40px!important;min-height:38px!important;padding:0!important;font-size:.5rem!important}.mobile-bottom-bar>div{-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto;flex:1 1 0!important}.mobile-bottom-bar>div::-webkit-scrollbar{display:none}.mobile-bottom-bar>div>a{border-radius:12px!important;flex:0 0 40px!important;width:40px!important;min-width:40px!important;min-height:38px!important;padding:0!important;font-size:.5rem!important}.mobile-bottom-bar>button span,.mobile-bottom-bar>div>a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.student-logout-btn{display:none!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-fees-page,.student-fee-main-card,.student-balance-pay-card,.student-term-card,.student-table-card{width:100%!important}.student-fee-main-card{padding:18px!important}.student-fee-stats{gap:12px!important}.student-fee-stats>div{width:100%}.student-fee-progress{gap:12px!important}.student-balance-pay-card{padding:16px!important}.student-balance-pay-card button{width:100%}.student-term-grid{grid-template-columns:1fr!important;gap:14px!important}.student-term-card{padding:16px!important}.student-term-header{flex-direction:column!important;align-items:stretch!important}.student-term-badge{align-self:flex-start}.student-term-actions{width:100%}.student-term-actions button{width:100%;min-width:0!important}.student-table-card{padding:16px!important;overflow:hidden!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-marks-page{max-width:100%!important}.student-marks-selector-shell,.student-marks-page .student-report-summary,.student-marks-page .student-print-actions,.student-marks-page .student-marks-exam-type-select{width:100%!important}.student-marks-selector-shell{padding:16px!important}.student-marks-selector-shell .student-marks-exam-type-select{min-height:44px!important;font-size:.92rem!important}.student-marks-page .student-print-actions{gap:10px!important}.student-marks-page .student-print-actions button{flex:1 1 0!important}.student-report-card h1{font-size:1.45rem!important;line-height:1.15!important}.student-report-signatures>div{width:100%!important}.student-table-card{padding:18px!important}.student-payment-history-table,.student-payment-history-table thead,.student-payment-history-table tbody,.student-payment-history-table tr,.student-payment-history-table td{width:100%!important;display:block!important}.student-payment-history-table thead{display:none!important}.student-payment-history-table tr{background:var(--light-bg);border:1px solid var(--border);border-radius:16px;margin-bottom:12px;padding:12px 14px}.student-payment-history-table td{text-align:right;justify-content:space-between;align-items:flex-start;gap:14px;display:flex;border:none!important;padding:7px 0!important}.student-payment-history-table td:before{content:attr(data-label);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex:0 0 40%;font-size:.74rem;font-weight:800}.student-payment-history-table td:last-child{justify-content:flex-end;padding-top:10px!important}.student-payment-history-table td:last-child:before{display:none}.student-payment-history-table td:last-child button{width:100%}.student-upi-modal .student-upi-info-grid{grid-template-columns:1fr!important}.student-upi-modal .student-upi-amount-buttons{grid-template-columns:1fr!important;gap:10px!important;display:grid!important}.student-upi-modal .student-upi-amount-buttons button{white-space:normal;text-align:left;width:100%;line-height:1.35}.student-upi-modal button{width:100%}.student-claim-box{gap:12px!important}.student-marks-page .student-marks-panel{padding:16px!important}.student-marks-page .student-marks-header{flex-direction:column!important;align-items:stretch!important}.student-marks-page .student-marks-badge{width:fit-content}.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}.mobile-bottom-bar,.mobile-bottom-bar.force-visible{display:flex!important}}@media (width<=420px){.student-marks-page .student-report-summary{gap:10px!important;padding:12px!important}.student-marks-page .student-report-summary>div{flex:1 1 0!important;min-width:0!important}.student-marks-page .student-report-summary .summaryVal{font-size:1.25rem!important}.mobile-bottom-bar{padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px));gap:6px;bottom:6px;left:6px;right:6px}.mobile-bottom-bar>button{width:36px!important;min-width:36px!important;min-height:36px!important}.mobile-bottom-bar>div{gap:4px}.mobile-bottom-bar>div>a{width:36px!important;min-width:36px!important;min-height:36px!important}.mobile-bottom-bar>button span,.mobile-bottom-bar>div>a span{display:none!important}.mobile-bottom-bar>button i,.mobile-bottom-bar>div>a i{font-size:.86rem!important}.student-content{padding:14px 14px 120px!important}.student-card,.student-polaroid-card,.student-fee-main-card,.student-fee-option-card,.student-profile-card,.student-report-card{padding:16px!important}.student-fee-main-card,.student-balance-pay-card,.student-term-card,.student-table-card{padding:14px!important}.student-payment-history-table tr{padding:10px 12px!important}.student-payment-history-table td{gap:10px!important}.student-payment-history-table td:before{flex-basis:44%}}html{-webkit-text-size-adjust:100%}img,video,canvas,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,.btn-primary,.btn-gold,.btn-outline{min-height:44px}input,select,textarea{max-width:100%}.responsive-table-shell,.app-shell,.admin-shell,.teacher-shell,.student-shell,.portal-page,.portal-content,.admin-main,.teacher-main,.student-main{min-width:0}table{max-width:100%}@media (width<=1180px){.admin-dashboard-grid,.admin-dashboard-split,.teacher-dashboard-grid,.teacher-quick-grid,.marks-overview-stats,.marks-overview-panels,.marks-overview-bottom-grid,.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}.admin-hero-banner,.teacher-hero-banner,.marks-overview-hero{align-items:stretch!important}.admin-hero-actions,.teacher-class-actions,.marks-overview-filters,.student-fee-stats,.student-fee-progress{flex-wrap:wrap!important}.marks-overview-filters{grid-template-columns:1fr 1fr!important}.marks-overview-filters>:last-child{grid-column:1/-1}}@media (width<=760px){.admin-shell{display:block!important}.admin-sidebar,.admin-mobile-topbar{display:none!important}.admin-mobile-nav{border-bottom:3px solid var(--gold);-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#051a1a 0%,#0a5d5d 100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 12px;overflow-x:auto;display:grid!important}.admin-mobile-nav a{justify-content:center;min-width:0;gap:6px!important;padding:8px 6px!important;font-size:.68rem!important}.admin-mobile-nav a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-main{margin-left:0!important;padding-top:10px!important}.admin-header{flex-direction:row!important;align-items:center!important;gap:10px!important;height:auto!important;padding:12px 14px!important;position:sticky!important;top:0!important}.admin-header-right{flex-wrap:nowrap!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important;overflow-x:auto!important}.admin-header-right button,.admin-header-right .badge,.admin-header-right .adminAvatar{min-height:48px}.admin-content{padding:16px 14px 104px!important}.admin-logout-btn{display:block!important}.admin-content [style*=grid-template-columns]{grid-template-columns:1fr!important}.admin-content .responsive-table-shell{border-radius:14px}.admin-content table{min-width:640px}.admin-content button{min-height:44px}.teacher-shell{display:block!important}.teacher-sidebar,.teacher-mobile-topbar{display:none!important}.teacher-mobile-nav{border-bottom:3px solid var(--gold);-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#051a1a 0%,#0a5d5d 100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 12px;overflow-x:auto;display:grid!important}.teacher-mobile-nav a{justify-content:center;min-width:0;gap:6px!important;padding:8px 6px!important;font-size:.68rem!important}.teacher-main{margin-left:0!important;padding-top:10px!important}.teacher-header{flex-direction:row!important;align-items:center!important;gap:4px!important;height:auto!important;min-height:36px!important;padding:4px 8px!important;position:sticky!important;top:0!important}.teacher-headerBrand,.teacher-header-brand{min-width:0;gap:6px!important}.teacher-header-brand>div,.teacher-headerBrand>div{min-width:0}.teacher-header .teacher-header-brand,.teacher-header .teacher-headerBrand{flex:1}.teacher-header-right{flex-wrap:nowrap;justify-content:flex-end;width:auto;gap:4px!important}.teacher-mobile-bottom-bar{padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))!important;border-radius:18px!important;gap:6px!important;bottom:8px!important;left:8px!important;right:8px!important}.teacher-mobile-bottom-bar>button,.teacher-mobile-bottom-bar a{border-radius:12px!important;min-width:0!important;min-height:38px!important;padding:4px 8px!important;font-size:.52rem!important}.teacher-mobile-bottom-bar>div{gap:6px!important}.teacher-content{padding:16px 14px 104px!important}.teacher-fees-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:16px!important}.teacher-fees-stats .statBox{border-right:none!important}.teacher-fees-filter-row{flex-direction:column!important;gap:10px!important}.teacher-fees-context{flex-direction:column!important;align-items:flex-start!important}.teacher-fees-grid{grid-template-columns:1fr!important;gap:16px!important;height:auto!important}.teacher-fees-list,.teacher-fees-detail{min-height:0!important;max-height:none!important;padding:14px!important}.teacher-fees-detail{display:none!important}.teacher-fees-mobile-sheet .teacher-fees-detail-header{margin-bottom:18px!important;padding-bottom:16px!important}.teacher-fees-mobile-sheet .teacher-fees-metrics{margin-bottom:20px!important}.teacher-fees-card{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.teacher-fees-card-meta{justify-content:space-between;align-items:center;width:100%;display:flex}.teacher-fees-detail-header{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}.teacher-fees-detail-header button{justify-content:center;width:100%}.teacher-fees-metrics{grid-template-columns:1fr!important;gap:12px!important}.teacher-fees-table-shell{-webkit-overflow-scrolling:touch;overflow-x:auto}.teacher-fees-table-shell table{min-width:520px}.teacher-hero-banner{border-radius:14px!important;padding:20px 18px!important}.teacher-dashboard-grid,.teacher-quick-grid,.teacher-class-list{grid-template-columns:1fr!important}.teacher-class-card,.teacher-attendance-card{border-radius:14px!important;padding:18px!important}.teacher-attendance-header,.teacher-attendance-footer,.teacher-attendance-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.teacher-attendance-header select,.teacher-attendance-actions button{width:100%}.teacher-attendance-date-picker{margin-top:4px;width:100%!important}.teacher-attendance-date-picker-row{grid-template-columns:1fr!important;gap:8px!important}.teacher-attendance-list{max-height:none!important;padding-right:0!important}}@media (pointer:coarse){button,input,select,textarea{touch-action:manipulation}}@media (width<=420px){.teacher-header{gap:4px!important;min-height:36px!important;padding:4px 8px!important}.teacher-headerBrand,.teacher-header-brand{gap:8px!important}.teacher-header-logo{width:24px!important;height:24px!important}.teacher-header .pageTitle,.teacher-page-title{font-size:.82rem!important;line-height:1.1!important}.teacher-header .breadcrumb,.teacher-breadcrumb{display:none!important}.teacher-header-right{gap:3px!important}.teacher-header-right .teacher-logout-btn,.teacher-header-right button{min-width:0!important}.teacher-header-right .teacher-logout-btn{display:none!important}.teacher-header-right .teacher-header-year-pill{padding:1px 6px!important;font-size:.56rem!important}.teacher-header-right .teacher-header-avatar{width:24px!important;height:24px!important;font-size:.68rem!important}.teacher-fees-stats{grid-template-columns:1fr!important}.teacher-fees-stats .statBox:last-child{border-right:none!important}.teacher-fees-card,.teacher-fees-detail{padding:12px!important}.teacher-fees-detail-header .teacher-fees-action,.teacher-fees-detail-header button{width:100%}.teacher-fees-modal-actions{flex-direction:column!important}.teacher-fees-modal-actions button{width:100%}.teacher-header .teacher-breadcrumb,.teacher-breadcrumb{display:none!important}.student-mobile-topbar{padding:10px 10px calc(10px + var(--safe-area-inset-top));min-height:60px}.student-mobile-brand-copy{display:none!important}.student-mobile-logo{width:36px;height:36px}.student-mobile-school-name{font-size:.82rem}.student-mobile-year-pill{padding:5px 9px;font-size:.62rem}.student-mobile-logout{width:34px;height:34px}.mobile-bottom-bar,.mobile-bottom-bar.force-visible{display:flex!important}}.portal-nav-link{color:#ffffffc2;border-radius:10px;align-items:center;gap:11px;min-height:42px;margin-bottom:5px;padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.portal-nav-link:hover{color:#fff;background:#ffffff17;transform:translate(2px)}.portal-nav-link.active{color:#fff;background:linear-gradient(135deg,#c8960c3d,#ffffff12);box-shadow:inset 0 0 0 1px #c8960c57,0 8px 20px #0000001f}.portal-nav-link.active:before{content:"";background:var(--gold);border-radius:999px;width:4px;position:absolute;top:9px;bottom:9px;left:5px;box-shadow:0 0 10px #c8960ca6}.portal-nav-icon{text-align:center;opacity:.9;color:#ffffffb3;background:#ffffff0f;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:30px;font-size:.86rem;transition:background .18s,color .18s,transform .18s;display:grid}.portal-nav-link:hover .portal-nav-icon{color:var(--gold-light);background:#ffffff1a}.portal-nav-link.active .portal-nav-icon{opacity:1;color:var(--navy-dark);background:linear-gradient(135deg, var(--gold), var(--gold-light));box-shadow:0 6px 16px #c8960c3d}.portal-group-btn{cursor:pointer;color:#fff6;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:28px;margin-bottom:4px;padding:6px 4px;transition:background .18s,color .18s;display:flex}.portal-group-btn:hover{color:#ffffffa6;background:#ffffff0d}.portal-group-label{text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:800}.portal-group-chevron{font-size:.6rem;transition:transform .22s}.portal-group-chevron.open{transform:rotate(180deg)}.portal-sidebar-profile{background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.portal-sidebar-profile:hover{background:#ffffff17}.portal-sidebar-avatar{background:linear-gradient(135deg, var(--gold), var(--gold-light));width:36px;height:36px;color:var(--navy-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex;box-shadow:0 0 0 2px #c8960c59}.portal-sidebar-info{flex:1;min-width:0}.portal-sidebar-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;overflow:hidden}.portal-sidebar-role{color:#fff6;text-transform:uppercase;letter-spacing:.09em;margin-top:1px;font-size:.65rem;font-weight:600}.portal-sidebar-logout-btn{color:#ffffff73;cursor:pointer;background:#c5221f1a;border:1px solid #c5221f2e;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;transition:all .2s;display:flex}.portal-sidebar-logout-btn:hover{color:#ff6b6b;background:#c5221f47;border-color:#c5221f73;box-shadow:0 0 10px #c5221f33}.portal-header-glass{-webkit-backdrop-filter:blur(14px)saturate(1.3)!important;background:#ffffffed!important;border-bottom:1px solid #c8960c38!important;box-shadow:0 2px 18px #0e6b6b12!important}.portal-page-title-accent{display:inline-block;position:relative}.portal-page-title-accent:after{content:"";background:linear-gradient(90deg, var(--gold), transparent);border-radius:2px;width:36px;height:2px;position:absolute;bottom:-2px;left:0}.portal-ay-badge{background:linear-gradient(90deg, var(--gold-pale), #fffbe6, var(--gold-pale));color:var(--navy-dark);letter-spacing:.05em;white-space:nowrap;background-size:200%;border:1px solid #c8960c47;border-radius:20px;padding:5px 13px;font-size:.72rem;font-weight:800;animation:3.5s linear infinite shimmer}.portal-header-avatar-wrap{justify-content:center;align-items:center;display:flex;position:relative}.portal-header-avatar-wrap:hover .portal-avatar-ring{opacity:1;animation:1.2s ease-out infinite portalAvatarRing}.portal-avatar-ring{opacity:0;pointer-events:none;border:2px solid #c8960c99;border-radius:50%;position:absolute;inset:-3px}.portal-stat-in{animation:.48s cubic-bezier(.34,1.56,.64,1) both portalStatIn}.portal-hero-orb-1{pointer-events:none;background:radial-gradient(circle,#c8960c59 0%,#0000 70%);border-radius:50%;width:220px;height:220px;animation:6s ease-in-out infinite floatOrbA;position:absolute;top:-80px;right:60px}.portal-hero-orb-2{pointer-events:none;background:radial-gradient(circle,#10b98140 0%,#0000 70%);border-radius:50%;width:160px;height:160px;animation:8.5s ease-in-out infinite reverse floatOrbA;position:absolute;bottom:-50px;right:220px}.portal-activity-timeline{padding-left:20px;position:relative}.portal-activity-timeline:before{content:"";background:linear-gradient(#c8960c80,#c8960c0d);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:4px}.portal-activity-item{align-items:center;gap:14px;padding:11px 0;display:flex;position:relative}.portal-activity-item:not(:last-child){border-bottom:1px solid #0e6b6b12}.portal-activity-dot{background:var(--gold);border:2px solid #fff;border-radius:50%;flex-shrink:0;width:9px;height:9px;position:absolute;top:50%;left:-19px;transform:translateY(-50%);box-shadow:0 0 0 2px #c8960c40}.portal-activity-icon{background:#0e6b6b12;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.portal-activity-icon.fee{background:#c8960c1a}.portal-activity-icon.attendance{background:#10b9811a}.portal-activity-icon.other{background:#0e6b6b14}.portal-group-items{opacity:0;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s;overflow:hidden}.portal-group-items.expanded{opacity:1}.portal-sidebar-divider{background:linear-gradient(90deg,#0000,#c8960c2e,#0000);height:1px;margin:6px 0 10px}@keyframes portalAvatarRing{0%{box-shadow:0 0 #c8960c8c}70%{box-shadow:0 0 0 8px #c8960c00}to{box-shadow:0 0 #c8960c00}}@keyframes portalStatIn{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-exam-card-accent{background:linear-gradient(90deg, var(--navy), var(--gold));border-radius:12px 12px 0 0;height:5px;position:absolute;top:0;left:0;right:0}
