@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary:#6366f1;--primary-hover:#4f46e5;--secondary:#ec4899;--accent:#8b5cf6;--background:#f8fafc;--surface:#fff;--surface-hover:#f1f5f9;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--glass:#ffffffb3;--glass-border:#6366f11a;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--sidebar-bg:#1e1b4b;--sidebar-bg-alt:#312e81}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:Outfit,sans-serif;overflow-x:hidden}.layout-container{min-height:100vh;position:relative}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;transition:transform .3s,border-color .3s,box-shadow .3s;box-shadow:0 8px 32px #1f268712}.glass-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 40px #1f26871f}.btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff}.btn-primary:hover{transform:scale(1.02);box-shadow:0 0 20px #6366f166}.sidebar{background:linear-gradient(180deg, #0000008c 0%, #00000059 100%), var(--sidebar-bg);color:#fff;border-right:none;flex-direction:column;gap:.5rem;width:280px;height:100vh;padding:1rem 1.5rem;display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0000000d}.sidebar-brand-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.sidebar-brand{background:linear-gradient(90deg,#818cf8,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:1.5rem;font-weight:800}.sidebar-close-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:none}.sidebar-close-btn:hover{background:#ffffff2e}.sidebar-backdrop{z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;opacity:0;pointer-events:none;background:#0f172a73;border:none;margin:0;padding:0;transition:opacity .2s;display:none;position:fixed;inset:0}.sidebar-backdrop.sidebar-backdrop--visible{opacity:1;pointer-events:auto}.mobile-topbar{z-index:150;height:56px;padding:0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));padding-top:env(safe-area-inset-top);min-height:calc(56px + env(safe-area-inset-top));background:linear-gradient(180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-alt) 100%);color:#fff;align-items:center;gap:.75rem;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0000001f}.mobile-menu-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.mobile-menu-btn:hover{background:#ffffff2e}.mobile-topbar-brand{background:linear-gradient(90deg,#818cf8,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.15rem;font-weight:800}.nav-link{color:#fff9;border-radius:12px;align-items:center;gap:.75rem;padding:.875rem 1.25rem;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff1a}.nav-link.active{color:var(--primary);background:#fff;box-shadow:0 4px 12px #0000001a}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.main-content{max-width:100%;min-height:100vh;margin-left:280px;padding:2rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.title-group h1{font-size:2rem;font-weight:700}.title-group p{color:var(--text-muted);margin-top:.25rem}.grid{gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=1280px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar-backdrop{display:block}.sidebar-close-btn{display:inline-flex}.mobile-topbar{display:flex}.sidebar{z-index:200;box-shadow:none;transition:transform .28s cubic-bezier(.4,0,.2,1);transform:translate(-100%)}.sidebar.sidebar--open{transform:translate(0);box-shadow:8px 0 32px #00000040}.main-content{padding:1rem;padding-top:calc(56px + env(safe-area-inset-top) + 1rem);margin-left:0}.page-header{flex-direction:column;align-items:stretch}.title-group h1{font-size:1.5rem}}@media (width<=640px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}}.login-screen{box-sizing:border-box;padding:1.25rem}.login-card{box-sizing:border-box;padding:3.5rem}.login-brand-title{font-size:clamp(1.75rem,5vw,2.5rem)}.register-page-card{box-sizing:border-box;width:100%;max-width:1100px;padding:3.5rem}.register-school-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4rem;display:grid}.register-two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=900px){.register-school-grid{grid-template-columns:1fr;gap:2rem}}@media (width<=640px){.register-page-card{padding:1.5rem 1.25rem}.register-two-col{grid-template-columns:1fr}.login-card{padding:2rem 1.25rem}}@media (width<=768px){.dashboard-filters{width:100%;justify-content:flex-start!important}.page-header__actions{width:100%}.page-header__actions .btn-primary{justify-content:center;width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff05;padding:1rem 1.5rem;font-size:.75rem;font-weight:600}tbody td{border-top:1px solid var(--border);padding:1.25rem 1.5rem}@media (width<=640px){thead th,tbody td{padding:.75rem 1rem;font-size:.8125rem}}.badge{border-radius:99px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-paid{color:#10b981;background:#10b9811a}.badge-pending{color:#ef4444;background:#ef44441a}.badge-partial{color:#f59e0b;background:#f59e0b1a}.overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0f172a66;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;flex-direction:column;width:100%;max-width:550px;max-height:85vh;margin:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #0000001a}.modal-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;width:100%;padding:2rem 2.5rem;display:flex}.modal-content{flex:1;padding:0 2.5rem 2.5rem;overflow-y:auto}@media (width<=640px){.modal-header{padding:1.25rem}.modal-header h2{font-size:1.2rem}.modal-content{padding:0 1.25rem 1.5rem}}.modal-header h2{font-size:1.5rem;font-weight:700}.close-btn{background:var(--surface-hover);cursor:pointer;width:40px;height:40px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{color:#ef4444;background:#ef44441a}.input-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=640px){.input-grid{grid-template-columns:1fr}}.input-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.input-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.form-input{background:var(--background);border:1px solid var(--border);color:var(--text);border-radius:12px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--primary);background:var(--surface);outline:none;box-shadow:0 0 0 4px #6366f11a}.printable-fee-receipt{color:#036;box-sizing:border-box;page-break-inside:avoid;background:#fff;border:1.5px solid #036;width:850px;min-height:auto;margin:0 auto;padding:15px 25px;font-family:Inter,Segoe UI,system-ui,sans-serif;position:relative}.receipt-header{text-align:center;margin-bottom:5px}.school-name{text-transform:uppercase;color:#036;letter-spacing:1px;margin:0 0 5px;font-size:2rem;font-weight:800}.school-info{color:#334155;margin:2px 0;font-size:14px;font-weight:500}.hr-main{opacity:.9;background-color:#036;border:none;height:1.5px;margin:15px 0 5px}.receipt-title-container{text-align:center;border-top:2px solid #036;border-bottom:2px solid #036;margin:10px 0 15px;padding:8px 0}.receipt-title{letter-spacing:8px;text-transform:uppercase;color:#036;margin:0;font-size:1.5rem;font-weight:700}.meta-row{justify-content:space-between;margin-bottom:12px;padding:0 5px;font-size:1rem;font-weight:600;display:flex}.meta-label{font-weight:700}.section-divider{border-bottom:2px solid #036;margin:10px 0 20px}.main-grid{grid-template-columns:1.15fr .85fr;gap:40px;display:grid}.col-header{color:#036;margin-bottom:15px;padding-bottom:5px;padding-left:2px;font-size:1rem;font-weight:800}.details-table{border-collapse:collapse;width:100%}.details-table td{vertical-align:top;padding:5px 0}.label-cell{color:#036;width:150px;font-weight:600}.value-cell{color:#1e293b;font-weight:600}.fee-table{border-collapse:collapse;border:1.5px solid #036;width:100%;font-size:.9rem}.fee-table th{text-align:left;background-color:#036;padding:10px 12px;font-weight:700;color:#fff!important}.fee-table td{color:#1e293b;border:1px solid #cbd5e1;padding:10px 12px;font-weight:600}.row-total{background:#f1f5f9;font-weight:800}.row-payable{background-color:#036;font-weight:800;color:#fff!important}.row-payable td{color:#fff!important;border-color:#036!important}.text-right{text-align:right}.amount-highlight{color:#1e293b;text-align:left;margin-top:15px;padding-left:5px;font-size:1.1rem;font-weight:800}.remarks-container{margin-top:40px}.remarks-line{color:#475569;border-bottom:1.5px solid #cbd5e1;height:35px;margin-top:5px;padding-left:10px;font-style:italic}.footer-signatures{page-break-inside:avoid;justify-content:space-between;align-items:flex-end;margin-top:20px;padding:0 20px;display:flex}.signature-box{text-align:center;width:240px}.sig-line{color:#036;border-top:2px solid #036;margin-top:10px;padding-top:10px;font-size:.9rem;font-weight:700}.seal-circle{color:#94a3b8;border:2px dashed #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;font-size:.8rem;font-weight:700;display:flex;position:relative}.seal-circle:after{content:"School Seal";color:#036;font-weight:700;position:absolute;bottom:-30px}.system-msg{text-align:center;color:#1e293b;page-break-inside:avoid;margin-top:15px;font-size:.8rem;font-style:italic;font-weight:600}@media print{.sidebar,.mobile-topbar,.page-header,.page-header__actions,.btn,.no-print,header,nav,aside{display:none!important}body,html{background:#fff!important;margin:0!important;padding:0!important}.main-content{width:100%!important;margin:0!important;padding:0!important}.printable-fee-receipt{z-index:9999;width:100%!important;height:auto!important;min-height:auto!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:10mm!important;display:block!important;position:absolute!important;top:0!important;left:0!important;transform:none!important}.main-grid{display:grid!important}.meta-row,.footer-signatures{display:flex!important}@page{size:portrait;margin:0}}.id-card-container{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.id-card-portrait{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:300px;height:480px;font-family:Inter,system-ui,sans-serif;position:relative;overflow:hidden;box-shadow:0 10px 25px #0000001a}.id-card-back{background:#fdfdfd;flex-direction:column;padding:1.5rem;display:flex}.id-card-instruction-title{color:#1e1b4b;text-transform:uppercase;text-align:center;border-bottom:1.5px solid #6366f1;margin-bottom:.75rem;padding-bottom:4px;font-size:.85rem;font-weight:800}.id-card-instructions-list{color:#475569;margin-bottom:1.5rem;padding-left:1.2rem;font-size:.7rem;line-height:1.4}.id-card-instructions-list li{margin-bottom:4px}.id-card-parent-section{background:#f1f5f9;border-radius:8px;margin-bottom:1.5rem;padding:.75rem}.id-card-address-section{text-align:center;border-top:1px solid #e2e8f0;margin-top:auto;padding-top:1rem;padding-bottom:.5rem}.id-card-address-text{color:#64748b;font-size:.7rem;font-weight:500;line-height:1.4}.id-card-header{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);flex-direction:column;justify-content:flex-start;align-items:center;height:140px;padding:1.2rem;display:flex;position:relative}.id-card-school-name{text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:1.1rem;font-weight:800}.id-card-school-tag{opacity:.8;font-size:.7rem}.id-card-photo-wrapper{z-index:2;background:#f1f5f9;border:4px solid #fff;border-radius:12px;width:110px;height:110px;position:absolute;top:95px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 10px #0000001a}.id-card-photo{object-fit:cover;width:100%;height:100%}.id-card-body{text-align:center;padding-top:80px;padding-left:1.5rem;padding-right:1.5rem}.id-card-student-name{color:#1e1b4b;text-transform:uppercase;margin-bottom:.25rem;font-size:1.35rem;font-weight:800}.id-card-student-role{color:#6366f1;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.25rem;font-size:.8rem;font-weight:700;display:block}.id-card-info-grid{text-align:left;grid-template-columns:1fr;gap:.6rem;display:grid}.id-card-info-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;padding-bottom:2px;display:flex}.id-card-info-label{color:#94a3b8;text-transform:uppercase;font-size:.7rem;font-weight:600}.id-card-info-value{color:#1e293b;font-size:.85rem;font-weight:700}.id-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;height:35px;padding:0 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.id-card-footer-text{color:#64748b;font-size:.65rem;font-weight:600}@media print{.print-id-card-only{visibility:visible!important;background:#fff!important;flex-direction:row!important;gap:10mm!important;width:100%!important;height:100%!important;padding:10mm!important;display:flex!important;position:fixed!important;top:0!important;left:0!important}.id-card-portrait{box-shadow:none!important;page-break-inside:avoid!important;border:1px solid #e2e8f0!important;border-radius:3mm!important;width:54mm!important;height:86mm!important}.id-card-header{height:26mm!important;padding:2mm!important}.id-card-school-name{font-size:3.2mm!important}.id-card-school-tag{font-size:2.2mm!important}.id-card-photo-wrapper{width:22mm!important;height:22mm!important;top:18mm!important}.id-card-body{padding-top:18mm!important;padding-left:4mm!important;padding-right:4mm!important}.id-card-student-name{margin-bottom:1mm!important;font-size:4mm!important}.id-card-student-role{margin-bottom:2mm!important;font-size:2.2mm!important}.id-card-info-grid{gap:1.2mm!important}.id-card-info-label{font-size:1.8mm!important}.id-card-info-value{font-size:2.2mm!important}.id-card-back{padding:4mm!important}.id-card-instruction-title{margin-bottom:2mm!important;font-size:2.5mm!important}.id-card-instructions-list{margin-bottom:3mm!important;padding-left:3mm!important;font-size:1.8mm!important}.id-card-address-text{font-size:1.8mm!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:.8s linear infinite spin}.loading-spinner{border:4px solid #6366f126;border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:.75s linear infinite spin}.text-primary{color:var(--primary)}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-muted);font-size:.82rem;font-weight:600}.landing-page{background:linear-gradient(135deg,#f5f3ff 0%,#e0e7ff 100%);flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;display:flex;overflow-x:hidden}.landing-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1400px;margin:0 auto;padding:1.25rem 1.5rem;display:flex}.landing-nav-links{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.landing-hero-wrap{justify-content:center;align-items:center;width:100%;max-width:1400px;min-height:auto;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex}.landing-hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(2rem,5vw,6rem);width:100%;display:grid}.landing-hero-title{color:#1e1b4b;margin-bottom:2rem;font-size:clamp(2rem,6vw,4.5rem);font-weight:800;line-height:1.1}.landing-hero-lead{color:#64748b;max-width:600px;margin-bottom:2rem;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6}.landing-hero-cta{flex-wrap:wrap;gap:1rem;display:flex}.landing-hero-stats{flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:3rem;display:flex}.landing-section{padding:3rem 1.5rem}.landing-workflow-inner{justify-content:space-between;gap:.5rem;padding:2rem 0;display:flex;position:relative}.landing-workflow-inner>svg{display:block}.landing-ecosystem-visual{justify-content:center;align-items:center;height:auto;min-height:320px;padding:2rem 0;display:flex;position:relative}.landing-intelligence-grid{grid-template-columns:1fr 1.2fr;align-items:center;gap:clamp(2rem,4vw,6rem);max-width:1200px;margin:0 auto;display:grid}.landing-intelligence-chart{background:#fff;border:1px solid #f1f5f9;border-radius:32px;padding:clamp(1.25rem,3vw,3rem);box-shadow:0 20px 50px #0000000d}.landing-features-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);display:grid}.landing-cta-box{color:#fff;background:radial-gradient(at 0 0,#4f46e5 0,#0000 50%),radial-gradient(at 50% 0,#7c3aed 0,#0000 50%),#4f46e5 radial-gradient(at 100% 0,#4338ca 0,#0000 50%);border:1px solid #ffffff1a;border-radius:40px;max-width:900px;margin:0 auto;padding:clamp(2.5rem,6vw,6rem) clamp(1.5rem,4vw,4rem);position:relative;overflow:hidden;box-shadow:0 40px 80px #4f46e566}.landing-cta-title{z-index:1;margin-bottom:1.5rem;font-size:clamp(1.75rem,5vw,3.5rem);font-weight:900;position:relative}.landing-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,6rem);margin-bottom:4rem;display:grid}.landing-footer-legal{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.875rem;display:flex}.landing-footer-links{flex-wrap:wrap;gap:1rem 2rem;display:flex}@media (width<=1024px){.landing-features-grid,.landing-intelligence-grid{grid-template-columns:1fr}}@media (width<=900px){.landing-hero-grid{grid-template-columns:1fr}.landing-workflow-inner{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;justify-content:flex-start;padding:1rem 0 2rem;overflow-x:auto}.landing-workflow-inner>svg{display:none}.landing-ecosystem-visual{min-height:280px;padding:1rem 0 3rem}}@media (width<=640px){.landing-nav-links{justify-content:flex-end;width:100%}.landing-stat-divider{display:none}.landing-footer-legal{text-align:center;flex-direction:column}.landing-footer-links{justify-content:center}}.pd-dashboard-wrapper{box-sizing:border-box;background:#fff;flex-direction:column;justify-content:flex-start;align-items:center;min-height:calc(100vh - 60px);padding:2.5rem 2rem;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;display:flex}.pd-school-header{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:20px;justify-content:space-between;align-items:center;width:100%;max-width:1240px;margin:0 auto 2rem;padding:1rem 1.75rem;display:flex;box-shadow:0 8px 30px #00000008}.pd-header-left{align-items:center;gap:1rem;display:flex}.pd-header-logo-box{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000000d}.pd-header-logo-img{object-fit:contain;width:100%;height:100%}.pd-header-title-group{flex-direction:column;gap:2px;display:flex}.pd-header-school-name{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.45rem;font-weight:800}.pd-header-school-branch{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.pd-header-right{align-items:center;gap:1rem;display:flex}.pd-term-badge{color:#10b981;letter-spacing:.01em;background:#10b9810f;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:7px;padding:6px 14px;font-size:.8rem;font-weight:700;display:flex}.pd-term-dot{background-color:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #10b981}.pd-notification-btn{background:var(--surface-hover);border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.pd-notification-btn:hover{background:var(--border);border-color:var(--text-muted);transform:scale(1.05)}.pd-notification-btn:active{transform:scale(.95)}.pd-dashboard-grid{grid-template-columns:320px 1fr;align-items:stretch;gap:2rem;width:100%;max-width:1240px;margin:0 auto;display:grid}.pd-student-column{flex-direction:column;display:flex}.pd-student-card-inner{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:28px;flex-direction:column;flex-grow:1;align-items:center;padding:2.5rem 1.5rem;display:flex;box-shadow:0 10px 30px #00000008}.pd-avatar-ring{background:linear-gradient(135deg, var(--secondary) 0%, var(--accent) 50%, var(--primary) 100%);border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:1.25rem;padding:3px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;box-shadow:0 0 20px #8b5cf626}.pd-avatar-ring:hover{transform:scale(1.04);box-shadow:0 0 30px #ec48994d}.pd-avatar-inner{background:var(--surface-hover);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.pd-avatar-overlay{opacity:0;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.pd-avatar-ring:hover .pd-avatar-overlay{opacity:1}.pd-avatar-img{object-fit:cover;width:100%;height:100%}.pd-avatar-fallback{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;font-weight:800;display:flex}.pd-student-name{color:var(--text);letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.6rem;font-weight:700}.pd-student-info{color:var(--text-muted);margin:0 0 1.5rem;font-size:.88rem;line-height:1.5}.pd-stats-container{flex-direction:column;gap:.88rem;width:100%;margin-top:1rem;display:flex}.pd-stat-card{background:var(--background);border:1px solid var(--border);cursor:pointer;border-radius:18px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.pd-stat-card:hover{background:var(--surface-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0000000a}.pd-stat-info{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.pd-stat-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;font-size:.72rem;font-weight:700}.pd-stat-value{color:var(--text);font-size:1.05rem;font-weight:700}.pd-stat-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:700}.badge-attendance{color:#10b981;background:#10b98114;border:1px solid #10b98133}.badge-academics{color:var(--accent);background:#8b5cf614;border:1px solid #8b5cf633}.badge-ontrack{color:var(--primary);background:#6366f114;border:1px solid #6366f133}.pd-control-column{flex-direction:column;display:flex}.pd-control-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;flex-direction:column;flex-grow:1;justify-content:space-between;padding:2rem 2.5rem;display:flex;box-shadow:0 10px 30px #00000008}.pd-control-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.pd-control-title{align-items:center;gap:.6rem;display:flex}.pd-sparkle-icon{filter:drop-shadow(0 0 6px #f59e0b4d)}.pd-control-title h3{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:700}.pd-page-indicator{color:var(--text-muted);background:var(--background);border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:600}.pd-control-grid{flex-grow:1;grid-template-columns:repeat(3,1fr);align-content:start;gap:2.25rem 1.5rem;padding:.5rem 0;display:grid}.pd-grid-action-btn{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;gap:.75rem;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex}.pd-grid-action-circle{border:2px solid var(--border);background:var(--background);width:76px;height:76px;color:var(--item-color);border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 10px #00000005}.pd-grid-action-circle svg{color:var(--item-color);transition:transform .2s}.pd-grid-action-btn:hover{transform:scale(1.08)}.pd-grid-action-btn:hover .pd-grid-action-circle{background:var(--surface-hover);border-color:var(--item-color);box-shadow:0 0 10px #0000000d, 0 0 15px var(--item-color)}.pd-grid-action-btn:hover .pd-grid-action-circle svg{transform:scale(1.1)}.pd-grid-action-btn:active{transform:scale(.96)}.pd-grid-action-label{color:var(--text);text-align:center;word-wrap:break-word;max-width:110px;font-size:.85rem;font-weight:600;line-height:1.3;transition:color .2s}.pd-grid-action-btn:hover .pd-grid-action-label{color:var(--primary)}.pd-control-footer{border-top:1px solid var(--border);justify-content:center;align-items:center;margin-top:2rem;padding-top:1rem;display:flex}.pd-dots-container{align-items:center;gap:10px;display:flex}.pd-dot-btn{border:2px solid var(--primary);cursor:pointer;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1)}.pd-dot-btn:hover:not(.active){background:#6366f14d}.pd-dot-btn.active{background:var(--primary);border-radius:5px;width:26px;box-shadow:0 0 8px #6366f14d}.pd-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);background:#0f172a66;justify-content:center;align-items:center;animation:.25s ease-out pd-fadeIn;display:flex;position:fixed;inset:0}@keyframes pd-fadeIn{0%{opacity:0}to{opacity:1}}.pd-detail-page-container{background:var(--surface);border:1px solid var(--border);border-radius:24px;flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) pd-scaleUp;display:flex;overflow:hidden;box-shadow:0 15px 45px #00000014}@keyframes pd-scaleUp{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.pd-modal-header{border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.pd-modal-title{color:var(--text);text-transform:capitalize;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.pd-modal-back,.pd-modal-close{background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:12px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.pd-modal-back:hover,.pd-modal-close:hover{background:var(--border);color:var(--text)}.pd-modal-body{background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.pd-modal-body::-webkit-scrollbar{width:6px}.pd-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.pd-modal-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:4rem 2rem;font-size:.95rem;display:flex}.pd-modal-card{background:var(--background);border:1px solid var(--border);border-radius:18px;margin-bottom:1rem;padding:1.25rem 1.5rem;transition:transform .2s,border-color .2s;box-shadow:0 4px 15px #00000003}.pd-modal-card:hover{border-color:var(--primary);transform:translateY(-1px)}.pd-modal-card-top{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:.75rem;display:flex}.pd-modal-badge{color:var(--primary);background:#6366f114;border-radius:8px;padding:3px 10px;font-size:.72rem;font-weight:700}.pd-modal-badge--sub{color:#10b981;background:#10b98114}.pd-modal-date{color:var(--text-muted);margin-left:auto;font-size:.72rem}.pd-modal-card-title{color:var(--text);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.pd-modal-card-body{color:var(--text-muted);margin:0 0 .75rem;font-size:.88rem;line-height:1.5}.pd-modal-due{color:var(--error);background:#ef44440f;border-radius:8px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}@media (width<=992px){.pd-dashboard-grid{grid-template-columns:1fr;gap:1.5rem}.pd-student-card-inner{padding:2rem}}@media (width<=768px){.pd-dashboard-wrapper{padding:1.25rem 1rem}.pd-school-header{margin-bottom:1.5rem;padding:.88rem 1.25rem}.pd-header-school-name{font-size:1.25rem}.pd-header-logo-box{width:44px;height:44px}.pd-control-card{padding:1.5rem}.pd-control-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem}.pd-grid-action-circle{width:68px;height:68px}.pd-grid-action-label{font-size:.78rem}}@media (width<=480px){.pd-school-header{margin-bottom:1rem;padding:.88rem 1rem}.pd-term-badge{display:none}.pd-control-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem}}.pd-social-footer{justify-content:center;align-items:center;gap:1.5rem;width:100%;margin-top:3rem;margin-bottom:1rem;display:flex}.pd-social-icon{background:var(--background);border:1px solid var(--border);width:44px;height:44px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #00000008}.pd-social-icon:hover{color:var(--text);transform:translateY(-4px)scale(1.08)}.pd-social-icon.fb:hover{color:#1877f2;background:#1877f21a;border-color:#1877f2;box-shadow:0 0 20px #1877f240}.pd-social-icon.yt:hover{color:red;background:#ff00001a;border-color:red;box-shadow:0 0 20px #ff000040}.pd-social-icon.web:hover{border-color:var(--primary);color:var(--primary);background:#6366f11a;box-shadow:0 0 20px #6366f140}.pd-social-icon.tw:hover{border-color:var(--text);color:var(--text);background:#0000000d;box-shadow:0 0 20px #00000026}.pd-social-icon.ig:hover{color:#e1306c;background:#e1306c1a;border-color:#e1306c;box-shadow:0 0 20px #e1306c40}.pd-widget-attendance{flex-direction:column;gap:1.5rem;display:flex}.pd-widget-gauge-container{justify-content:center;align-items:center;padding:1rem 0;display:flex}.pd-widget-gauge{background:var(--background);border:4px solid #10b981;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:140px;height:140px;animation:2s infinite alternate pd-pulse;display:flex;box-shadow:0 0 20px #10b98126}@keyframes pd-pulse{0%{box-shadow:0 0 15px #10b98126}to{box-shadow:0 0 25px #10b9814d}}.pd-widget-gauge-val{color:var(--text);font-size:2.2rem;font-weight:800}.pd-widget-gauge-lbl{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-top:2px;font-size:.72rem;font-weight:700}.pd-widget-stats{background:var(--background);border:1px solid var(--border);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.25rem;display:grid}.pd-widget-stat{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.pd-widget-stat-lbl{color:var(--text-muted);font-size:.75rem;font-weight:600}.pd-widget-stat-val{font-size:1.25rem;font-weight:800}.pd-widget-stat-val.text-success{color:#10b981}.pd-widget-stat-val.text-error{color:var(--error)}.pd-widget-stat-val.text-primary{color:var(--primary)}.pd-widget-matrix{margin-top:.5rem}.pd-widget-matrix h4{color:var(--text);margin:0 0 .88rem;font-size:.95rem;font-weight:700}.pd-widget-dots-grid{background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(10,1fr);gap:8px;margin-bottom:1.25rem;padding:1rem;display:grid}.pd-matrix-dot{aspect-ratio:1;cursor:pointer;border-radius:50%;transition:transform .2s}.pd-matrix-dot:hover{transform:scale(1.3)}.pd-matrix-dot.present{background:#10b981;box-shadow:0 0 6px #10b98140}.pd-matrix-dot.absent{background:var(--error);box-shadow:0 0 6px #ef444440}.pd-matrix-dot.late{background:#f59e0b;box-shadow:0 0 6px #f59e0b40}.pd-matrix-legend{color:var(--text-muted);justify-content:center;gap:1.5rem;font-size:.8rem;font-weight:600;display:flex}.pd-legend-dot{border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.pd-legend-dot.present{background:#10b981}.pd-legend-dot.late{background:#f59e0b}.pd-legend-dot.absent{background:var(--error)}.pd-legend-dot.holiday{background:#3b82f6}.pd-widget-fees{flex-direction:column;gap:1.25rem;display:flex}.pd-widget-fees h4{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.pd-fee-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .25s;display:flex;box-shadow:0 4px 15px #00000005}.pd-fee-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 25px #0000000d}.pd-fee-card-row{justify-content:space-between;align-items:center;display:flex}.pd-fee-card-row.border-top{border-top:1px solid var(--border);margin-top:-.25rem;padding-top:.88rem}.pd-fee-term{color:var(--text);font-size:.95rem;font-weight:700;display:block}.pd-fee-invoice{color:var(--text-muted);margin-top:2px;font-family:monospace;font-size:.72rem;display:block}.pd-fee-amount{color:var(--text);font-size:1.15rem;font-weight:800}.pd-fee-date{color:var(--text-muted);font-size:.8rem;font-weight:500}.pd-fee-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:12px;padding:4px 10px;font-size:.72rem;font-weight:700}.pd-fee-badge.paid{color:#10b981;background:#10b98114;border:1px solid #10b98133}.pd-fee-badge.pending{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b33}.pd-fee-pay-btn{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #6366f133}.pd-fee-pay-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.pd-fee-pay-btn:active{transform:translateY(1px)}.pd-widget-tc h4{color:var(--text);margin:0 0 1rem;font-size:1.05rem;font-weight:700}.pd-tc-form{background:var(--background);border:1px solid var(--border);border-radius:20px;padding:1.5rem}.pd-widget-report{flex-direction:column;gap:1.25rem;display:flex}.pd-report-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.pd-report-header h4{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.pd-report-table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.pd-report-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.pd-report-table th{background:var(--background);color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem;font-size:.72rem;font-weight:700}.pd-report-table td{border-bottom:1px solid var(--border);color:var(--text);padding:1rem 1.25rem}.pd-report-table tr:last-child td{border-bottom:none}.pd-table-total-row{background:#6366f108}.pd-table-total-row td{font-weight:700;color:var(--primary)!important}.pd-report-footer{background:var(--background);border-left:3px solid var(--accent);color:var(--text);border-radius:12px;padding:1rem;font-size:.88rem}.pd-widget-lms{flex-direction:column;gap:1.25rem;display:flex}.pd-widget-lms h4{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.pd-lms-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.25rem;box-shadow:0 4px 15px #00000005}.pd-lms-info{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pd-lms-title{color:var(--text);font-size:.95rem;font-weight:700}.pd-lms-percent{color:#06b6d4;font-size:.8rem;font-weight:700}.pd-lms-progress-bar{background:var(--background);border:1px solid var(--border);border-radius:4px;width:100%;height:8px;margin-bottom:1rem;overflow:hidden}.pd-lms-progress-fill{background:linear-gradient(90deg,#06b6d4,#0ea5e9);border-radius:4px;height:100%;box-shadow:0 0 10px #06b6d433}.pd-lms-footer{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;display:flex}.pd-lms-launch{color:#0891b2;cursor:pointer;background:0 0;border:1px solid #06b6d44d;border-radius:8px;padding:5px 12px;font-weight:700;transition:all .2s}.pd-lms-launch:hover{background:#06b6d40d;border-color:#0891b2;box-shadow:0 0 10px #06b6d426}.pd-widget-discipline{flex-direction:column;gap:1.25rem;display:flex}.pd-widget-discipline h4{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.pd-discipline-grade{background:var(--background);border:1px solid var(--border);color:var(--text);border-radius:16px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.95rem;font-weight:700;display:flex}.pd-discipline-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.pd-discipline-card.positive{border-left:4px solid #10b981}.pd-discipline-card.warning{border-left:4px solid #f59e0b}.pd-disc-top{justify-content:space-between;align-items:center;display:flex}.pd-disc-badge{text-transform:uppercase;border-radius:8px;padding:2px 8px;font-size:.7rem;font-weight:700}.pd-disc-badge.positive{color:#10b981;background:#10b98114}.pd-disc-badge.warning{color:#f59e0b;background:#f59e0b14}.pd-disc-date{color:var(--text-muted);font-size:.72rem;font-weight:600}.pd-widget-health h4{color:var(--text);margin:0 0 1rem;font-size:1.05rem;font-weight:700}.pd-health-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.pd-health-stat{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:1rem 1.25rem;display:flex}.pd-health-stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.pd-health-stat strong{color:var(--text);font-size:1.2rem}.pd-health-checklist h5{color:var(--text);margin:0 0 .75rem;font-size:.9rem;font-weight:700}.pd-widget-online h4{color:var(--text);margin:0 0 4px;font-size:1.05rem;font-weight:700}.pd-live-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;margin-bottom:1rem;padding:1.25rem;box-shadow:0 4px 15px #00000003}.pd-live-card.active{background:linear-gradient(135deg, #10b98108 0%, var(--surface) 100%);border-left:4px solid #10b981}.pd-live-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pd-live-badge{border-radius:8px;padding:3px 8px;font-size:.7rem;font-weight:700}.pd-live-badge.live{color:#10b981;background:#10b9811a;box-shadow:0 0 8px #10b98126}.pd-live-badge.scheduled{background:var(--background);color:var(--text-muted)}.pd-live-time{color:var(--text-muted);font-size:.72rem;font-weight:600}.pd-live-card h5{color:var(--text);margin:0 0 1rem;font-size:.95rem;font-weight:700;line-height:1.4}.pd-live-join-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #10b98133}.pd-live-join-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98159}.pd-live-join-btn.disabled{background:var(--surface-hover);border:1px solid var(--border);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.pd-calendar-cell{aspect-ratio:1;cursor:pointer;border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;position:relative}.pd-calendar-cell:hover{border-color:var(--primary);background:var(--surface-hover);transform:translateY(-1px)}.pd-calendar-cell.selected{box-shadow:0 0 0 2px var(--primary);border-color:var(--primary)}.pd-calendar-cell.present{color:#10b981!important;background:#10b98114!important;border-color:#10b98140!important}.pd-calendar-cell.present:hover{background:#10b98126!important}.pd-calendar-cell.absent{color:#ef4444!important;background:#ef444414!important;border-color:#ef444440!important}.pd-calendar-cell.absent:hover{background:#ef444426!important}.pd-calendar-cell.late{color:#f59e0b!important;background:#f59e0b14!important;border-color:#f59e0b40!important}.pd-calendar-cell.late:hover{background:#f59e0b26!important}.pd-calendar-cell.holiday{color:#3b82f6!important;background:#3b82f614!important;border-color:#3b82f640!important}.pd-calendar-cell.holiday:hover{background:#3b82f626!important}
