@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;800&family=Quicksand:wght@400;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap);.royal-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modern-erp-modal{background:#fff;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;overflow:hidden;width:100%}.modal-header-flex{align-items:center;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;display:flex;justify-content:space-between;padding:24px 32px}.modal-title-main{font-size:1.5rem;font-weight:800;letter-spacing:-.025em;margin:0}.modal-subtitle{font-size:.875rem;margin:4px 0 0;opacity:.7}.close-x{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-x:hover{background:#fff3;transform:rotate(90deg)}.erp-form-layout{background:#f8fafc;flex:1 1;overflow-y:auto;padding:32px}.erp-grid-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1.2fr}.erp-section-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;margin-bottom:24px;padding:24px}.section-label{align-items:center;color:#64748b;display:flex;font-size:.75rem;font-weight:700;gap:8px;letter-spacing:.05em;margin-bottom:20px;text-transform:uppercase}.input-stack{display:flex;flex-direction:column;gap:16px}.input-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.input-group label{display:block;font-size:.8125rem;margin-bottom:6px}.input-group input{border:1.5px solid #e2e8f0;border-radius:10px;font-size:.9375rem;padding:10px 14px;transition:all .2s;width:100%}.input-group input:focus,.status-select:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.status-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:.9375rem;padding:10px 14px;transition:all .2s;width:100%}.payment-entry-box{background:#f0fdf4;border:2px solid #dcfce7}.payment-input-wrapper{align-items:center;background:#fff;border:2px solid #bbf7d0;border-radius:12px;display:flex;padding:4px 16px}.currency-prefix{color:#16a34a;font-size:1.5rem;font-weight:700}.big-payment-input{border:none;color:#166534;font-size:1.5rem;font-weight:800;padding:12px;width:100%}.big-payment-input:focus{outline:none}.payment-hint{color:#166534;font-size:.75rem;margin-top:8px;opacity:.8}.fee-statement-box{background:#f1f5f9}.section-header-flex{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.unlock-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;font-weight:700;gap:6px;padding:6px 12px;transition:all .2s}.unlock-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.unlocked-tag{background:#fef9c3;border-radius:8px;color:#854d0e;font-size:.75rem;font-weight:700;gap:6px;padding:6px 12px}.fee-item-row,.unlocked-tag{align-items:center;display:flex}.fee-item-row{justify-content:space-between;margin-bottom:8px}.fee-item-row span{color:#475569;font-size:.875rem}.fee-item-row input{border:1px solid #cbd5e1;border-radius:6px;font-weight:600;padding:6px 10px;text-align:right;width:100px}.fee-item-row input[readonly]{background:#00000008;color:#64748b}.fee-summary-divider{background:#cbd5e1;height:1px;margin:16px 0}.summary-row{display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.summary-row.total{color:#1e293b;font-size:1rem}.summary-row.paid{color:#16a34a}.summary-row.balance{border-radius:10px;font-size:1.125rem;font-weight:800;margin-top:8px;padding:12px}.summary-row.balance.due{background:#fee2e2;color:#b91c1c}.summary-row.balance.cleared{background:#dcfce7;color:#15803d}.mini-table-wrapper{margin-top:12px}.mini-transactions{border-collapse:collapse;width:100%}.mini-transactions th{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:.75rem;padding-bottom:12px;text-align:left}.mini-transactions td{border-bottom:1px solid #f1f5f9;font-size:.8125rem;font-weight:500;padding:12px 0}.ref-badge{background:#f1f5f9;border-radius:4px;color:#475569;font-family:monospace;padding:2px 8px}.amount-text{color:#1e293b;font-weight:700}.erp-modal-footer{align-items:center;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px 32px}.btn-print-large{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#2563eb;cursor:pointer;display:flex;font-weight:700;gap:10px;padding:12px 24px;transition:all .2s}.btn-print-large:hover{background:#dbeafe}.footer-actions-right{align-items:center;display:flex;gap:16px}.btn-cancel-text{background:none;border:none;color:#64748b;cursor:pointer;font-weight:600}.btn-save-erp{align-items:center;background:#2563eb;border:none;border-radius:12px;box-shadow:0 4px 6px -1px #2563eb33;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:10px;padding:12px 32px}.btn-save-erp:hover{background:#1d4ed8}.pwd-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:2500}.pwd-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:32px;text-align:center;width:100%}.pwd-title{color:#1e293b;font-size:1.25rem;font-weight:800;margin-bottom:8px}.pwd-card p{color:#64748b;font-size:.875rem;margin-bottom:24px}.pwd-card input{border:2px solid #e2e8f0;border-radius:12px;font-size:1.125rem;margin-bottom:16px;padding:14px;text-align:center;width:100%}.pwd-error{color:#dc2626;font-size:.8125rem;font-weight:600;margin-bottom:16px}.pwd-actions{display:flex;gap:12px}.pwd-actions button{border-radius:10px;cursor:pointer;flex:1 1;font-weight:700;padding:12px}.unlock-confirm{background:#1e293b;border:none;color:#fff}.notification-toast{align-items:center;animation:notification-fadein .35s;background:#2557d8;border-radius:14px;bottom:36px;box-shadow:0 4px 32px #2557d875;color:#fff;display:flex;font-size:1.11rem;gap:10px;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:3000}@keyframes notification-fadein{0%{opacity:0;transform:translate(-50%,80px)}to{opacity:1;transform:translate(-50%)}}.notification-close{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.6rem;line-height:1;margin-left:12px;opacity:.8}.notification-close:hover{opacity:1}:root{--brand-blue:#0f172a;--accent-blue:#3b82f6;--bg-primary:#f8fafc;--card-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.dashboard-layout{background-color:#f8fafc;background-color:var(--bg-primary);font-family:Plus Jakarta Sans,sans-serif;min-height:100vh}.stat-card{background:#fff!important;border:1px solid #e2e8f0cc!important;border-radius:20px!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;box-shadow:var(--card-shadow)!important;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important;transform:translateY(-5px)}.hero-stats-container{background:#0f172a;background:var(--brand-blue);border-radius:24px;color:#fff;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.hero-stats-container:after{background:radial-gradient(circle,#3b82f633 0,#0000 70%);content:"";height:300px;position:absolute;right:-20%;top:-50%;width:300px;z-index:0}.status-pill{border-radius:99px!important;font-size:.75rem!important;font-weight:700!important;padding:4px 12px!important;text-transform:uppercase}.status-pill.due{background-color:#fef2f2!important;border:1px solid #fee2e2!important;color:#ef4444!important}.status-pill.paid{background-color:#f0fdf4!important;border:1px solid #dcfce7!important;color:#22c55e!important}.student-card-mobile{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:1rem;padding:1.25rem}.student-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.student-card-body{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.card-label{color:#64748b;font-size:.75rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase}.card-value{color:#1e293b;font-size:.95rem;font-weight:700}.card-actions{border-top:1px solid #f1f5f9;display:flex;gap:.75rem;padding-top:1rem}.action-btn{border-radius:12px!important;box-shadow:none!important;flex:1 1;font-weight:700!important;padding:10px!important;text-transform:none!important}.glass-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172af2!important;border-right:1px solid #ffffff1a!important}.nav-item-modern{border-radius:12px!important;color:#ffffffb3!important;font-weight:600!important;margin:4px 12px!important;transition:all .2s ease!important}.nav-item-modern.active{background:#3b82f6!important;background:var(--accent-blue)!important;box-shadow:0 10px 15px -3px #3b82f64d!important;color:#fff!important}.password-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:3000}.password-modal-card{background:#fff;border:1px solid #fff3;border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:30px;text-align:center;width:380px}.security-icon{align-items:center;background:#f0f4ff;border-radius:50%;color:#2356c6;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.password-modal-card h3{color:#1a2333;margin:0 0 10px}.password-modal-card p{color:#666;font-size:.9rem;margin-bottom:20px}.password-modal-card input{border:1.5px solid #ddd;border-radius:8px;font-size:1.1rem;letter-spacing:2px;outline:none;padding:12px;text-align:center;transition:all .2s;width:100%}.password-modal-card input:focus{border-color:#2356c6;box-shadow:0 0 0 3px #2356c61a}.error-input{animation:shake .4s;border-color:#ff4d4d!important}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-text{color:#ff4d4d;font-size:.85rem;margin-top:8px}.password-modal-actions{display:flex;gap:12px;margin-top:25px}.btn-cancel,.btn-verify{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:10px;transition:.2s}.btn-cancel{background:#f1f1f1;color:#666}.btn-cancel:hover{background:#e5e5e5}.btn-verify{background:#2356c6;color:#fff}.btn-verify:hover{background:#1a429b}.bulk-upload-card{background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000000d;margin-top:1.5rem;max-width:800px;padding:2rem}.bulk-upload-card h3{align-items:center;color:#1e293b;display:flex;font-size:1.15rem;margin:0 0 .5rem}.bulk-upload-card .backup-info>p{color:#64748b;font-size:.9rem;margin:0 0 .75rem}.column-info-toggle{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#4f46e5;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.4rem .9rem;transition:all .2s}.column-info-toggle:hover{background:#eef2ff;border-color:#c7d2fe}.column-info-panel{animation:slideDown .3s ease;background:#fafbfc;border:1px solid #e2e8f0;border-radius:12px;margin-top:.75rem;padding:1rem}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-8px)}to{max-height:500px;opacity:1;transform:translateY(0)}}.column-group{margin-bottom:.75rem}.column-group:last-of-type{margin-bottom:.5rem}.column-group-label{font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:.35rem;text-transform:uppercase}.column-tags{display:flex;flex-wrap:wrap;gap:.3rem}.column-tag{border:1px solid;border-radius:6px;color:#334155;display:inline-block;font-family:Consolas,Monaco,monospace;font-size:.72rem;font-weight:600;padding:.2rem .5rem}.column-info-note{align-items:flex-start;color:#94a3b8;display:flex;font-size:.75rem;font-style:italic;gap:.4rem;line-height:1.4;margin:.5rem 0 0}.column-info-note svg{flex-shrink:0;margin-top:2px}.upload-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.file-input-wrapper input{display:none}.file-label{background:#f1f5f9;border:1.5px dashed #cbd5e1;border-radius:10px;color:#1e293b;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:600;max-width:250px;overflow:hidden;padding:.7rem 1.3rem;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.file-label:hover{background:#e2e8f0;border-color:#94a3b8}.sheet-input-wrapper{flex:1 1;max-width:280px;min-width:180px;position:relative}.sheet-icon{color:#94a3b8;font-size:1rem;left:10px;position:absolute;top:50%;transform:translateY(-50%)}.sheet-name-input{border:1.5px solid #e2e8f0;border-radius:10px;color:#1e293b;font-family:inherit;font-size:.85rem;outline:none;padding:.65rem .8rem .65rem 2.2rem;transition:border-color .2s;width:100%}.sheet-name-input:focus{border-color:#4f46e5}.sheet-name-input::placeholder{color:#94a3b8;font-size:.8rem}.upload-btn-trigger{align-items:center;background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:.6rem;padding:.7rem 1.3rem;transition:all .2s}.upload-btn-trigger:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.upload-btn-trigger:disabled{cursor:not-allowed;opacity:.5}.password-upload-group{align-items:center;animation:slideIn .3s ease;display:flex;gap:.6rem;width:100%}.password-input-wrapper{flex:1 1;position:relative}.lock-icon{color:#94a3b8;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.password-input-wrapper input{border:1.5px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:.9rem;outline:none;padding:.7rem 1rem .7rem 2.5rem;width:100%}.password-input-wrapper input:focus{border-color:#4f46e5}.upload-btn-confirm{background:#059669;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:.7rem 1.3rem;transition:all .2s;white-space:nowrap}.upload-btn-confirm:hover:not(:disabled){background:#047857}.upload-btn-confirm:disabled{cursor:not-allowed;opacity:.6}.upload-btn-cancel{background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;font-size:.85rem;font-weight:600;padding:.7rem 1.3rem;transition:all .2s}.upload-btn-cancel:hover{background:#e2e8f0}.upload-message{align-items:center;border-radius:10px;display:flex;flex-wrap:wrap;font-size:.88rem;font-weight:600;gap:.6rem;margin-top:1rem;padding:.85rem 1rem}.upload-message.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.upload-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.sheet-badge{background:#d1fae5;border-radius:6px;color:#047857;display:inline-block;font-size:.75rem;font-weight:700;margin-left:auto;padding:.15rem .5rem}@media (max-width:600px){.bulk-upload-card{padding:1.2rem}.upload-controls{align-items:stretch;flex-direction:column}.file-label{text-align:center}.file-label,.sheet-input-wrapper{max-width:100%}.password-upload-group{flex-direction:column}.upload-btn-trigger{justify-content:center;width:100%}.column-tags{gap:.25rem}.column-tag{font-size:.65rem;padding:.15rem .4rem}}.finance-report-container{display:flex;flex-direction:column;gap:2rem}.finance-summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.summary-card{background:#fff;border:1px solid #eef2f6;border-radius:12px;box-shadow:0 4px 10px #00000005;gap:1.2rem;padding:1.5rem}.summary-card,.summary-icon{align-items:center;display:flex}.summary-icon{background:#f8fafc;border-radius:10px;font-size:1.2rem;height:45px;justify-content:center;padding:.8rem;width:45px}.summary-card.total .summary-icon{background:#eff6ff;color:#3b82f6}.summary-card.collected .summary-icon{background:#ecfdf5;color:#10b981}.summary-card.outstanding .summary-icon{background:#fef2f2;color:#ef4444}.summary-label{color:#64748b;display:block;font-size:.85rem;font-weight:500;margin-bottom:.2rem}.summary-value{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.class-breakdown-card,.report-actions-card{background:#fff;border:1px solid #eef2f6;border-radius:12px;padding:1.5rem}.class-breakdown-card h3,.report-actions-card h3{color:#1e293b;font-size:1.1rem;margin:0 0 .5rem}.report-actions-card p{color:#64748b;font-size:.9rem;margin-bottom:1.5rem}.range-picker{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{color:#475569;font-size:.8rem;font-weight:600}.input-group input{border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-family:inherit;outline:none;padding:.6rem}.download-btn{align-items:center;background:#1e293b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.6rem;padding:.7rem 1.2rem;transition:background .2s}.download-btn:hover{background:#0f172a}.breakdown-table{border-collapse:collapse;margin-top:1rem;width:100%}.breakdown-table th{background:#f8fafc;color:#64748b;font-size:.85rem;font-weight:600;padding:1rem;text-align:left}.breakdown-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:.9rem;padding:1rem}.progress-cell{align-items:center;display:flex;gap:1rem}.percentage{font-weight:600;min-width:45px}.progress-bar-bg{background:#f1f5f9;border-radius:10px;flex:1 1;height:8px;overflow:hidden}.progress-bar-fill{background:#10b981;border-radius:10px;height:100%}.charts-panel{display:flex;flex-wrap:wrap;gap:24px;width:100%}.chart-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;flex:1 1 340px;min-width:0;padding:1.5rem}.chart-card.wide-chart{flex:1 1 100%}.chart-header{margin-bottom:2rem}.chart-header h4{color:#0f172a;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;margin:0 0 .25rem}.chart-header p{color:#64748b;font-size:.85rem;font-weight:600;margin:0}.charts-loading{align-items:center;color:#94a3b8;display:flex;font-weight:700;height:250px;justify-content:center;letter-spacing:.1em;text-transform:uppercase;width:100%}@media (max-width:1200px){.charts-panel{flex-direction:column}.chart-card{max-width:100%}}.attendance-container{animation:fadeIn .3s ease-out;margin:0 auto;max-width:1200px;padding:1rem}.glassmorphism{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fff6;border-radius:16px;box-shadow:0 8px 32px 0 #1f26870d}.attendance-header{margin-bottom:2rem;text-align:center}.attendance-header h2{align-items:center;color:#1e293b;display:flex;font-size:2rem;gap:.75rem;justify-content:center;margin-bottom:.5rem}.attendance-header p{color:#64748b;font-size:1.1rem}.class-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.class-card{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center;transition:all .3s ease}.class-card:hover{border-color:#6366f1;box-shadow:0 12px 40px 0 #1f26871a;transform:translateY(-5px)}.class-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;color:#fff;display:flex;font-size:1.8rem;height:64px;justify-content:center;margin-bottom:.5rem;width:64px}.class-card h3{color:#0f172a;font-size:1.4rem;margin:0}.select-btn{background:#6366f11a;border:none;border-radius:99px;color:#4f46e5;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;width:100%}.class-card:hover .select-btn{background:#6366f1;color:#fff}.roster-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.back-btn{align-items:center;align-self:flex-start;background:none;border:none;color:#64748b;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.5rem 0;transition:color .2s}.back-btn:hover{color:#0f172a}.roster-title{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.roster-title h2{color:#1e293b;font-size:1.8rem;margin:0}.date-picker-wrapper{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:.75rem;padding:.5rem 1rem}.calendar-icon{color:#6366f1;font-size:1.2rem}.date-picker{background:#0000;border:none;color:#334155;font-size:1rem;font-weight:500;outline:none}.admin-insights{background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6);border-left:4px solid #8b5cf6;margin-bottom:1.5rem;padding:1.5rem}.admin-insights h3{align-items:center;color:#475569;display:flex;font-size:1.1rem;gap:.5rem;margin:0 0 1rem}.insights-grid{display:flex;flex-wrap:wrap;gap:1.5rem}.insight-item{display:flex;flex-direction:column;gap:.25rem}.insight-label{color:#94a3b8;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.insight-value{align-items:center;color:#1e293b;display:flex;font-size:1rem;font-weight:600;gap:.5rem}.insight-value.marked{color:#10b981}.insight-value.pending{color:#f59e0b}.attendance-stats{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem}.attendance-stats,.stat-pill{align-items:center;display:flex}.stat-pill{border-radius:12px;flex-direction:column;min-width:120px;padding:1rem 2rem}.stat-pill.present{background:#10b9811a;color:#059669}.stat-pill.absent{background:#ef44441a;color:#dc2626}.stat-pill .label{font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-pill .value{font-size:2rem;font-weight:700}.bulk-actions{display:flex;gap:1rem}.bulk-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:transform .1s}.bulk-btn:active{transform:scale(.96)}.bulk-btn.present-btn{background:#10b981;color:#fff}.bulk-btn.absent-btn{background:#ef4444;color:#fff}.student-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:6rem}.student-row{align-items:center;border-left:6px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:1.2rem;transition:all .2s ease}.student-row:hover{transform:translateX(4px)}.student-row.present{border-left-color:#10b981}.student-row.absent{background:#ef444408;border-left-color:#ef4444}.student-info{align-items:center;display:flex;gap:1.2rem}.avatar{background:#e0e7ff;border-radius:12px;color:#4f46e5;font-weight:700;height:48px;width:48px}.details h4{color:#1e293b;font-size:1.1rem;margin:0 0 .25rem}.details p{color:#64748b;font-size:.9rem;margin:0}.status-badge,.status-toggle{align-items:center;display:flex}.status-badge{border-radius:99px;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.status-badge.present{background:#10b981;color:#fff}.status-badge.absent{background:#ef4444;color:#fff}.submit-bar{background:#ffffffe6;border-radius:99px;bottom:2rem;box-shadow:0 10px 30px #0000001a;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:100}.submit-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:99px;box-shadow:0 4px 15px #4f46e54d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:.75rem;padding:1rem 3rem;transition:all .2s}.submit-btn:hover{box-shadow:0 6px 20px #4f46e566;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.roster-title{align-items:flex-start;flex-direction:column}.attendance-stats{justify-content:center}.bulk-actions{margin-top:1rem;width:100%}.bulk-btn{flex:1 1}.submit-bar{bottom:1rem;padding:.75rem;width:90%}.submit-btn{justify-content:center;width:100%}}.activity-feed-container{background:#0000;display:flex;flex-direction:column;height:100%}.feed-header{align-items:center;display:flex;margin-bottom:2rem}.feed-list{flex:1 1;overflow-y:auto;padding-right:.5rem}.feed-list::-webkit-scrollbar{width:4px}.feed-list::-webkit-scrollbar-track{background:#0000}.feed-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.feed-item{border-bottom:1px solid #f1f5f9;display:flex;gap:1.25rem;padding:1.25rem 0;transition:all .2s ease}.feed-item:last-child{border-bottom:none}.feed-item-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:1.2rem;height:42px;justify-content:center;width:42px}.feed-item-content{flex:1 1;min-width:0}.feed-item-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.35rem}.feed-action{color:#0f172a;font-size:.9rem;font-weight:800;letter-spacing:-.01em}.feed-time{align-items:center;color:#94a3b8;display:flex;font-size:.7rem;font-weight:700;gap:.35rem;text-transform:uppercase}.feed-details{color:#64748b;font-size:.825rem;font-weight:500;line-height:1.4;margin:.25rem 0 .75rem}.feed-id-tag{background:#f1f5f9;border-radius:4px;color:#475569;font-size:.75rem;font-weight:800;padding:.1rem .5rem}.feed-footer{align-items:center;display:flex;justify-content:space-between;margin-top:.5rem}.feed-user-tag{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.7rem;font-weight:600;padding:.25rem .6rem}.feed-user-tag strong{color:#6366f1;font-weight:800}.cute-admission-container{background:#f0f2f5;display:flex;font-family:Quicksand,sans-serif;justify-content:center;min-height:100vh;padding:20px}.admission-page-a4{background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-sizing:border-box;min-height:297mm;overflow:visible;padding:10mm 15mm;width:210mm}.a4-content-wrapper,.admission-page-a4{display:flex;flex-direction:column;position:relative}.a4-content-wrapper{height:100%}.photo-capture-zone{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;box-shadow:inset 0 2px 6px #0000000f;height:45mm;overflow:hidden;position:absolute;right:0;top:0;width:35mm;z-index:100}.photo-capture-zone,.photo-placeholder{align-items:center;display:flex;flex-direction:column;justify-content:center}.photo-placeholder{cursor:pointer;height:100%;transition:background .2s;width:100%}.photo-placeholder:hover{background:#f1f5f9}.live-video{height:100%;object-fit:cover;width:100%}.captured-photo-wrap{height:100%;position:relative;width:100%}.captured-photo{height:100%;object-fit:cover;width:100%}.retake-btn{align-items:center;background:#0009;border:none;border-radius:50%;bottom:5px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:5px;transition:background .2s,transform .2s;width:28px}.retake-btn:hover{background:#000c;transform:scale(1.1)}.capture-action-btn{background:#1e3a8a;border:none;bottom:0;color:#fff;cursor:pointer;font-size:10px;font-weight:800;padding:6px;position:absolute;text-transform:uppercase;transition:background .2s;width:100%}.capture-action-btn:hover{background:#1e40af}.photo-prompt{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:5px}.photo-prompt span{font-size:10px;font-weight:700}.print-photo-box{color:#94a3b8;font-size:8px;font-weight:800;padding:10px;text-align:center}.admission-header-premium{border-bottom:2px solid #1e3a8a;margin-bottom:15px;padding-bottom:10px;padding-right:40mm}.header-school-logo{float:left;height:50px;margin-right:15px;width:50px}.school-title{color:#1e3a8a;font-family:Montserrat,sans-serif;font-size:22px;font-weight:800;margin:0}.school-location{color:#475569;font-size:11px;margin:2px 0 5px}.admission-badge{background:#1e3a8a;border-radius:2px;color:#fff;display:inline-block;font-size:11px;font-weight:800;padding:2px 12px}.admission-form-grid{display:flex;flex-direction:column;gap:10px}.form-card{border:1px solid #e2e8f0;border-radius:6px;padding:10px 14px;transition:border-color .3s ease}.form-card:hover{border-color:#cbd5e1}.highlight-card{background:#f8faff;border-left:4px solid #1e3a8a}.section-divider{align-items:center;display:flex;margin:6px 0}.section-divider span{align-items:center;background:#e0e7ff;border-radius:20px;color:#1e3a8a;display:flex;font-size:10px;font-weight:800;gap:6px;padding:4px 10px 4px 4px;text-transform:uppercase}.section-divider span svg{background:#1e3a8a;border-radius:50%;color:#fff;font-size:14px;height:14px;padding:3px;width:14px}.section-divider:after{background:#e2e8f0;content:"";flex-grow:1;height:1px;margin-left:10px}.grid-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.input-box{display:flex;flex-direction:column}.input-box label{align-items:center;color:#64748b;display:flex;font-size:11px;font-weight:700;gap:4px;margin-bottom:4px;transition:color .3s ease}.input-box:focus-within label{color:#3b82f6}.input-box input,.input-box select{background:#0000;border:none;border-bottom:1px solid #cbd5e1;color:#1e293b;font-size:12px;font-weight:600;outline:none;padding:4px 0;transition:border-color .3s ease,box-shadow .3s ease}.input-box input:focus,.input-box select:focus{border-bottom:2px solid #3b82f6}.name-input{color:#1e3a8a!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase}.highlight-input input{border-bottom:2px solid #1e3a8a}.highlight-input input:focus{border-bottom:2px solid #3b82f6}.action-buttons-flex{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.btn-primary,.btn-print-blank,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:Quicksand,sans-serif;font-weight:700;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-primary{background:#1e3a8a;color:#fff}.btn-primary:hover{background:#1e40af;box-shadow:0 6px 15px #1e3a8a4d;transform:translateY(-2px)}.btn-primary:active{box-shadow:0 2px 8px #1e3a8a4d;transform:translateY(0)}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0;box-shadow:0 6px 15px #47556926;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-print-blank{background:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5}.btn-print-blank:hover{background:#e0e7ff;box-shadow:0 6px 15px #4f46e533;transform:translateY(-2px)}.btn-print-blank:active{transform:translateY(0)}.toast-error{background:#fee2e2;border-radius:6px;color:#b91c1c;font-size:13px;font-weight:600;margin-bottom:10px;padding:10px}.signature-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(3,1fr);margin-top:auto;padding-bottom:20px}.sig-column{text-align:center}.sig-line{border-bottom:1px solid #1e293b;height:30px;margin-bottom:5px}.sig-column p{font-size:10px;font-weight:700;margin:0}.watermark-bg{align-items:center;display:flex;justify-content:center;left:50%;opacity:.4;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:400px;z-index:0}.watermark-bg img{height:auto;width:100%}.no-print{display:block}.only-print{display:none}@media print{@page{size:A4;margin:5mm}.cute-admission-container,body{background:#fff!important;margin:0;padding:0}.admission-page-a4{border:none!important;box-shadow:none!important;height:297mm;margin:0 auto;padding:10mm 15mm;position:relative!important;width:210mm}.admission-form-grid{gap:10px!important}.form-card{border-color:#e2e8f0!important;padding:8px 12px!important}.grid-row{gap:10px!important;margin-bottom:5px!important}.no-print{display:none!important}.only-print{display:block!important}.input-box input,.input-box select{-webkit-appearance:none;appearance:none;background:#0000!important;border-bottom:1px solid #000!important;padding:2px 0!important}.input-box label{font-size:9px!important;margin-bottom:2px!important}.section-divider span{background:#0000!important;gap:4px!important;padding:0!important}.section-divider span svg{background:#0000!important;color:#1e3a8a!important;height:auto;padding:0!important;width:auto}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.1"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.aitutor-container{background:linear-gradient(135deg,#e0e7ff,#dbeafe);display:flex;flex-direction:column;font-family:Comic Sans MS,Quicksand,sans-serif;height:100%;overflow:hidden;position:relative;width:100%}.aitutor-demo-banner{background:linear-gradient(90deg,#f59e0b,#ef4444);box-shadow:0 4px 6px -1px #0000001a;color:#fff;font-size:1.1rem;font-weight:700;padding:10px;text-align:center;z-index:10}.aitutor-chat-area{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.aitutor-message-wrapper{animation:slideIn .3s ease-out forwards;display:flex;width:100%}.aitutor-message-wrapper.user{justify-content:flex-end}.aitutor-message-wrapper.ai{justify-content:flex-start}.aitutor-avatar{align-self:flex-end;font-size:2rem;margin-right:10px}.aitutor-bubble{word-wrap:break-word;border-radius:25px;box-shadow:0 4px 6px #0000000d;font-size:1.1rem;line-height:1.4;max-width:80%;padding:15px 20px}.aitutor-bubble.user{background-color:#10b981;border-bottom-right-radius:5px;color:#fff}.aitutor-bubble.ai{background-color:#fff;border:2px solid #6366f1;border-bottom-left-radius:5px;color:#333}.aitutor-image-preview{border-radius:10px;margin-top:10px;max-width:100%}.aitutor-input-area{align-items:center;background-color:#fff;border-top:2px solid #e5e7eb;display:flex;gap:10px;padding:15px;z-index:10}.aitutor-input-wrapper{align-items:center;background-color:#f3f4f6;border:2px solid #0000;border-radius:30px;display:flex;flex:1 1;padding:5px 15px;transition:border-color .3s}.aitutor-input-wrapper:focus-within{border-color:#6366f1}.aitutor-input{background:#0000;border:none;flex:1 1;font-size:1.1rem;outline:none;padding:10px}.aitutor-icon-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6366f1;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:5px;transition:transform .2s,background-color .2s}.aitutor-icon-btn:hover{background-color:#e0e7ff;transform:scale(1.1)}.aitutor-send-btn{align-items:center;background-color:#6366f1;border:none;border-radius:50%;box-shadow:0 4px 6px #6366f166;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;transition:transform .2s,background-color .2s;width:50px}.aitutor-send-btn:hover{background-color:#4f46e5;transform:scale(1.05)}.aitutor-send-btn:disabled{background-color:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.aitutor-typing{align-items:center;background-color:#fff;border:2px solid #6366f1;border-radius:25px;border-bottom-left-radius:5px;display:flex;gap:5px;padding:15px 20px;width:-webkit-fit-content;width:fit-content}.aitutor-dot{animation:bounce 1.4s ease-in-out infinite both;background-color:#6366f1;border-radius:50%;height:8px;width:8px}.aitutor-dot:first-child{animation-delay:-.32s}.aitutor-dot:nth-child(2){animation-delay:-.16s}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.aitutor-overlay{align-items:center;background-color:#ffffffe6;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:20px;position:absolute;right:0;text-align:center;top:0;z-index:50}.aitutor-demo-form{background:#fff;border-radius:20px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:30px;width:100%}.image-preview-thumbnail{background:#fff;border:2px solid #6366f1;border-radius:10px;bottom:80px;box-shadow:0 4px 6px #0000001a;height:60px;left:20px;object-fit:cover;position:absolute;width:60px}.remove-image-btn{align-items:center;background:red;border:none;border-radius:50%;bottom:125px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;left:65px;position:absolute;width:24px}@media (max-width:768px){.aitutor-chat-area{gap:10px;padding:10px}.aitutor-bubble{font-size:1rem;max-width:90%;padding:10px 14px}.aitutor-avatar{font-size:1.5rem;margin-right:5px}.aitutor-input-area{gap:8px;padding:10px}.aitutor-input-wrapper{padding:5px 10px}.aitutor-input{font-size:1rem;padding:8px}.aitutor-icon-btn{font-size:1.3rem}.aitutor-send-btn{font-size:1.1rem;height:40px;width:40px}.image-preview-thumbnail{bottom:70px;height:50px;width:50px}.remove-image-btn{bottom:110px;height:20px;left:55px;width:20px}}.mascot.speaking{animation:bounce .5s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.markdown-body{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;overflow-x:hidden}.markdown-body pre{background-color:#f3f4f6;border-radius:8px;max-width:100%;overflow-x:auto;padding:10px}.markdown-body code,.markdown-body pre{white-space:pre-wrap;word-break:break-word}.markdown-body ol,.markdown-body p,.markdown-body ul{max-width:100%}.markdown-body img{height:auto;max-width:100%}:root{--brand-primary:#4f46e5;--brand-primary-hover:#4338ca;--brand-success:#10b981;--brand-warning:#f59e0b;--brand-danger:#f43f5e;--text-dark:#0f172a;--text-muted:#475569;--bg-light:#f8fafc;--bg-white:#fff;--border-light:#e2e8f0cc;--glass-bg:#ffffffb3;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--shadow-sm:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;--shadow-md:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;--shadow-brand:0 10px 20px -3px #4f46e540}.app-landing{-webkit-font-smoothing:antialiased;background-color:#f8fafc;background-color:var(--bg-light);color:#0f172a;color:var(--text-dark);font-family:Plus Jakarta Sans,Inter,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.app-bar{background:#0000;left:0;padding:20px 0;position:fixed;top:0;transition:all .4s cubic-bezier(.16,1,.3,1);width:100%;z-index:1000}.app-bar.scrolled{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffb3;background:var(--glass-bg);border-bottom:1px solid #e2e8f080;box-shadow:0 10px 30px -10px #0000000a;padding:14px 0}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.brand-lockup,.nav-container{align-items:center;display:flex}.brand-lockup{gap:12px}.app-logo{height:42px;width:auto}.brand-text{display:flex;flex-direction:column}.brand-text .main{color:#4f46e5;color:var(--brand-primary);font-size:1.25rem;font-weight:900;letter-spacing:-.04em;line-height:1}.brand-text .tagline{color:#475569;color:var(--text-muted);font-size:.65rem;font-weight:800;letter-spacing:.15em;margin-top:4px;text-transform:uppercase}.nav-links{align-items:center;display:flex;gap:32px}.nav-link-item{color:#475569;color:var(--text-muted);font-size:.95rem;font-weight:700;position:relative;text-decoration:none;transition:color .2s ease}.nav-link-item:hover{color:#4f46e5;color:var(--brand-primary)}.btn-staff-login{background-color:#0f172a;background-color:var(--text-dark);border:none;border-radius:30px;color:#fff;color:var(--bg-white);cursor:pointer;font-size:.9rem;font-weight:800;padding:10px 20px;transition:all .25s ease}.btn-staff-login:hover{background-color:#4f46e5;background-color:var(--brand-primary);box-shadow:0 8px 20px -6px #0f172a66;transform:translateY(-2px)}.mobile-menu-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:none;gap:8px;padding:6px;z-index:1002}.mobile-menu-btn .btn-label{color:#4f46e5;color:var(--brand-primary);font-size:.75rem;font-weight:800;letter-spacing:.05em}.burger-bars{position:relative;transition:background-color .3s ease}.burger-bars,.burger-bars:after,.burger-bars:before{background-color:#4f46e5;background-color:var(--brand-primary);height:2px;width:20px}.burger-bars:after,.burger-bars:before{content:"";position:absolute;transition:transform .3s ease,top .3s ease}.burger-bars:before{top:-6px}.burger-bars:after{top:6px}.burger-bars.open{background-color:initial}.burger-bars.open:before{top:0;transform:rotate(45deg)}.burger-bars.open:after{top:0;transform:rotate(-45deg)}.notice-ticker{background-color:#4f46e5;background-color:var(--brand-primary);border-bottom:1px solid #ffffff1a;box-shadow:inset 0 -2px 10px #0000000d;color:#fff;color:var(--bg-white);margin-top:86px;overflow:hidden;padding:8px 0;position:relative}.ticker-wrapper{align-items:center;display:flex;gap:24px}.ticker-badge{background-color:#fff;background-color:var(--bg-white);border-radius:4px;box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);color:#4f46e5;color:var(--brand-primary);flex-shrink:0;font-size:.7rem;font-weight:900;letter-spacing:.05em;margin-left:24px;padding:3px 10px}.ticker-text{animation:ticker-slide 35s linear infinite;font-size:.85rem;font-weight:600;margin:0;padding-left:10px;white-space:nowrap}@keyframes ticker-slide{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0)}}.hero-section{margin:0 auto;max-width:1200px;padding:80px 24px}.hero-grid{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1.15fr 1fr}.hero-left{align-items:flex-start;display:flex;flex-direction:column}.hero-pill{align-items:center;background-color:#4f46e514;border:1px solid #4f46e526;border-radius:50px;color:#4f46e5;color:var(--brand-primary);display:inline-flex;font-size:.75rem;font-weight:800;gap:8px;letter-spacing:.08em;margin-bottom:24px;padding:6px 14px}.pulse-dot{animation:dot-pulse 1.6s infinite;background-color:#4f46e5;background-color:var(--brand-primary);border-radius:50%;box-shadow:0 0 0 0 #4f46e580;height:6px;width:6px}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 #4f46e5b3;transform:scale(.95)}70%{box-shadow:0 0 0 6px #4f46e500;transform:scale(1)}to{box-shadow:0 0 0 0 #4f46e500;transform:scale(.95)}}.hero-heading{color:#0f172a;color:var(--text-dark);font-size:clamp(2.25rem,4.5vw,3.75rem);font-weight:900;letter-spacing:-.04em;line-height:1.1;margin:0 0 20px}.gradient-brand-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#818cf8 50%,#ec4899);background:linear-gradient(135deg,var(--brand-primary) 0,#818cf8 50%,#ec4899 100%);-webkit-background-clip:text}.hero-body{color:#475569;color:var(--text-muted);font-size:1.1rem;line-height:1.6;margin:0 0 36px;max-width:520px}.hero-btn-group{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}.btn-cta-primary{align-items:center;background-color:#4f46e5;background-color:var(--brand-primary);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 10px 20px -3px #4f46e540;box-shadow:var(--shadow-brand);color:#fff;color:var(--bg-white);display:inline-flex;font-size:.95rem;font-weight:800;gap:10px;padding:16px 28px;text-decoration:none;transition:all .25s ease}.btn-cta-primary:hover{background-color:#4338ca;background-color:var(--brand-primary-hover);box-shadow:0 12px 24px -3px #4f46e566;transform:translateY(-2px)}.btn-cta-secondary{align-items:center;background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);color:#0f172a;color:var(--text-dark);display:inline-flex;font-size:.95rem;font-weight:800;gap:10px;padding:16px 28px;text-decoration:none;transition:all .25s ease}.btn-cta-secondary:hover{background-color:#f8fafc;background-color:var(--bg-light);border-color:#cbd5e1;transform:translateY(-2px)}.btn-icon{font-size:1.1rem}.btn-icon.whatsapp{color:#25d366;font-size:1.2rem}.hero-trust{align-items:center;border-top:1px dashed #e2e8f0;display:flex;gap:16px;padding-top:24px}.trust-avatar-group{display:flex;margin-right:-4px}.trust-avatar{align-items:center;background-color:#fff;background-color:var(--bg-white);border:2px solid #f8fafc;border:2px solid var(--bg-light);border-radius:50%;box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);display:flex;font-size:.9rem;height:32px;justify-content:center;margin-left:-8px;width:32px}.trust-avatar:first-child{margin-left:0}.trust-text{color:#475569;color:var(--text-muted);font-size:.85rem;line-height:1.4}.trust-text strong{color:#0f172a;color:var(--text-dark)}.hero-right{position:relative}.glowing-backdrop{background:radial-gradient(circle,#4f46e526 0,#ec48990d 50%,#0000 100%);filter:blur(40px);height:80%;left:10%;position:absolute;top:10%;width:80%;z-index:1}.app-mockup-device{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;box-shadow:var(--shadow-lg);overflow:hidden;position:relative;transition:transform .3s ease;z-index:2}.app-mockup-device:hover{transform:translateY(-4px)}.mockup-header{align-items:center;background-color:#f8fafc;border-bottom:1px solid #e2e8f0cc;border-bottom:1px solid var(--border-light);display:flex;gap:16px;padding:12px 20px}.window-controls{display:flex;gap:6px}.control-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.control-dot.red{background-color:#ef4444}.control-dot.yellow{background-color:#f59e0b}.control-dot.green{background-color:#10b981}.address-field{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:6px;color:#475569;color:var(--text-muted);flex:1 1;font-size:.75rem;padding:4px 16px;text-align:center}.mockup-body{padding:24px}.mock-student-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.student-profile-info{align-items:center;display:flex;gap:12px}.student-mock-avatar{align-items:center;background-color:#4f46e5;background-color:var(--brand-primary);border-radius:50%;color:#fff;color:var(--bg-white);display:flex;font-size:1.1rem;font-weight:800;height:40px;justify-content:center;width:40px}.student-mock-name{color:#0f172a;color:var(--text-dark);font-size:.95rem;font-weight:800}.student-mock-meta{color:#475569;color:var(--text-muted);font-size:.75rem;font-weight:600}.mock-status-pill{background-color:#10b9811a;border-radius:50px;color:#10b981;color:var(--brand-success);font-size:.7rem;font-weight:800;padding:4px 10px}.mock-app-tabs{background-color:#f1f5f9;border-radius:12px;border-radius:var(--radius-md);display:flex;gap:2px;margin-bottom:20px;padding:4px}.mock-tab-item{background:#0000;border:none;border-radius:8px;color:#475569;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.8rem;font-weight:800;padding:8px 12px;transition:all .2s ease}.mock-tab-item.active{background-color:#fff;background-color:var(--bg-white);box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);color:#4f46e5;color:var(--brand-primary)}.mock-viewport{background-color:#faf8f6;border:1px solid #e2e8f080;border-radius:12px;border-radius:var(--radius-md);min-height:180px;padding:16px}.mock-panel{display:flex;flex-direction:column}.panel-title{color:#475569;color:var(--text-muted);font-size:.8rem;font-weight:800;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.mock-data-card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:10px;padding:14px}.mock-data-row{display:flex;font-size:.85rem;font-weight:700;justify-content:space-between;margin-bottom:8px}.mock-progress-track{background-color:#e2e8f0;border-radius:50px;height:6px;overflow:hidden;width:100%}.mock-progress-bar{background-color:#4f46e5;background-color:var(--brand-primary);border-radius:50px;height:100%}.mock-progress-bar.bg-success{background-color:#10b981;background-color:var(--brand-success)}.text-success{color:#10b981;color:var(--brand-success)}.mock-diary-entry{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:10px;margin-bottom:10px;padding:12px}.mock-diary-entry:last-child{margin-bottom:0}.entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.subj-tag{border-radius:4px;font-size:.65rem;font-weight:900;padding:2px 8px;text-transform:uppercase}.subj-tag.math{background-color:#eef2ff;color:#4f46e5;color:var(--brand-primary)}.subj-tag.science{background-color:#ecfdf5;color:#10b981;color:var(--brand-success)}.entry-author{color:#475569;color:var(--text-muted);font-size:.7rem;font-weight:600}.entry-content{color:#0f172a;color:var(--text-dark);font-size:.8rem;line-height:1.4;margin:0}.mock-notice-item{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:10px;padding:14px}.notice-meta{align-items:center;color:#475569;color:var(--text-muted);display:flex;font-size:.7rem;font-weight:700;gap:8px;margin-bottom:6px}.notice-badge-new{background-color:#f43f5e;background-color:var(--brand-danger);border-radius:4px;color:#fff;color:var(--bg-white);font-size:.6rem;font-weight:900;padding:2px 6px}.mock-notice-item h5{font-size:.9rem;font-weight:800;margin:0 0 6px}.mock-notice-item p{color:#475569;color:var(--text-muted);font-size:.78rem;line-height:1.4;margin:0}.animation-fade{animation:fade-effect .3s ease-in-out}@keyframes fade-effect{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stats-bento-section{margin:0 auto;max-width:1200px;padding:0 24px 80px}.bento-layout-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}.stats-bento-card{align-items:center;background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:20px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.stats-bento-card:hover{border-color:var(--stat-color);box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-4px)}.stats-bento-card:before{background-color:var(--stat-color);content:"";height:4px;left:0;position:absolute;top:0;width:100%}.bento-card-icon{align-items:center;background-color:var(--stat-glow);border-radius:14px;color:var(--stat-color);display:flex;flex-shrink:0;font-size:1.8rem;height:54px;justify-content:center;width:54px}.bento-card-number{color:#0f172a;color:var(--text-dark);font-size:1.85rem;font-weight:900;letter-spacing:-.03em;line-height:1.1}.bento-card-tag{color:#475569;color:var(--text-muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.features-container{margin:0 auto;max-width:1200px;padding:80px 24px}.features-header-block{margin-bottom:60px;text-align:center}.section-title-large{color:#0f172a;color:var(--text-dark);font-size:2.25rem;font-weight:900;letter-spacing:-.04em;margin-bottom:16px}.section-subtitle-text{color:#475569;color:var(--text-muted);font-size:1.1rem;margin:0 auto;max-width:600px}.features-layout-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.feature-block-card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);padding:40px;transition:all .3s ease}.feature-block-card:hover{border-color:#4f46e5;border-color:var(--brand-primary);box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-block-icon{align-items:center;border-radius:16px;display:flex;font-size:1.8rem;height:60px;justify-content:center;margin-bottom:28px;width:60px}.feature-block-heading{color:#0f172a;color:var(--text-dark);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin-bottom:14px}.feature-block-description{color:#475569;color:var(--text-muted);font-size:.95rem;line-height:1.6;margin:0}.gallery-teaser-section{margin:0 auto;max-width:1200px;padding:80px 24px}.teaser-header-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px}.btn-gallery-link{align-items:center;color:#4f46e5;color:var(--brand-primary);display:inline-flex;font-size:.95rem;font-weight:800;gap:8px;text-decoration:none;transition:transform .2s ease}.btn-gallery-link:hover{transform:translateX(4px)}.gallery-empty-teaser{background-color:#fff;background-color:var(--bg-white);border:2px dashed #e2e8f0;border-radius:24px;border-radius:var(--radius-xl);color:#475569;color:var(--text-muted);padding:60px;text-align:center}.gallery-empty-teaser .empty-ico{color:#cbd5e1;font-size:3rem;margin-bottom:16px}.gallery-teaser-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.teaser-image-card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0cc;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s ease}.teaser-image-card:hover{box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -4px #0000000d;box-shadow:var(--shadow-md);transform:translateY(-4px)}.teaser-img-wrapper{overflow:hidden;padding-top:66%;position:relative}.teaser-img-wrapper img{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .5s ease;width:100%}.teaser-image-card:hover .teaser-img-wrapper img{transform:scale(1.05)}.teaser-img-overlay{background:linear-gradient(0deg,#0000004d 0,#0000);inset:0;position:absolute}.teaser-card-details{padding:20px}.teaser-card-title{color:#0f172a;color:var(--text-dark);font-size:1.05rem;font-weight:800;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teaser-card-event{color:#4f46e5;color:var(--brand-primary);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.portal-cta-section{margin:0 auto;max-width:1200px;padding:80px 24px}.cta-banner-card{background:linear-gradient(135deg,#4f46e5,#312e81);background:linear-gradient(135deg,var(--brand-primary) 0,#312e81 100%);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d;box-shadow:var(--shadow-lg);color:#fff;color:var(--bg-white);overflow:hidden;padding:64px;position:relative;text-align:center}.cta-banner-card:before{background:radial-gradient(circle,#ffffff14 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-20%;top:-50%;transform:rotate(-15deg);width:60%}.cta-banner-content{margin:0 auto;max-width:600px;position:relative;z-index:2}.cta-banner-heading{font-size:2.25rem;font-weight:900;letter-spacing:-.03em;margin-bottom:16px}.cta-banner-sub{color:#c7d2fe;font-size:1.1rem;line-height:1.5;margin-bottom:32px}.btn-cta-white{align-items:center;background-color:#fff;background-color:var(--bg-white);border-radius:50px;box-shadow:0 10px 25px -5px #00000026;color:#4f46e5;color:var(--brand-primary);display:inline-flex;font-size:.95rem;font-weight:800;gap:10px;padding:16px 36px;text-decoration:none;transition:all .25s ease}.btn-cta-white:hover{background-color:#f8fafc;box-shadow:0 12px 30px -5px #00000040;transform:translateY(-2px)}.btn-icon-dark{font-size:1.1rem}.footer-layout{background-color:#0f172a;border-top:1px solid #1e293b;color:#94a3b8;padding:80px 24px 40px}.footer-columns{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1.2fr 1fr;margin:0 auto;max-width:1200px;padding-bottom:60px}.footer-logo-lockup{align-items:center;display:flex;gap:12px;margin-bottom:24px}.footer-logo-lockup img{height:48px}.footer-logo-lockup h3{color:#fff;color:var(--bg-white);font-size:1.35rem;font-weight:900;letter-spacing:-.03em}.footer-brand-bio{font-size:.95rem;line-height:1.6;max-width:440px}.footer-links-column h4{color:#fff;color:var(--bg-white);font-size:.95rem;font-weight:800;letter-spacing:.05em;margin:0 0 20px;text-transform:uppercase}.footer-info-text{font-size:.95rem;line-height:1.6;margin-bottom:12px}.footer-copyright-bar{border-top:1px solid #1e293b;color:#475569;font-size:.8rem;margin:0 auto;max-width:1200px;padding-top:30px;text-align:center}.menu-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0f172a4d;inset:0;position:fixed;z-index:999}@media (max-width:992px){.mobile-menu-btn{display:flex}.nav-links{align-items:flex-start;background-color:#fff;background-color:var(--bg-white);box-shadow:-10px 0 30px #0000000d;flex-direction:column;gap:32px;height:100vh;justify-content:flex-start;padding:100px 32px;position:fixed;right:-100%;top:0;transition:right .4s cubic-bezier(.16,1,.3,1);width:280px;z-index:1001}.nav-links.active{right:0}.nav-link-item{font-size:1.2rem;font-weight:800}.btn-staff-login{font-size:1rem;padding:14px;text-align:center;width:100%}.hero-grid{gap:60px;grid-template-columns:1fr;padding-top:40px;text-align:center}.hero-left{align-items:center}.hero-body{margin:0 auto 36px}.hero-btn-group,.hero-trust{justify-content:center}.hero-trust{width:100%}.hero-right{margin:0 auto;max-width:540px;width:100%}.bento-layout-grid,.features-layout-grid,.gallery-teaser-grid{grid-template-columns:repeat(2,1fr)}.footer-columns{gap:48px;grid-template-columns:1fr}}@media (max-width:600px){.hero-section{padding:40px 16px}.hero-heading{font-size:2.2rem}.hero-body{font-size:1rem}.hero-btn-group{align-items:stretch;flex-direction:column;width:100%}.btn-cta-primary,.btn-cta-secondary{justify-content:center}.bento-layout-grid,.features-layout-grid,.gallery-teaser-grid{grid-template-columns:1fr}.cta-banner-card{padding:40px 20px}.cta-banner-heading{font-size:1.75rem}.cta-banner-sub{font-size:1rem}}:root{--erp-yellow:#ffd93d;--erp-blue:#6eb5ff;--erp-green:#9ade7b;--erp-cream:#fffdf0;--erp-white:#fff;--erp-navy:#2d3e50;--erp-shadow:0 15px 35px #6eb5ff26;--bubble-radius:32px}body{background-color:#fffdf0;background-color:var(--erp-cream);background-image:radial-gradient(circle at 10% 20%,#ffd93d0d 0,#0000 20%),radial-gradient(circle at 90% 80%,#6eb5ff0d 0,#0000 20%),radial-gradient(circle at 50% 50%,#9ade7b0d 0,#0000 30%);min-height:100vh;overflow-x:hidden;position:relative}body:after,body:before{animation:float 10s ease-in-out infinite;content:"✨";font-size:2rem;opacity:.1;position:fixed;z-index:-1}body:before{animation-delay:0s;left:5%;top:10%}body:after{animation-delay:2s;bottom:15%;content:"✏️";right:8%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}.MuiPaper-root,.promo-card-premium,.teacher-card{background:#fff!important;background:var(--erp-white)!important;border:4px solid #6eb5ff1a!important;border-radius:32px!important;border-radius:var(--bubble-radius)!important;box-shadow:0 15px 35px #6eb5ff26!important;box-shadow:var(--erp-shadow)!important;padding:30px!important;transition:transform .3s cubic-bezier(.34,1.56,.64,1)!important}.promo-card-premium:hover,.teacher-card:hover{transform:translateY(-10px) scale(1.02)!important}.promo-card-premium:before{background:linear-gradient(90deg,#ffd93d,#6eb5ff,#9ade7b);background:linear-gradient(to right,var(--erp-yellow),var(--erp-blue),var(--erp-green));content:"";height:10px;left:0;position:absolute;top:0;width:100%}.btn-brand-cta,.btn-promo-execute{background:#6eb5ff!important;background:var(--erp-blue)!important;border:none!important;border-radius:50px!important;box-shadow:0 8px 0 #4a90e2!important;color:#fff!important;font-weight:800!important;letter-spacing:1px;padding:15px 30px!important;text-transform:uppercase;transition:.2s!important}.btn-brand-cta:active,.btn-promo-execute:active{box-shadow:0 4px 0 #4a90e2!important;transform:translateY(4px)!important}.btn-brand-cta:hover,.btn-promo-execute:hover{background:#ffd93d!important;background:var(--erp-yellow)!important;box-shadow:0 8px 0 #e5c12d!important;color:#2d3e50!important}.teacher-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:30px}.teacher-card{padding:25px;transition:.3s}.teacher-card:hover{transform:translateY(-5px)}.teacher-card.inactive{filter:grayscale(1);opacity:.6}.card-header{gap:15px;margin-bottom:20px}.avatar,.card-header{align-items:center;display:flex}.avatar{background:#2d3e50;background:var(--erp-navy);border-radius:50%;color:var(--erp-gold);font-size:1.2rem;font-weight:800;height:50px;justify-content:center;width:50px}.class-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pill{background:#f1f5f9;border-radius:50px;color:#2d3e50;color:var(--erp-navy);font-size:.75rem;font-weight:700;padding:4px 12px}.btn-toggle{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:8px 15px}.btn-toggle.stop{background:#fee2e2;color:#dc2626}.btn-toggle.grant{background:#dcfce7;color:#16a34a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.dashboard-main-content{-webkit-overflow-scrolling:touch!important;height:auto!important;max-height:100vh!important;overflow-y:auto!important}}.login-wrapper{align-items:center;background:radial-gradient(circle at top right,#f2f7ff 0,#dbeafe 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative;width:100%}.login-wrapper:before{background:linear-gradient(135deg,#2356c60d,#2356c600);height:500px;right:-100px;top:-100px;width:500px}.login-wrapper:after,.login-wrapper:before{border-radius:50%;content:"";position:absolute;z-index:0}.login-wrapper:after{background:linear-gradient(135deg,#2356c608,#2356c600);bottom:-50px;height:300px;left:-50px;width:300px}.login-wrapper>.MuiContainer-root{position:relative;z-index:1}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.pp-root{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.pp-login-bg{align-items:center;background:linear-gradient(160deg,#4338ca,#3730a3 50%,#1e1b4b);display:flex;justify-content:center;min-height:100vh;padding:20px}.pp-login-card{background:#fff;border-radius:28px;box-shadow:0 32px 64px #00000059;max-width:420px;padding:36px 28px 28px;width:100%}.pp-branding{margin-bottom:36px;text-align:center}.pp-school-emoji{display:block;font-size:64px;line-height:1;margin-bottom:12px}.pp-school-title{color:#1e293b;font-size:22px;font-weight:900;letter-spacing:-.3px}.pp-school-sub{color:#64748b;font-size:13px;line-height:1.5;margin-top:4px}.pp-form{gap:20px}.pp-field,.pp-form{display:flex;flex-direction:column}.pp-field{gap:8px}.pp-label{color:#374151;font-size:15px;font-weight:800}.pp-label-sub{color:#9ca3af;display:block;font-size:12px;font-weight:600;margin-top:2px}.pp-input{background:#f8fafc;border:2.5px solid #e2e8f0;border-radius:16px;color:#1e293b;font-size:22px;font-weight:700;height:62px;letter-spacing:1px;outline:none;padding:0 20px;transition:all .2s;width:100%}.pp-input::placeholder{color:#cbd5e1;font-size:16px;font-weight:400;letter-spacing:0}.pp-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 5px #4f46e51f}.pp-error{align-items:flex-start;background:#fef2f2;border:1.5px solid #fca5a5;border-radius:14px;color:#b91c1c;display:flex;font-size:15px;font-weight:700;gap:10px;padding:14px 18px}.pp-login-btn{background:linear-gradient(135deg,#4f46e5,#6d28d9);border:none;border-radius:18px;box-shadow:0 8px 24px #4f46e559;color:#fff;cursor:pointer;font-size:20px;font-weight:900;height:68px;letter-spacing:.3px;transition:all .25s;width:100%}.pp-login-btn:hover:not(:disabled){box-shadow:0 12px 32px #4f46e573;transform:translateY(-2px)}.pp-login-btn:active:not(:disabled){transform:scale(.98)}.pp-login-btn:disabled{cursor:not-allowed;opacity:.65}.pp-help-text{color:#94a3b8;font-size:13px;line-height:1.7;padding:0 8px;text-align:center}.pp-loading{align-items:center;background:#eef2ff;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.pp-spinner{animation:pp-spin .75s linear infinite;border:5px solid #c7d2fe;border-radius:50%;border-top-color:#4f46e5;height:52px;width:52px}@keyframes pp-spin{to{transform:rotate(1turn)}}.pp-loading p{color:#6366f1;font-size:18px;font-weight:700}.pp-app{background:#f1f5f9;display:flex;flex-direction:column;font-family:Inter,-apple-system,sans-serif;margin:0 auto;max-width:480px;min-height:100vh;position:relative}.pp-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 4px 16px #4f46e540;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:18px 20px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.pp-header-name{font-size:20px;font-weight:900;letter-spacing:-.3px}.pp-header-meta{font-size:13px;margin-top:3px;opacity:.8}.pp-logout-btn{background:#ffffff2e;border:1.5px solid #ffffff59;border-radius:20px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:800;padding:8px 18px;transition:background .2s}.pp-logout-btn:hover{background:#ffffff47}.pp-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-bottom:88px}.pp-tab-body{display:flex;flex-direction:column;gap:16px;padding:18px 16px}.pp-section-label{color:#94a3b8;font-size:12px;font-weight:900;letter-spacing:1.2px;padding:0 2px;text-transform:uppercase}.pp-id-card{background:#fff;border-radius:22px;box-shadow:0 2px 10px #0000000f;gap:18px;padding:20px}.pp-avatar,.pp-id-card{align-items:center;display:flex}.pp-avatar{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;color:#fff;flex-shrink:0;font-size:28px;font-weight:900;height:64px;justify-content:center;width:64px}.pp-id-name{color:#1e293b;font-size:19px;font-weight:900}.pp-id-sub{color:#64748b;font-size:13.5px;line-height:1.5;margin-top:4px}.pp-fee-card{background:#fff;border-radius:22px;box-shadow:0 4px 20px #00000014;overflow:hidden}.pp-fee-card-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#6d28d9);color:#fff;display:flex;gap:14px;padding:18px 20px}.pp-fee-card-icon{font-size:32px}.pp-fee-card-title{font-size:17px;font-weight:800}.pp-fee-card-year{font-size:13px;margin-top:2px;opacity:.8}.pp-fee-steps{padding:8px 0}.pp-fee-step{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:14px;padding:14px 20px}.pp-fee-step:last-child{border-bottom:none}.pp-fee-step.total-step{background:#f8fafc;border-bottom:2px solid #e2e8f0}.pp-fee-step-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.pp-fee-step-dot.orange{background:#f59e0b}.pp-fee-step-dot.blue{background:#3b82f6}.pp-fee-step-dot.purple{background:#7c3aed}.pp-fee-step-dot.green{background:#16a34a}.pp-fee-step-info{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:space-between}.pp-fee-step-label{color:#475569;font-size:14px;font-weight:600;line-height:1.3}.pp-fee-step-amount{flex-shrink:0;font-size:18px;font-weight:900}.pp-fee-step-amount.orange{color:#d97706}.pp-fee-step-amount.blue{color:#2563eb}.pp-fee-step-amount.purple{color:#6d28d9}.pp-fee-step-amount.green{color:#16a34a}.total-step .pp-fee-step-label{color:#1e293b;font-weight:800}.total-step .pp-fee-step-amount{font-size:20px}.pp-fee-progress-section{padding:4px 20px 16px}.pp-fee-progress-bar{background:#e2e8f0;border-radius:10px;height:10px;overflow:hidden}.pp-fee-progress-fill{background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:10px;height:100%;transition:width .6s ease}.pp-fee-progress-label{color:#16a34a;font-size:12px;font-weight:800;margin-top:6px;text-align:right}.pp-fee-balance-box{border-radius:16px;margin:0 16px 16px;padding:20px;text-align:center}.pp-fee-balance-box.due{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca}.pp-fee-balance-box.clear{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac}.pp-fee-balance-label{font-size:14px;font-weight:700;line-height:1.4}.due .pp-fee-balance-label{color:#991b1b}.clear .pp-fee-balance-label{color:#166534}.pp-fee-balance-amount{font-size:40px;font-weight:900;margin:6px 0}.due .pp-fee-balance-amount{color:#dc2626}.clear .pp-fee-balance-amount{color:#16a34a}.pp-fee-balance-hint{color:#b91c1c;font-size:13px;font-weight:600;margin-top:4px}.pp-breakdown-row.paid-row{background:#f0fdf4}.pp-breakdown-row.paid-row .pp-breakdown-name{color:#166534;font-weight:800}.pp-breakdown-row.paid-row .pp-breakdown-val{color:#16a34a;font-weight:900}.pp-breakdown-row.balance-row{padding:18px 20px}.pp-breakdown-row.balance-row.due{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.pp-breakdown-row.balance-row.due .pp-breakdown-name{color:#991b1b;font-weight:900}.pp-breakdown-row.balance-row.due .pp-breakdown-val{color:#dc2626;font-size:20px;font-weight:900}.pp-breakdown-row.balance-row.clear{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.pp-breakdown-row.balance-row.clear .pp-breakdown-name{color:#166534;font-weight:900}.pp-breakdown-row.balance-row.clear .pp-breakdown-val{color:#16a34a;font-size:18px;font-weight:900}.pp-fee-visual-progress{background:#fff;border-radius:18px;box-shadow:0 2px 8px #0000000f;padding:18px 20px}.pp-fee-visual-labels{color:#64748b;display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-bottom:10px}.pp-fee-visual-bar{background:#e2e8f0;border-radius:14px;height:14px;overflow:hidden}.pp-fee-visual-fill{background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:14px;height:100%;transition:width .6s ease}.pp-fee-visual-pct{color:#16a34a;font-size:14px;font-weight:800;margin-top:10px;text-align:center}.pp-breakdown-row.old-due-row{background:#fff7ed;border-bottom:2px solid #ffedd5;color:#9a3412}.pp-breakdown-row.old-due-row .pp-breakdown-name{color:#9a3412;font-weight:800}.pp-breakdown-row.old-due-row .pp-breakdown-val{color:#ea580c}.pp-breakdown-row.discount-row{background:#fef2f2;border-bottom:2px solid #fee2e2}.pp-breakdown-row.discount-row .pp-breakdown-name{color:#dc2626;font-style:italic;font-weight:700}.pp-breakdown-row.discount-row .pp-breakdown-val{color:#b91c1c}.pp-last-pay{align-items:center;background:#fff;border-left:5px solid #16a34a;border-radius:18px;box-shadow:0 2px 8px #0000000f;display:flex;gap:14px;padding:18px 20px}.pp-last-pay-ico{font-size:28px}.pp-last-pay-amt{color:#16a34a;font-size:22px;font-weight:900}.pp-last-pay-sub{color:#64748b;font-size:13px;margin-top:2px}.pp-last-pay-date{color:#94a3b8;font-size:13px;font-weight:700;margin-left:auto;text-align:right}.pp-breakdown{background:#fff;border-radius:18px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.pp-breakdown-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:16px;justify-content:space-between;padding:16px 20px}.pp-breakdown-row:last-child{border-bottom:none}.pp-breakdown-name{color:#374151;font-weight:600}.pp-breakdown-val{color:#1e293b;font-weight:800}.pp-breakdown-row.total-row{background:#f8fafc}.pp-breakdown-row.total-row .pp-breakdown-name{font-weight:900}.pp-breakdown-row.total-row .pp-breakdown-val{color:#4f46e5;font-size:18px}.pp-pay-list{display:flex;flex-direction:column;gap:10px}.pp-pay-item{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 6px #0000000d;display:flex;gap:14px;padding:16px 18px}.pp-pay-ico{flex-shrink:0;font-size:26px}.pp-pay-body{flex:1 1}.pp-pay-amt{color:#16a34a;font-size:20px;font-weight:900}.pp-pay-meta{color:#64748b;font-size:13px;margin-top:3px}.pp-pay-date{color:#94a3b8;font-size:13px;font-weight:700;text-align:right}.pp-due-banner{background:#fef2f2;border:2px solid #fecaca;border-radius:16px;color:#b91c1c;font-size:17px;font-weight:700;line-height:1.6;padding:18px 20px;text-align:center}.pp-exam-list{display:flex;flex-direction:column;gap:12px}.pp-exam-card{-webkit-tap-highlight-color:transparent;background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000000f;cursor:pointer;overflow:hidden;transition:transform .15s}.pp-exam-card:active{transform:scale(.98)}.pp-exam-hdr{align-items:center;display:flex;justify-content:space-between;padding:20px}.pp-exam-title{color:#1e293b;font-size:20px;font-weight:900}.pp-exam-sub{color:#94a3b8;font-size:13px;margin-top:4px}.pp-exam-right{flex-shrink:0;text-align:center}.pp-exam-grade{font-size:30px;font-weight:900}.pp-exam-score{color:#64748b;font-size:14px;font-weight:700;margin-top:2px}.pp-exam-pct{font-size:13px;font-weight:700}.pp-exam-subjects{border-top:1px solid #f1f5f9;padding:4px 0 12px}.pp-sub-row{border-bottom:1px solid #f8fafc;display:flex;font-size:15px;justify-content:space-between;padding:12px 20px}.pp-sub-row:last-child{border-bottom:none}.pp-sub-name{color:#374151;font-weight:600}.pp-sub-marks{color:#1e293b;font-weight:800}.pp-empty{align-items:center;display:flex;flex-direction:column;gap:12px;padding:60px 20px;text-align:center}.pp-empty-icon{font-size:56px}.pp-empty-title{color:#94a3b8;font-size:18px;font-weight:800}.pp-empty-sub{color:#cbd5e1;font-size:14px;line-height:1.5}.pp-profile-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:28px;box-shadow:0 4px 15px #0000000d;margin-bottom:20px;padding:24px}.pp-profile-header{align-items:center;display:flex;gap:20px;margin-bottom:24px}.pp-profile-title{flex:1 1}.pp-student-name{color:#1e293b;font-size:22px;font-weight:900;letter-spacing:-.02em}.pp-student-id{color:#64748b;font-size:14px;font-weight:700;margin-top:2px}.pp-profile-details{display:flex;flex-direction:column;gap:16px}.pp-detail-item{background:#fff;border:1px solid #f1f5f9;border-radius:16px;gap:16px;padding:12px 16px}.pp-detail-ico,.pp-detail-item{align-items:center;display:flex}.pp-detail-ico{background:#f1f5f9;border-radius:12px;font-size:20px;height:40px;justify-content:center;width:40px}.pp-detail-label{color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pp-detail-val{color:#334155;font-size:15px;font-weight:700}.pp-bento-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:24px}.pp-bento-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 2px 8px #00000008;display:flex;flex-direction:column;gap:8px;padding:16px}.pp-bento-ico{font-size:24px}.pp-bento-label{color:#64748b;font-size:12px;font-weight:800}.pp-bento-val{color:#1e293b;font-size:14px;font-weight:800}.pp-quick-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.pp-quick-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 8px;transition:all .2s}.pp-quick-btn:active{background:#f8fafc;transform:scale(.95)}.pp-quick-btn span:first-child{font-size:24px}.pp-quick-btn span:last-child{color:#475569;font-size:12px;font-weight:800}.pp-diary-date-picker{align-items:center;background:#fff;border-radius:18px;box-shadow:0 2px 8px #0000000d;display:flex;gap:15px;padding:14px 20px}.pp-date-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#4f46e5;cursor:pointer;font-size:16px;font-weight:700;padding:8px}.pp-date-label{color:#1e293b;flex:1 1;font-size:15px;font-weight:800}.pp-diary-grid{display:flex;flex-direction:column;gap:14px}.pp-diary-card{background:#fff;border-left:6px solid #4f46e5;border-radius:20px;box-shadow:0 2px 8px #0000000d;overflow:hidden;padding:18px;position:relative}.pp-diary-card.urgent{background:#fff7f7;border-left-color:#dc2626}.pp-diary-card-hdr{align-items:center;display:flex;gap:12px;margin-bottom:10px}.pp-diary-sub-ico{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.pp-diary-sub-name{color:#1e293b;flex:1 1;font-size:17px;font-weight:900}.pp-urgent-tag{background:#dc2626;border-radius:6px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.5px;padding:4px 8px}.pp-diary-content{color:#334155;font-size:16px;font-weight:500;line-height:1.6;white-space:pre-wrap}.pp-diary-footer{border-top:1px solid #f1f5f9;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;margin-top:14px;padding-top:10px;text-transform:uppercase}.pp-tabbar{background:#fff;border-top:1px solid #e2e8f0;bottom:0;box-shadow:0 -6px 24px #00000014;display:flex;left:0;margin:0 auto;max-width:480px;position:fixed;right:0;z-index:100}.pp-tb-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;padding:12px 0 10px;transition:background .15s}.pp-tb-btn:active{background:#f8fafc}.pp-tb-ico{font-size:25px;transition:transform .2s}.pp-tb-btn.active .pp-tb-ico{transform:translateY(-3px)}.pp-tb-lbl{color:#94a3b8;font-size:12px;font-weight:700}.pp-tb-btn.active .pp-tb-lbl{color:#4f46e5}.pp-notice-list{display:flex;flex-direction:column;gap:14px}.pp-notice-card{background:#fff;border-left:5px solid #4f46e5;border-radius:20px;box-shadow:0 2px 8px #0000000f;padding:18px 20px}.pp-notice-hdr{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.pp-notice-title{color:#1e293b;font-size:18px;font-weight:900;line-height:1.3}.pp-notice-new{background:#ef4444;border-radius:10px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.5px;padding:3px 8px}.pp-notice-meta{border-bottom:1px dashed #e2e8f0;color:#94a3b8;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-top:6px;padding-bottom:12px}.pp-notice-target{background:#eef2ff;border-radius:6px;color:#6366f1;font-size:11px;padding:2px 8px}.pp-notice-msg{color:#374151;font-size:15px;line-height:1.6;margin-top:12px;white-space:pre-wrap}.pp-notice-foot{color:#64748b;font-size:12px;font-weight:700;margin-top:14px}