.loading-screen{--background: #FFF9F5}.loading-screen::part(background){background:linear-gradient(180deg,#fff9f5,#fff0e8)}.loading-screen::part(scroll){display:flex;align-items:center;justify-content:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:24px;text-align:center}.loading-mascot{width:100px;height:100px;margin-bottom:20px;filter:drop-shadow(0 4px 12px rgba(255,138,122,.25));animation:float 3s ease-in-out infinite}.loading-mascot svg{width:100%;height:100%}.loading-title{font-family:Nunito,sans-serif;font-size:24px;font-weight:800;color:#3d3d3d;margin-bottom:24px;letter-spacing:-.3px}.signin-content{--purple: #8B7EC8;--purple-light: #C5BFEA;--shadow-coral: rgba(255, 138, 122, .25);--shadow-purple: rgba(139, 126, 200, .2);--background: var(--cream)}.signin-container{width:100%;max-width:420px;min-height:100%;margin:0 auto;position:relative;display:flex;flex-direction:column;padding:40px 24px 32px;background:linear-gradient(180deg,var(--cream) 0%,var(--cream-dark) 100%);overflow:hidden}.signin-container .bg-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden}.signin-container .shape{position:absolute;border-radius:50%;opacity:.4}.signin-container .shape-1{width:180px;height:180px;background:var(--peach);top:-60px;right:-40px}.signin-container .shape-2{width:120px;height:120px;background:var(--sage-light);bottom:100px;left:-50px}.signin-container .shape-3{width:80px;height:80px;background:var(--purple-light);bottom:200px;right:-20px}.signin-container .decorations{position:absolute;inset:0;pointer-events:none}.signin-container .star{position:absolute;color:var(--coral);font-size:16px;opacity:.6;animation:twinkle 2s ease-in-out infinite}.signin-container .star-1{top:120px;right:40px}.signin-container .star-2{top:280px;left:30px;color:var(--purple);animation-delay:.5s}.signin-container .pencil{position:absolute;bottom:180px;right:35px;font-size:20px;color:var(--sage);opacity:.5;transform:rotate(-30deg)}.signin-header{text-align:center;margin-bottom:28px;position:relative;z-index:1}.signin-container .logo-container{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.signin-container .mascot{width:80px;height:80px;margin-bottom:12px;filter:drop-shadow(0 4px 12px var(--shadow-coral));animation:float 3s ease-in-out infinite}.signin-container .school-logo{max-height:80px;max-width:200px;width:auto;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.signin-container .mascot svg{width:100%;height:100%}.signin-container .app-name{font-family:Nunito,sans-serif;font-size:20px;font-weight:800;color:var(--text-dark);letter-spacing:-.3px;margin:0}.signin-container .welcome-text{font-family:Nunito,sans-serif;font-size:28px;font-weight:700;color:var(--coral);margin:0}.signin-container .login-card{background:var(--white);border-radius:24px;padding:28px 24px;box-shadow:0 4px 20px var(--shadow-coral),0 8px 40px #8b7ec81a;position:relative;z-index:1;margin-bottom:24px}.signin-container .login-form{display:flex;flex-direction:column;gap:20px}.signin-container .input-group{display:flex;flex-direction:column;gap:8px}.signin-container .input-label{font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark);padding-left:4px}.signin-container .input-wrapper{position:relative;display:flex;align-items:center}.signin-container .input-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--text-light);pointer-events:none;z-index:1;transition:color .3s ease}.signin-container .input-field{width:100%;height:52px;padding:0 48px;font-family:Nunito,sans-serif;font-size:15px;font-weight:500;color:var(--text-dark);background:var(--cream);border:2px solid transparent!important;border-radius:16px;outline:none!important;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}.signin-container .input-field::placeholder{color:var(--text-light);font-weight:400}.signin-container .input-field::-webkit-inner-spin-button,.signin-container .input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.signin-container .input-wrapper:after,.signin-container .input-wrapper:before{display:none!important}.signin-container .input-field:focus{border:2px solid var(--coral)!important;background:var(--white);box-shadow:0 0 0 4px var(--shadow-coral)}.signin-container .input-wrapper:focus-within .input-icon{color:var(--coral)}.signin-container .toggle-password{position:absolute;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;cursor:pointer;color:var(--text-light);transition:all .2s ease;z-index:1}.signin-container .toggle-password:hover{background:var(--cream-dark);color:var(--text-medium)}.signin-container .toggle-password svg{width:20px;height:20px}.signin-container .checkbox-group{display:flex;justify-content:space-between;align-items:center;margin-top:-4px}.signin-container .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.signin-container .checkbox-input{position:absolute;opacity:0;pointer-events:none}.signin-container .checkbox-custom{width:22px;height:22px;background:var(--cream);border:2px solid var(--text-light);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.signin-container .checkbox-custom svg{width:12px;height:12px;opacity:0;transform:scale(.5);transition:all .2s ease}.signin-container .checkbox-input:checked+.checkbox-custom{background:var(--sage);border-color:var(--sage)}.signin-container .checkbox-input:checked+.checkbox-custom svg{opacity:1;transform:scale(1)}.signin-container .checkbox-input:focus+.checkbox-custom{box-shadow:0 0 0 3px #7db59a4d}.signin-container .checkbox-text{font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:var(--text-medium)}.signin-container .forgot-link{font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:var(--purple);text-decoration:none;transition:color .2s ease}.signin-container .forgot-link:hover{color:var(--coral)}.signin-container .btn-primary{width:100%;height:56px;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:var(--white);font-family:Nunito,sans-serif;font-size:17px;font-weight:700;border:none;border-radius:16px;cursor:pointer;box-shadow:0 4px 16px var(--shadow-coral),0 2px 4px #0000001a;transition:all .3s ease;margin-top:4px;display:flex;align-items:center;justify-content:center}.signin-container .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-coral),0 4px 8px #0000001a}.signin-container .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px var(--shadow-coral)}.signin-container .btn-primary:disabled{opacity:.7;cursor:not-allowed}.signin-footer{text-align:center;position:relative;z-index:1;margin-top:auto;padding-top:20px}.signin-footer .footer-links{display:flex;justify-content:center;align-items:center;gap:12px}.signin-footer .help-link{font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-light);text-decoration:none;transition:color .2s ease}.signin-footer .help-link:hover{color:var(--coral)}.signin-footer .separator{color:var(--text-light);font-size:10px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes twinkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.signin-container .btn-primary:focus-visible,.signin-container .toggle-password:focus-visible,.signin-container .forgot-link:focus-visible,.signin-footer .help-link:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.signin-container .forgot-link{background:none;border:none;padding:0;cursor:pointer}.fp-card{padding:24px 24px 28px}.fp-back{display:flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-bottom:16px;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:var(--purple, #8B7EC8);cursor:pointer;transition:opacity .15s}.fp-back:hover{opacity:.7}.fp-title{font-family:Nunito,sans-serif;font-size:20px;font-weight:800;color:#1a1a2e;margin:0 0 6px}.fp-desc{font-family:Nunito,sans-serif;font-size:13px;font-weight:500;color:#888;margin:0 0 20px;line-height:1.5}.fp-form{display:flex;flex-direction:column;gap:14px}.fp-field{display:flex;flex-direction:column;gap:5px}.fp-label{font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:#444}.fp-input{width:100%;height:46px;padding:0 14px;background:#f8f7fc;border:1.5px solid #e4e0f0;border-radius:12px;font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:#1a1a2e;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;-webkit-appearance:none}.fp-input:focus{border-color:var(--purple, #8B7EC8);background:#fff;box-shadow:0 0 0 3px #8b7ec824}.fp-input:disabled{opacity:.55;cursor:not-allowed}.fp-input::placeholder{color:#bbb}.fp-input--pw{padding-right:42px}.fp-pw-wrap{position:relative;display:flex;align-items:center}.fp-pw-wrap .fp-input{flex:1}.fp-eye{position:absolute;right:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#999;transition:background .15s,color .15s;padding:0}.fp-eye:hover{background:#f0ecfa;color:#555}.fp-strength{display:flex;align-items:center;gap:10px;margin-top:5px}.fp-strength-bar{flex:1;display:flex;gap:4px}.fp-strength-seg{flex:1;height:4px;border-radius:4px;background:#e8e8e8;transition:background .25s}.fp-strength-label{font-family:Nunito,sans-serif;font-size:12px;font-weight:700;min-width:36px;text-align:right}.fp-mismatch{font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:#e74c3c}.fp-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.fp-divider:before,.fp-divider:after{content:"";flex:1;height:1px;background:#ece9f5}.fp-divider span{font-family:Nunito,sans-serif;font-size:12px;font-weight:700;color:#aaa;white-space:nowrap}.fp-btn{width:100%;height:50px;margin-top:4px;background:linear-gradient(135deg,var(--purple, #8B7EC8) 0%,#a998d8 100%);color:#fff;border:none;border-radius:14px;font-family:Nunito,sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #8b7ec84d}.fp-btn:hover:not(:disabled){opacity:.92}.fp-btn:active:not(:disabled){transform:scale(.98)}.fp-btn:disabled{opacity:.55;cursor:not-allowed}.fp-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:fp-spin .7s linear infinite}@keyframes fp-spin{to{transform:rotate(360deg)}}.fp-no-questions{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0;gap:12px}.fp-nq-icon{width:64px;height:64px;background:#f0ecfa;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--purple, #8B7EC8);margin-bottom:4px}.fp-nq-icon--danger{background:#fff0f0;color:#e74c3c}.fp-nq-title{font-family:Nunito,sans-serif;font-size:18px;font-weight:800;color:#1a1a2e;margin:0}.fp-nq-desc{font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:#666;line-height:1.5;margin:0;max-width:300px}.fp-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0;gap:12px}.fp-success-icon{width:64px;height:64px;background:#e8f8ef;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#27ae60;margin-bottom:4px}.fp-success-title{font-family:Nunito,sans-serif;font-size:18px;font-weight:800;color:#1a1a2e;margin:0}.fp-success-desc{font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:#666;line-height:1.5;margin:0}.cp-content{--background: var(--cream, #f4f3f8)}.cp-container{display:flex;align-items:center;justify-content:center;min-height:100%;padding:32px 16px}.cp-card{background:var(--white, #fff);border-radius:20px;box-shadow:var(--shadow-card, 0 4px 24px rgba(0,0,0,.08));padding:32px 28px;width:100%;max-width:420px}.cp-first-login-header{text-align:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--cream-dark, #f0eef8)}.cp-welcome-badge{display:inline-block;background:var(--pink, #7c5cbf);color:#fff;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;padding:4px 14px;border-radius:20px;margin-bottom:10px}.cp-welcome-desc{font-family:Nunito,sans-serif;font-size:14px;color:var(--text-medium, #666);line-height:1.5;margin:0 0 16px}.cp-steps{display:flex;align-items:center;justify-content:center;gap:0}.cp-step{display:flex;align-items:center;gap:6px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-light, #bbb);white-space:nowrap}.cp-step.active{color:var(--pink, #7c5cbf)}.cp-step-num{font-size:16px}.cp-step-divider{width:40px;height:2px;background:var(--cream-dark, #e8e4f4);margin:0 8px;flex-shrink:0}.cp-title{font-family:Nunito,sans-serif;font-size:22px;font-weight:800;color:var(--text-dark, #1a1a2e);margin:0 0 20px}.cp-warning-banner{display:flex;align-items:center;gap:10px;background:#fff8e1;border:1px solid #ffe082;border-radius:12px;padding:12px 16px;margin-bottom:20px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:#8a6200;line-height:1.4}.cp-warning-banner svg{flex-shrink:0;color:#f9a825}.cp-form{display:flex;flex-direction:column;gap:16px}.cp-field{display:flex;flex-direction:column;gap:6px}.cp-label{font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:var(--text-dark, #444);padding-left:2px}.cp-input-wrap{position:relative;display:flex;align-items:center}.cp-input-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--text-light, #aaa);pointer-events:none;flex-shrink:0}.cp-input{width:100%;height:48px;padding:0 44px 0 42px;background:var(--cream, #f8f7fc);border:1.5px solid var(--border-warm, #e4e0f0);border-radius:12px;font-family:Nunito,sans-serif;font-size:15px;font-weight:500;color:var(--text-dark, #1a1a2e);outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;-webkit-appearance:none}.cp-input:focus{border-color:var(--coral, #7c5cbf);background:var(--white, #fff);box-shadow:0 0 0 3px rgba(var(--coral-rgb, 124, 92, 191),.15)}.cp-input:disabled{opacity:.55;cursor:not-allowed}.cp-input::placeholder{color:var(--text-light, #bbb);letter-spacing:2px}.cp-eye{position:absolute;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-light, #999);transition:background .15s,color .15s;padding:0}.cp-eye:hover{background:var(--cream-dark, #f0ecfa);color:var(--text-medium, #555)}.cp-eye svg{width:18px;height:18px}.cp-strength{display:flex;align-items:center;gap:10px;margin-top:6px}.cp-strength-bar{flex:1;display:flex;gap:4px}.cp-strength-seg{flex:1;height:4px;border-radius:4px;background:var(--cream-dark, #e8e8e8);transition:background .25s}.cp-strength-label{font-family:Nunito,sans-serif;font-size:12px;font-weight:700;min-width:36px;text-align:right;transition:color .25s}.cp-rules{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:3px}.cp-rules li{font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-light, #bbb);padding-left:18px;position:relative;transition:color .2s}.cp-rules li:before{content:"✗";position:absolute;left:0;color:var(--cream-dark, #ddd);font-size:11px}.cp-rules li.ok{color:#27ae60}.cp-rules li.ok:before{content:"✓";color:#27ae60}.cp-mismatch{font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:#e74c3c;padding-left:2px}.cp-submit{width:100%;height:52px;margin-top:8px;background:linear-gradient(135deg,var(--pink, #7c5cbf) 0%,var(--pink-light, #9b7fd4) 100%);color:#fff;border:none;border-radius:14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:800;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(var(--pink-rgb, 124, 92, 191),.3)}.cp-submit:hover:not(:disabled){opacity:.92}.cp-submit:active:not(:disabled){transform:scale(.98)}.cp-submit:disabled{opacity:.55;cursor:not-allowed}.cp-spinner{display:inline-block;width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:cp-spin .7s linear infinite}@keyframes cp-spin{to{transform:rotate(360deg)}}.sq-content{--background: var(--cream, #f4f3f8)}.sq-container{display:flex;align-items:center;justify-content:center;min-height:100%;padding:32px 16px}.sq-card{background:var(--white, #fff);border-radius:20px;box-shadow:var(--shadow-card, 0 4px 24px rgba(0,0,0,.08));padding:32px 28px;width:100%;max-width:460px}.sq-step-header{text-align:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--cream-dark, #f0eef8)}.sq-step-badge{display:inline-block;background:var(--pink, #7c5cbf);color:#fff;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:12px}.sq-steps{display:flex;align-items:center;justify-content:center}.sq-step{display:flex;align-items:center;gap:6px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-light, #bbb);white-space:nowrap}.sq-step.done{color:#27ae60}.sq-step.active{color:var(--pink, #7c5cbf)}.sq-step-num{font-size:16px}.sq-step-divider{width:40px;height:2px;background:var(--cream-dark, #e8e4f4);margin:0 8px;flex-shrink:0}.sq-title{font-family:Nunito,sans-serif;font-size:22px;font-weight:800;color:var(--text-dark, #1a1a2e);margin:0 0 16px}.sq-info-box{display:flex;gap:10px;align-items:flex-start;background:var(--cream-dark, #f0ecfa);border:1px solid var(--border-warm, #dcd3f5);border-radius:12px;padding:12px 14px;margin-bottom:20px}.sq-info-box svg{flex-shrink:0;color:var(--pink, #7c5cbf);margin-top:2px}.sq-info-box p{font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium, #5a4080);margin:0;line-height:1.5}.sq-form{display:flex;flex-direction:column;gap:16px}.sq-question-block{display:flex;flex-direction:column;gap:6px}.sq-label{font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:var(--text-dark, #444);padding-left:2px}.sq-select{width:100%;height:48px;padding:0 36px 0 14px;background:var(--cream, #f8f7fc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center;background-size:18px;border:1.5px solid var(--border-warm, #e4e0f0);border-radius:12px;font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:var(--text-dark, #1a1a2e);appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.sq-select:focus{border-color:var(--coral, #7c5cbf);background-color:var(--white, #fff);box-shadow:0 0 0 3px rgba(var(--coral-rgb, 124, 92, 191),.15)}.sq-select:disabled{opacity:.55;cursor:not-allowed}.sq-answer{width:100%;height:44px;padding:0 14px;background:var(--cream, #f8f7fc);border:1.5px solid var(--border-warm, #e4e0f0);border-radius:12px;font-family:Nunito,sans-serif;font-size:14px;font-weight:500;color:var(--text-dark, #1a1a2e);outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;-webkit-appearance:none}.sq-answer:focus{border-color:var(--coral, #7c5cbf);background:var(--white, #fff);box-shadow:0 0 0 3px rgba(var(--coral-rgb, 124, 92, 191),.15)}.sq-answer:disabled{opacity:.55;cursor:not-allowed}.sq-answer::placeholder{color:var(--text-light, #bbb)}.sq-fallback-note{display:flex;gap:8px;align-items:flex-start;background:var(--cream, #fafaf9);border:1px solid var(--border-warm, #e8e8e4);border-radius:10px;padding:10px 12px;margin-top:4px}.sq-fallback-note svg{flex-shrink:0;color:var(--text-light, #888);margin-top:2px}.sq-fallback-note span{font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium, #777);line-height:1.5}.sq-submit{width:100%;height:52px;margin-top:4px;background:linear-gradient(135deg,var(--pink, #7c5cbf) 0%,var(--pink-light, #9b7fd4) 100%);color:#fff;border:none;border-radius:14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:800;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(var(--pink-rgb, 124, 92, 191),.3)}.sq-submit:hover:not(:disabled){opacity:.92}.sq-submit:active:not(:disabled){transform:scale(.98)}.sq-submit:disabled{opacity:.55;cursor:not-allowed}.sq-spinner{display:inline-block;width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sq-spin .7s linear infinite}@keyframes sq-spin{to{transform:rotate(360deg)}}.admin-login-page{position:fixed!important;inset:0;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;contain:none!important;font-family:Nunito,sans-serif;background:linear-gradient(150deg,#3d1a38,#6b3d64 40%,#8b5e83);overflow:hidden}.admin-login-page:before,.admin-login-page:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.admin-login-page:before{width:600px;height:600px;top:-200px;right:-150px;background:#ffffff0d}.admin-login-page:after{width:400px;height:400px;bottom:-150px;left:-100px;background:#ffffff0a}.admin-card{position:relative;z-index:1;width:100%;max-width:440px;margin:24px;background:#fff;border-radius:20px;box-shadow:0 24px 64px #00000040,0 4px 16px #0000001f;overflow:hidden}.admin-card-header{padding:32px 36px 28px;text-align:center;border-bottom:1px solid #F0EAF0}.admin-card-logo{width:52px;height:52px;background:linear-gradient(135deg,#6b3d64,#8b5e83);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 4px 14px #8b5e8366}.admin-card-logo svg{width:26px;height:26px;color:#fff}.admin-card-title{font-size:22px;font-weight:800;color:#3d3d3d;margin:0 0 4px;letter-spacing:-.3px}.admin-card-subtitle{font-size:13px;font-weight:500;color:#9b9b9b;margin:0}.admin-card-body{padding:28px 36px 32px}.admin-error-banner{display:flex;align-items:flex-start;gap:10px;background:#ff6b6b12;border:1px solid rgba(220,53,69,.16);border-radius:10px;padding:11px 14px;margin-bottom:20px;color:#c0392b}.admin-error-banner svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.admin-error-banner span{font-size:13.5px;font-weight:500;line-height:1.5}.admin-form{display:flex;flex-direction:column;gap:20px}.admin-field{display:flex;flex-direction:column;gap:7px}.admin-field-label{font-size:11.5px;font-weight:800;color:#5a5a5a;text-transform:uppercase;letter-spacing:.7px}.admin-input-wrapper{position:relative;display:flex;align-items:center}.admin-input-icon{position:absolute;left:14px;width:17px;height:17px;color:#c0b0c0;pointer-events:none;transition:color .2s}.admin-input{width:100%;height:48px;padding:0 44px;font-family:Nunito,sans-serif;font-size:15px;font-weight:500;color:#3d3d3d;background:#faf7fa;border:1.5px solid #E5DCE5;border-radius:11px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}.admin-input::placeholder{color:#c4b4c4;font-weight:400}.admin-input:focus{border-color:#8b5e83;background:#fff;box-shadow:0 0 0 3px #8b5e831f}.admin-input-wrapper:focus-within .admin-input-icon{color:#8b5e83}.admin-input:disabled{opacity:.55;cursor:not-allowed}.admin-toggle-pw{position:absolute;right:9px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#b0a0b0;transition:background .15s,color .15s}.admin-toggle-pw:hover{background:#f0eaf0;color:#6b5a6b}.admin-toggle-pw svg{width:17px;height:17px}.admin-form-options{margin-top:-4px}.admin-checkbox-label{display:flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.admin-checkbox-custom{width:19px;height:19px;background:#faf7fa;border:1.5px solid #C4A8BF;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s}.admin-checkbox-custom svg{width:10px;height:10px;opacity:0;transform:scale(.5);transition:opacity .15s,transform .15s}.admin-checkbox-input:checked+.admin-checkbox-custom{background:#8b5e83;border-color:#8b5e83}.admin-checkbox-input:checked+.admin-checkbox-custom svg{opacity:1;transform:scale(1)}.admin-checkbox-text{font-size:13.5px;font-weight:500;color:#6b6b6b}.admin-submit-btn{width:100%;height:50px;background:linear-gradient(135deg,#8b5e83,#a67b9e);color:#fff;font-family:Nunito,sans-serif;font-size:15.5px;font-weight:700;border:none;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 4px 16px #8b5e8361;transition:transform .18s,box-shadow .18s,opacity .18s;letter-spacing:.1px}.admin-submit-btn svg{width:19px;height:19px}.admin-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 22px #8b5e8370}.admin-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #8b5e834d}.admin-submit-btn:disabled{opacity:.65;cursor:not-allowed}.admin-submit-btn:focus-visible{outline:3px solid rgba(139,94,131,.4);outline-offset:2px}.admin-spinner{display:inline-block;width:19px;height:19px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:admin-spin .65s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-card-footer{padding:14px 36px 20px;text-align:center;border-top:1px solid #F5EFF5}.admin-card-footer span{font-size:12px;font-weight:500;color:#c0b0c0}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;background-color:#fff;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;box-shadow:0 -4px 20px #0000000d;border-top-left-radius:24px;border-top-right-radius:24px;z-index:100}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9b9b9b;font-size:10px;font-weight:700;text-decoration:none;font-family:Nunito,sans-serif;background:none;border:none;cursor:pointer;padding:0;flex:1}.bottom-nav .nav-item.active{color:#ff8a7a}.bottom-nav .nav-item svg{width:24px;height:24px;stroke-width:2.5px}.dashboard-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .1);--shadow-md: 0 8px 24px rgba(61, 61, 61, .05);--shadow-nav: 0 -4px 20px rgba(0, 0, 0, .05);--radius-full: 999px;--background: var(--cream);--ion-background-color: var(--cream)}.dashboard-page ion-content{--background: var(--cream)}.dashboard-container{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%}.app-header{padding:var(--space-xl) var(--space-xxl) var(--space-md);display:flex;justify-content:space-between;align-items:center;background-color:var(--cream);position:sticky;top:0;z-index:10}.header-left .greeting-sub{display:block;font-size:14px;color:var(--text-medium);font-weight:600}.header-left .greeting-name{font-size:28px;font-weight:800;color:var(--text-dark);margin:-4px 0 0}.notification-bell{position:relative;padding:var(--space-sm);background-color:var(--white);border-radius:50%;box-shadow:var(--shadow-sm);color:var(--coral);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;color:var(--white);background-color:var(--alert-red);border-radius:9px;border:2px solid var(--white);display:flex;align-items:center;justify-content:center;font-family:Nunito,sans-serif}.dashboard-main{padding:0 var(--space-xxl) var(--space-xl)}.widget{margin-bottom:var(--space-xl)}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.widget-header h3{font-size:18px;font-weight:700;color:var(--text-dark);margin:0}.see-all{font-size:14px;font-weight:700;color:var(--coral);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit}.stats-widget{background-color:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.stats-header h2{font-size:20px;font-weight:800;margin:0;margin-bottom:var(--space-lg);color:var(--text-dark)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.stat-item{background-color:var(--cream);padding:var(--space-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-sm)}.stat-item.streak{background-color:var(--peach-light)}.stat-item.grade{background-color:var(--sage-light)}.stat-icon{font-size:20px}.stat-info{display:flex;flex-direction:column}.stat-value{font-weight:800;font-size:16px;color:var(--text-dark)}.stat-label{font-size:12px;color:var(--text-medium)}.stat-summary{grid-column:1 / -1;margin-top:var(--space-xs);display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text-medium)}.summary-line{display:flex;align-items:center;gap:6px}.lesson-list{display:flex;flex-direction:column;gap:var(--space-md)}.lesson-item{display:flex;align-items:center;padding:var(--space-lg);background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative;transition:transform .2s}.lesson-item.current{border:2px solid var(--coral);background-color:var(--cream)}.lesson-time{display:flex;flex-direction:column;font-weight:700;font-size:14px;color:var(--text-dark);margin-right:var(--space-lg);min-width:45px}.time-end{font-size:12px;color:var(--text-light);font-weight:600}.lesson-details{display:flex;flex-direction:column;flex:1}.lesson-details .subject{font-weight:800;color:var(--text-dark);font-size:16px}.lesson-details .room{font-size:13px;color:var(--text-medium)}.lesson-status{font-size:12px;font-weight:700}.lesson-item.passed .lesson-status{color:var(--success-green)}.lesson-item.current .lesson-status{color:var(--coral)}.lesson-item.upcoming .lesson-status{color:var(--text-light)}.due-list{display:flex;flex-direction:column;gap:var(--space-md)}.due-item{background-color:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;gap:var(--space-md);box-shadow:var(--shadow-md);align-items:flex-start;transition:transform .2s ease,box-shadow .2s ease}.due-item:active{transform:scale(.98)}.due-icon-wrapper{font-size:12px;margin-top:2px}.due-content{flex:1}.due-top{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);align-items:center}.due-title{font-weight:800;color:var(--text-dark)}.due-time{font-size:12px;color:var(--alert-red);font-weight:700}.due-item.medium .due-time{color:var(--alert-orange)}.due-item.low .due-time{color:var(--success-green)}.due-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.due-desc{font-size:13px;color:var(--text-medium)}.dashboard-page .action-btn{background-color:var(--sage)!important;color:#fff!important;border:none!important;padding:10px 20px!important;border-radius:50px!important;font-size:13px!important;font-weight:700!important;cursor:pointer;font-family:inherit;box-shadow:0 2px 8px #7db59a4d;transition:transform .2s,box-shadow .2s;-webkit-border-radius:50px!important;-moz-border-radius:50px!important}.dashboard-page .action-btn:active{transform:scale(.96)}.dashboard-page .action-btn.ai-btn{background:linear-gradient(135deg,var(--purple-ai),var(--purple-ai-light))!important;box-shadow:0 2px 8px #8b7ec866}.dashboard-page .action-btn.text-only{background-color:transparent!important;background:none!important;color:var(--coral)!important;padding:0!important;box-shadow:none!important;font-weight:700!important}.quick-access-widget{background:linear-gradient(145deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);border:1px solid rgba(255,138,122,.1);position:relative;overflow:hidden}.quick-access-widget:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--coral),var(--peach),var(--sage));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.quick-access-widget .section-title{font-size:18px;font-weight:800;color:var(--text-dark);margin:0 0 var(--space-lg) 0;display:flex;align-items:center;gap:var(--space-sm)}.quick-access-widget .section-title:before{content:"⚡";font-size:16px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}@media(max-width:480px){.quick-grid{gap:var(--space-sm)}.quick-access-widget{padding:var(--space-md)}}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);cursor:pointer;background:none;border:none;padding:var(--space-sm);font-family:inherit;transition:transform .2s ease}.quick-btn:active{transform:scale(.95)}.quick-icon{width:60px;height:60px;background-color:var(--white);border-radius:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #3d3d3d14;transition:transform .2s ease,box-shadow .2s ease;position:relative;color:var(--text-dark)}@media(max-width:480px){.quick-icon{width:48px;height:48px;border-radius:14px}.quick-btn{padding:4px 0;gap:4px}.quick-btn span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}.quick-icon svg{stroke:currentColor}.quick-btn:hover .quick-icon{transform:translateY(-2px);box-shadow:0 6px 20px #3d3d3d1f}.quick-btn.ai-assistant .quick-icon{background:linear-gradient(135deg,var(--purple-ai-light),#E8E4F8);color:#5b4ba8;box-shadow:0 4px 16px #8b7ec840}.quick-btn.resources .quick-icon{background:linear-gradient(135deg,var(--peach-light),#FFF0E8);color:#d4764e}.quick-btn.events .quick-icon{background:linear-gradient(135deg,var(--sage-light),#E0F0E8);color:#3d8b63}.quick-btn.notes .quick-icon{background:linear-gradient(135deg,var(--coral-light),#FFE8E5);color:#d65a4a}.quick-btn span{font-size:12px;font-weight:700;color:var(--text-dark);text-align:center}.announcement-list{display:flex;flex-direction:column;gap:var(--space-md)}.announcement-item{padding:var(--space-lg);background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;gap:var(--space-md);align-items:flex-start}.announcement-item.pinned{border-left:4px solid var(--coral)}.announcement-content{flex:1}.announcement-text{font-weight:700;font-size:14px;color:var(--text-dark);margin:0;margin-bottom:var(--space-xs)}.announcement-meta{font-size:12px;color:var(--text-medium)}.grades-list{background-color:var(--white);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-lg);box-shadow:var(--shadow-md)}.grade-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--cream-dark)}.grade-item:last-child{border-bottom:none}.grade-subject{font-weight:700;color:var(--text-dark);font-size:14px;width:35%}.grade-desc{font-size:13px;color:var(--text-medium);flex:1}.grade-score-row{display:flex;align-items:center;gap:8px}.grade-score{font-weight:800;font-size:14px;color:var(--text-dark)}.grade-trend{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0}.grade-trend svg{width:12px;height:12px}.grade-trend.up{background-color:#48c78e26;color:var(--success-green)}.grade-trend.steady{background-color:#ff9f4326;color:var(--alert-orange)}.grade-trend.down{background-color:#ff47571f;color:#ff4757}.gamification-widget{background:linear-gradient(135deg,var(--peach-light),var(--white));padding:22px var(--space-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.gamification-widget .widget-header,.level-info{margin-bottom:14px}.level-bar-container{height:12px;background-color:var(--white);border-radius:6px;overflow:hidden;margin-bottom:6px}.level-bar{height:100%;background-color:var(--coral);border-radius:5px}.level-text{font-size:12px;font-weight:700;color:var(--text-medium);text-align:right;line-height:1.45}.badges-row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.badge-item{display:flex;align-items:center;gap:6px;background-color:var(--white);padding:8px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:700;color:var(--text-dark);box-shadow:0 2px 8px #0000000d}.see-all-badges{font-size:13px;font-weight:700;color:var(--coral);margin-left:auto;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit}.lessons-widget{background-color:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.timeline{position:relative;padding-left:20px}.timeline .lesson-item{position:relative;display:flex;align-items:flex-start;width:100%;margin-bottom:var(--space-sm);padding:0;background:none;border:none;box-shadow:none;border-radius:0}.timeline .lesson-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:-20px;top:12px;width:10px;height:10px;border-radius:50%;background-color:var(--cream-dark);border:2px solid var(--peach-light);z-index:2}.timeline .lesson-item.upcoming .timeline-marker{background-color:var(--peach);border-color:var(--peach-light)}.timeline .lesson-item.current .timeline-marker{width:14px;height:14px;left:-22px;top:10px;background-color:var(--sage);border-color:var(--sage-light);animation:pulse-green 1.5s infinite}.timeline .lesson-item.past .timeline-marker{background-color:var(--sage-light);border-color:var(--cream-dark);opacity:.6}@keyframes pulse-green{0%,to{box-shadow:0 0 #7db59ab3}50%{box-shadow:0 0 0 8px #7db59a00}}.timeline-line{position:absolute;left:-16px;top:24px;bottom:-8px;width:2px;background:linear-gradient(to bottom,var(--peach-light),var(--cream-dark))}.timeline .lesson-item.current .timeline-line{left:-16px;top:26px}.lesson-content{flex:1;min-width:0;width:100%;background-color:var(--cream);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--cream-dark);transition:all .2s ease}.timeline .lesson-item.current .lesson-content{background:linear-gradient(135deg,var(--peach-light) 0%,var(--white) 100%);border-color:var(--coral-light);box-shadow:0 2px 8px #ff8a7a26}.timeline .lesson-item.past .lesson-content{background-color:var(--cream)}.timeline .lesson-item.past .lesson-name{color:var(--text-medium)}.timeline .lesson-item.past .lesson-meta{color:var(--text-light)}.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.lesson-name{font-weight:800;font-size:15px;color:var(--text-dark)}.timeline .lesson-item.current .lesson-name{color:#2d7a5a;font-weight:800}.lesson-time{font-size:12px;font-weight:700;color:#c75a4a;background-color:var(--peach-light);padding:3px 10px;border-radius:var(--radius-full)}.timeline .lesson-item.past .lesson-time{color:var(--text-medium);background-color:var(--cream-dark)}.timeline .lesson-time{display:inline;flex-direction:unset;min-width:unset;margin-right:0}.lesson-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);font-size:13px;color:var(--text-medium);font-weight:600;margin-top:4px}.lesson-meta .teacher{display:flex;align-items:center;gap:6px;width:130px;flex-shrink:0}.lesson-meta .room{display:flex;align-items:center;gap:6px}.lesson-meta svg{color:var(--text-light)}.exam-badge{display:inline-block;margin-top:var(--space-xs);padding:2px 8px;background-color:var(--coral);color:#fff;font-size:10px;font-weight:800;border-radius:var(--radius-full);letter-spacing:.5px}.now-widget{background:linear-gradient(135deg,var(--sage),var(--sage-light));border-radius:var(--radius-xl);padding:var(--space-xl);color:#fff;box-shadow:0 8px 24px #7db59a4d}.now-widget .widget-label{font-size:12px;font-weight:800;letter-spacing:1px;opacity:.9;margin-bottom:var(--space-xs)}.now-widget .lesson-title{font-size:24px;font-weight:800;margin-bottom:var(--space-sm)}.now-widget .lesson-info{display:flex;gap:var(--space-lg);font-size:14px;opacity:.9;margin-bottom:var(--space-lg)}.now-widget .progress-bar{height:8px;background-color:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:var(--space-sm)}.now-widget .progress-bar-fill{height:100%;background-color:#fff;border-radius:4px;transition:width .3s ease}.now-widget .time-remaining{font-size:13px;font-weight:600;opacity:.9;text-align:right}.exam-warning-widget{background:linear-gradient(135deg,var(--alert-red),#FF8A8A);border-radius:var(--radius-xl);padding:var(--space-lg);color:#fff}.warning-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.warning-icon{font-size:20px}.warning-title{font-size:18px;font-weight:800}.exam-warning-widget .exam-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.exam-warning-widget .exam-item{background-color:#ffffff26;border-radius:var(--radius-md);padding:var(--space-md)}.exam-warning-widget .exam-name{font-weight:700;font-size:15px;margin-bottom:var(--space-xs)}.exam-warning-widget .exam-details{display:flex;justify-content:space-between;font-size:13px;opacity:.9}.prepare-btn{width:100%;padding:14px 24px;background-color:#fff;color:var(--alert-red);border:none;border-radius:50px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px #00000026;transition:transform .2s,box-shadow .2s}.prepare-btn:active{transform:scale(.97);box-shadow:0 2px 8px #0000001a}.lessons-widget .loading-text,.exam-warning-widget .loading-text{text-align:center;padding:var(--space-lg);color:var(--text-medium);font-size:14px}.timeline .empty-state{text-align:center;padding:var(--space-xl);color:var(--text-medium);font-size:14px}.calendar-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .1);--shadow-md: 0 8px 24px rgba(61, 61, 61, .05);--radius-full: 999px;--background: var(--cream);--ion-background-color: var(--cream)}.calendar-page ion-content{--background: var(--cream)}.calendar-container{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;padding-bottom:90px}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background-color:var(--cream);position:sticky;top:0;z-index:100}.calendar-header .logo-text{font-size:24px;font-weight:800;color:var(--coral)}.calendar-header .header-right{display:flex;gap:var(--space-md)}.calendar-header .icon-btn{background:none;border:none;color:var(--text-dark);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;padding:0}.calendar-header .notification-btn .badge{position:absolute;top:2px;right:2px;width:8px;height:8px;background-color:var(--alert-red);border-radius:var(--radius-full)}.view-toggle-container{padding:0 var(--space-xl);margin-bottom:var(--space-lg)}.view-toggle{display:flex;background-color:var(--cream-dark);padding:4px;border-radius:20px}.toggle-btn{flex:1;background:none;border:none;padding:8px 0;font-family:Nunito,sans-serif;font-weight:600;color:var(--text-medium);font-size:14px;border-radius:16px;cursor:pointer;transition:all .2s ease}.toggle-btn.active{background-color:var(--white);color:var(--coral);box-shadow:0 2px 4px #0000000d}.date-strip{display:flex;justify-content:space-between;padding:0 var(--space-xl);margin-bottom:var(--space-xl);overflow-x:auto;gap:var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;height:72px;border-radius:var(--radius-md);background-color:var(--white);color:var(--text-medium);border:1px solid transparent;transition:all .2s ease;cursor:pointer;flex-shrink:0}.date-item:hover{border-color:var(--coral-light)}.date-item.active{background-color:var(--coral);color:var(--white);box-shadow:0 4px 12px #ff8a7a4d}.date-item.today:not(.active){border-color:var(--coral)}.date-item .day-name{font-size:12px;font-weight:600;margin-bottom:4px}.date-item .day-number{font-size:20px;font-weight:800}.calendar-page .timeline{padding:0 var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.time-slot{display:flex;gap:var(--space-md)}.time-col{display:flex;flex-direction:column;min-width:48px;text-align:right;padding-top:var(--space-xs)}.time-col .time{font-weight:700;font-size:14px;color:var(--text-dark)}.time-col .time-end{font-size:12px;color:var(--text-light);margin-top:4px}.event-card{flex:1;background-color:var(--white);padding:var(--space-lg);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000008;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.event-info h3{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 4px}.event-info p{font-size:13px;color:var(--text-medium);margin:0}.lesson-card{border-left:4px solid var(--sage)}.status-pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.status-pill.present{background-color:var(--sage-light);color:#2d5a45}.status-pill.absent{background-color:#ffe5e5;color:var(--alert-red)}.status-pill.late{background-color:#fff3e0;color:#e65100}.exam-card{background-color:#fff5f5;border:1px solid var(--alert-red)}.exam-badge{font-size:12px;font-weight:700;color:var(--alert-red);background-color:#ff6b6b1a;padding:6px 12px;border-radius:var(--radius-sm)}.homework-card{border:1px solid var(--alert-orange);background-color:#fffdf8}.submit-btn{background-color:var(--alert-orange);color:var(--white);border:none;padding:6px 14px;border-radius:20px;font-family:Nunito,sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:opacity .2s}.club-card{background-color:var(--white);border-left:4px solid var(--purple-ai)}.break-slot{align-items:center}.break-line{flex:1;display:flex;align-items:center;justify-content:center;height:30px;position:relative}.break-line span{font-size:12px;color:var(--text-light);font-weight:600;background-color:var(--cream);padding:0 12px;z-index:1}.break-line:before{content:"";position:absolute;width:100%;left:0;top:50%;border-top:2px dashed var(--cream-dark);z-index:0}.calendar-fab{position:fixed;bottom:100px;right:24px;width:56px;height:56px;border-radius:var(--radius-full);background-color:var(--coral);color:var(--white);border:none;box-shadow:0 4px 16px #ff8a7a66;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s;z-index:90}.calendar-fab:active{transform:scale(.95)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl);text-align:center}.empty-state-icon{font-size:48px;margin-bottom:var(--space-lg);opacity:.6}.empty-state-text{font-size:16px;color:var(--text-medium);font-weight:600}.loading-state{display:flex;justify-content:center;align-items:center;padding:var(--space-xxl)}.loading-spinner{width:32px;height:32px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}.week-view{padding:0 var(--space-xl)}.week-grid{display:flex;flex-direction:column;gap:var(--space-md)}.week-day-row{background-color:var(--white);border-radius:var(--radius-md);padding:var(--space-md)}.week-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--cream-dark)}.week-day-name{font-weight:700;color:var(--text-dark)}.week-day-date{font-size:12px;color:var(--text-medium)}.week-events-list{display:flex;flex-direction:column;gap:var(--space-xs)}.week-event-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.week-event-time{font-size:12px;font-weight:600;color:var(--text-medium);min-width:45px}.week-event-title{font-size:13px;font-weight:600;color:var(--text-dark)}.week-event-indicator{width:4px;height:16px;border-radius:2px}.week-event-indicator.lesson,.week-event-indicator.class{background-color:var(--sage)}.week-event-indicator.exam{background-color:var(--alert-red)}.week-event-indicator.homework,.week-event-indicator.homework_due{background-color:var(--alert-orange)}.week-event-indicator.event,.week-event-indicator.school_event,.week-event-indicator.meeting{background-color:var(--purple-ai)}.month-view{padding:0 var(--space-xl)}.month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.month-title{font-size:18px;font-weight:700;color:var(--text-dark)}.month-nav-btn{background:none;border:none;color:var(--coral);font-size:18px;cursor:pointer;padding:var(--space-sm)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.month-day-header{text-align:center;font-size:12px;font-weight:600;color:var(--text-medium);padding:var(--space-sm) 0}.month-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--white);border-radius:var(--space-sm);cursor:pointer;position:relative}.month-day:hover{background-color:var(--cream-dark)}.month-day.other-month{opacity:.4}.month-day.today{border:2px solid var(--coral)}.month-day.selected{background-color:var(--coral);color:var(--white)}.month-day-number{font-size:14px;font-weight:600}.month-day-dots{display:flex;gap:2px;margin-top:2px}.month-day-dot{width:4px;height:4px;border-radius:50%}.month-day-dot.lesson,.month-day-dot.class{background-color:var(--sage)}.month-day-dot.exam{background-color:var(--alert-red)}.month-day-dot.homework,.month-day-dot.homework_due{background-color:var(--alert-orange)}.month-day-dot.event,.month-day-dot.school_event,.month-day-dot.meeting{background-color:var(--purple-ai)}.messages-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .03);--background: var(--cream);--ion-background-color: var(--cream)}.messages-page ion-content{--background: var(--cream);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.messages-page ion-content::part(scroll){padding:0!important}.messages-page .messages-container{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;display:flex;flex-direction:column;padding:0;margin:0}.messages-page .messages-header{padding:var(--space-xl) var(--space-xxl);display:flex;justify-content:space-between;align-items:center;background-color:var(--cream);position:sticky;top:0;z-index:10}.messages-page .messages-header h1{font-size:28px;font-weight:800;color:var(--text-dark);margin:0}.messages-page .header-actions{display:flex;align-items:center;gap:var(--space-sm)}.messages-page .new-message-btn{background:var(--coral);border:none;display:flex;align-items:center;gap:var(--space-xs);color:#fff;font-family:Nunito,sans-serif;font-weight:700;font-size:14px;cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:999px}.messages-page .new-message-btn:active{opacity:.8}.messages-page .filter-btn{background:transparent;border:none;display:flex;align-items:center;gap:var(--space-xs);color:var(--text-medium);font-family:Nunito,sans-serif;font-weight:700;font-size:16px;cursor:pointer;padding:var(--space-sm)}.messages-page .filter-btn:active{opacity:.7}.messages-page .messages-content{flex:1;overflow-y:auto;padding:0 var(--space-xxl) 80px var(--space-xxl);scrollbar-width:none}.messages-page .messages-content::-webkit-scrollbar{display:none}.messages-page .search-container{margin-bottom:var(--space-lg)}.messages-page .search-bar{background-color:var(--white);border-radius:999px;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);box-shadow:0 4px 12px #ff8a7a14}.messages-page .search-icon{color:var(--text-light);flex-shrink:0}.messages-page .search-bar input{border:none;outline:none;background:transparent;width:100%;font-family:Nunito,sans-serif;font-size:16px;color:var(--text-dark)}.messages-page .search-bar input::placeholder{color:var(--text-light)}.messages-page .section-group{margin-bottom:var(--space-xxl)}.messages-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.messages-page .section-header h2{font-size:18px;font-weight:800;color:var(--text-dark);margin:0}.messages-page .card{background-color:var(--white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:0 4px 12px #00000008;margin-bottom:var(--space-md);transition:transform .2s ease;cursor:pointer}.messages-page .card:active{transform:scale(.98)}.messages-page .pinned-card{border-left:4px solid var(--coral);background:linear-gradient(135deg,#fff,#fff9f5);position:relative}.messages-page .card-header{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);align-items:flex-start}.messages-page .header-info{flex:1;min-width:0}.messages-page .subject-name{font-size:18px;font-weight:800;margin:0 0 2px;color:var(--text-dark)}.messages-page .message-meta{font-size:14px;color:var(--text-medium);font-weight:600}.messages-page .preview-text{font-size:15px;color:var(--text-medium);line-height:1.5;margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.messages-page .card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--cream-dark);padding-top:var(--space-md)}.messages-page .reply-count,.messages-page .member-count{display:flex;align-items:center;gap:var(--space-xs);color:var(--coral);font-weight:700;font-size:14px}.messages-page .attachment-badge{background-color:var(--peach-light);color:#e07a5f;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.messages-page .avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;flex-shrink:0;box-shadow:0 4px 8px #0000001a}.messages-page .avatar.gradient-coral{background:linear-gradient(135deg,var(--coral),var(--coral-light))}.messages-page .avatar.gradient-sage{background:linear-gradient(135deg,var(--sage),var(--sage-light))}.messages-page .avatar.gradient-purple{background:linear-gradient(135deg,var(--purple-ai),var(--purple-ai-light))}.messages-page .avatar.gradient-peach{background:linear-gradient(135deg,#EFA48B,var(--peach))}.messages-page .avatar.gradient-coral-light{background:linear-gradient(135deg,var(--coral-light),var(--peach))}.messages-page .message-item{display:flex;gap:var(--space-md);align-items:flex-start;padding:var(--space-lg)}.messages-page .message-content{flex:1;min-width:0}.messages-page .row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.messages-page .row-top h3{font-size:16px;font-weight:800;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%;margin:0}.messages-page .row-top .time{font-size:12px;color:var(--text-light);font-weight:600;flex-shrink:0}.messages-page .message-item .preview{font-size:14px;color:var(--text-medium);margin-bottom:var(--space-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-page .row-bottom{display:flex;justify-content:space-between;align-items:center}.messages-page .sender-name{font-size:13px;color:var(--text-light);font-weight:600}.messages-page .count-badge{background-color:var(--coral);color:#fff;font-size:12px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px}.messages-page .message-item.unread{background-color:#fffbf9;border:1px solid var(--peach-light)}.messages-page .message-item.unread .row-top h3{color:var(--text-dark)}.messages-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center}.messages-page .empty-icon{font-size:48px;margin-bottom:var(--space-lg)}.messages-page .empty-state h3{font-size:18px;font-weight:700;color:var(--text-dark);margin:0;margin-bottom:var(--space-sm)}.messages-page .empty-state p{font-size:14px;color:var(--text-medium);margin:0}.messages-page .loading-state{display:flex;justify-content:center;align-items:center;padding:var(--space-xxl)}.messages-page .loading-spinner{width:32px;height:32px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:messages-spin 1s linear infinite}@keyframes messages-spin{to{transform:rotate(360deg)}}.messages-page .bottom-spacer{height:80px}.messages-page .filter-overlay{position:fixed;inset:0;background-color:#0006;z-index:100;display:flex;align-items:flex-end;justify-content:center}.messages-page .filter-sheet{background-color:var(--white);border-radius:24px 24px 0 0;width:100%;max-width:500px;padding:var(--space-xxl);padding-bottom:calc(var(--space-xxl) + env(safe-area-inset-bottom,20px))}.messages-page .filter-sheet h3{font-size:20px;font-weight:800;color:var(--text-dark);margin:0;margin-bottom:var(--space-lg);text-align:center}.messages-page .filter-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--space-sm);background-color:var(--cream);border:2px solid transparent;transition:all .2s}.messages-page .filter-option:active{transform:scale(.98)}.messages-page .filter-option.active{border-color:var(--coral);background-color:var(--peach-light)}.messages-page .filter-option span{font-weight:700;color:var(--text-dark)}.messages-page .filter-check{color:var(--coral);font-size:20px}.conversation-page{--background: var(--cream);--ion-background-color: var(--cream);--msg-primary: var(--coral);--msg-primary-light: var(--coral-light);--msg-shadow: rgba(255, 138, 122, .3)}.conversation-page[data-theme=parent]{--msg-primary: var(--pink);--msg-primary-light: var(--pink-dark);--msg-shadow: rgba(139, 126, 200, .3)}.conversation-page[data-theme=teacher]{--msg-primary: var(--orange);--msg-primary-light: var(--orange-lighter);--msg-shadow: rgba(232, 168, 56, .3)}.conversation-content{--background: var(--cream);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.conversation-content::part(scroll){padding:0!important}.conversation-page .conversation-container{display:flex;flex-direction:column;height:100%;max-width:100%;background-color:var(--cream);position:relative;overflow:hidden}.conversation-page .header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-lg) var(--space-md);background:var(--cream);border-bottom:1px solid var(--border-warm, var(--cream-dark));position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .04))}.conversation-page .back-btn,.conversation-page .options-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;position:relative;z-index:1;border:none;background:#fff;border-radius:var(--radius-full);color:var(--msg-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.conversation-page .back-btn:hover,.conversation-page .options-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000014}.conversation-page .header-info{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:calc(100% - 120px);min-width:0;padding:0 var(--space-md);pointer-events:none}.conversation-page .header-title{font-size:18px;font-weight:800;color:var(--text-dark);margin:0;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px}.conversation-page .header-subtitle{font-size:13px;color:var(--text-light);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-page .chat-container{flex:1;overflow-y:auto;padding:0 0 var(--space-lg) 0;position:relative;display:flex;flex-direction:column}.conversation-page .pinned-section{background:linear-gradient(135deg,#fff9e6,#fff3cd);border-bottom:2px solid var(--pinned-yellow-border);padding:var(--space-md) var(--space-lg);flex-shrink:0}.conversation-page .pinned-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.conversation-page .pin-icon{color:var(--alert-orange)}.conversation-page .pinned-label{font-size:12px;font-weight:700;color:var(--alert-orange);text-transform:uppercase;letter-spacing:.5px;flex:1}.conversation-page .pinned-collapse{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-light);cursor:pointer;border-radius:var(--radius-full);transition:all .2s ease}.conversation-page .pinned-collapse:hover{background:#ffb34733;color:var(--alert-orange)}.conversation-page .pinned-messages-list{display:flex;flex-direction:column;gap:var(--space-sm)}.conversation-page .pinned-message-card{display:flex;align-items:flex-start;gap:var(--space-md);background:#fff;padding:var(--space-md);border-radius:var(--radius-md);box-shadow:0 2px 8px #ffb34726;cursor:pointer;transition:transform .2s ease}.conversation-page .pinned-message-card:hover{transform:translateY(-1px)}.conversation-page .pinned-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--msg-primary) 0%,var(--msg-primary-light) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.conversation-page .pinned-avatar.sage{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%)}.conversation-page .pinned-avatar.peach{background:linear-gradient(135deg,var(--peach) 0%,var(--peach-light) 100%)}.conversation-page .pinned-avatar.purple{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.conversation-page .pinned-avatar span{font-size:12px;font-weight:700;color:#fff}.conversation-page .pinned-content{flex:1;min-width:0}.conversation-page .pinned-sender{font-size:13px;font-weight:700;color:var(--text-dark);display:block;margin-bottom:2px}.conversation-page .pinned-text{font-size:13px;color:var(--text-medium);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-page .pinned-time{font-size:11px;color:var(--text-light);flex-shrink:0}.conversation-page .messages-wrapper{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;min-height:0}.conversation-page .messages-loading,.conversation-page .messages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-xxl)}.conversation-page .messages-empty .empty-icon{font-size:48px;margin-bottom:var(--space-lg)}.conversation-page .messages-empty p{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm) 0}.conversation-page .messages-empty span{font-size:14px;color:var(--text-light)}.conversation-page .load-more-indicator{display:flex;justify-content:center;padding:var(--space-md)}.conversation-page .date-separator{display:flex;align-items:center;justify-content:center;margin:var(--space-md) 0}.conversation-page .date-separator span{font-size:13px;font-weight:600;color:var(--text-light);background:#fff;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000a}.conversation-page .message{display:flex;flex-direction:row;gap:var(--space-sm);max-width:85%}.conversation-page .message.incoming{align-self:flex-start}.conversation-page .message.outgoing{align-self:flex-end;flex-direction:row-reverse}.conversation-page .message-avatar{width:38px;height:38px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--msg-primary) 0%,var(--msg-primary-light) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;box-shadow:0 2px 8px var(--msg-shadow)}.conversation-page .message-avatar.sage{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);box-shadow:0 2px 8px #7db59a4d}.conversation-page .message-avatar.peach{background:linear-gradient(135deg,var(--peach) 0%,var(--peach-light) 100%);box-shadow:0 2px 8px #ffcdb24d}.conversation-page .message-avatar.purple{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%);box-shadow:0 2px 8px #8b7ec84d}.conversation-page .message-avatar span{font-size:13px;font-weight:800;color:#fff}.conversation-page .message-content{display:flex;flex-direction:column;gap:var(--space-xs)}.conversation-page .message-sender{font-size:13px;font-weight:700;color:var(--text-medium);padding-left:var(--space-xs);letter-spacing:-.2px}.conversation-page .message-bubble{max-width:none;padding:14px 18px;border-radius:20px;position:relative}.conversation-page .message.incoming .message-bubble{background:#fff;border-bottom-left-radius:4px;box-shadow:0 2px 12px #3d3d3d0d}.conversation-page .message.outgoing .message-bubble{background:linear-gradient(135deg,var(--msg-primary) 0%,var(--msg-primary-light) 100%);border-bottom-right-radius:4px;box-shadow:0 4px 12px var(--msg-shadow)}.conversation-page .message.outgoing .message-bubble p{color:#fff}.conversation-page .message-bubble p{margin:0;font-size:15px;line-height:1.5;color:var(--text-dark);word-wrap:break-word;font-weight:500}.conversation-page .message-attachments{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm)}.conversation-page .message-time{font-size:12px;color:var(--text-light);padding-left:var(--space-xs);font-weight:600}.conversation-page .message.outgoing .message-time{text-align:right;padding-right:var(--space-xs);padding-left:0}.conversation-page .message-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.conversation-page .read-receipt{display:flex;align-items:center}.conversation-page .read-receipt svg{width:15px;height:15px}.conversation-page .read-receipt.delivered svg{color:var(--text-light)}.conversation-page .read-receipt.read svg{color:var(--sage)}.conversation-page .attachment-card{display:flex;align-items:center;gap:var(--space-md);background:var(--cream);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--cream-dark)}.conversation-page .attachment-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--msg-primary-light) 0%,var(--peach-light) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.conversation-page .attachment-icon svg{color:var(--msg-primary)}.conversation-page .attachment-info{flex:1;min-width:0}.conversation-page .attachment-name{display:block;font-size:14px;font-weight:700;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-page .attachment-size{font-size:12px;color:var(--text-light);font-weight:600}.conversation-page .attachment-download{width:36px;height:36px;border:none;background:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--msg-primary);box-shadow:0 2px 8px var(--msg-shadow);transition:all .2s ease}.conversation-page .attachment-download:hover{background:var(--msg-primary);color:#fff;transform:scale(1.1)}.conversation-page .scroll-to-bottom{position:absolute;bottom:90px;right:var(--space-lg);width:48px;height:48px;border-radius:var(--radius-full);background:#fff;border:none;box-shadow:0 4px 16px #3d3d3d26;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--msg-primary);transition:all .2s ease;z-index:50}.conversation-page .scroll-to-bottom:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3d3d3d33}.conversation-page .unread-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--msg-primary) 0%,var(--msg-primary-light) 100%);font-size:12px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 var(--space-xs);box-shadow:0 2px 8px var(--msg-shadow)}.conversation-page .input-area-container{position:sticky;bottom:0;left:0;right:0;background:var(--cream);z-index:100;padding:0 var(--space-lg) var(--space-lg)}.conversation-page .input-area{position:static;display:flex;align-items:center;gap:var(--space-md);padding:6px;background:#fff;border-radius:28px;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border-warm, var(--cream-dark))}.conversation-page .attachment-btn{width:44px;height:44px;border:none;background:transparent;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-light);transition:all .2s ease;flex-shrink:0}.conversation-page .attachment-btn:hover:not(:disabled){background:var(--cream);color:var(--msg-primary)}.conversation-page .attachment-btn:disabled{opacity:.5;cursor:not-allowed}.conversation-page .input-wrapper{flex:1}.conversation-page .message-input{width:100%;height:44px;padding:0 var(--space-xs);border:none;background:transparent;font-family:Nunito,sans-serif;font-size:15px;font-weight:500;color:var(--text-dark);outline:none}.conversation-page .message-input::placeholder{color:var(--text-light);font-weight:500}.conversation-page .message-input:disabled{opacity:.7}.conversation-page .send-btn{width:44px;height:44px;border:none;background:linear-gradient(135deg,var(--msg-primary) 0%,var(--msg-primary-light) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease;flex-shrink:0;box-shadow:0 4px 12px var(--msg-shadow)}.conversation-page .send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px var(--msg-shadow)}.conversation-page .send-btn:active:not(:disabled){transform:scale(.95)}.conversation-page .send-btn:disabled,.conversation-page .send-btn.disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--text-light);box-shadow:none}.conversation-page .send-icon{margin-left:-2px;margin-top:2px}.conversation-page .loading-spinner{width:32px;height:32px;border:3px solid var(--cream-dark);border-top-color:var(--msg-primary);border-radius:var(--radius-full);animation:conv-spin 1s linear infinite}.conversation-page .loading-spinner.small{width:16px;height:16px;border-width:2px}.conversation-page .loading-spinner.white{border-color:#ffffff4d;border-top-color:#fff}@keyframes conv-spin{to{transform:rotate(360deg)}}.conversation-page .attachments-preview-area{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-md);margin-bottom:var(--space-sm);background:#fff;border-radius:16px;border:1px solid var(--border-warm, var(--cream-dark));max-height:200px;overflow-y:auto;box-shadow:0 4px 16px #0000000a}.conversation-page .chat-container::-webkit-scrollbar,.conversation-page .messages-wrapper::-webkit-scrollbar{width:6px}.conversation-page .chat-container::-webkit-scrollbar-track,.conversation-page .messages-wrapper::-webkit-scrollbar-track{background:transparent}.conversation-page .chat-container::-webkit-scrollbar-thumb,.conversation-page .messages-wrapper::-webkit-scrollbar-thumb{background:var(--cream-dark);border-radius:3px}.conversation-page .chat-container::-webkit-scrollbar-thumb:hover,.conversation-page .messages-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.conversation-page .reply-preview-bubble{background:#0000000f;border-left:3px solid var(--msg-primary);border-radius:6px;padding:6px 10px;margin-bottom:6px;max-width:100%}.conversation-page .message.outgoing .reply-preview-bubble{background:#fff3;border-left-color:#fff9}.conversation-page .reply-preview-sender{font-size:12px;font-weight:700;color:var(--msg-primary);display:block;margin-bottom:2px}.conversation-page .message.outgoing .reply-preview-sender{color:#ffffffd9}.conversation-page .reply-preview-text{font-size:13px;color:var(--text-medium);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.conversation-page .message.outgoing .reply-preview-text{color:#ffffffb3}.conversation-page .edited-label{font-size:11px;color:var(--text-light);font-style:italic;font-weight:500}.conversation-page .message-meta-incoming{display:flex;align-items:center;gap:var(--space-xs);padding-left:var(--space-xs)}.conversation-page .deleted-bubble{opacity:.6;border:1px dashed var(--cream-dark)}.conversation-page .deleted-bubble .deleted-text{font-style:italic;color:var(--text-light)!important;font-size:14px}.conversation-page .reply-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#fff;border-radius:12px 12px 0 0;border-bottom:1px solid var(--border-warm, var(--cream-dark));margin-bottom:-1px}.conversation-page .reply-bar.edit-bar{border-left:3px solid var(--sage)}.conversation-page .reply-bar-icon{color:var(--msg-primary);flex-shrink:0}.conversation-page .edit-bar .reply-bar-icon{color:var(--sage)}.conversation-page .reply-bar-content{flex:1;min-width:0}.conversation-page .reply-bar-sender{font-size:12px;font-weight:700;color:var(--msg-primary);display:block}.conversation-page .edit-bar .reply-bar-sender{color:var(--sage)}.conversation-page .reply-bar-text{font-size:13px;color:var(--text-medium);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-page .reply-bar-close{width:28px;height:28px;border:none;background:var(--cream);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-light);flex-shrink:0;transition:all .2s ease}.conversation-page .reply-bar-close:hover{background:var(--cream-dark);color:var(--text-dark)}.conversation-page .action-sheet-overlay{position:fixed;inset:0;background:#0000004d;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}.conversation-page .action-sheet{width:100%;max-width:500px;background:#fff;border-radius:16px 16px 0 0;padding:var(--space-sm) 0 var(--space-xl);animation:slideUp .2s ease}.conversation-page .action-sheet-handle{width:36px;height:4px;background:var(--cream-dark);border-radius:2px;margin:0 auto var(--space-md)}.conversation-page .action-sheet-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:14px var(--space-xl);border:none;background:none;font-family:Nunito,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark);cursor:pointer;transition:background .15s ease}.conversation-page .action-sheet-item:hover{background:var(--cream)}.conversation-page .action-sheet-item.danger{color:#e74c3c}.conversation-page .action-sheet-item svg{color:var(--text-medium)}.conversation-page .action-sheet-item.danger svg{color:#e74c3c}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:375px){.conversation-page .message{max-width:90%}.conversation-page .header-title{font-size:16px}.conversation-page .message-bubble{padding:12px 16px}}.homework-page{--radius-pill: 999px;--math-color: #5b8def;--physics-color: #6dd5c7;--turkish-color: #b088f9;--history-color: #f5a962;--chemistry-color: #ff7eb6;--english-color: #7ec8e3;--biology-color: #66bb6a;--geography-color: #8d6e63;background-color:var(--cream);font-family:Nunito,system-ui,sans-serif;color:var(--text-dark)}.homework-page ion-content{--background: var(--cream)}.homework-header{padding:var(--space-xl) var(--space-lg) var(--space-md);background:linear-gradient(180deg,#ffffff 0%,var(--cream) 100%);position:sticky;top:0;z-index:100}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.page-title{font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:var(--text-dark);margin:0}.icon-btn{width:44px;height:44px;border-radius:var(--radius-full);border:none;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #ff8a7a26;cursor:pointer;position:relative;color:var(--text-dark);transition:transform .2s ease,box-shadow .2s ease}.icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #ff8a7a33}.notification-badge{position:absolute;top:6px;right:6px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.motivation-card{background:#fff;border-radius:12px;padding:var(--space-lg);border:1px solid rgba(61,61,61,.1);box-shadow:0 2px 8px #0000000a;margin-bottom:var(--space-lg)}.motivation-text{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.motivation-emoji{font-size:24px}.motivation-text p{font-size:14px;color:var(--text-medium);margin:0}.motivation-text strong{color:var(--text-dark);font-weight:700}.progress-bar-container{background:var(--cream-dark);border-radius:var(--radius-pill);height:24px;overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--coral) 0%,var(--peach) 100%);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:flex-end;padding-right:var(--space-md);transition:width .5s ease-out}.progress-text{font-size:12px;font-weight:700;color:#fff}.filter-tabs{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:var(--space-sm) var(--space-lg);border-radius:4px;border:1px solid rgba(61,61,61,.1);background:#fff;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium);cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.filter-tab:hover{background:var(--peach-light);color:var(--text-dark)}.filter-tab.active{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ff8a7a4d}.filter-tab.has-alert{position:relative}.filter-tab.has-alert:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;background:var(--alert-red);border-radius:var(--radius-full)}.homework-main{padding:var(--space-md) var(--space-lg)}.stats-section{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl)}.stat-card{background:#fff;border-radius:8px;padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);border:1px solid rgba(61,61,61,.1);box-shadow:0 2px 8px #0000000a;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.stat-icon svg{stroke:#fff;fill:none}.stat-today .stat-icon{background:linear-gradient(135deg,var(--alert-orange) 0%,#ffd699 100%)}.stat-week .stat-icon{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%)}.stat-overdue .stat-icon{background:linear-gradient(135deg,var(--alert-red) 0%,#ff9999 100%)}.stat-rate .stat-icon{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.stat-info{display:flex;flex-direction:column;align-items:center}.stat-value{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark)}.stat-label{font-size:10px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.homework-list{display:flex;flex-direction:column;gap:var(--space-lg);padding-bottom:var(--space-xl)}.homework-card{background:#fff;border-radius:12px;padding:var(--space-lg);border:1px solid rgba(61,61,61,.12);box-shadow:0 2px 8px #0000000a;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}.homework-card:hover{transform:translateY(-2px);border-color:#ff8a7a4d;box-shadow:0 4px 16px #ff8a7a1f}.homework-card.overdue{border:1px solid var(--alert-red);border-left:4px solid var(--alert-red);background:linear-gradient(90deg,#ff6b6b0d,#fff 20%)}.homework-card.completed{opacity:.85;border-color:#7db59a4d}.completed-check{position:absolute;top:var(--space-lg);right:var(--space-lg);width:40px;height:40px;background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #7db59a4d}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.subject-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.subject-badge.math{background:#5b8def26;color:var(--math-color)}.subject-badge.physics{background:#6dd5c726;color:#5bc4b0}.subject-badge.turkish{background:#b088f926;color:var(--turkish-color)}.subject-badge.history{background:#f5a96226;color:var(--history-color)}.subject-badge.chemistry{background:#ff7eb626;color:var(--chemistry-color)}.subject-badge.english{background:#7ec8e326;color:#5bb5d1}.subject-badge.biology{background:#66bb6a26;color:var(--biology-color)}.subject-badge.geography{background:#8d6e6326;color:var(--geography-color)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:4px;font-size:11px;font-weight:700}.status-todo{background:#5b8def26;color:var(--math-color)}.status-progress{background:#ffb34726;color:var(--alert-orange)}.status-done{background:#7db59a26;color:var(--sage)}.status-overdue{background:#ff6b6b26;color:var(--alert-red)}.pulse-dot{width:6px;height:6px;background:var(--alert-red);border-radius:var(--radius-full);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.homework-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm) 0;line-height:1.4}.teacher-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.teacher-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.teacher-avatar.coral{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%)}.teacher-avatar.purple{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.teacher-avatar.sage{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%)}.teacher-avatar.peach{background:linear-gradient(135deg,var(--peach) 0%,var(--coral-light) 100%)}.teacher-name{font-size:13px;color:var(--text-medium);font-weight:500}.homework-desc{font-size:13px;color:var(--text-medium);line-height:1.6;margin:0 0 var(--space-md) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.read-more{background:none;border:none;color:var(--coral);font-weight:600;font-size:13px;cursor:pointer;padding:0;margin-left:var(--space-xs)}.read-more:hover{text-decoration:underline}.attachment-row{display:flex;align-items:center;gap:var(--space-sm);font-size:12px;color:var(--text-light);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--cream);border-radius:var(--radius-sm);width:fit-content}.submission-status{margin-bottom:var(--space-md)}.submission-bar{height:6px;background:var(--cream-dark);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:var(--space-xs)}.submission-fill{height:100%;background:linear-gradient(90deg,var(--sage) 0%,var(--sage-light) 100%);border-radius:var(--radius-pill);transition:width .3s ease}.submission-text{font-size:11px;color:var(--text-light);font-weight:500}.feedback-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--purple-ai-light) 0%,rgba(196,187,232,.5) 100%);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--purple-ai);margin-bottom:var(--space-md)}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-md);border-top:1px solid rgba(61,61,61,.1)}.due-info{display:flex;align-items:center;gap:var(--space-xs);font-size:12px;font-weight:600}.overdue-text{color:var(--alert-red)}.due-soon,.due-week{color:var(--alert-orange)}.due-future{color:var(--text-light)}.completed-info{color:var(--sage)}.action-btn{padding:var(--space-sm) var(--space-lg);border-radius:8px;border:none;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.btn-primary:hover{transform:scale(1.05);box-shadow:0 6px 16px #ff8a7a66}.btn-secondary{background:linear-gradient(135deg,var(--peach) 0%,var(--peach-light) 100%);color:var(--text-dark);box-shadow:0 4px 12px #ffcdb24d}.btn-secondary:hover{transform:scale(1.05);box-shadow:0 6px 16px #ffcdb266}.btn-urgent{background:linear-gradient(135deg,var(--alert-red) 0%,#ff9999 100%);color:#fff;box-shadow:0 4px 12px #ff6b6b4d;animation:urgentPulse 2s infinite}@keyframes urgentPulse{0%,to{box-shadow:0 4px 12px #ff6b6b4d}50%{box-shadow:0 4px 20px #ff6b6b80}}.btn-urgent:hover{transform:scale(1.05)}.btn-muted{background:var(--cream-dark);color:var(--text-medium)}.btn-muted:hover{background:var(--cream);color:var(--text-dark)}.fab-ai{position:fixed;bottom:100px;right:20px;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%);color:#fff;border:none;border-radius:var(--radius-pill);font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 24px #8b7ec866;transition:all .2s ease;z-index:100}.fab-ai:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 8px 30px #8b7ec880}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center}.empty-icon{font-size:48px;margin-bottom:var(--space-lg)}.empty-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm) 0}.empty-desc{font-size:14px;color:var(--text-medium);margin:0}.bottom-spacer{height:80px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center;min-height:200px}.loading-state ion-spinner{--color: var(--coral);width:48px;height:48px;margin-bottom:var(--space-lg)}.loading-state p{font-size:14px;color:var(--text-medium);margin:0}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center;min-height:200px}.error-state .error-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--alert-red) 0%,#ff9999 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;margin-bottom:var(--space-lg)}.error-state p{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-lg) 0}.retry-btn{padding:var(--space-sm) var(--space-xl);border-radius:8px;border:none;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #ff8a7a4d;transition:all .2s ease}.retry-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #ff8a7a66}@media(max-width:375px){.stats-section{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.filter-tabs{gap:var(--space-xs)}.filter-tab{padding:var(--space-sm) var(--space-md);font-size:12px}}.homework-details-page ion-content{--background: var(--cream)}.homework-details-page .header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--cream) 0%,var(--peach-light) 100%);position:sticky;top:0;z-index:100}.homework-details-page .back-button{display:flex;align-items:center;gap:var(--space-sm);background:#fff;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-xl);color:var(--text-dark);font-family:Nunito,sans-serif;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .back-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #ff8a7a40}.homework-details-page .back-button svg{color:var(--coral)}.homework-details-page .notification-btn{position:relative;background:#fff;border:none;width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease}.homework-details-page .notification-btn:hover{transform:scale(1.05)}.homework-details-page .notification-btn svg{color:var(--text-dark)}.homework-details-page .notification-badge{position:absolute;top:-2px;right:-2px;background:var(--coral);color:#fff;font-size:11px;font-weight:700;width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.homework-details-page .main-content{flex:1;padding:var(--space-lg);padding-bottom:100px;display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.homework-details-page .assignment-header-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:0 4px 16px #ff8a7a1f}.homework-details-page .subject-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xl);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.homework-details-page .subject-badge.math{background:linear-gradient(135deg,#e8f4fd,#d1e9fb);color:#2e7db3}.homework-details-page .subject-badge.math svg{fill:#2e7db3}.homework-details-page .subject-badge.physics{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:#00796b}.homework-details-page .subject-badge.physics svg{fill:#00796b}.homework-details-page .subject-badge.turkish{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2}.homework-details-page .subject-badge.turkish svg{fill:#7b1fa2}.homework-details-page .subject-badge.history{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.homework-details-page .subject-badge.history svg{fill:#e65100}.homework-details-page .subject-badge.chemistry{background:linear-gradient(135deg,#fce4ec,#f8bbd9);color:#c2185b}.homework-details-page .subject-badge.chemistry svg{fill:#c2185b}.homework-details-page .subject-badge.english{background:linear-gradient(135deg,#e8eaf6,#c5cae9);color:#303f9f}.homework-details-page .subject-badge.english svg{fill:#303f9f}.homework-details-page .subject-badge.biology{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#388e3c}.homework-details-page .subject-badge.biology svg{fill:#388e3c}.homework-details-page .subject-badge.geography{background:linear-gradient(135deg,#fbe9e7,#ffccbc);color:#d84315}.homework-details-page .subject-badge.geography svg{fill:#d84315}.homework-details-page .assignment-title{font-size:20px;font-weight:700;color:var(--text-dark);line-height:1.3;margin-bottom:var(--space-lg)}.homework-details-page .teacher-info{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.homework-details-page .teacher-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--coral) 0%,var(--peach) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.homework-details-page .teacher-name{font-size:14px;font-weight:600;color:var(--text-medium)}.homework-details-page .status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xl);font-size:12px;font-weight:600}.homework-details-page .status-badge.status-not-started{background:var(--cream-dark);color:var(--text-medium)}.homework-details-page .status-badge.status-not-started svg{fill:var(--text-light)}.homework-details-page .status-badge.status-in-progress{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#e65100}.homework-details-page .status-badge.status-in-progress svg{fill:#e65100}.homework-details-page .status-badge.status-submitted{background:var(--sage-light);color:#4a7c5f}.homework-details-page .status-badge.status-submitted svg{fill:#4a7c5f}.homework-details-page .status-badge.status-reviewed{background:linear-gradient(135deg,#e8f4fd,#d1e9fb);color:#2e7db3}.homework-details-page .status-badge.status-reviewed svg{fill:#2e7db3}.homework-details-page .deadline-card{display:flex;align-items:center;gap:var(--space-md);background:#fff;border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:0 4px 16px #ff8a7a1f}.homework-details-page .deadline-card.urgent{border:2px solid var(--alert-orange);background:linear-gradient(135deg,#fff,#fff8f0)}.homework-details-page .deadline-card.overdue{border:2px solid var(--alert-red);background:linear-gradient(135deg,#fff,#fff0f0)}.homework-details-page .deadline-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);color:#fff}.homework-details-page .deadline-card.urgent .deadline-icon{background:linear-gradient(135deg,var(--alert-orange) 0%,#FFD699 100%);color:#fff}.homework-details-page .deadline-card.overdue .deadline-icon{background:linear-gradient(135deg,var(--alert-red) 0%,#FFA5A5 100%);color:#fff}.homework-details-page .deadline-info{flex:1;display:flex;flex-direction:column}.homework-details-page .deadline-label{font-size:16px;font-weight:700;color:var(--text-dark)}.homework-details-page .deadline-card.urgent .deadline-label{color:#d97706}.homework-details-page .deadline-card.overdue .deadline-label{color:#dc2626}.homework-details-page .deadline-time{font-size:14px;color:var(--text-medium);font-weight:500}.homework-details-page .deadline-countdown{display:flex;flex-direction:column;align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#7db59a26}.homework-details-page .deadline-card.urgent .deadline-countdown{background:#ffb34726}.homework-details-page .deadline-card.overdue .deadline-countdown{background:#ff6b6b26}.homework-details-page .countdown-number{font-size:24px;font-weight:700;color:var(--sage);line-height:1}.homework-details-page .deadline-card.urgent .countdown-number{color:#d97706}.homework-details-page .deadline-card.overdue .countdown-number{color:#dc2626}.homework-details-page .countdown-unit{font-size:10px;color:var(--sage);font-weight:600;text-transform:uppercase}.homework-details-page .deadline-card.urgent .countdown-unit{color:#d97706}.homework-details-page .deadline-card.overdue .countdown-unit{color:#dc2626}.homework-details-page .class-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--sage-light);border-radius:var(--radius-xl);color:#4a7c5f;font-size:13px;font-weight:600}.homework-details-page .class-progress svg{color:#4a7c5f}.homework-details-page .details-card,.homework-details-page .attachments-card,.homework-details-page .submission-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:0 4px 16px #ff8a7a1f}.homework-details-page .section-header{display:flex;align-items:center;gap:var(--space-sm);font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-lg)}.homework-details-page .section-header svg{color:var(--coral)}.homework-details-page .assignment-description{font-size:14px;color:var(--text-medium);line-height:1.7;margin-bottom:var(--space-lg)}.homework-details-page .points-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,#fff8e6,#ffefc2);border-radius:var(--radius-xl);color:#b8860b;font-size:13px;font-weight:700;margin-bottom:var(--space-lg)}.homework-details-page .points-badge svg{fill:gold}.homework-details-page .topics-section{display:flex;flex-direction:column;gap:var(--space-sm)}.homework-details-page .topics-label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.homework-details-page .topics-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.homework-details-page .topic-pill{padding:var(--space-xs) var(--space-md);background:var(--peach-light);border-radius:var(--radius-xl);font-size:12px;font-weight:600;color:var(--coral)}.homework-details-page .files-grid{display:flex;flex-direction:column;gap:var(--space-md)}.homework-details-page .file-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--cream);border-radius:var(--radius-md);transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .file-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff8a7a26}.homework-details-page .file-icon{position:relative;width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.homework-details-page .file-icon.pdf{background:#ff6b6b;color:#fff}.homework-details-page .file-icon.doc{background:#2e7db3;color:#fff}.homework-details-page .file-icon.image{background:#7db59a;color:#fff}.homework-details-page .file-type{position:absolute;bottom:-4px;right:-4px;background:#fff;padding:2px 6px;border-radius:var(--radius-sm);font-size:8px;font-weight:700;color:inherit;box-shadow:0 2px 4px #0000001a}.homework-details-page .file-icon.pdf .file-type{color:#ff6b6b}.homework-details-page .file-icon.doc .file-type{color:#2e7db3}.homework-details-page .file-icon.image .file-type{color:#7db59a}.homework-details-page .file-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.homework-details-page .file-name{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homework-details-page .file-size{font-size:12px;color:var(--text-light)}.homework-details-page .download-btn{width:40px;height:40px;border-radius:var(--radius-full);background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .download-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000001f}.homework-details-page .download-btn svg{color:var(--sage)}.homework-details-page .delete-btn{width:40px;height:40px;border-radius:var(--radius-full);background:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .delete-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000001f}.homework-details-page .delete-btn svg{color:var(--alert-red)}.homework-details-page .upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);border:2px dashed var(--coral-light);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--cream) 0%,var(--peach-light) 50%,var(--cream) 100%);margin-bottom:var(--space-lg);transition:border-color .2s ease,background .2s ease;cursor:pointer}.homework-details-page .upload-zone:hover{border-color:var(--coral);background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 50%,var(--peach-light) 100%)}.homework-details-page .upload-icon{width:64px;height:64px;border-radius:var(--radius-full);background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);box-shadow:0 4px 16px #ff8a7a33}.homework-details-page .upload-icon svg{color:var(--coral)}.homework-details-page .upload-text{font-size:15px;font-weight:600;color:var(--text-dark);margin-bottom:var(--space-xs)}.homework-details-page .upload-subtext{font-size:12px;color:var(--text-light)}.homework-details-page .upload-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.homework-details-page .btn-primary,.homework-details-page .btn-secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .btn-primary{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a59}.homework-details-page .btn-primary:hover{transform:scale(1.02);box-shadow:0 6px 16px #ff8a7a73}.homework-details-page .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.homework-details-page .btn-secondary{background:#fff;color:var(--text-dark);border:2px solid var(--cream-dark)}.homework-details-page .btn-secondary:hover{transform:scale(1.02);border-color:var(--coral-light)}.homework-details-page .btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.homework-details-page .note-section{margin-bottom:var(--space-lg)}.homework-details-page .note-label{display:block;font-size:13px;font-weight:600;color:var(--text-medium);margin-bottom:var(--space-sm)}.homework-details-page .note-textarea{width:100%;min-height:80px;padding:var(--space-md);border:2px solid var(--cream-dark);border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:14px;color:var(--text-dark);background:var(--cream);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;border-bottom:2px solid var(--cream-dark)!important}.homework-details-page .note-textarea:focus{outline:none;border-color:var(--coral-light);box-shadow:0 0 0 4px #ff8a7a1a;border-bottom:2px solid var(--coral-light)!important}.homework-details-page .note-textarea::placeholder{color:var(--text-light)}.homework-details-page .submit-actions{display:flex;flex-direction:column;gap:var(--space-md)}.homework-details-page .btn-submit{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg,var(--coral) 0%,#FF6B6B 100%);color:#fff;border:none;border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #ff8a7a66;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff8a7a80}.homework-details-page .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.homework-details-page .btn-draft{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:transparent;color:var(--text-medium);border:none;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:color .2s ease}.homework-details-page .btn-draft:hover{color:var(--coral)}.homework-details-page .btn-draft:disabled{opacity:.6;cursor:not-allowed}.homework-details-page .uploaded-files{margin-bottom:var(--space-lg)}.homework-details-page .uploaded-files-header{font-size:13px;font-weight:600;color:var(--text-medium);margin-bottom:var(--space-sm)}.homework-details-page .upload-progress-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--cream);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.homework-details-page .upload-progress-info{flex:1;min-width:0}.homework-details-page .upload-progress-name{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homework-details-page .upload-progress-bar{height:4px;background:var(--cream-dark);border-radius:2px;margin-top:var(--space-xs);overflow:hidden}.homework-details-page .upload-progress-fill{height:100%;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border-radius:2px;transition:width .3s ease}.homework-details-page .upload-progress-error{font-size:12px;color:var(--alert-red);margin-top:var(--space-xs)}.homework-details-page .ai-card{background:linear-gradient(135deg,var(--purple-ai-light) 0%,#E8E4F5 100%);border-radius:var(--radius-xl);padding:var(--space-xl);border:2px solid var(--purple-ai);box-shadow:0 4px 16px #8b7ec833}.homework-details-page .ai-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.homework-details-page .ai-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--purple-ai) 0%,#A599D9 100%);display:flex;align-items:center;justify-content:center;color:#fff}.homework-details-page .ai-title-group{display:flex;flex-direction:column}.homework-details-page .ai-title{font-size:16px;font-weight:700;color:var(--text-dark)}.homework-details-page .ai-subtitle{font-size:12px;color:var(--purple-ai);font-weight:600}.homework-details-page .ai-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.homework-details-page .ai-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:#fff;border:none;border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--purple-ai);cursor:pointer;box-shadow:0 2px 8px #8b7ec826;transition:transform .2s ease,box-shadow .2s ease}.homework-details-page .ai-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #8b7ec840}.homework-details-page .ai-btn svg{color:var(--purple-ai)}.homework-details-page .graded-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:0 4px 16px #ff8a7a1f;border:2px solid var(--sage)}.homework-details-page .graded-header{display:flex;align-items:center;gap:var(--space-sm);font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-lg)}.homework-details-page .graded-header svg{color:var(--sage)}.homework-details-page .score-display{display:flex;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-lg)}.homework-details-page .score-value{font-size:48px;font-weight:700;color:var(--sage);line-height:1}.homework-details-page .score-max{font-size:24px;color:var(--text-light);font-weight:600}.homework-details-page .feedback-section{background:var(--cream);border-radius:var(--radius-md);padding:var(--space-lg)}.homework-details-page .feedback-label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.homework-details-page .feedback-text{font-size:14px;color:var(--text-medium);line-height:1.7}.homework-details-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);min-height:200px}.homework-details-page .loading-spinner{width:48px;height:48px;border:4px solid var(--cream-dark);border-top-color:var(--coral);border-radius:var(--radius-full);animation:spin 1s linear infinite}.homework-details-page .loading-text{margin-top:var(--space-lg);font-size:14px;color:var(--text-medium);font-weight:600}.homework-details-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);min-height:200px;text-align:center}.homework-details-page .error-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--peach-light);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg)}.homework-details-page .error-icon svg{color:var(--alert-red)}.homework-details-page .error-text{font-size:14px;color:var(--text-medium);margin-bottom:var(--space-lg)}.homework-details-page .error-retry{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;border:none;border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #ff8a7a59}.homework-details-page .error-alert{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:linear-gradient(135deg,#fff0f0,#ffe5e5);border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--alert-red);font-size:13px;font-weight:600}.homework-details-page .error-alert svg{flex-shrink:0}@media(min-width:768px){.homework-details-page .files-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.homework-details-page .ai-buttons{gap:var(--space-md)}.homework-details-page .ai-btn{padding:var(--space-md) var(--space-lg);font-size:13px}}@media(min-width:1024px){.homework-details-page .main-content{padding:var(--space-xxl)}.homework-details-page .assignment-title{font-size:24px}.homework-details-page .section-header{font-size:18px}}.profile-page{--background: var(--cream);--ion-background-color: var(--cream)}.profile-page ion-content{--background: var(--cream)}.profile-page .profile-container{font-family:Nunito,DM Sans,system-ui,sans-serif;background:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;position:relative}.profile-page .profile-decorative-elements{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.profile-page .profile-sparkle{position:absolute;color:var(--coral-light);opacity:.3;font-size:14px;animation:profile-sparkle-float 6s ease-in-out infinite}.profile-page .profile-sparkle-1{top:15%;right:10%;animation-delay:0s}.profile-page .profile-sparkle-2{top:45%;left:5%;animation-delay:2s;color:var(--purple-ai-light)}.profile-page .profile-sparkle-3{top:70%;right:15%;animation-delay:4s;color:var(--sage-light)}.profile-page .profile-dot{position:absolute;width:8px;height:8px;border-radius:var(--radius-full);opacity:.2}.profile-page .profile-dot-1{background:var(--peach);top:25%;left:15%}.profile-page .profile-dot-2{background:var(--sage-light);top:55%;right:8%}.profile-page .profile-dot-3{background:var(--purple-ai-light);top:80%;left:20%}@keyframes profile-sparkle-float{0%,to{transform:translateY(0) rotate(0);opacity:.3}50%{transform:translateY(-10px) rotate(15deg);opacity:.5}}.profile-page .profile-content-scroll{position:relative;z-index:1;padding:var(--space-xl);padding-bottom:100px}.profile-page .profile-card{background:var(--white);border-radius:var(--radius-xl);padding:0 0 var(--space-xxl) 0;text-align:center;position:relative;box-shadow:0 8px 30px #0000000a;margin-bottom:var(--space-xl);overflow:hidden;display:flex;flex-direction:column;align-items:center;border:1px solid rgba(0,0,0,.02)}.profile-page .profile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(135deg,#ffe0eb,#e9d8fd,#e8f5e9);z-index:0}.profile-page .profile-edit-btn{position:absolute;top:var(--space-lg);right:var(--space-lg);width:36px;height:36px;border-radius:var(--radius-full);background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000000d;z-index:2;color:var(--text-dark);transition:all .2s ease}.profile-page .profile-edit-btn:hover{background:var(--white);transform:scale(1.05)}.profile-page .profile-edit-btn:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.profile-page .profile-edit-btn:active{transform:scale(.95)}.profile-page .profile-avatar-container{position:relative;margin-top:52px;margin-bottom:var(--space-md);z-index:1}.profile-page .profile-avatar-glow{display:none}.profile-page .profile-avatar{width:96px;height:96px;border-radius:var(--radius-full);background:var(--white);display:flex;align-items:center;justify-content:center;position:relative;border:4px solid var(--white);box-shadow:0 8px 24px #00000014}.profile-page .profile-avatar svg{color:var(--text-medium)}.profile-page .profile-avatar-initials{font-family:Poppins,sans-serif;font-size:32px;font-weight:600;background:linear-gradient(135deg,var(--purple-ai) 0%,var(--pink-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.profile-page .profile-student-name{font-family:Poppins,sans-serif;font-size:20px;font-weight:700;line-height:1.2;color:var(--text-dark);margin:0 0 var(--space-sm) 0;letter-spacing:-.01em;z-index:1;position:relative;padding:0 var(--space-sm)}.profile-page .profile-student-meta{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-sm);z-index:1;position:relative;flex-wrap:wrap}.profile-page .profile-meta-badge{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border-medium);padding:6px 14px;border-radius:24px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;color:var(--text-medium);box-shadow:0 2px 6px #00000005;transition:all .2s ease}.profile-page .profile-meta-badge:hover{background:var(--cream)}.profile-page .profile-meta-badge svg{color:var(--text-light)}.profile-page .profile-meta-value{letter-spacing:.01em}.profile-page .profile-stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-xxl)}.profile-page .profile-stat-card{position:relative;background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--space-md);box-shadow:var(--shadow-sm);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease}.profile-page .profile-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.profile-page .profile-stat-icon-wrapper{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-page .profile-stat-icon-wrapper.coral{background:var(--pink-softer);color:var(--pink-dark)}.profile-page .profile-stat-icon-wrapper.sage{background:var(--sage-soft);color:var(--sage-dark)}.profile-page .profile-stat-icon-wrapper.orange{background:var(--orange-soft);color:var(--orange-dark)}.profile-page .profile-stat-icon-wrapper.purple{background:var(--purple-soft);color:var(--purple-dark)}.profile-page .profile-stat-icon-wrapper svg{flex-shrink:0;width:22px;height:22px}.profile-page .profile-stat-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0}.profile-page .profile-stat-value{font-family:Poppins,system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.1;letter-spacing:-.01em;display:flex;flex-direction:row;align-items:center;gap:6px}.profile-page .profile-stat-value-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.profile-page .profile-trend{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full)}.profile-page .profile-trend.up{background:var(--success-bg);color:var(--success-text)}.profile-page .profile-trend.down{background:var(--danger-bg);color:var(--danger-text)}.profile-page .profile-stat-label{font-family:DM Sans,system-ui,sans-serif;font-size:13px;font-weight:500;color:var(--text-medium);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.profile-page .profile-menu-section{display:flex;flex-direction:column;gap:var(--space-xl)}.profile-page .profile-menu-group{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-page .profile-menu-group-label{font-family:Poppins,sans-serif;font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;padding:0 var(--space-xs);margin-bottom:var(--space-xs)}.profile-page .profile-menu-item{display:flex;align-items:center;gap:var(--space-md);background:#fff;border-radius:var(--radius-md);padding:var(--space-lg);text-decoration:none;color:inherit;box-shadow:0 4px 16px #0000000a;transition:all .3s cubic-bezier(.34,1.56,.64,1);min-height:68px;cursor:pointer;border:none;width:100%;text-align:left}.profile-page .profile-menu-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px #ff8a7a1f}.profile-page .profile-menu-item:focus{outline:2px solid var(--coral);outline-offset:2px}.profile-page .profile-menu-item:active{transform:scale(.98)}.profile-page .profile-menu-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-page .profile-menu-icon.coral{background:linear-gradient(135deg,var(--coral-light) 0%,var(--peach-light) 100%);color:#c96a5c}.profile-page .profile-menu-icon.yellow{background:linear-gradient(135deg,var(--pinned-yellow) 0%,#F0E6C8 100%);color:#a8923a}.profile-page .profile-menu-icon.sage{background:linear-gradient(135deg,var(--sage-light) 0%,#E8F5E9 100%);color:#5a9270}.profile-page .profile-menu-icon.peach{background:linear-gradient(135deg,var(--peach-light) 0%,var(--peach) 100%);color:#b08a6a}.profile-page .profile-menu-icon.purple{background:linear-gradient(135deg,var(--purple-ai-light) 0%,#E8E4F3 100%);color:#6b5eaa}.profile-page .profile-menu-icon.sage-light{background:linear-gradient(135deg,#E8F5E9 0%,var(--sage-light) 100%);color:#5a9270}.profile-page .profile-menu-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#3b82f6}.profile-page .profile-menu-icon.gray{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);color:#6b6b6b}.profile-page .profile-menu-icon.logout{background:linear-gradient(135deg,#f5e0e0,#e8d0d0);color:#a86060}.profile-page .profile-menu-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.profile-page .profile-menu-title{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark);line-height:1.3}.profile-page .profile-menu-subtitle{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-light);line-height:1.3}.profile-page .profile-badge-preview{display:flex;gap:var(--space-xs);margin-right:var(--space-xs)}.profile-page .profile-mini-badge{width:28px;height:28px;border-radius:var(--radius-full);background:var(--pinned-yellow);display:flex;align-items:center;justify-content:center;color:#b8924a;box-shadow:0 2px 8px #d4b86a4d;animation:profile-badge-shimmer 3s ease-in-out infinite}.profile-page .profile-mini-badge:nth-child(2){animation-delay:.5s}.profile-page .profile-mini-badge:nth-child(3){animation-delay:1s}@keyframes profile-badge-shimmer{0%,to{box-shadow:0 2px 8px #d4b86a4d}50%{box-shadow:0 4px 16px #d4b86a80}}.profile-page .profile-menu-arrow{color:var(--text-light);display:flex;align-items:center;flex-shrink:0;transition:transform .3s ease}.profile-page .profile-menu-item:hover .profile-menu-arrow{transform:translate(4px);color:var(--coral)}.profile-page .profile-menu-item.logout{border:1px solid rgba(255,107,107,.2);background:linear-gradient(135deg,#fff,#fdf8f8)}.profile-page .profile-menu-item.logout .profile-menu-title{color:var(--alert-red)}.profile-page .profile-menu-item.logout:hover{box-shadow:0 8px 24px #ff6b6b26;border-color:#ff6b6b4d}.profile-page .profile-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);min-height:300px}.profile-page .profile-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:profile-spin 1s linear infinite}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-page .profile-logout-overlay{position:fixed;inset:0;background-color:#0006;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.profile-page .profile-logout-modal{background-color:var(--white);border-radius:var(--radius-xl);width:100%;max-width:320px;padding:var(--space-xxl);text-align:center;box-shadow:0 20px 60px #00000026}.profile-page .profile-logout-modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);color:var(--coral)}.profile-page .profile-logout-modal h3{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm) 0}.profile-page .profile-logout-modal p{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-xl) 0}.profile-page .profile-logout-modal-buttons{display:flex;gap:var(--space-md)}.profile-page .profile-logout-modal-btn{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.profile-page .profile-logout-modal-btn.cancel{background-color:var(--cream-dark);color:var(--text-dark)}.profile-page .profile-logout-modal-btn.cancel:hover{background-color:var(--cream)}.profile-page .profile-logout-modal-btn.confirm{background-color:var(--alert-red);color:var(--white)}.profile-page .profile-logout-modal-btn.confirm:hover{background-color:#e85c5c}.profile-page .profile-nav-spacer{height:80px}@media(max-width:360px){.profile-page .profile-stats-row{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.profile-page .profile-stat-card{padding:var(--space-sm);gap:var(--space-sm)}.profile-page .profile-stat-icon-wrapper{width:36px;height:36px}.profile-page .profile-stat-icon-wrapper svg{width:18px;height:18px}.profile-page .profile-stat-value{font-size:16px}.profile-page .profile-stat-label{font-size:12px}.profile-page .profile-menu-item{padding:var(--space-md)}.profile-page .profile-badge-preview{display:none}}@media(min-width:768px){.profile-page .profile-stats-row{grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.profile-page .profile-stat-card{padding:var(--space-lg)}.profile-page .profile-stat-icon-wrapper{width:48px;height:48px}.profile-page .profile-stat-icon-wrapper svg{width:24px;height:24px}.profile-page .profile-stat-value{font-size:20px}.profile-page .profile-stat-label{font-size:14px}.profile-page .profile-menu-item{padding:var(--space-xl)}}@media(prefers-reduced-motion:reduce){.profile-page .profile-sparkle,.profile-page .profile-avatar-glow,.profile-page .profile-mini-badge,.profile-page .profile-stat-card,.profile-page .profile-menu-item,.profile-page .profile-edit-btn,.profile-page .profile-menu-arrow,.profile-page .profile-loading-spinner{animation:none;transition:none}}@media(prefers-contrast:high){.profile-page .profile-menu-item,.profile-page .profile-stat-card,.profile-page .profile-card{border:2px solid var(--text-dark)}}.profile-page .profile-menu-item:focus-visible,.profile-page .profile-edit-btn:focus-visible,.profile-page .profile-logout-modal-btn:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.settings-page{--background: var(--cream)}.settings-page ion-content{--background: var(--cream)}.settings-page ion-content::part(scroll){background:var(--cream)}.settings-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.settings-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.settings-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.settings-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.settings-back-btn:active{transform:scale(.95)}.settings-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.settings-header-spacer{width:44px}.settings-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.settings-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;overflow:hidden}.card-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream-dark)}.card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.notification-icon{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.appearance-icon{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);color:#fff;box-shadow:0 4px 12px #8b7ec84d}.security-icon{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;box-shadow:0 4px 12px #7db59a4d}.account-icon{background:linear-gradient(135deg,var(--peach-light) 0%,var(--peach) 100%);color:#fff;box-shadow:0 4px 12px #ffcdb24d}.accessibility-icon{background:linear-gradient(135deg,#b8e0d2,#7ec8b8);color:#fff;box-shadow:0 4px 12px #7ec8b84d}.about-icon{background:linear-gradient(135deg,#d4c5f9,#a890e0);color:#fff;box-shadow:0 4px 12px #a890e04d}.card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.card-content{padding:0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);min-height:56px;border-bottom:1px solid var(--cream);transition:background-color .2s ease}.setting-row:last-child{border-bottom:none}.setting-row.clickable{cursor:pointer}.setting-row.clickable:hover{background-color:var(--cream)}.setting-row.clickable:active{background-color:var(--cream-dark)}.setting-row.disabled{opacity:.6;pointer-events:none}.setting-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.setting-label{font-size:.9375rem;font-weight:600;color:var(--text-dark)}.setting-description{font-size:.8125rem;color:var(--text-light)}.setting-value{font-size:.8125rem;color:var(--coral);font-weight:500}.chevron{color:var(--text-light);flex-shrink:0;margin-left:var(--space-sm)}.row-end{display:flex;align-items:center;gap:var(--space-sm)}.toggle{position:relative;display:inline-block;width:52px;height:32px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--cream-dark);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);border-radius:32px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);border-radius:50%;box-shadow:0 2px 8px #00000026}.toggle input:checked+.toggle-slider{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle input:focus+.toggle-slider{box-shadow:0 0 0 3px #ff8a7a33}.segmented-control{display:flex;background:var(--cream);border-radius:var(--radius-sm);padding:4px;gap:4px}.segment{display:flex;align-items:center;justify-content:center;width:44px;height:36px;border:none;background:transparent;border-radius:10px;cursor:pointer;color:var(--text-medium);transition:all .2s ease}.segment:hover{color:var(--text-dark)}.segment.active{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;box-shadow:0 2px 8px #ff8a7a4d}.size-selector{display:flex;gap:var(--space-sm)}.size-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--cream-dark);background:#fff;border-radius:var(--radius-sm);cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;color:var(--text-medium);transition:all .2s ease}.size-btn:first-child{font-size:.75rem}.size-btn:nth-child(2){font-size:1rem}.size-btn.large{font-size:1.25rem}.size-btn:hover{border-color:var(--coral-light);color:var(--coral)}.size-btn.active{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);border-color:var(--coral);color:#fff;box-shadow:0 2px 8px #ff8a7a4d}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.status-badge.enabled{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff}.status-badge.disabled,.status-badge.coming-soon{background:var(--cream-dark);color:var(--text-light)}.storage-indicator{display:flex;align-items:center;gap:var(--space-sm)}.storage-bar{width:60px;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden}.storage-fill{height:100%;background:linear-gradient(90deg,var(--sage-light) 0%,var(--sage) 100%);border-radius:4px;transition:width .3s ease}.storage-text{font-size:.75rem;color:var(--text-light);font-weight:600}.version-info{text-align:center;padding:var(--space-lg);font-size:.8125rem;color:var(--text-light);border-top:1px solid var(--cream)}.settings-logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-md);width:100%;padding:var(--space-lg) var(--space-xl);margin-top:var(--space-sm);border:2px solid var(--alert-red);background:#fff;border-radius:var(--radius-md);cursor:pointer;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;color:var(--alert-red);transition:all .2s ease;min-height:56px}.settings-logout-btn:hover{background:var(--alert-red);color:#fff;box-shadow:0 4px 12px #e53e3e4d}.settings-logout-btn:active{transform:scale(.98)}.settings-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.settings-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin 1s linear infinite}.error-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--alert-red);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:var(--radius-xl);padding:var(--space-xxl);width:100%;max-width:360px;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-icon{font-size:48px;text-align:center;margin-bottom:var(--space-lg)}.modal-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);text-align:center;margin:0 0 var(--space-sm)}.modal-description{font-size:.9375rem;color:var(--text-medium);text-align:center;margin:0 0 var(--space-xl)}.modal-buttons{display:flex;gap:var(--space-md)}.modal-btn{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.modal-btn.cancel{background:var(--cream);border:none;color:var(--text-dark)}.modal-btn.cancel:hover{background:var(--cream-dark)}.modal-btn.confirm{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);border:none;color:#fff}.modal-btn.confirm:hover{box-shadow:0 4px 12px #ff8a7a4d}.modal-btn.danger{background:var(--alert-red);border:none;color:#fff}.modal-btn.danger:hover{box-shadow:0 4px 12px #e53e3e4d}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-dark);margin-bottom:var(--space-sm)}.form-input{width:100%;padding:var(--space-md) var(--space-lg);border:2px solid var(--cream-dark);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:1rem;color:var(--text-dark);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px #ff8a7a33}.form-input.error{border-color:var(--alert-red)}.form-error{font-size:.8125rem;color:var(--alert-red);margin-top:var(--space-xs)}.language-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.language-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:2px solid var(--cream-dark);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:#fff}.language-option:hover{border-color:var(--coral-light)}.language-option.active{border-color:var(--coral);background:linear-gradient(135deg,#ffb5ab1a,#ff8a7a1a)}.language-option input{display:none}.language-radio{width:20px;height:20px;border:2px solid var(--cream-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.language-option.active .language-radio{border-color:var(--coral)}.language-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--coral);transform:scale(0);transition:transform .2s ease}.language-option.active .language-radio:after{transform:scale(1)}.language-name{font-weight:600;color:var(--text-dark)}.time-picker-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.time-picker-label{flex:1;font-weight:600;color:var(--text-dark)}.time-picker-input{padding:var(--space-md);border:2px solid var(--cream-dark);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:1rem;color:var(--text-dark);background:#fff;transition:border-color .2s ease}.time-picker-input:focus{outline:none;border-color:var(--coral)}@media(max-width:375px){.settings-content{padding:var(--space-lg)}.card-header,.setting-row{padding:var(--space-md) var(--space-lg)}.setting-label{font-size:.875rem}.card-icon{width:36px;height:36px}.card-icon svg{width:18px;height:18px}}.settings-back-btn:focus-visible,.segment:focus-visible,.size-btn:focus-visible,.settings-logout-btn:focus-visible,.setting-row.clickable:focus-visible,.modal-btn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(prefers-reduced-motion:reduce){.settings-page *,.settings-page *:before,.settings-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.notifications-page{--background: var(--cream, #FFF9F5);--ion-background-color: var(--cream, #FFF9F5)}.notifications-page ion-content{--background: var(--cream, #FFF9F5);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.notifications-page ion-content::part(scroll){padding:0!important}.notifications-page .page-container{display:flex;flex-direction:column;min-height:100%;max-width:100%;overflow-x:hidden;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-dark, #3D3D3D);-webkit-font-smoothing:antialiased}.notifications-page .header{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-sm, 8px);padding:var(--space-lg, 16px);padding-top:calc(var(--space-lg, 16px) + env(safe-area-inset-top,0));background:linear-gradient(180deg,var(--cream, #FFF9F5) 0%,rgba(255,249,245,.95) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.notifications-page .header-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm, 8px);min-width:0}.notifications-page .back-btn{display:flex;align-items:center;justify-content:center;justify-self:start;width:44px;height:44px;border:none;background-color:#fff;border-radius:var(--radius-sm, 12px);color:var(--text-dark, #3D3D3D);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff8a7a1f}.notifications-page .back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.notifications-page .back-btn:active{transform:scale(.95)}.notifications-page .header-title-wrap{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-sm, 8px);min-width:0;flex:1;text-align:left}.notifications-page .header-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.25;color:var(--text-dark, #3D3D3D)}.notifications-page .unread-badge{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--coral, #FF8A7A) 0%,#FF6B5B 100%);border-radius:var(--radius-full, 50%);box-shadow:0 2px 8px #ff8a7a66;animation:notif-pulse-badge 2s ease-in-out infinite}@keyframes notif-pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notifications-page .mark-all-btn{font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.15;color:var(--coral, #FF8A7A);background:none;border:none;margin:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;min-height:32px;border-radius:var(--radius-sm, 12px);white-space:nowrap;-webkit-appearance:none;appearance:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.notifications-page .mark-all-btn:hover{background-color:var(--coral-light, #FFB5AB);color:#fff}.notifications-page .mark-all-btn:active{transform:scale(.95)}.notifications-page .filter-tabs-container{--filter-tabs-scale: 1.1;position:sticky;top:76px;z-index:99;background:linear-gradient(180deg,var(--cream, #FFF9F5) 0%,rgba(255,249,245,.9) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 0 16px;margin-bottom:var(--space-sm, 8px)}.notifications-page .filter-tabs{width:100%;overflow:visible}.notifications-page .filter-tabs-inner{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-sm, 8px);width:100%;max-width:100%;box-sizing:border-box;padding:0 var(--space-lg, 16px);transform:scale(var(--filter-tabs-scale));transform-origin:left top}.notifications-page .filter-chip{display:flex;align-items:center;gap:6px;flex-shrink:0;font-family:inherit;font-size:.875rem;font-weight:600;padding:var(--space-sm, 8px) var(--space-lg, 16px);border:2px solid var(--cream-dark, #F5EDE8);background-color:#fff;color:var(--text-medium, #6B6B6B);border-radius:50px;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);white-space:nowrap}.notifications-page .filter-chip:hover{border-color:var(--coral-light, #FFB5AB);color:var(--coral, #FF8A7A)}.notifications-page .filter-chip.active{background:linear-gradient(135deg,var(--coral, #FF8A7A) 0%,#FF7A6A 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ff8a7a59}.notifications-page .filter-chip:active{transform:scale(.95)}.notifications-page .chip-count{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;background-color:#00000014;border-radius:50px}.notifications-page .filter-chip.active .chip-count{background-color:#ffffff4d;color:#fff}.notifications-page .notifications-list{flex:1;padding:0 var(--space-lg, 16px);padding-bottom:var(--space-xl, 20px)}.notifications-page .time-section{margin-bottom:var(--space-xl, 20px)}.notifications-page .time-header{display:flex;align-items:center;gap:var(--space-sm, 8px);font-size:.8rem;font-weight:700;color:var(--text-light, #9B9B9B);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md, 12px);padding-left:var(--space-xs, 4px)}.notifications-page .time-icon{color:var(--peach, #FFCDB2)}.notifications-page .time-icon.yesterday{color:var(--sage, #7DB59A)}.notifications-page .time-icon.this-week{color:var(--purple-ai, #8B7EC8)}.notifications-page .notification-card{display:flex;align-items:flex-start;gap:var(--space-md, 12px);padding:var(--space-lg, 16px);background-color:#fff;border-radius:var(--radius-lg, 20px);margin-bottom:var(--space-md, 12px);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.notifications-page .notification-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.notifications-page .notification-card:active{transform:scale(.98)}.notifications-page .notification-card.unread{border-left:3px solid var(--coral, #FF8A7A);background:linear-gradient(90deg,#ff8a7a0a,#fff 30%);box-shadow:0 4px 16px #ff8a7a1f}.notifications-page .notification-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm, 12px);color:#fff}.notifications-page .notification-icon.announcement{background:linear-gradient(135deg,#ffa94d,#ff8c33);box-shadow:0 4px 12px #ffa94d59}.notifications-page .notification-icon.grade{background:linear-gradient(135deg,#ffd93d,#ffc107);box-shadow:0 4px 12px #ffd93d59}.notifications-page .notification-icon.homework{background:linear-gradient(135deg,var(--coral, #FF8A7A) 0%,#FF6B5B 100%);box-shadow:0 4px 12px #ff8a7a59}.notifications-page .notification-icon.attendance{background:linear-gradient(135deg,#4ecdc4,#26a69a);box-shadow:0 4px 12px #4ecdc459}.notifications-page .notification-icon.message{background:linear-gradient(135deg,#4a90d9,#3b82f6);box-shadow:0 4px 12px #4a90d959}.notifications-page .notification-icon.system{background:linear-gradient(135deg,var(--purple-ai, #8B7EC8) 0%,#7C6BBE 100%);box-shadow:0 4px 12px #8b7ec859}.notifications-page .notification-content{flex:1;min-width:0}.notifications-page .notification-title{font-size:.95rem;font-weight:700;color:var(--text-dark, #3D3D3D);margin-bottom:4px;line-height:1.3}.notifications-page .notification-card.unread .notification-title{color:#2d2d2d}.notifications-page .notification-desc{font-size:.85rem;font-weight:500;color:var(--text-medium, #6B6B6B);line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notifications-page .notification-time{font-size:.75rem;font-weight:600;color:var(--text-light, #9B9B9B)}.notifications-page .unread-dot{width:10px;height:10px;flex-shrink:0;background:linear-gradient(135deg,var(--coral, #FF8A7A) 0%,#FF6B5B 100%);border-radius:var(--radius-full, 50%);box-shadow:0 2px 8px #ff8a7a80;animation:notif-pulse-dot 2s ease-in-out infinite;margin-top:6px}@keyframes notif-pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.notifications-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl, 24px);min-height:200px;color:var(--text-light, #9B9B9B);text-align:center}.notifications-page .empty-state p{font-size:.95rem;font-weight:600;margin:var(--space-md, 12px) 0 0 0}.notifications-page .loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark, #F5EDE8);border-top-color:var(--coral, #FF8A7A);border-radius:50%;animation:notif-spin .8s linear infinite}@keyframes notif-spin{to{transform:rotate(360deg)}}.notifications-page .mark-all-btn:disabled{color:var(--text-light, #9B9B9B);cursor:not-allowed}.notifications-page .mark-all-btn:disabled:hover{background-color:transparent;color:var(--text-light, #9B9B9B)}.notifications-page .bottom-safe-area{height:calc(var(--space-xxl, 24px) + env(safe-area-inset-bottom,0))}@media(min-width:768px){.notifications-page .page-container{max-width:600px;margin:0 auto}.notifications-page .notification-card{padding:var(--space-xl, 20px)}.notifications-page .notification-icon{width:48px;height:48px}.notifications-page .notification-title{font-size:1rem}.notifications-page .notification-desc{font-size:.9rem}}@keyframes notif-fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.notifications-page .notification-card{animation:notif-fadeInUp .4s ease-out backwards}.notifications-page .time-section:nth-child(1) .notification-card:nth-child(2){animation-delay:.05s}.notifications-page .time-section:nth-child(1) .notification-card:nth-child(3){animation-delay:.1s}.notifications-page .time-section:nth-child(1) .notification-card:nth-child(4){animation-delay:.15s}.notifications-page .time-section:nth-child(2) .notification-card:nth-child(2){animation-delay:.2s}.notifications-page .time-section:nth-child(2) .notification-card:nth-child(3){animation-delay:.25s}.notifications-page .time-section:nth-child(3) .notification-card:nth-child(2){animation-delay:.3s}.notifications-page .time-section:nth-child(3) .notification-card:nth-child(3){animation-delay:.35s}@media(prefers-reduced-motion:reduce){.notifications-page .notification-card,.notifications-page .unread-dot,.notifications-page .unread-badge{animation:none}.notifications-page .notification-card:hover,.notifications-page .back-btn:hover,.notifications-page .filter-chip:hover{transform:none}}.announcements-page{--pin-yellow: #FFD93D;--radius-full: 999px;--ion-background-color: var(--cream)}.announcements-page .page-container{min-height:100vh;background-color:var(--cream);display:flex;flex-direction:column}.announcements-page .header{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);padding:var(--space-lg) var(--space-lg) var(--space-md);border-radius:0 0 var(--radius-xl) var(--radius-xl);position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #ff8a7a40}.announcements-page .header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.announcements-page .header-title{display:flex;align-items:center;gap:var(--space-sm)}.announcements-page .header-icon{font-size:24px}.announcements-page .header h1{font-size:22px;font-weight:700;color:#fff;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.announcements-page .header-actions{display:flex;gap:var(--space-sm)}.announcements-page .icon-btn{width:40px;height:40px;border-radius:50%;background:#ffffff40;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s ease;color:#fff}.announcements-page .icon-btn:hover{background:#ffffff59;transform:scale(1.05)}.announcements-page .notification-icon{font-size:20px}.announcements-page .badge{position:absolute;top:-2px;right:-2px;background:var(--alert-red);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #ff6b6b66}.announcements-page .search-container{display:flex;align-items:center;background:#ffffffe6;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);gap:var(--space-sm);box-shadow:0 2px 8px #00000014}.announcements-page .search-icon{font-size:16px;opacity:.6}.announcements-page .search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:15px;color:var(--text-dark);outline:none}.announcements-page .search-input::placeholder{color:var(--text-light)}.announcements-page .filter-bar{padding:var(--space-md) var(--space-lg);background:var(--cream)}.announcements-page .filter-scroll{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-sm);scrollbar-width:none;-ms-overflow-style:none}.announcements-page .filter-scroll::-webkit-scrollbar{display:none}.announcements-page .filter-chip{display:flex;align-items:center;gap:4px;padding:var(--space-sm) var(--space-md);background:#fff;border:1.5px solid var(--cream-dark);border-radius:var(--radius-xl);font-family:inherit;font-size:13px;font-weight:600;color:var(--text-medium);white-space:nowrap;cursor:pointer;transition:all .2s ease}.announcements-page .filter-chip:hover{border-color:var(--coral-light);background:var(--peach-light)}.announcements-page .filter-chip.active{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border-color:transparent;color:#fff;box-shadow:0 3px 10px #ff8a7a4d}.announcements-page .chip-icon{font-size:12px}.announcements-page .chip-dot{width:8px;height:8px;border-radius:50%}.announcements-page .unread-dot{background:var(--coral)}.announcements-page .urgent-chip{color:var(--alert-red)}.announcements-page .mark-all-read{display:block;margin-top:var(--space-sm);margin-left:auto;background:none;border:none;font-family:inherit;font-size:12px;color:var(--text-light);cursor:pointer;transition:color .2s ease}.announcements-page .mark-all-read:hover{color:var(--coral)}.announcements-page .mark-all-read:disabled{opacity:.5;cursor:not-allowed}.announcements-page .content{flex:1;padding:0 var(--space-lg);padding-bottom:100px;overflow-y:auto}.announcements-page .section{margin-bottom:var(--space-lg)}.announcements-page .section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:linear-gradient(90deg,rgba(255,217,61,.2) 0%,transparent 100%);border-radius:var(--radius-sm)}.announcements-page .section-header .pin-icon{font-size:16px}.announcements-page .section-header h2{font-size:14px;font-weight:700;color:var(--text-dark);margin:0}.announcements-page .date-divider{display:flex;align-items:center;margin:var(--space-lg) 0 var(--space-md)}.announcements-page .date-divider:before,.announcements-page .date-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--cream-dark),transparent)}.announcements-page .date-divider span{padding:0 var(--space-md);font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.announcements-page .announcement-card{background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-md);position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000f;transition:all .25s ease;cursor:pointer}.announcements-page .announcement-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.announcements-page .card-priority-border{position:absolute;left:0;top:0;bottom:0;width:4px}.announcements-page .announcement-card.urgent .card-priority-border{background:linear-gradient(180deg,var(--alert-red) 0%,#ff8a8a 100%)}.announcements-page .announcement-card.important .card-priority-border{background:linear-gradient(180deg,var(--alert-orange) 0%,#ffc875 100%)}.announcements-page .announcement-card.pinned{border:2px solid rgba(255,217,61,.4);background:linear-gradient(135deg,#fff,#fff7dc4d)}.announcements-page .unread-indicator{position:absolute;top:var(--space-lg);right:var(--space-lg);width:10px;height:10px;background:var(--coral);border-radius:50%;box-shadow:0 0 0 3px #ff8a7a33;animation:pulse 2s infinite}.announcements-page .announcement-card.unread{background:linear-gradient(135deg,#fff,#ff8a7a0d)}.announcements-page .announcement-card.unread .card-title{font-weight:700}.announcements-page .announcement-card.read{opacity:.75}.announcements-page .announcement-card.read .card-title{font-weight:500;color:var(--text-medium)}.announcements-page .card-content{padding:var(--space-lg)}.announcements-page .announcement-card.urgent .card-content,.announcements-page .announcement-card.important .card-content{padding-left:calc(var(--space-lg) + 4px)}.announcements-page .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:4px}.announcements-page .category-tag{display:inline-flex;align-items:center;gap:4px;padding:4px var(--space-sm);border-radius:var(--radius-sm);font-size:11px;font-weight:600}.announcements-page .school-tag{background:linear-gradient(135deg,var(--peach-light) 0%,var(--peach) 100%);color:#c27a50}.announcements-page .admin-tag{background:linear-gradient(135deg,var(--cream-dark) 0%,#e8ddd5 100%);color:var(--text-medium)}.announcements-page .class-tag{background:linear-gradient(135deg,var(--purple-ai-light) 0%,#d4cef0 100%);color:#6b5ba8}.announcements-page .dept-tag,.announcements-page .grade-tag{background:linear-gradient(135deg,var(--sage-light) 0%,#c8e0d2 100%);color:#5a9474}.announcements-page .student-tag{background:linear-gradient(135deg,#d4e8f8,#b8d9f0);color:#4a7aa0}.announcements-page .teacher-tag{background:linear-gradient(135deg,var(--purple-ai-light) 0%,#d4cef0 100%);color:#6b5ba8}.announcements-page .parent-tag{background:linear-gradient(135deg,#f0e4d8,#e8d8c8);color:#8a7060}.announcements-page .urgent-tag{background:linear-gradient(135deg,#ffe0e0,#fcc);color:var(--alert-red)}.announcements-page .default-tag{background:linear-gradient(135deg,var(--cream-dark) 0%,#e8ddd5 100%);color:var(--text-medium)}.announcements-page .card-badges{display:flex;gap:4px}.announcements-page .urgent-badge{display:inline-flex;align-items:center;gap:2px;padding:4px var(--space-sm);background:linear-gradient(135deg,var(--alert-red) 0%,#ff8a8a 100%);color:#fff;font-size:10px;font-weight:700;border-radius:var(--radius-sm);box-shadow:0 2px 6px #ff6b6b4d}.announcements-page .important-badge{display:inline-flex;align-items:center;gap:2px;padding:4px var(--space-sm);background:linear-gradient(135deg,var(--alert-orange) 0%,#ffc875 100%);color:#fff;font-size:10px;font-weight:700;border-radius:var(--radius-sm);box-shadow:0 2px 6px #ffb3474d}.announcements-page .pin-badge{font-size:14px}.announcements-page .acknowledged-label{font-size:11px;color:var(--success-green);font-weight:600}.announcements-page .card-title{font-size:15px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.announcements-page .card-preview{font-size:13px;color:var(--text-medium);margin:0 0 var(--space-md);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.announcements-page .card-meta{display:flex;align-items:center;justify-content:space-between}.announcements-page .author{display:flex;align-items:center;gap:var(--space-sm)}.announcements-page .avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.announcements-page .principal-avatar{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%)}.announcements-page .admin-avatar{background:linear-gradient(135deg,#9b9b9b,#b5b5b5)}.announcements-page .teacher-avatar{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.announcements-page .default-avatar{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%)}.announcements-page .author-name{font-size:12px;font-weight:600;color:var(--text-dark)}.announcements-page .meta-right{display:flex;align-items:center;gap:var(--space-sm)}.announcements-page .attachment{font-size:12px;color:var(--text-light)}.announcements-page .timestamp{font-size:11px;color:var(--text-light)}.announcements-page .acknowledge-btn{width:100%;margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #ff8a7a4d}.announcements-page .acknowledge-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff8a7a66}.announcements-page .acknowledge-btn:active{transform:translateY(0)}.announcements-page .acknowledge-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.announcements-page .loading-state,.announcements-page .error-state,.announcements-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center;min-height:300px}.announcements-page .loading-spinner{width:48px;height:48px;border:4px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.announcements-page .state-icon{font-size:48px;margin-bottom:var(--space-md)}.announcements-page .state-title{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm)}.announcements-page .state-message{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-lg)}.announcements-page .retry-btn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.announcements-page .retry-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff8a7a4d}@keyframes pulse{0%,to{box-shadow:0 0 #ff8a7a66}50%{box-shadow:0 0 0 8px #ff8a7a00}}@keyframes bounce-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}50%{transform:translateY(5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.announcements-page .announcement-card{animation:bounce-in .4s ease-out}.announcements-page .bottom-safe-area{height:80px;flex-shrink:0}@media(max-width:375px){.announcements-page .header{padding:var(--space-md) var(--space-md) var(--space-sm)}.announcements-page .content{padding:0 var(--space-md);padding-bottom:100px}.announcements-page .filter-bar{padding:var(--space-sm) var(--space-md)}}@media(min-width:768px){.announcements-page .content{max-width:600px;margin:0 auto}}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%;background:var(--cream);position:relative}.ai-study-page .header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:var(--space-lg) var(--space-xl);background:#fff;border-bottom:1px solid var(--cream-dark);position:sticky;top:0;z-index:100;width:100%;box-sizing:border-box}.ai-study-page .back-button{width:40px;height:40px;border:none;background:var(--cream);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dark);transition:all .2s ease;justify-self:flex-start}.ai-study-page .back-button:hover{background:var(--cream-dark);transform:translate(-2px)}.ai-study-page .back-button:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.ai-study-page .header-title{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);text-align:center;justify-self:center}.ai-study-page .sparkle-icon{font-size:20px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.ai-study-page .header-title h1{font-size:18px;font-weight:700;color:var(--text-dark);margin:0;white-space:nowrap}.ai-study-page .header-streak{justify-self:flex-end}.ai-study-page .streak-badge{background:linear-gradient(135deg,var(--coral),var(--peach));color:#fff;padding:var(--space-xs) var(--space-md);border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #ff8a7a4d;display:inline-flex}.chat-container{flex:1;overflow-y:auto;padding:var(--space-xl);padding-bottom:100px}.welcome-section{text-align:center;padding:var(--space-xxl) 0}.ai-avatar-large{position:relative;width:110px;height:110px;margin:0 auto var(--space-lg)}.avatar-glow{position:absolute;inset:-24px;background:radial-gradient(circle,var(--purple-ai-light) 0%,transparent 70%);border-radius:var(--radius-full);opacity:.4;animation:pulse-glow 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.6}}.avatar-icon{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center;animation:float 5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.mascot-img,.mascot-img-small{width:100%;height:100%;object-fit:contain}.welcome-title{font-size:26px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-sm);letter-spacing:-.02em}.welcome-subtitle{font-size:16px;color:var(--text-medium);margin-bottom:var(--space-xxl)}.suggestion-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.chip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--surface);border:1px solid var(--border-medium);border-radius:20px;font-family:inherit;font-size:14px;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease}.chip:hover{background:var(--school-bg-primary);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.chip:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.chip-icon{font-size:14px}.chip-text{white-space:nowrap}.conversation{margin-top:var(--space-xxl);display:flex;flex-direction:column;gap:var(--space-xl)}.message{display:flex;flex-direction:column;gap:var(--space-xs)}.user-message{align-items:flex-end}.ai-message{flex-direction:row;align-items:flex-start;gap:var(--space-md)}.message-bubble{max-width:85%;padding:14px 18px;border-radius:20px;font-size:15px;font-family:DM Sans,Nunito,system-ui,sans-serif;line-height:1.5;letter-spacing:-.01em;font-weight:400}.user-bubble{background:var(--pink-softer);color:var(--text-dark);border-bottom-right-radius:var(--space-xs);box-shadow:none}.ai-bubble{background:var(--school-bg-card);color:var(--text-dark);border-bottom-left-radius:var(--space-xs);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.ai-avatar-small{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center}.message-content{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.message-time{font-size:11px;color:var(--text-light);padding:0 var(--space-sm)}.user-message .message-time{text-align:right}.ai-intro,.ai-outro{margin-bottom:var(--space-lg)}.ai-outro{margin-bottom:0;margin-top:var(--space-lg)}.study-plan-card{background:var(--cream);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-md) 0}.plan-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.plan-icon{font-size:18px}.plan-header h3{font-size:15px;font-weight:700;color:var(--text-dark)}.plan-items{display:flex;flex-direction:column;gap:var(--space-md)}.plan-item{display:flex;align-items:center;gap:var(--space-md)}.plan-checkbox{width:22px;height:22px;min-width:22px;border:2px solid var(--cream-dark);border-radius:6px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .2s ease}.plan-checkbox.checked{background:var(--sage);border-color:var(--sage)}.plan-checkbox.break-icon{border:none;background:transparent;font-size:16px}.plan-details{flex:1;display:flex;justify-content:space-between;align-items:center}.plan-task{font-size:13px;color:var(--text-dark)}.plan-item.completed .plan-task{text-decoration:line-through;color:var(--text-light)}.plan-item.break .plan-task{font-style:italic;color:var(--text-medium)}.plan-duration{font-size:12px;color:var(--text-light);font-weight:500}.start-timer-btn{width:100%;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--purple-ai),#6B5CB3);color:#fff;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all .2s ease;box-shadow:0 4px 12px #8b7ec84d}.start-timer-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b7ec866}.start-timer-btn:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.topic-focus-card{background:var(--cream);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-md) 0}.topic-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.topic-icon{font-size:18px}.topic-header h3{font-size:15px;font-weight:700;color:var(--text-dark)}.topic-sections{display:flex;flex-direction:column;gap:var(--space-md)}.topic-section{padding:var(--space-md);background:#fff;border-radius:var(--radius-sm)}.priority-label{display:flex;align-items:center;gap:var(--space-sm);font-size:12px;font-weight:600;margin-bottom:var(--space-sm)}.priority-dot{width:8px;height:8px;border-radius:var(--radius-full)}.priority-dot.red{background:var(--alert-red)}.priority-dot.yellow{background:var(--alert-orange)}.priority-dot.green{background:var(--success-green)}.topic-list{list-style:none;padding-left:var(--space-lg)}.topic-list li{font-size:13px;color:var(--text-medium);padding:var(--space-xs) 0;position:relative}.topic-list li:before{content:"•";position:absolute;left:-12px;color:var(--text-light)}.focused-practice-btn{width:100%;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#fff;color:var(--purple-ai);border:2px solid var(--purple-ai);border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.focused-practice-btn:hover{background:var(--purple-ai);color:#fff}.focused-practice-btn:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.input-area{position:fixed;bottom:0;left:0;right:0;width:100%;padding:var(--space-lg);padding-left:calc(var(--space-lg) + env(safe-area-inset-left,0));padding-right:calc(var(--space-lg) + env(safe-area-inset-right,0));padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0));background:#fff;box-shadow:0 -4px 20px #00000014;z-index:1000;box-sizing:border-box}.input-container{display:flex;align-items:center;gap:var(--space-sm);background:var(--school-bg-primary);border-radius:var(--radius-xl);padding:6px 12px;border:1px solid var(--border-medium)}.attachment-btn,.voice-btn{width:36px;height:36px;min-width:36px;flex-shrink:0;border:none;background:transparent;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-light);transition:all .2s ease}.attachment-btn:hover,.voice-btn:hover{background:var(--cream-dark);color:var(--text-medium)}.attachment-btn:focus,.voice-btn:focus{outline:2px solid var(--purple-ai);outline-offset:2px}.message-input{flex:1 1 auto;min-width:0;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text-dark);padding:var(--space-sm)}.message-input::placeholder{color:var(--text-light)}.message-input:focus{outline:none}.send-btn{width:40px;height:40px;min-width:40px;flex-shrink:0;border:none;background:linear-gradient(135deg,var(--purple-ai),#6B5CB3);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #8b7ec866;animation:sendPulse 2s ease-in-out infinite}@keyframes sendPulse{0%,to{box-shadow:0 2px 8px #8b7ec866}50%{box-shadow:0 4px 16px #8b7ec899}}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #8b7ec880}.send-btn:focus{outline:2px solid var(--purple-ai);outline-offset:2px}@media(min-width:768px){.message-bubble{max-width:70%}}.chat-container::-webkit-scrollbar{width:6px}.chat-container::-webkit-scrollbar-track{background:transparent}.chat-container::-webkit-scrollbar-thumb{background:var(--cream-dark);border-radius:3px}.chat-container::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.ai-study-page{--background: var(--cream);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.ai-study-page .input-area{left:0!important;right:0!important;margin:0!important;padding-left:16px!important;padding-right:16px!important}.ai-study-content{--background: var(--cream);--padding-start: 0;--padding-end: 0}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);cursor:pointer;font-size:13px;color:var(--alert-red)}.error-close{background:none;border:none;font-size:18px;color:var(--alert-red);cursor:pointer;padding:0;line-height:1}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) 0;gap:var(--space-lg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--purple-ai);border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:var(--text-medium);font-size:14px}.typing-indicator{display:flex;gap:4px;padding:var(--space-sm) 0}.typing-indicator span{width:8px;height:8px;background:var(--purple-ai-light);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.message-bubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chip:disabled{opacity:.6;cursor:not-allowed}.chip:disabled:hover{transform:none;box-shadow:none}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:disabled:hover{transform:none}@media(max-width:480px){.chat-container{padding:var(--space-md);padding-bottom:100px}.message-bubble{padding:12px 14px;font-size:14px;max-width:90%}.welcome-section{padding:var(--space-xl) 0}.ai-avatar-large,.avatar-icon{width:84px;height:84px}.avatar-glow{inset:-16px}.welcome-title{font-size:22px}.welcome-subtitle{font-size:14px;margin-bottom:var(--space-xl);padding:0 var(--space-sm)}.suggestion-chips{gap:var(--space-xs)}.chip{padding:10px 14px;font-size:13px}.chip-text{white-space:normal;text-align:center}}.resource-library-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .1);--shadow-md: 0 8px 24px rgba(61, 61, 61, .05);--shadow-card: 0 4px 16px rgba(255, 138, 122, .08);--shadow-card-hover: 0 8px 24px rgba(255, 138, 122, .15);--math-bg: #FFE4EC;--math-accent: #FF6B9D;--physics-bg: #E4F1FF;--physics-accent: #5B9BD5;--turkish-bg: #E4FFE8;--turkish-accent: #4CAF50;--english-bg: #F0E4FF;--english-accent: #9C7CDB;--biology-bg: #E4FFF6;--biology-accent: #26A69A;--history-bg: #FFF0E4;--history-accent: #FFA94D;--background: var(--cream);--ion-background-color: var(--cream)}.resource-library-page ion-content{--background: var(--cream)}.resource-library-page .page-container{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;-webkit-font-smoothing:antialiased}.resource-library-page .header{display:flex;flex-direction:column;background-color:var(--cream);padding:var(--space-xl) var(--space-xxl) var(--space-md);position:sticky;top:0;z-index:100;align-items:stretch;justify-content:flex-start;gap:0;border:none;border-bottom:none;border-radius:0;box-shadow:none;color:var(--text-dark)}.resource-library-page .page-title{font-family:Poppins,sans-serif;font-size:24px;font-weight:800;color:var(--text-dark);margin:0 0 2px;display:flex;align-items:center;gap:var(--space-sm)}.resource-library-page .page-title-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ff8a7a4d;flex-shrink:0}.resource-library-page .page-subtitle{font-size:14px;color:var(--text-medium);font-weight:600;margin:0 0 var(--space-md);text-align:left}.resource-library-page .search-bar{display:flex;align-items:center;background:var(--white);border-radius:var(--radius-xl);margin-bottom:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.resource-library-page .search-bar:focus-within{box-shadow:0 4px 24px #ff8a7a33;transform:translateY(-1px)}.resource-library-page .search-icon{margin-right:var(--space-sm);opacity:.5;display:flex;align-items:center;color:var(--text-medium)}.resource-library-page .search-input{flex:1;border:none;outline:none;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark);background:transparent}.resource-library-page .search-input::placeholder{color:var(--text-light);font-weight:600}.resource-library-page .search-clear-btn{width:28px;height:28px;border:none;background:var(--cream-dark);border-radius:50%;color:var(--text-medium);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.resource-library-page .search-clear-btn:hover{background:var(--coral-light);color:#fff}.resource-library-page .filter-chips-container{margin:0 calc(-1 * var(--space-xxl));padding:0 var(--space-xxl);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.resource-library-page .filter-chips-container::-webkit-scrollbar{display:none}.resource-library-page .filter-chips{display:inline-flex;flex-wrap:nowrap;gap:var(--space-sm);padding:var(--space-xs) 0;min-width:max-content}.resource-library-page .filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--white);border:2px solid var(--cream-dark);border-radius:50px;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--text-medium);cursor:pointer;white-space:nowrap;transition:all .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;flex-shrink:0;min-height:44px;touch-action:manipulation}.resource-library-page .filter-chip:hover{border-color:var(--coral-light);background:var(--peach-light)}.resource-library-page .filter-chip:active{transform:scale(.96)}.resource-library-page .filter-chip.active{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border-color:transparent;color:#fff;box-shadow:0 4px 12px #ff8a7a59}.resource-library-page .filter-chip.active:hover{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%)}.resource-library-page .chip-icon{display:flex;align-items:center;line-height:1}.resource-library-page .main-content{padding:var(--space-lg) var(--space-xxl);padding-bottom:100px}.resource-library-page .section{margin-bottom:var(--space-xl);opacity:0;animation:resourceFadeInUp .5s ease both}.resource-library-page .subjects-section{animation-delay:.05s}.resource-library-page .recently-added-section{animation-delay:.1s}.resource-library-page .popular-section{animation-delay:.15s}.resource-library-page .bookmarked-section{animation-delay:.2s}@keyframes resourceFadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.resource-library-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.resource-library-page .section-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:6px}.resource-library-page .section-title-icon{flex-shrink:0;color:var(--coral)}.resource-library-page .see-all-btn{background:none;border:none;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--coral);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background .2s ease}.resource-library-page .see-all-btn:hover{background:var(--peach-light)}.resource-library-page .subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.resource-library-page .subject-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);text-align:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-card)}.resource-library-page .subject-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.resource-library-page .subject-card:active{transform:scale(.97)}.resource-library-page .subject-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm);color:var(--text-medium)}.resource-library-page .subject-name{font-family:Poppins,sans-serif;font-size:14px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-xs)}.resource-library-page .resource-count{font-size:12px;font-weight:600;color:var(--text-light)}.resource-library-page .subject-math{background:linear-gradient(135deg,var(--math-bg) 0%,var(--white) 100%)}.resource-library-page .subject-physics{background:linear-gradient(135deg,var(--physics-bg) 0%,var(--white) 100%)}.resource-library-page .subject-turkish{background:linear-gradient(135deg,var(--turkish-bg) 0%,var(--white) 100%)}.resource-library-page .subject-english{background:linear-gradient(135deg,var(--english-bg) 0%,var(--white) 100%)}.resource-library-page .subject-biology{background:linear-gradient(135deg,var(--biology-bg) 0%,var(--white) 100%)}.resource-library-page .subject-history{background:linear-gradient(135deg,var(--history-bg) 0%,var(--white) 100%)}.resource-library-page .subject-math .subject-icon{color:var(--math-accent)}.resource-library-page .subject-physics .subject-icon{color:var(--physics-accent)}.resource-library-page .subject-turkish .subject-icon{color:var(--turkish-accent)}.resource-library-page .subject-english .subject-icon{color:var(--english-accent)}.resource-library-page .subject-biology .subject-icon{color:var(--biology-accent)}.resource-library-page .subject-history .subject-icon{color:var(--history-accent)}.resource-library-page .resources-scroll{display:flex;gap:var(--space-md);overflow-x:auto;margin:0 calc(-1 * var(--space-xxl));padding:var(--space-xs) var(--space-xxl) var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.resource-library-page .resources-scroll::-webkit-scrollbar{display:none}.resource-library-page .resource-card{flex:0 0 210px;background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.resource-library-page .resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.resource-library-page .resource-type-badge{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:var(--space-md)}.resource-library-page .resource-type-badge.pdf{background:var(--math-bg);color:var(--math-accent)}.resource-library-page .resource-type-badge.video{background:var(--physics-bg);color:var(--physics-accent)}.resource-library-page .resource-type-badge.notes{background:var(--turkish-bg);color:var(--turkish-accent)}.resource-library-page .resource-type-badge.exam{background:var(--history-bg);color:var(--history-accent)}.resource-library-page .resource-type-badge.small{width:36px;height:36px;font-size:16px;margin-bottom:0}.resource-library-page .resource-title{font-family:Poppins,sans-serif;font-size:14px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-library-page .resource-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.resource-library-page .subject-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:8px;background:var(--cream-dark);color:var(--text-medium)}.resource-library-page .subject-tag.math{background:var(--math-bg);color:var(--math-accent)}.resource-library-page .subject-tag.physics{background:var(--physics-bg);color:var(--physics-accent)}.resource-library-page .subject-tag.turkish{background:var(--turkish-bg);color:var(--turkish-accent)}.resource-library-page .subject-tag.english{background:var(--english-bg);color:var(--english-accent)}.resource-library-page .subject-tag.biology{background:var(--biology-bg);color:var(--biology-accent)}.resource-library-page .subject-tag.history{background:var(--history-bg);color:var(--history-accent)}.resource-library-page .subject-tag.small{font-size:10px;padding:2px 6px}.resource-library-page .resource-date{font-size:11px;font-weight:600;color:var(--text-light)}.resource-library-page .resource-teacher{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.resource-library-page .teacher-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);font-size:10px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center}.resource-library-page .teacher-name{font-size:12px;font-weight:600;color:var(--text-medium)}.resource-library-page .resource-actions{display:flex;gap:var(--space-sm)}.resource-library-page .action-btn{border:none;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;border-radius:50px;transition:all .2s ease}.resource-library-page .view-btn{flex:1;padding:var(--space-sm) var(--space-md);background:var(--sage);color:#fff;font-size:12px;box-shadow:0 2px 8px #7db59a4d}.resource-library-page .view-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7db59a66}.resource-library-page .view-btn:active{transform:scale(.96)}.resource-library-page .bookmark-btn{width:36px;height:36px;padding:0;background:var(--cream);display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-light)}.resource-library-page .bookmark-btn:hover{background:var(--peach-light);transform:scale(1.1)}.resource-library-page .bookmark-btn.filled{background:linear-gradient(135deg,#ffd93d,#ffe066);box-shadow:0 4px 12px #ffd93d4d;color:#d4a017}.resource-library-page .popular-resources{display:flex;flex-direction:column;gap:var(--space-md)}.resource-library-page .popular-card{display:flex;align-items:center;gap:var(--space-md);background:var(--white);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.resource-library-page .popular-card:hover{transform:translate(4px);box-shadow:var(--shadow-card-hover)}.resource-library-page .popular-rank{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #ff8a7a4d}.resource-library-page .popular-content{display:flex;align-items:center;gap:var(--space-md);flex:1;min-width:0}.resource-library-page .popular-info{flex:1;min-width:0}.resource-library-page .popular-title{font-family:Poppins,sans-serif;font-size:14px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-library-page .popular-meta{display:flex;align-items:center;gap:var(--space-sm)}.resource-library-page .view-count{font-size:11px;font-weight:600;color:var(--text-light);display:flex;align-items:center;gap:3px}.resource-library-page .bookmarked-section .section-header{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);cursor:pointer;border:2px solid var(--cream-dark);width:100%;transition:all .2s ease;box-shadow:var(--shadow-md)}.resource-library-page .bookmarked-section .section-header:hover{border-color:var(--coral-light);background:var(--peach-light)}.resource-library-page .collapsible{justify-content:space-between}.resource-library-page .collapse-icon{color:var(--text-medium);transition:transform .3s ease;display:flex;align-items:center}.resource-library-page .collapse-icon.collapsed{transform:rotate(-90deg)}.resource-library-page .bookmarked-content{padding-top:var(--space-lg)}.resource-library-page .bookmarked-list{display:flex;flex-direction:column;gap:var(--space-md)}.resource-library-page .empty-state,.resource-library-page .no-results-state{text-align:center;padding:var(--space-xxl) var(--space-lg);background:var(--white);border-radius:var(--radius-xl);border:2px dashed var(--cream-dark)}.resource-library-page .no-results-state{margin-bottom:var(--space-xl)}.resource-library-page .reset-filter-btn{margin-top:var(--space-lg);padding:12px var(--space-xl);background:var(--sage);border:none;border-radius:50px;color:#fff;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #7db59a4d}.resource-library-page .reset-filter-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7db59a66}.resource-library-page .reset-filter-btn:active{transform:scale(.97)}.resource-library-page .empty-illustration{margin-bottom:var(--space-md);opacity:.4;color:var(--text-medium);display:flex;justify-content:center}.resource-library-page .empty-message{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-xs)}.resource-library-page .empty-hint{font-size:13px;font-weight:600;color:var(--text-light);margin:0}.resource-library-page .loading-state{display:flex;justify-content:center;align-items:center;min-height:300px}.resource-library-page .loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:resourceSpin .8s linear infinite}@keyframes resourceSpin{to{transform:rotate(360deg)}}.resource-library-page .fab{position:fixed;bottom:90px;right:16px;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);border:none;box-shadow:0 6px 20px #ff8a7a66;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;z-index:999;transition:transform .2s ease,box-shadow .2s ease}.resource-library-page .fab:hover{transform:scale(1.1);box-shadow:0 8px 24px #ff8a7a80}.resource-library-page .fab:active{transform:scale(.95)}.resource-library-page .filter-chip:focus,.resource-library-page .subject-card:focus,.resource-library-page .resource-card:focus,.resource-library-page .popular-card:focus,.resource-library-page .action-btn:focus,.resource-library-page .fab:focus{outline:2px solid var(--coral);outline-offset:2px}.resource-library-page .search-input:focus{outline:none}@media(min-width:768px){.resource-library-page .subjects-grid{grid-template-columns:repeat(3,1fr)}}.events-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .1);--shadow-md: 0 8px 24px rgba(61, 61, 61, .08);--shadow-card: 0 4px 16px rgba(0, 0, 0, .06);--radius-full: 999px;--background: var(--cream);--ion-background-color: var(--cream)}.events-page ion-content{--background: var(--cream)}.events-container{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;padding-bottom:100px}.events-header{background:var(--white);padding:var(--space-lg) var(--space-xl);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--cream-dark)}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.back-button{width:40px;height:40px;border-radius:50%;background:var(--cream);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dark);font-size:20px}.back-button:active{background:var(--cream-dark)}.page-title{font-size:20px;font-weight:700;margin:0;color:var(--text-dark)}.header-spacer{width:40px}.events-page .search-container{margin-bottom:var(--space-lg)}.events-page .search-bar{display:flex;align-items:center;background:var(--cream);border-radius:var(--radius-full);padding:var(--space-md) var(--space-lg);gap:var(--space-sm)}.events-page .search-icon{color:var(--text-light);font-size:18px;flex-shrink:0}.events-page .search-input{flex:1;border:none;background:transparent;font-size:15px;color:var(--text-dark);outline:none}.events-page .search-input::placeholder{color:var(--text-light)}.category-pills-container{margin:0 calc(var(--space-xl) * -1);padding:0 var(--space-xl);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-pills-container::-webkit-scrollbar{display:none}.category-pills{display:flex;gap:var(--space-sm);padding-bottom:var(--space-sm)}.category-pill{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background:var(--white);border:1.5px solid var(--cream-dark);font-size:13px;font-weight:600;color:var(--text-medium);white-space:nowrap;cursor:pointer;transition:all .2s ease}.category-pill ion-icon{font-size:14px}.category-pill .pill-count{font-size:11px;background:var(--cream);padding:2px 6px;border-radius:var(--radius-full);color:var(--text-light)}.category-pill.active{background:linear-gradient(135deg,var(--coral) 0%,var(--peach) 100%);border-color:transparent;color:var(--white)}.category-pill.active .pill-count{background:#ffffff40;color:var(--white)}.filter-toggle{margin-top:var(--space-md)}.toggle-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:13px;color:var(--text-medium)}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--coral)}.events-content{padding:var(--space-lg) var(--space-xl)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-light)}.error-state{text-align:center;padding:60px 20px;color:var(--text-medium)}.empty-state{text-align:center;padding:60px 20px}.empty-icon{width:80px;height:80px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl)}.empty-icon ion-icon{font-size:36px;color:var(--coral)}.empty-state h3{font-size:18px;font-weight:700;margin-bottom:var(--space-sm);color:var(--text-dark)}.empty-state p{color:var(--text-medium);font-size:14px}.results-count{font-size:13px;color:var(--text-light);margin-bottom:var(--space-lg)}.events-list{display:flex;flex-direction:column;gap:var(--space-lg)}.event-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.event-card:active{transform:scale(.98)}.event-card.past{opacity:.7}.event-card-header{height:140px;position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-md)}.category-badge{display:inline-flex;align-items:center;gap:4px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--text-dark)}.category-badge ion-icon{font-size:14px}.time-badge{background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;color:var(--coral)}.time-badge.past{color:var(--text-light)}.event-card-body{padding:var(--space-lg)}.event-title{font-size:17px;font-weight:700;margin:0 0 var(--space-sm);color:var(--text-dark);line-height:1.3}.event-description{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-meta{display:flex;flex-wrap:wrap;gap:var(--space-md)}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-medium)}.meta-item ion-icon{font-size:16px;color:var(--coral)}.meta-item.attendees ion-icon{color:var(--sage)}.event-card-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--cream);display:flex;justify-content:flex-end}.rsvp-buttons{display:flex;gap:var(--space-sm)}.rsvp-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.rsvp-button.accept{background:var(--sage);color:var(--white);border:none}.rsvp-button.accept:hover{background:#6ca889}.rsvp-button.maybe{background:var(--white);color:var(--text-medium);border:1.5px solid var(--cream-dark)}.rsvp-button.maybe:hover{background:var(--cream)}.rsvp-button.current{border:none}.rsvp-button.current.accepted{background:var(--sage-light);color:var(--sage)}.rsvp-button.current.declined{background:#ffe5e5;color:#ff6b6b}.rsvp-button.current.tentative{background:#fff3e0;color:#ffb347}.rsvp-button:disabled{opacity:.6;cursor:not-allowed}.past-badge{font-size:12px;color:var(--text-light);font-weight:600;background:var(--cream);padding:6px 12px;border-radius:var(--radius-full)}ion-infinite-scroll-content{--color: var(--text-light)}.event-detail-page{--shadow-sm: 0 4px 12px rgba(255, 138, 122, .1);--shadow-md: 0 8px 24px rgba(61, 61, 61, .08);--radius-full: 999px;--background: var(--cream);--ion-background-color: var(--cream)}.event-detail-page ion-content{--background: var(--cream)}.event-detail-container{font-family:Nunito,sans-serif;min-height:100%;padding-bottom:100px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:40px;color:var(--text-medium)}.loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-lg)}.error-state ion-icon{font-size:48px;color:var(--coral);margin-bottom:var(--space-lg)}.retry-button{margin-top:var(--space-lg);padding:var(--space-md) var(--space-xl);background:var(--coral);color:var(--white);border:none;border-radius:var(--radius-full);font-weight:600;cursor:pointer}.event-hero{height:280px;position:relative}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#0009);display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-lg)}.hero-header{display:flex;justify-content:space-between;align-items:flex-start}.back-button,.share-button{width:40px;height:40px;border-radius:50%;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dark);font-size:20px}.hero-content{display:flex;flex-direction:column;gap:var(--space-sm)}.hero-content .category-badge{align-self:flex-start;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--text-dark)}.hero-content .event-title{font-size:24px;font-weight:800;color:var(--white);margin:0;text-shadow:0 2px 8px rgba(0,0,0,.3);line-height:1.2}.hero-content .time-badge{align-self:flex-start;background:var(--coral);color:var(--white);padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700}.hero-content .time-badge.past{background:var(--text-light)}.event-content{padding:var(--space-xl);margin-top:-30px;position:relative}.info-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-xl)}.info-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) 0}.info-item:not(:last-child){border-bottom:1px solid var(--cream)}.info-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-icon ion-icon{font-size:20px;color:var(--coral)}.info-icon.warning ion-icon{color:#ffb347}.info-text{flex:1;display:flex;flex-direction:column;gap:2px}.info-label{font-size:12px;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:15px;color:var(--text-dark);font-weight:600}.info-value.closed{color:#ff6b6b}.info-link{width:36px;height:36px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--coral);flex-shrink:0}.info-link ion-icon{font-size:18px}.description-section{margin-bottom:var(--space-xl)}.section-title{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.section-title ion-icon{color:var(--coral)}.description-text{font-size:15px;color:var(--text-medium);line-height:1.7;margin:0;white-space:pre-line}.attendees-section{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.attendee-count{font-size:14px;color:var(--text-light);font-weight:600}.attendees-list{display:flex;flex-direction:column;gap:var(--space-md)}.attendee-item{display:flex;align-items:center;gap:var(--space-md)}.attendee-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--peach) 0%,var(--coral) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.attendee-avatar img{width:100%;height:100%;object-fit:cover}.attendee-avatar span{font-size:14px;font-weight:700;color:var(--white)}.attendee-name{font-size:14px;font-weight:600;color:var(--text-dark)}.attendee-more{font-size:13px;color:var(--text-light);font-weight:600;padding:var(--space-sm) 0}.no-attendees{font-size:14px;color:var(--text-light);text-align:center;padding:var(--space-xl) 0;margin:0}.capacity-warning{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);background:#fff3e0;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:#ffb347}.rsvp-footer{position:fixed;bottom:0;left:0;right:0;background:var(--white);padding:var(--space-lg) var(--space-xl);box-shadow:0 -4px 20px #0000001a;z-index:100}.rsvp-status-container{display:flex;align-items:center;justify-content:space-between}.current-status{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-full);font-size:15px;font-weight:700}.current-status ion-icon{font-size:20px}.current-status.accepted{background:var(--sage-light);color:var(--sage)}.current-status.declined{background:#ffe5e5;color:#ff6b6b}.current-status.tentative{background:#fff3e0;color:#ffb347}.change-rsvp-button{width:44px;height:44px;border-radius:50%;background:var(--cream);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-medium);font-size:24px}.rsvp-actions{display:flex;gap:var(--space-sm)}.rsvp-actions .rsvp-button{flex:1;padding:var(--space-md) var(--space-sm);border-radius:var(--radius-full);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-xs)}.rsvp-actions .rsvp-button.accept{background:var(--sage);color:var(--white);border:none}.rsvp-actions .rsvp-button.maybe{background:var(--white);color:var(--text-medium);border:1.5px solid var(--cream-dark)}.rsvp-actions .rsvp-button.decline{background:var(--white);color:#ff6b6b;border:1.5px solid #FFE5E5}.rsvp-actions .rsvp-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-disabled{text-align:center;padding:var(--space-md);color:var(--text-light);font-size:14px;font-weight:600}ion-action-sheet{--background: var(--white);--button-background: var(--white);--button-color: var(--text-dark)}.note-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 12px #0000000d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;gap:8px;position:relative}.note-card:active{transform:scale(.98)}.note-card.pinned{border:2px solid #FF8A7A}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.note-title{font-size:16px;font-weight:700;color:#3d3d3d;margin:0;flex:1;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.pin-indicator{color:#ff8a7a;display:flex;align-items:center}.action-btn{background:transparent;border:none;padding:4px;display:flex;align-items:center;justify-content:center;color:#9b9b9b;cursor:pointer;border-radius:8px;transition:color .2s,background-color .2s}.action-btn:hover{background-color:#0000000d}.action-btn.active,.bookmark-btn.active{color:#ffb347}.menu-container{position:relative}.note-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:8px;min-width:160px;z-index:100}.menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;width:100%;text-align:left;font-size:14px;font-weight:600;color:#3d3d3d;cursor:pointer;border-radius:8px;transition:background-color .2s;font-family:Nunito,sans-serif}.menu-item:hover{background-color:#fff9f5}.menu-item.delete{color:#ff6b6b}.menu-item.delete:hover{background-color:#fff0f0}.note-preview{font-size:14px;color:#6b6b6b;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-card-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.note-date{font-size:12px;color:#9b9b9b}.note-folder-badge{font-size:11px;padding:2px 8px;border-radius:10px;background-color:#f5ede8;color:#6b6b6b;font-weight:600}.note-subject-badge{font-size:11px;padding:2px 8px;border-radius:10px;color:#fff;font-weight:600}.note-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.tag{font-size:11px;color:#8b7ec8;background:#8b7ec81a;padding:2px 8px;border-radius:8px;font-weight:600}.tag-more{font-size:11px;color:#9b9b9b;padding:2px 4px}.folder-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;border-radius:12px;transition:background-color .2s;font-family:Nunito,sans-serif}.folder-item:hover{background:#fff9f5}.folder-item.active{background:#ffe5d9}.folder-item-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.folder-item-icon.folder-color-default{background:linear-gradient(135deg,#9b9b9b,#6b6b6b)}.folder-item-icon.folder-color-coral{background:linear-gradient(135deg,#ff8a7a,#ff6b6b)}.folder-item-icon.folder-color-sage{background:linear-gradient(135deg,#7db59a,#5a9b7d)}.folder-item-icon.folder-color-purple{background:linear-gradient(135deg,#8b7ec8,#6b5ba8)}.folder-item-icon.folder-color-peach{background:linear-gradient(135deg,#ffcdb2,#ffb5ab)}.folder-emoji{font-size:18px}.folder-item-name{flex:1;font-size:14px;font-weight:700;color:#3d3d3d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-item-count{font-size:12px;font-weight:700;color:#9b9b9b;background:#f5ede8;padding:2px 8px;border-radius:10px}.folder-sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.folder-sidebar-backdrop.visible{opacity:1;visibility:visible}.folder-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background:#fff;z-index:1001;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:4px 0 20px #0000001a}.folder-sidebar.open{transform:translate(0)}.folder-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #F5EDE8}.folder-sidebar-header h2{font-size:20px;font-weight:800;color:#3d3d3d;margin:0}.close-btn{background:transparent;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:#6b6b6b;cursor:pointer;border-radius:12px}.close-btn:active{background:#f5ede8}.folder-sidebar-content{flex:1;overflow-y:auto;padding:16px}.folder-nav-item{display:flex;align-items:center;gap:12px;padding:12px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;border-radius:12px;transition:background-color .2s;font-family:Nunito,sans-serif}.folder-nav-item:hover{background:#fff9f5}.folder-nav-item.active{background:#ffe5d9}.folder-nav-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-nav-icon.all{background:linear-gradient(135deg,#ff8a7a,#ffcdb2);color:#fff}.folder-nav-icon.bookmarked{background:linear-gradient(135deg,#ffb347,#ffe66d);color:#fff}.folder-nav-icon.pinned{background:linear-gradient(135deg,#ff8a7a,#ff6b6b);color:#fff}.folder-nav-icon.unfiled{background:#f5ede8;color:#6b6b6b}.folder-nav-label{flex:1;font-size:15px;font-weight:700;color:#3d3d3d}.folder-nav-count{font-size:13px;font-weight:700;color:#9b9b9b;background:#f5ede8;padding:2px 8px;border-radius:10px}.folder-divider{height:1px;background:#f5ede8;margin:16px 0}.folder-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.folder-list-header span{font-size:12px;font-weight:700;color:#9b9b9b;text-transform:uppercase;letter-spacing:.5px}.add-folder-btn{background:transparent;border:none;padding:4px;display:flex;align-items:center;justify-content:center;color:#8b7ec8;cursor:pointer;border-radius:8px}.add-folder-btn:active{background:#8b7ec81a}.empty-folders{text-align:center;padding:24px 16px}.empty-folders p{font-size:14px;color:#9b9b9b;margin:0 0 12px}.create-folder-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#8b7ec8;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif}.create-folder-btn:active{opacity:.9}.folder-list{display:flex;flex-direction:column;gap:4px}.highlight-picker{position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:12px;z-index:100;min-width:180px;margin-top:4px}.highlight-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.highlight-picker-header span{font-size:12px;font-weight:700;color:#6b6b6b;text-transform:uppercase;letter-spacing:.5px}.highlight-colors{display:flex;flex-wrap:wrap;gap:8px}.color-btn{width:32px;height:32px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.color-btn:hover{transform:scale(1.1);border-color:#3d3d3d}.color-btn.remove{background:#f5ede8;display:flex;align-items:center;justify-content:center;color:#6b6b6b}.color-btn.remove:hover{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.editor-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#fff;border-bottom:1px solid #F5EDE8;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-toolbar::-webkit-scrollbar{display:none}.toolbar-group{display:flex;align-items:center;gap:2px;position:relative}.highlight-group{position:relative}.toolbar-btn{background:transparent;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:#6b6b6b;cursor:pointer;border-radius:8px;transition:background-color .2s,color .2s;min-width:36px;min-height:36px}.toolbar-btn:hover{background:#fff9f5;color:#3d3d3d}.toolbar-btn.active{background:#ffe5d9;color:#ff8a7a}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn:disabled:hover{background:transparent;color:#6b6b6b}.toolbar-divider{width:1px;height:24px;background:#f5ede8;margin:0 4px;flex-shrink:0}.toolbar-spacer{flex:1}.folder-picker{position:absolute;top:100%;left:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:8px;z-index:100;min-width:200px;max-width:280px;margin-top:4px;max-height:300px;overflow-y:auto}.folder-picker-header{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #F5EDE8;margin-bottom:4px}.folder-picker-header span{font-size:12px;font-weight:700;color:#6b6b6b;text-transform:uppercase;letter-spacing:.5px}.close-picker-btn{background:transparent;border:none;padding:4px;display:flex;align-items:center;justify-content:center;color:#9b9b9b;cursor:pointer;border-radius:6px}.close-picker-btn:hover{background:#f5ede8;color:#3d3d3d}.folder-picker-list{display:flex;flex-direction:column;gap:2px}.folder-picker-item{display:flex;align-items:center;gap:10px;padding:10px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;border-radius:8px;transition:background-color .2s;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:#3d3d3d}.folder-picker-item:hover{background:#fff9f5}.folder-picker-item.selected{background:#ffe5d9}.picker-folder-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.picker-folder-icon.picker-folder-default{background:#9b9b9b}.picker-folder-icon.picker-folder-coral{background:#ff8a7a}.picker-folder-icon.picker-folder-sage{background:#7db59a}.picker-folder-icon.picker-folder-purple{background:#8b7ec8}.picker-folder-icon.picker-folder-peach{background:#ffcdb2}.picker-folder-emoji{font-size:14px}.folder-picker-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-icon{color:#7db59a;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000}.create-folder-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:20px;width:90%;max-width:360px;z-index:1001;padding:24px;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{font-size:20px;font-weight:800;color:#3d3d3d;margin:0}.modal-close-btn{background:transparent;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:#6b6b6b;cursor:pointer;border-radius:10px}.modal-close-btn:active{background:#f5ede8}.folder-preview{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:#fff9f5;border-radius:16px;margin-bottom:20px}.preview-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff}.preview-icon.modal-folder-default{background:linear-gradient(135deg,#9b9b9b,#6b6b6b)}.preview-icon.modal-folder-coral{background:linear-gradient(135deg,#ff8a7a,#ff6b6b)}.preview-icon.modal-folder-sage{background:linear-gradient(135deg,#7db59a,#5a9b7d)}.preview-icon.modal-folder-purple{background:linear-gradient(135deg,#8b7ec8,#6b5ba8)}.preview-icon.modal-folder-peach{background:linear-gradient(135deg,#ffcdb2,#ffb5ab)}.preview-emoji{font-size:28px}.preview-name{font-size:16px;font-weight:700;color:#3d3d3d}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:700;color:#6b6b6b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;border:2px solid #F5EDE8;border-radius:12px;font-size:16px;font-family:Nunito,sans-serif;color:#3d3d3d;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#ff8a7a}.form-group input::placeholder{color:#9b9b9b}.color-options{display:flex;gap:10px;flex-wrap:wrap}.color-option{width:36px;height:36px;border-radius:10px;border:3px solid transparent;cursor:pointer;transition:transform .2s,border-color .2s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#3d3d3d}.icon-options{display:flex;gap:8px;flex-wrap:wrap}.icon-option{width:40px;height:40px;border-radius:10px;border:2px solid #F5EDE8;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#6b6b6b;transition:border-color .2s,background-color .2s}.icon-option:hover{border-color:#ff8a7a;background:#fff9f5}.icon-option.selected{border-color:#ff8a7a;background:#ffe5d9}.modal-actions{display:flex;gap:12px;margin-top:24px}.cancel-btn{flex:1;padding:14px;border:2px solid #F5EDE8;background:transparent;border-radius:12px;font-size:16px;font-weight:700;color:#6b6b6b;cursor:pointer;font-family:Nunito,sans-serif;transition:background-color .2s}.cancel-btn:hover{background:#f5ede8}.submit-btn{flex:1;padding:14px;border:none;background:linear-gradient(135deg,#ff8a7a,#ffcdb2);border-radius:12px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;font-family:Nunito,sans-serif;transition:opacity .2s}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.notes-page{--radius-full: 999px;--background: var(--cream);--ion-background-color: var(--cream)}.notes-page ion-content{--background: var(--cream)}.notes-container{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;display:flex;flex-direction:column}.notes-header{padding:var(--space-xl) var(--space-xxl);display:flex;justify-content:space-between;align-items:center;background-color:var(--cream);position:sticky;top:0;z-index:10}.header-left{display:flex;align-items:center;gap:var(--space-md)}.menu-btn{background:transparent;border:none;padding:var(--space-sm);display:flex;align-items:center;justify-content:center;color:var(--text-dark);cursor:pointer;border-radius:var(--radius-sm)}.menu-btn:active{background:var(--cream-dark)}.notes-header h1{font-size:24px;font-weight:800;color:var(--text-dark);margin:0}.new-note-btn{width:44px;height:44px;background:linear-gradient(135deg,var(--coral) 0%,var(--peach) 100%);border:none;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--white);cursor:pointer;box-shadow:0 4px 12px #ff8a7a4d}.new-note-btn:active{transform:scale(.95)}.notes-content{flex:1;padding:0 var(--space-xxl)}.notes-page .search-container{margin-bottom:var(--space-lg)}.notes-page .search-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--white);border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000008}.notes-page .search-icon{color:var(--text-light);flex-shrink:0}.notes-page .search-bar input{flex:1;border:none;background:transparent;font-size:16px;font-family:Nunito,sans-serif;color:var(--text-dark)}.notes-page .search-bar input::placeholder{color:var(--text-light)}.notes-page .search-bar input:focus{outline:none}.filter-chips{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--space-xs)}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-lg);background:var(--white);border:2px solid var(--cream-dark);border-radius:var(--radius-full);font-size:14px;font-weight:700;color:var(--text-medium);cursor:pointer;white-space:nowrap;font-family:Nunito,sans-serif;transition:all .2s}.filter-chip:active{transform:scale(.95)}.filter-chip.active{background:var(--peach-light);border-color:var(--coral);color:var(--coral)}.stats-bar{display:flex;align-items:center;gap:var(--space-sm);font-size:13px;font-weight:700;color:var(--text-light);margin-bottom:var(--space-lg)}.stats-bar .dot{font-size:10px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:var(--space-lg)}.spinner{width:40px;height:40px;border:4px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin 1s linear infinite}.loading-state span{font-size:14px;color:var(--text-light)}.error-state{text-align:center;padding:60px var(--space-xl)}.error-state p{font-size:14px;color:#ff6b6b;margin-bottom:var(--space-lg)}.error-state button{padding:var(--space-md) var(--space-xl);background:var(--coral);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px var(--space-xl);text-align:center}.empty-icon{width:80px;height:80px;background:var(--peach-light);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--coral);margin-bottom:var(--space-xl)}.empty-state h3{font-size:18px;font-weight:800;color:var(--text-dark);margin:0 0 var(--space-sm)}.empty-state p{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-xl)}.create-note-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--coral) 0%,var(--peach) 100%);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif}.notes-list{display:flex;flex-direction:column;gap:var(--space-lg)}.notes-page .section-header{display:flex;align-items:center;gap:var(--space-sm);font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.notes-grid{display:flex;flex-direction:column;gap:var(--space-md)}.bottom-spacer{height:100px}.note-editor-page{--ion-background-color: var(--white)}.note-editor-page ion-content{--background: var(--white)}.editor-container{display:flex;flex-direction:column;height:100%;font-family:Nunito,sans-serif}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--white);border-bottom:1px solid var(--cream-dark);position:sticky;top:0;z-index:100}.back-btn{background:transparent;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--text-dark);cursor:pointer;border-radius:10px}.back-btn:active{background:var(--cream)}.header-actions{display:flex;align-items:center;gap:8px}.action-btn{background:transparent;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--text-medium);cursor:pointer;border-radius:10px}.action-btn:active{background:var(--cream)}.action-btn.active{color:#ffb347}.save-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--cream-dark);border:none;border-radius:10px;font-size:14px;font-weight:700;color:var(--text-medium);cursor:pointer;font-family:Nunito,sans-serif;transition:all .2s}.save-btn.dirty{background:linear-gradient(135deg,var(--coral) 0%,var(--peach) 100%);color:var(--white)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.menu-wrapper{position:relative}.header-menu{position:absolute;top:100%;right:0;background:var(--white);border-radius:12px;box-shadow:0 4px 20px #00000026;padding:8px;min-width:160px;z-index:200;margin-top:4px}.header-menu .menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;width:100%;text-align:left;font-size:14px;font-weight:600;color:var(--text-dark);cursor:pointer;border-radius:8px;transition:background-color .2s;font-family:Nunito,sans-serif}.header-menu .menu-item:hover{background:var(--cream)}.header-menu .menu-item.delete{color:#ff6b6b}.header-menu .menu-item.delete:hover{background:#fff0f0}.title-container{padding:16px 20px 8px}.title-input{width:100%;border:none;background:transparent;font-size:24px;font-weight:800;color:var(--text-dark);font-family:Nunito,sans-serif}.title-input::placeholder{color:var(--text-light)}.title-input:focus{outline:none}.meta-container{display:flex;gap:8px;padding:0 20px 12px;flex-wrap:wrap}.meta-badge{font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600}.meta-badge.folder{background:var(--cream-dark);color:var(--text-medium)}.meta-badge.subject{color:var(--white)}.editor-content-wrapper{flex:1;overflow-y:auto;padding:16px 20px}.tiptap-editor{min-height:100%}.tiptap-editor .ProseMirror{min-height:300px;outline:none;font-size:16px;line-height:1.6;color:var(--text-dark)}.tiptap-editor .ProseMirror p{margin:0 0 12px}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-light);pointer-events:none;float:left;height:0}.tiptap-editor .ProseMirror h1{font-size:28px;font-weight:800;margin:24px 0 12px;color:var(--text-dark)}.tiptap-editor .ProseMirror h2{font-size:22px;font-weight:700;margin:20px 0 10px;color:var(--text-dark)}.tiptap-editor .ProseMirror h3{font-size:18px;font-weight:700;margin:16px 0 8px;color:var(--text-dark)}.tiptap-editor .ProseMirror strong{font-weight:700}.tiptap-editor .ProseMirror em{font-style:italic}.tiptap-editor .ProseMirror u{text-decoration:underline}.tiptap-editor .ProseMirror mark{border-radius:4px;padding:2px 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{margin:0 0 12px;padding-left:24px}.tiptap-editor .ProseMirror li{margin-bottom:4px}.tiptap-editor .ProseMirror ul li{list-style-type:disc}.tiptap-editor .ProseMirror ol li{list-style-type:decimal}.editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.editor-loading .spinner{width:40px;height:40px;border:4px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:spin 1s linear infinite}.editor-loading span{font-size:14px;color:var(--text-light);font-family:Nunito,sans-serif}.editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center}.editor-error p{font-size:14px;color:#ff6b6b;margin-bottom:16px;font-family:Nunito,sans-serif}.editor-error button{padding:12px 24px;background:var(--coral);color:var(--white);border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:Nunito,sans-serif}.perf-page{--background: var(--cream)}.perf-page ion-content{--background: var(--cream)}.perf-page ion-content::part(scroll){background:var(--cream)}.perf-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.perf-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.perf-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.perf-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.perf-back-btn:active{transform:scale(.95)}.perf-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.perf-header-spacer{width:44px}.perf-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.perf-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;overflow:hidden}.perf-card-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream-dark)}.perf-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.perf-icon-overview{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.perf-icon-subjects{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);color:#fff;box-shadow:0 4px 12px #8b7ec84d}.perf-icon-recent{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;box-shadow:0 4px 12px #7db59a4d}.perf-card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.perf-card-body{padding:0}.perf-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-xs);padding:var(--space-lg) var(--space-xl)}.perf-stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--cream)}.perf-stat-value{font-size:1.5rem;font-weight:800;line-height:1}.perf-stat-label{font-size:.75rem;font-weight:600;color:var(--text-light);text-align:center}.perf-subject-row{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream)}.perf-subject-row:last-child{border-bottom:none}.perf-subject-info{display:flex;align-items:center;gap:var(--space-sm)}.perf-subject-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.perf-subject-name{font-size:.9375rem;font-weight:600;color:var(--text-dark)}.perf-subject-stats{display:flex;flex-direction:column;gap:var(--space-sm);padding-left:18px}.perf-subject-bar-wrapper{width:100%;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden}.perf-subject-bar{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.perf-subject-meta{display:flex;align-items:center;gap:var(--space-md)}.perf-subject-avg{font-size:.875rem;font-weight:700}.perf-subject-count{font-size:.75rem;color:var(--text-light);font-weight:500}.perf-subject-letter{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.5px}.perf-grade-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--cream);transition:background-color .2s ease}.perf-grade-row:last-child{border-bottom:none}.perf-grade-accent{width:4px;height:40px;border-radius:2px;flex-shrink:0}.perf-grade-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.perf-grade-title-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.perf-grade-title{font-size:.875rem;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.perf-grade-type-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.3px;flex-shrink:0}.perf-grade-details{display:flex;align-items:center;gap:var(--space-sm)}.perf-grade-subject{font-size:.75rem;color:var(--text-light);font-weight:500}.perf-grade-date{font-size:.75rem;color:var(--text-light)}.perf-grade-date:before{content:"·";margin-right:var(--space-sm)}.perf-grade-score-box{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.perf-grade-score{font-size:.875rem;font-weight:700}.perf-grade-pct{font-size:.6875rem;font-weight:600}.perf-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl);gap:var(--space-md);text-align:center}.perf-empty-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.perf-empty-desc{font-size:.875rem;color:var(--text-light);margin:0}.perf-error-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;padding:var(--space-xxl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.perf-error-text{font-size:.9375rem;color:var(--text-medium);margin:0}.perf-retry-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);border:none;background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.perf-retry-btn:hover{box-shadow:0 4px 12px #ff8a7a4d}.perf-retry-btn:active{transform:scale(.97)}.perf-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.perf-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:perf-spin 1s linear infinite}@keyframes perf-spin{to{transform:rotate(360deg)}}.perf-bottom-spacer{height:100px}@media(max-width:375px){.perf-content{padding:var(--space-lg)}.perf-card-header,.perf-stats-grid,.perf-subject-row,.perf-grade-row{padding:var(--space-md) var(--space-lg)}.perf-stat-value{font-size:1.25rem}.perf-card-icon{width:36px;height:36px}.perf-grade-title{max-width:120px}}.perf-back-btn:focus-visible,.perf-retry-btn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(prefers-reduced-motion:reduce){.perf-page *,.perf-page *:before,.perf-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.achv-page{--background: var(--cream)}.achv-page ion-content{--background: var(--cream)}.achv-page ion-content::part(scroll){background:var(--cream)}.achv-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.achv-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.achv-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.achv-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.achv-back-btn:active{transform:scale(.95)}.achv-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.achv-header-spacer{width:44px}.achv-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.achv-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;overflow:hidden}.achv-card-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream-dark)}.achv-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0;color:#fff}.achv-card-icon.level{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);box-shadow:0 4px 12px #8b7ec84d}.achv-card-icon.points{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);box-shadow:0 4px 12px #7db59a4d}.achv-card-icon.badges{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);box-shadow:0 4px 12px #ff8a7a4d}.achv-card-icon.streaks{background:linear-gradient(135deg,#ffd6a5,#ffb347);box-shadow:0 4px 12px #ffb3474d}.achv-card-icon.challenges{background:linear-gradient(135deg,var(--peach-light) 0%,var(--peach) 100%);box-shadow:0 4px 12px #ffcdb24d}.achv-card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.achv-card-body{padding:var(--space-lg) var(--space-xl)}.achv-level-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.achv-level-badge{display:flex;align-items:center;gap:var(--space-sm)}.achv-level-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);color:#fff;font-size:1.125rem;font-weight:800;box-shadow:0 4px 12px #8b7ec84d}.achv-level-label{display:flex;flex-direction:column}.achv-level-name{font-size:1rem;font-weight:700;color:var(--text-dark)}.achv-level-sublabel{font-size:.75rem;color:var(--text-light);font-weight:500}.achv-xp-text{font-size:.8125rem;font-weight:600;color:var(--purple-ai)}.achv-progress-bar-container{width:100%;height:12px;background:var(--cream-dark);border-radius:6px;overflow:hidden;margin-bottom:var(--space-sm)}.achv-progress-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:4px}.achv-xp-remaining{font-size:.75rem;color:var(--text-light);text-align:right}.achv-points-row{display:flex;gap:var(--space-md)}.achv-point-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-md);background:var(--cream);border-radius:var(--radius-sm);gap:var(--space-xs)}.achv-point-value{font-size:1.25rem;font-weight:800;color:var(--text-dark)}.achv-point-label{font-size:.6875rem;font-weight:600;color:var(--text-light);text-align:center;text-transform:uppercase;letter-spacing:.3px}.achv-point-item:first-child .achv-point-value{color:var(--sage)}.achv-point-item:nth-child(2) .achv-point-value{color:var(--coral)}.achv-point-item:nth-child(3) .achv-point-value{color:var(--purple-ai)}.achv-badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.achv-badge-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--cream);transition:transform .2s ease}.achv-badge-item.earned{background:linear-gradient(135deg,#ffb5ab26,#ff8a7a26)}.achv-badge-item.locked{opacity:.45}.achv-badge-icon-wrapper{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-full);font-size:1.5rem}.achv-badge-item.earned .achv-badge-icon-wrapper{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);box-shadow:0 4px 12px #ff8a7a4d;color:#fff}.achv-badge-item.earned .achv-badge-icon-wrapper.academic{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);box-shadow:0 4px 12px #8b7ec84d}.achv-badge-item.earned .achv-badge-icon-wrapper.social{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);box-shadow:0 4px 12px #7db59a4d}.achv-badge-item.earned .achv-badge-icon-wrapper.special{background:linear-gradient(135deg,#ffd6a5,#ffb347);box-shadow:0 4px 12px #ffb3474d}.achv-badge-item.locked .achv-badge-icon-wrapper{background:var(--cream-dark);color:var(--text-light)}.achv-badge-name{font-size:.6875rem;font-weight:600;color:var(--text-dark);text-align:center;line-height:1.3;word-break:break-word}.achv-badge-item.locked .achv-badge-name{color:var(--text-light)}.achv-badge-date{font-size:.625rem;color:var(--text-light);font-weight:500}.achv-badge-lock-icon{font-size:1.25rem}.achv-streaks-list{display:flex;flex-direction:column;gap:var(--space-md)}.achv-streak-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--cream);border-radius:var(--radius-sm)}.achv-streak-flame{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,#ffd6a5,#ff8a7a);color:#fff;flex-shrink:0;box-shadow:0 4px 12px #ff8a7a40}.achv-streak-flame.at-risk{animation:achv-pulse 1.5s ease-in-out infinite}@keyframes achv-pulse{0%,to{box-shadow:0 4px 12px #ff8a7a40}50%{box-shadow:0 4px 20px #ff8a7a80}}.achv-streak-info{flex:1;min-width:0}.achv-streak-type{font-size:.8125rem;font-weight:700;color:var(--text-dark);margin-bottom:2px}.achv-streak-meta{font-size:.75rem;color:var(--text-light);font-weight:500}.achv-streak-count{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.achv-streak-number{font-size:1.5rem;font-weight:800;color:var(--coral);line-height:1}.achv-streak-unit{font-size:.625rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.achv-streak-at-risk{display:inline-flex;align-items:center;gap:2px;font-size:.6875rem;color:var(--alert-red);font-weight:600;margin-top:2px}.achv-challenges-list{display:flex;flex-direction:column;gap:var(--space-md)}.achv-challenge-item{padding:var(--space-md) var(--space-lg);background:var(--cream);border-radius:var(--radius-sm)}.achv-challenge-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-sm)}.achv-challenge-title{font-size:.875rem;font-weight:700;color:var(--text-dark);flex:1;margin-right:var(--space-sm)}.achv-challenge-reward{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:700;flex-shrink:0}.achv-challenge-desc{font-size:.75rem;color:var(--text-light);margin-bottom:var(--space-sm);line-height:1.4}.achv-challenge-progress-bar{width:100%;height:8px;background:#fff;border-radius:4px;overflow:hidden;margin-bottom:var(--space-xs)}.achv-challenge-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--peach) 0%,var(--coral) 100%);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}.achv-challenge-progress-fill.completed{background:linear-gradient(90deg,var(--sage-light) 0%,var(--sage) 100%)}.achv-challenge-progress-text{display:flex;align-items:center;justify-content:space-between}.achv-challenge-percent{font-size:.6875rem;font-weight:700;color:var(--coral)}.achv-challenge-percent.completed{color:var(--sage)}.achv-challenge-time{font-size:.6875rem;color:var(--text-light);font-weight:500}.achv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);color:var(--text-light)}.achv-empty-icon{margin-bottom:var(--space-sm);opacity:.5}.achv-empty-text{font-size:.8125rem;font-weight:500;text-align:center}.achv-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.achv-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:achv-spin 1s linear infinite}@keyframes achv-spin{to{transform:rotate(360deg)}}.achv-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--space-xl);text-align:center}.achv-error-icon{margin-bottom:var(--space-md);color:var(--alert-red)}.achv-error-text{font-size:.875rem;color:var(--text-medium);margin-bottom:var(--space-lg)}.achv-retry-btn{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.achv-retry-btn:hover{box-shadow:0 4px 12px #ff8a7a4d}.achv-retry-btn:active{transform:scale(.97)}.achv-bottom-spacer{height:100px}@media(max-width:375px){.achv-content{padding:var(--space-lg)}.achv-card-header,.achv-card-body{padding:var(--space-md) var(--space-lg)}.achv-card-icon{width:36px;height:36px}.achv-card-icon svg{width:18px;height:18px}.achv-badges-grid{gap:var(--space-sm)}.achv-badge-icon-wrapper{width:44px;height:44px;font-size:1.25rem}.achv-level-number{width:38px;height:38px;font-size:1rem}}.achv-back-btn:focus-visible,.achv-retry-btn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(prefers-reduced-motion:reduce){.achv-page *,.achv-page *:before,.achv-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mynotes-page{--background: var(--cream)}.mynotes-page ion-content{--background: var(--cream)}.mynotes-page ion-content::part(scroll){background:var(--cream)}.mynotes-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mynotes-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.mynotes-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.mynotes-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.mynotes-back-btn:active{transform:scale(.95)}.mynotes-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.mynotes-header-spacer{width:44px}.mynotes-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.mynotes-stats-bar{display:flex;align-items:center;justify-content:space-around;background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;padding:var(--space-lg) var(--space-md)}.mynotes-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.mynotes-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-dark);line-height:1.2}.mynotes-stat-value.coral{color:var(--coral)}.mynotes-stat-value.sage{color:var(--sage)}.mynotes-stat-value.purple{color:var(--purple-ai)}.mynotes-stat-label{font-size:.75rem;font-weight:600;color:var(--text-light);text-transform:none}.mynotes-stat-divider{width:1px;height:36px;background:var(--cream-dark)}.mynotes-filters{display:flex;gap:var(--space-sm);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0}.mynotes-filters::-webkit-scrollbar{display:none}.mynotes-filter-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:50px;border:2px solid var(--cream-dark);background:#fff;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-medium);cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.mynotes-filter-chip:hover{border-color:var(--coral-light);color:var(--coral)}.mynotes-filter-chip.active{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);border-color:var(--coral);color:#fff;box-shadow:0 2px 8px #ff8a7a4d}.mynotes-filter-chip-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.mynotes-list{display:flex;flex-direction:column;gap:var(--space-md)}.mynotes-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;padding:var(--space-lg) var(--space-xl);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border-left:4px solid transparent;position:relative}.mynotes-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.mynotes-card:active{transform:translateY(0);box-shadow:0 4px 16px #0000000f}.mynotes-card.pinned{background:var(--pinned-yellow);border-left-color:var(--pinned-yellow-border)!important}.mynotes-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-sm)}.mynotes-card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:var(--space-sm)}.mynotes-card-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.mynotes-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-light);transition:all .2s ease;padding:0}.mynotes-action-btn:hover{background:var(--cream);color:var(--text-medium)}.mynotes-action-btn.bookmarked{color:var(--coral)}.mynotes-action-btn.pinned{color:var(--alert-orange)}.mynotes-card-preview{font-size:.875rem;color:var(--text-medium);margin:0 0 var(--space-md);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mynotes-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.mynotes-card-tags{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;overflow:hidden}.mynotes-subject-tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:3px 10px;border-radius:50px;font-size:.6875rem;font-weight:700;white-space:nowrap;background:var(--cream);color:var(--text-medium)}.mynotes-subject-tag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.mynotes-folder-tag{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:50px;font-size:.6875rem;font-weight:600;white-space:nowrap;background:var(--cream);color:var(--text-light)}.mynotes-card-date{font-size:.75rem;color:var(--text-light);font-weight:500;white-space:nowrap;flex-shrink:0}.mynotes-loading{display:flex;align-items:center;justify-content:center;min-height:200px}.mynotes-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:mynotes-spin 1s linear infinite}@keyframes mynotes-spin{to{transform:rotate(360deg)}}.mynotes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl);min-height:250px;text-align:center}.mynotes-empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);margin-bottom:var(--space-xl);color:var(--coral)}.mynotes-empty-title{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm)}.mynotes-empty-description{font-size:.9375rem;color:var(--text-light);margin:0;max-width:260px;line-height:1.5}.mynotes-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl);min-height:200px;text-align:center}.mynotes-error-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#ffe5e5,#fff0f0);margin-bottom:var(--space-lg);color:var(--alert-red)}.mynotes-error-text{font-size:.9375rem;color:var(--text-medium);margin:0 0 var(--space-lg)}.mynotes-retry-btn{padding:var(--space-sm) var(--space-xl);border:none;border-radius:50px;background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s ease}.mynotes-retry-btn:hover{box-shadow:0 4px 12px #ff8a7a4d}.mynotes-fab{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom,0px));right:calc(50% - 240px + var(--space-xl));width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #ff8a7a66;transition:transform .2s ease,box-shadow .2s ease;z-index:99}.mynotes-fab:hover{transform:scale(1.1);box-shadow:0 8px 24px #ff8a7a80}.mynotes-fab:active{transform:scale(.95)}@media(max-width:520px){.mynotes-fab{right:var(--space-xl)}}.mynotes-bottom-spacer{height:100px}.mynotes-skeleton-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;padding:var(--space-lg) var(--space-xl)}.mynotes-skeleton-title{width:60%;height:16px;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:mynotes-shimmer 1.5s infinite;border-radius:8px;margin-bottom:var(--space-md)}.mynotes-skeleton-line{width:100%;height:12px;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:mynotes-shimmer 1.5s infinite;border-radius:6px;margin-bottom:var(--space-sm)}.mynotes-skeleton-line.short{width:40%}.mynotes-skeleton-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-md)}.mynotes-skeleton-tag{width:70px;height:20px;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:mynotes-shimmer 1.5s infinite;border-radius:50px}.mynotes-skeleton-date{width:50px;height:12px;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:mynotes-shimmer 1.5s infinite;border-radius:6px}@keyframes mynotes-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:375px){.mynotes-content{padding:var(--space-lg)}.mynotes-card{padding:var(--space-md) var(--space-lg)}.mynotes-stat-value{font-size:1.25rem}.mynotes-stat-label{font-size:.6875rem}}.mynotes-back-btn:focus-visible,.mynotes-filter-chip:focus-visible,.mynotes-card:focus-visible,.mynotes-action-btn:focus-visible,.mynotes-fab:focus-visible,.mynotes-retry-btn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(prefers-reduced-motion:reduce){.mynotes-page *,.mynotes-page *:before,.mynotes-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.curr-page{--background: var(--cream)}.curr-page ion-content{--background: var(--cream)}.curr-page ion-content::part(scroll){background:var(--cream)}.curr-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.curr-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.curr-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.curr-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.curr-back-btn:active{transform:scale(.95)}.curr-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.curr-header-spacer{width:44px}.curr-content{flex:1;padding:var(--space-xl);padding-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto}.curr-overview-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;padding:var(--space-xl)}.curr-overview-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.curr-overview-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a4d;flex-shrink:0}.curr-overview-info{display:flex;flex-direction:column}.curr-overview-title{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0}.curr-overview-year{font-size:.8125rem;color:var(--text-light);font-weight:500}.curr-overview-stats{display:flex;align-items:center;justify-content:center;gap:var(--space-xl);padding:var(--space-lg);background:var(--cream);border-radius:var(--radius-md)}.curr-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.curr-stat-value{font-size:1.5rem;font-weight:800;color:var(--coral)}.curr-stat-label{font-size:.75rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.curr-stat-divider{width:1px;height:36px;background:var(--cream-dark)}.curr-tabs-wrapper{position:sticky;top:0;z-index:50;margin:0 calc(-1 * var(--space-xl));padding:0 var(--space-xl);background:var(--cream)}.curr-tabs{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:var(--space-sm) 0 0;border-bottom:1px solid var(--cream-dark)}.curr-tabs::-webkit-scrollbar{display:none}.curr-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--text-light);cursor:pointer;white-space:nowrap;flex-shrink:0;scroll-snap-align:center;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.curr-tab:hover{color:var(--text-medium);background-color:#00000008}.curr-tab--active{border-bottom-color:var(--coral);color:var(--text-dark);background-color:#fff}.curr-tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.curr-tab-label{overflow:hidden;text-overflow:ellipsis;max-width:120px}.curr-subject-content{display:flex;flex-direction:column;gap:var(--space-sm)}.curr-subject-info-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#fff;border-radius:var(--radius-md);border-left:4px solid var(--coral);box-shadow:0 2px 8px #0000000a}.curr-subject-info-label{font-size:.8125rem;font-weight:600;color:var(--text-medium)}.curr-subject-info-hours{font-size:.75rem;font-weight:600;color:var(--text-light);background:var(--cream);padding:2px 10px;border-radius:var(--radius-full)}.curr-unit-card{background:#fff;border-radius:var(--radius-lg);box-shadow:0 2px 12px #0000000d;overflow:hidden}.curr-unit-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background-color .15s ease}.curr-unit-toggle:hover{background-color:var(--cream)}.curr-unit-toggle:active{background-color:var(--cream-dark)}.curr-unit-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-size:.75rem;font-weight:800;flex-shrink:0}.curr-unit-title{flex:1;font-size:.875rem;font-weight:600;color:var(--text-dark);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curr-unit-count{font-size:.6875rem;font-weight:600;color:var(--text-light);background:var(--cream);padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0;white-space:nowrap}.curr-unit-chevron{display:flex;align-items:center;color:var(--text-light);flex-shrink:0}.curr-topics-list{list-style:none;margin:0;padding:0 var(--space-lg) var(--space-md);padding-left:calc(var(--space-lg) + 28px + var(--space-sm));border-top:1px solid var(--cream)}.curr-topic-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) 0}.curr-topic-bullet{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:7px;opacity:.6}.curr-topic-content{flex:1;min-width:0}.curr-topic-text{font-size:.8125rem;font-weight:500;color:var(--text-medium);line-height:1.5}.curr-subtopics-list{list-style:none;margin:4px 0 0;padding:0 0 0 var(--space-lg)}.curr-subtopic-item{display:flex;align-items:flex-start;gap:var(--space-xs);padding:2px 0}.curr-subtopic-bullet{width:4px;height:4px;border-radius:50%;flex-shrink:0;margin-top:7px;opacity:.4}.curr-subtopic-text{font-size:.75rem;font-weight:500;color:var(--text-light);line-height:1.5}.curr-no-units{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xxl) var(--space-xl);text-align:center}.curr-no-units-icon{color:var(--cream-dark)}.curr-no-units p{font-size:.875rem;color:var(--text-light);margin:0}.curr-loading{display:flex;align-items:center;justify-content:center;min-height:300px;flex:1}.curr-loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:curr-spin 1s linear infinite}@keyframes curr-spin{to{transform:rotate(360deg)}}.curr-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-xxl);text-align:center;flex:1}.curr-error-icon{color:var(--text-light);margin-bottom:var(--space-lg)}.curr-error-text{font-size:.9375rem;font-weight:600;color:var(--text-medium);margin:0 0 var(--space-xl)}.curr-retry-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:.9375rem;font-weight:600;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.curr-retry-btn:hover{box-shadow:0 4px 12px #ff8a7a4d}.curr-retry-btn:active{transform:scale(.97)}.curr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-xxl);text-align:center;flex:1}.curr-empty-icon{color:var(--cream-dark);margin-bottom:var(--space-lg)}.curr-empty-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-xs)}.curr-empty-subtitle{font-size:.875rem;color:var(--text-light);margin:0}.curr-bottom-spacer{height:100px}.curr-back-btn:focus-visible,.curr-retry-btn:focus-visible,.curr-tab:focus-visible,.curr-unit-toggle:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(max-width:375px){.curr-content{padding:var(--space-lg)}.curr-tabs-wrapper{margin:0 calc(-1 * var(--space-lg));padding:0 var(--space-lg)}.curr-tab{padding:6px 10px;font-size:.75rem}.curr-unit-toggle{padding:var(--space-sm) var(--space-lg)}.curr-topics-list{padding-left:calc(var(--space-lg) + 28px + var(--space-sm));padding-right:var(--space-lg)}.curr-overview-card{padding:var(--space-lg)}.curr-unit-title{font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.curr-page *,.curr-page *:before,.curr-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.fb-page{--background: var(--cream)}.fb-page ion-content{--background: var(--cream)}.fb-page ion-content::part(scroll){background:var(--cream)}.fb-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fb-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.fb-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.fb-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #ff8a7a33}.fb-back-btn:active{transform:scale(.95)}.fb-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.fb-header-spacer{width:44px}.fb-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.fb-info-banner{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:linear-gradient(135deg,#c4bbe833,#b5d5c533);border-radius:var(--radius-xl);border:1px solid rgba(139,126,200,.15)}.fb-info-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);color:#fff;flex-shrink:0;box-shadow:0 4px 12px #8b7ec84d}.fb-info-text{font-size:.8125rem;color:var(--text-medium);line-height:1.6;margin:0}.fb-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;overflow:hidden}.fb-card-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream-dark)}.fb-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.fb-card-icon.fb-submit-icon{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.fb-card-icon.fb-check-icon{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;box-shadow:0 4px 12px #7db59a4d}.fb-card-icon.fb-history-icon{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);color:#fff;box-shadow:0 4px 12px #8b7ec84d}.fb-card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.fb-card-body{padding:var(--space-xl)}.fb-category-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-dark);margin-bottom:var(--space-md)}.fb-category-chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.fb-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border:2px solid var(--cream-dark);border-radius:9999px;background:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-size:.8125rem;font-weight:600;color:var(--text-medium);transition:all .2s ease;white-space:nowrap}.fb-chip:hover{border-color:var(--coral-light);color:var(--coral)}.fb-chip.fb-chip-active{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);border-color:var(--coral);color:#fff;box-shadow:0 2px 8px #ff8a7a4d}.fb-chip-icon{font-size:1rem;line-height:1}.fb-textarea-wrapper{margin-bottom:var(--space-xl)}.fb-textarea-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-dark);margin-bottom:var(--space-sm)}.fb-textarea{width:100%;min-height:120px;padding:var(--space-md) var(--space-lg);border:2px solid var(--cream-dark);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:.9375rem;color:var(--text-dark);background:#fff;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;line-height:1.6;box-sizing:border-box}.fb-textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px #ff8a7a33}.fb-textarea.fb-textarea-error{border-color:var(--alert-red)}.fb-char-count{display:flex;justify-content:flex-end;margin-top:var(--space-xs);font-size:.75rem;color:var(--text-light)}.fb-char-count.fb-char-warning{color:var(--alert-orange)}.fb-char-count.fb-char-error{color:var(--alert-red)}.fb-submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);color:#fff;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:48px}.fb-submit-btn:hover:not(:disabled){box-shadow:0 4px 16px #ff8a7a66;transform:translateY(-1px)}.fb-submit-btn:active:not(:disabled){transform:translateY(0)}.fb-submit-btn:disabled{opacity:.5;cursor:not-allowed}.fb-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:fb-spin .6s linear infinite}@keyframes fb-spin{to{transform:rotate(360deg)}}.fb-success{text-align:center;padding:var(--space-lg) 0}.fb-success-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto var(--space-lg);border-radius:50%;background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;box-shadow:0 4px 16px #7db59a4d}.fb-success-title{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm)}.fb-success-desc{font-size:.875rem;color:var(--text-medium);margin:0 0 var(--space-xl);line-height:1.6}.fb-token-box{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--cream);border-radius:var(--radius-sm);margin-bottom:var(--space-xl);border:1px dashed var(--cream-dark)}.fb-token-value{flex:1;font-family:Courier New,monospace;font-size:.8125rem;color:var(--text-dark);word-break:break-all;text-align:left}.fb-copy-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-shrink:0;transition:all .2s ease}.fb-copy-btn:hover{box-shadow:0 2px 8px #8b7ec84d}.fb-copy-btn:active{transform:scale(.95)}.fb-new-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-xl);border:2px solid var(--coral);border-radius:var(--radius-md);background:#fff;color:var(--coral);font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:48px}.fb-new-btn:hover{background:var(--coral);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.fb-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.fb-error-icon{color:var(--alert-red);flex-shrink:0}.fb-error-text{font-size:.8125rem;color:var(--alert-red);font-weight:600}.fb-token-input-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.fb-token-input{flex:1;padding:var(--space-md) var(--space-lg);border:2px solid var(--cream-dark);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:.9375rem;color:var(--text-dark);background:#fff;transition:border-color .2s ease,box-shadow .2s ease;min-width:0}.fb-token-input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #7db59a33}.fb-token-input::placeholder{color:var(--text-light)}.fb-check-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.fb-check-btn:hover:not(:disabled){box-shadow:0 4px 12px #7db59a4d}.fb-check-btn:disabled{opacity:.5;cursor:not-allowed}.fb-response-box{padding:var(--space-lg);border-radius:var(--radius-sm);margin-top:var(--space-md)}.fb-response-box.fb-response-pending{background:var(--cream);border:1px solid var(--cream-dark)}.fb-response-box.fb-response-answered{background:linear-gradient(135deg,#b5d5c533,#7db59a26);border:1px solid rgba(125,181,154,.2)}.fb-response-status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.5px}.fb-status-pending{background:var(--cream-dark);color:var(--text-light)}.fb-status-under-review{background:#ffb34726;color:var(--alert-orange)}.fb-status-responded{background:#7db59a26;color:var(--sage)}.fb-status-closed{background:var(--cream-dark);color:var(--text-light)}.fb-response-content{font-size:.9375rem;color:var(--text-dark);line-height:1.6;margin:0}.fb-response-date{font-size:.75rem;color:var(--text-light);margin-top:var(--space-sm)}.fb-no-response{font-size:.875rem;color:var(--text-light);font-style:italic}.fb-tokens-list{list-style:none;padding:0;margin:0}.fb-token-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--cream)}.fb-token-item:last-child{border-bottom:none}.fb-token-info{flex:1;min-width:0}.fb-token-category{font-size:.875rem;font-weight:600;color:var(--text-dark);margin:0}.fb-token-date{font-size:.75rem;color:var(--text-light);margin:2px 0 0}.fb-token-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.fb-token-check-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:all .2s ease}.fb-token-check-btn:hover{box-shadow:0 2px 8px #7db59a4d}.fb-token-check-btn:active{transform:scale(.95)}.fb-token-remove-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--cream);border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;transition:all .2s ease}.fb-token-remove-btn:hover{background:#ff6b6b1a;color:var(--alert-red)}.fb-token-remove-btn:active{transform:scale(.95)}.fb-empty-tokens{text-align:center;padding:var(--space-xl) 0;color:var(--text-light);font-size:.875rem;font-style:italic}.fb-chips-loading{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.fb-chip-skeleton{width:80px;height:36px;background:var(--cream-dark);border-radius:var(--radius-full);animation:fb-pulse 1.5s ease-in-out infinite}.fb-chip-skeleton:nth-child(2){width:100px}.fb-chip-skeleton:nth-child(3){width:70px}@keyframes fb-pulse{0%,to{opacity:1}50%{opacity:.4}}.fb-bottom-spacer{height:100px}.fb-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;z-index:1000;animation:fb-slideUp .3s ease;white-space:nowrap}.fb-toast-success{background:var(--sage);color:#fff}.fb-toast-error{background:var(--alert-red);color:#fff}@keyframes fb-slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.fb-back-btn:focus-visible,.fb-chip:focus-visible,.fb-submit-btn:focus-visible,.fb-check-btn:focus-visible,.fb-token-check-btn:focus-visible,.fb-token-remove-btn:focus-visible,.fb-copy-btn:focus-visible,.fb-new-btn:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.fb-textarea:focus-visible,.fb-token-input:focus-visible{outline:none}@media(max-width:375px){.fb-content{padding:var(--space-lg)}.fb-card-header{padding:var(--space-md) var(--space-lg)}.fb-card-body{padding:var(--space-lg)}.fb-card-icon{width:36px;height:36px}.fb-card-icon svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.fb-page *,.fb-page *:before,.fb-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.help-page{--background: var(--cream)}.help-page ion-content{--background: var(--cream)}.help-page ion-content::part(scroll){background:var(--cream)}.help-container{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--cream);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased}.help-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));background:linear-gradient(135deg,var(--peach-light) 0%,var(--cream) 100%);border-bottom:1px solid var(--cream-dark)}.help-back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:#fff;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.help-back-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000001f}.help-back-btn:active{transform:scale(.95)}.help-header-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.help-header-spacer{width:44px}.help-content{flex:1;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto}.help-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000f;overflow:hidden}.help-card-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--cream-dark)}.help-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0;color:#fff}.help-icon-general{background:linear-gradient(135deg,var(--coral-light) 0%,var(--coral) 100%);box-shadow:0 4px 12px #ff8a7a40}.help-icon-lessons{background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--purple-ai) 100%);box-shadow:0 4px 12px #8b7ec840}.help-icon-messaging{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);box-shadow:0 4px 12px #7db59a40}.help-icon-technical{background:linear-gradient(135deg,var(--peach-light) 0%,var(--peach) 100%);box-shadow:0 4px 12px #ffcdb240}.help-card-title{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.help-card-body{padding:0}.help-faq-item{border-bottom:1px solid var(--cream)}.help-faq-item:last-child{border-bottom:none}.help-faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-lg) var(--space-xl);border:none;background:transparent;cursor:pointer;font-family:Nunito,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-dark);text-align:left;gap:var(--space-md);transition:background-color .2s ease}.help-faq-question:hover{background-color:var(--cream)}.help-faq-question-text{flex:1}.help-faq-question svg{flex-shrink:0;color:var(--text-light)}.help-faq-answer{padding:0 var(--space-xl) var(--space-lg) var(--space-xl);font-size:.8125rem;color:var(--text-medium);line-height:1.6}.help-contact-card{text-align:center;padding:var(--space-xxl);display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.help-contact-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);color:#fff;box-shadow:0 4px 12px #7db59a40}.help-contact-title{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0}.help-contact-text{font-size:.8125rem;color:var(--text-medium);margin:0;max-width:280px}.help-contact-link{display:inline-flex;align-items:center;padding:var(--space-sm) var(--space-lg);background:var(--cream);border-radius:9999px;font-size:.8125rem;font-weight:600;color:var(--sage);text-decoration:none;transition:background-color .2s ease}.help-contact-link:hover{background:var(--cream-dark)}.help-bottom-spacer{height:100px}.help-back-btn:focus-visible,.help-faq-question:focus-visible{outline:3px solid var(--coral);outline-offset:2px}@media(max-width:375px){.help-content{padding:var(--space-lg)}.help-card-header,.help-faq-question{padding:var(--space-md) var(--space-lg)}.help-faq-answer{padding:0 var(--space-lg) var(--space-md) var(--space-lg)}.help-card-icon{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.help-page *,.help-page *:before,.help-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes teacher-dash-pulse-current{0%,to{box-shadow:0 0 rgba(var(--coral-rgb),.5)}50%{box-shadow:0 0 0 8px rgba(var(--coral-rgb),0)}}@keyframes teacher-dash-pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes teacher-dash-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes teacher-dash-gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes teacher-dash-ai-badge-glow{0%,to{box-shadow:0 3px 14px rgba(var(--purple-ai-rgb),.5),0 0 rgba(var(--purple-ai-rgb),.28),inset 0 1px #ffffff59}50%{box-shadow:0 6px 22px rgba(var(--purple-ai-rgb),.58),0 0 0 5px rgba(var(--purple-ai-rgb),.14),inset 0 1px #ffffff6b}}.teacher-dashboard-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-dashboard-page .header-brand{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--coral);letter-spacing:-.3px}.teacher-dashboard-page .header-actions{display:flex;align-items:center;gap:var(--space-md)}.teacher-dashboard-page .icon-btn{position:relative;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);border:none;cursor:pointer;padding:0}.teacher-dashboard-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--coral-rgb),.18)}.teacher-dashboard-page .notification-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:11px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--white);animation:teacher-dash-pulse-badge 2.5s ease-in-out infinite}.teacher-dashboard-page .avatar{width:42px;height:42px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--coral),var(--peach));display:flex;align-items:center;justify-content:center;color:var(--white);font-size:14px;font-weight:700;box-shadow:0 3px 10px rgba(var(--coral-rgb),.25)}.teacher-dashboard-page .content{padding:var(--space-lg);padding-bottom:0;display:flex;flex-direction:column;gap:var(--space-lg)}.teacher-dashboard-page .card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:0 4px 20px rgba(var(--coral-rgb),.08);transition:transform .2s ease,box-shadow .2s ease}.teacher-dashboard-page .card:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(var(--coral-rgb),.13)}.teacher-dashboard-page .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.teacher-dashboard-page .card-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:var(--space-sm);margin:0}.teacher-dashboard-page .see-all{font-size:13px;font-weight:600;color:var(--coral);transition:opacity .2s ease;white-space:nowrap;text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.teacher-dashboard-page .see-all:hover{opacity:.7}.teacher-dashboard-page .card--todays-lessons{position:relative;overflow:hidden;border:1px solid rgba(var(--coral-rgb),.1);background:radial-gradient(100% 70% at 0% 0%,rgba(var(--coral-rgb),.08) 0%,transparent 50%),linear-gradient(165deg,var(--white) 0%,rgba(var(--peach-light),.45) 100%);box-shadow:0 4px 24px rgba(var(--coral-rgb),.09),inset 0 1px #ffffffe6}.teacher-dashboard-page .card-header--todays-lessons{margin-bottom:var(--space-md);align-items:flex-start;gap:var(--space-md)}.teacher-dashboard-page .todays-lessons-title-wrap{display:flex;align-items:center;gap:var(--space-md);min-width:0}.teacher-dashboard-page .todays-lessons-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--coral-rgb),.12);color:var(--coral);box-shadow:inset 0 1px #fff9}.teacher-dashboard-page .card-title--todays-lessons{font-family:Poppins,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--text-dark)}.teacher-dashboard-page .see-all--todays-lessons{display:inline-flex;align-items:center;gap:2px;font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:var(--space-xs) 0 var(--space-xs) var(--space-sm);margin-top:2px}.teacher-dashboard-page .see-all--todays-lessons svg{opacity:.85;flex-shrink:0}.teacher-dashboard-page .greeting-card{position:relative;overflow:hidden;padding:var(--space-xl);border:1px solid rgba(var(--coral-rgb),.12);background:radial-gradient(120% 80% at 100% 0%,rgba(var(--coral-rgb),.14) 0%,transparent 55%),linear-gradient(145deg,var(--white) 0%,var(--peach-light) 48%,rgba(var(--pink-rgb),.06) 100%);box-shadow:0 4px 24px rgba(var(--coral-rgb),.1),inset 0 1px #ffffffd9}.teacher-dashboard-page .greeting-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(255,249,245,.35) 100%);opacity:.9}.teacher-dashboard-page .greeting-card__inner{position:relative;z-index:1}.teacher-dashboard-page .greeting-card__head{margin-bottom:var(--space-lg)}.teacher-dashboard-page .greeting-title{font-family:Poppins,sans-serif;font-size:1.375rem;font-weight:700;letter-spacing:-.03em;color:var(--text-dark);margin:0 0 var(--space-xs) 0;line-height:1.25}.teacher-dashboard-page .greeting-title__name{color:var(--coral);font-weight:700}.teacher-dashboard-page .greeting-subtitle{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.04em;color:var(--text-medium);margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.35em}.teacher-dashboard-page .greeting-subtitle__label{text-transform:uppercase;font-size:.75rem;font-weight:600;letter-spacing:.08em;color:var(--text-light)}.teacher-dashboard-page .greeting-subtitle__dot{color:var(--coral);font-weight:700;opacity:.85}.teacher-dashboard-page .greeting-subtitle__weekday{color:var(--text-dark);font-weight:600}.teacher-dashboard-page .greeting-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.teacher-dashboard-page .greeting-stat{display:flex;align-items:center;gap:var(--space-sm);min-height:48px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#ffffffb8;border:1px solid rgba(var(--coral-rgb),.08);box-shadow:0 2px 10px #0000000a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.teacher-dashboard-page .greeting-stat__icon-wrap{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-sm)}.teacher-dashboard-page .greeting-stat--coral .greeting-stat__icon-wrap{background:rgba(var(--coral-rgb),.14);color:var(--coral)}.teacher-dashboard-page .greeting-stat--orange .greeting-stat__icon-wrap{background:rgba(var(--orange-rgb),.16);color:var(--orange-dark)}.teacher-dashboard-page .greeting-stat--purple .greeting-stat__icon-wrap{background:rgba(var(--purple-ai-rgb),.14);color:var(--purple-dark)}.teacher-dashboard-page .greeting-stat--pink .greeting-stat__icon-wrap{background:rgba(var(--pink-rgb),.12);color:var(--pink-dark)}.teacher-dashboard-page .greeting-stat__icon{display:block}.teacher-dashboard-page .greeting-stat__text{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-medium);line-height:1.2;min-width:0}.teacher-dashboard-page .greeting-stat__value{font-family:Poppins,sans-serif;font-size:1.125rem;font-weight:700;color:var(--text-dark);letter-spacing:-.02em}.teacher-dashboard-page .greeting-stat__unit{font-weight:500;color:var(--text-medium)}.teacher-dashboard-page .timeline{display:flex;flex-direction:column}.teacher-dashboard-page .timeline--lessons{gap:2px}.teacher-dashboard-page .timeline-item{display:flex;align-items:stretch;gap:var(--space-md);position:relative}.teacher-dashboard-page .timeline--lessons .timeline-item{padding-bottom:2px}.teacher-dashboard-page .timeline--lessons .timeline-content{padding-bottom:var(--space-md)}.teacher-dashboard-page .timeline-track{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:22px;padding-top:2px;align-self:stretch;min-height:0}.teacher-dashboard-page .timeline-dot{box-sizing:border-box;width:18px;height:18px;border-radius:var(--radius-full);background:var(--cream-dark);border:2px solid var(--cream-dark);flex-shrink:0;z-index:1}.teacher-dashboard-page .timeline-dot--done{background:var(--sage);border-color:var(--sage);display:flex;align-items:center;justify-content:center;color:var(--white)}.teacher-dashboard-page .timeline-dot--done svg{width:10px;height:10px}.teacher-dashboard-page .timeline-dot--current{background:var(--coral);border-color:var(--coral);animation:teacher-dash-pulse-current 2s ease-in-out infinite}.teacher-dashboard-page .timeline-dot--break{background:var(--white);border:2px dashed var(--text-light);opacity:.95}.teacher-dashboard-page .timeline-line{width:2px;flex:1 1 auto;min-height:20px;background:linear-gradient(180deg,rgba(var(--coral-rgb),.2) 0%,var(--cream-dark) 100%);margin-top:4px;border-radius:1px}.teacher-dashboard-page .timeline-time{font-size:13px;font-weight:600;color:var(--text-light);min-width:40px;padding-top:1px;font-variant-numeric:tabular-nums;align-self:flex-start}.teacher-dashboard-page .timeline-item--done .timeline-time{color:var(--sage)}.teacher-dashboard-page .timeline-item--current .timeline-time{color:var(--coral);font-weight:700}.teacher-dashboard-page .timeline-content{flex:1;padding-bottom:var(--space-lg)}.teacher-dashboard-page .timeline-class-name{font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:2px}.teacher-dashboard-page .timeline-item--done .timeline-class-name{color:var(--text-medium)}.teacher-dashboard-page .timeline-break-label{font-weight:500;color:var(--text-light);font-size:13px;font-style:italic}.teacher-dashboard-page .timeline-meta{font-size:12px;color:var(--text-light);margin-bottom:6px}.teacher-dashboard-page .timeline-meta-row{display:flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-medium);margin-bottom:8px;line-height:1.35}.teacher-dashboard-page .timeline-meta-row svg{flex-shrink:0;color:var(--coral);opacity:.65}.teacher-dashboard-page .timeline-break-row{display:inline-flex;align-items:center;gap:8px;padding-top:2px}.teacher-dashboard-page .timeline-break-row svg{color:var(--text-light);opacity:.85;flex-shrink:0}.teacher-dashboard-page .timeline-item--break .timeline-break-label{font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--text-medium)}.teacher-dashboard-page .timeline--lessons .timeline-class-name{font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;margin-bottom:4px}.teacher-dashboard-page .timeline--lessons .timeline-time{font-family:DM Sans,sans-serif;font-size:.8125rem;min-width:48px;padding-top:3px}.teacher-dashboard-page .timeline--lessons .timeline-item:last-child .timeline-content{padding-bottom:var(--space-sm)}.teacher-dashboard-page .attendance-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--radius-xl);font-family:DM Sans,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.02em}.teacher-dashboard-page .attendance-badge__icon{flex-shrink:0;opacity:.95}.teacher-dashboard-page .attendance-badge--green{background:rgba(var(--sage-rgb),.18);color:var(--sage-dark);border:1px solid rgba(var(--sage-rgb),.22)}.teacher-dashboard-page .attendance-badge--orange{background:rgba(var(--orange-rgb),.16);color:var(--orange-dark);border:1px solid rgba(var(--orange-rgb),.22)}.teacher-dashboard-page .take-attendance-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--coral),var(--coral-light));color:var(--white);font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.01em;box-shadow:0 3px 12px rgba(var(--coral-rgb),.3);transition:all .2s ease;animation:teacher-dash-gentle-bounce 2.5s ease-in-out infinite;border:none;cursor:pointer}.teacher-dashboard-page .take-attendance-btn svg{flex-shrink:0;opacity:.95}.teacher-dashboard-page .take-attendance-btn:hover{transform:scale(1.04);box-shadow:0 5px 18px rgba(var(--coral-rgb),.4)}.teacher-dashboard-page .card--urgent{position:relative;overflow:hidden;border:1px solid rgba(var(--orange-rgb),.22);background:radial-gradient(110% 65% at 100% 0%,rgba(var(--orange-rgb),.12) 0%,transparent 52%),linear-gradient(168deg,var(--white) 0%,rgba(255,243,230,.55) 100%);box-shadow:0 4px 24px rgba(var(--orange-rgb),.1),inset 0 1px #ffffffeb}.teacher-dashboard-page .card--urgent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-md) 0 0 var(--radius-md);background:linear-gradient(180deg,var(--alert-orange) 0%,var(--orange) 100%);pointer-events:none}.teacher-dashboard-page .card-header--urgent{margin-bottom:var(--space-md);align-items:flex-start}.teacher-dashboard-page .urgent-title-wrap{display:flex;align-items:center;gap:var(--space-md);min-width:0}.teacher-dashboard-page .urgent-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--orange-rgb),.14);color:var(--orange-dark);box-shadow:inset 0 1px #ffffffa6;animation:teacher-dash-urgent-icon 2.4s ease-in-out infinite}.teacher-dashboard-page .card-title--urgent{font-family:Poppins,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--text-dark);flex-wrap:wrap}.teacher-dashboard-page .pulse-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--alert-orange),var(--orange));box-shadow:0 0 0 2px rgba(var(--orange-rgb),.2);animation:teacher-dash-pulse-dot 1.8s ease-in-out infinite}.teacher-dashboard-page .pending-section{padding:var(--space-sm) 0;position:relative;z-index:1}.teacher-dashboard-page .pending-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);min-height:28px}.teacher-dashboard-page .pending-heading__label{display:inline-flex;align-items:center;gap:10px;min-width:0}.teacher-dashboard-page .pending-heading__icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:10px;box-shadow:inset 0 1px #ffffff8c}.teacher-dashboard-page .pending-heading__icon-wrap--coral{background:rgba(var(--coral-rgb),.12);color:var(--coral)}.teacher-dashboard-page .pending-heading__icon-wrap--orange{background:rgba(var(--orange-rgb),.14);color:var(--orange-dark)}.teacher-dashboard-page .pending-heading__icon-wrap--purple{background:rgba(var(--purple-ai-rgb),.12);color:var(--purple-dark)}.teacher-dashboard-page .pending-heading__icon{display:block;width:16px;height:16px}.teacher-dashboard-page .pending-heading__text{font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:-.015em;color:var(--text-dark);line-height:1.3}.teacher-dashboard-page .count-badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:var(--radius-xl);background:rgba(var(--yellow-rgb),.22);border:1px solid rgba(var(--yellow-rgb),.35);color:var(--yellow-dark);font-family:DM Sans,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.teacher-dashboard-page .pending-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);padding-left:42px}.teacher-dashboard-page .pending-items--stacked{flex-direction:column;align-items:stretch;gap:6px}.teacher-dashboard-page .pending-link{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:600;color:var(--coral);letter-spacing:.01em;line-height:1.4;transition:opacity .2s ease,color .2s ease;text-decoration:none;cursor:pointer;background:none;border:none;padding:0;text-align:left}.teacher-dashboard-page .pending-link__time{font-weight:500;color:var(--text-medium);font-variant-numeric:tabular-nums}.teacher-dashboard-page .pending-link--block{display:block;width:100%;max-width:100%;font-weight:500;color:var(--text-medium)}.teacher-dashboard-page .pending-link--block:hover{color:var(--coral)}.teacher-dashboard-page .pending-link:hover{opacity:.85}.teacher-dashboard-page .pending-separator{color:var(--text-light);font-size:1rem;font-weight:700;line-height:1;opacity:.65;-webkit-user-select:none;user-select:none}.teacher-dashboard-page .pending-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:10px 12px;border-radius:var(--radius-sm);transition:background .2s ease,box-shadow .2s ease;font-family:DM Sans,sans-serif;font-size:.8125rem;color:var(--text-medium);text-decoration:none;cursor:pointer;background:#ffffff8c;border:1px solid rgba(var(--coral-rgb),.08);width:100%;text-align:left}.teacher-dashboard-page .pending-row:hover{background:#fffffff2;box-shadow:0 2px 10px rgba(var(--coral-rgb),.08)}.teacher-dashboard-page .pending-row__label{font-weight:500;color:var(--text-dark);line-height:1.35;min-width:0}.teacher-dashboard-page .pending-count{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;font-family:Poppins,sans-serif;font-weight:700;font-size:.875rem;color:var(--coral);letter-spacing:-.02em}.teacher-dashboard-page .pending-count__chev{width:14px;height:14px;opacity:.75;flex-shrink:0}.teacher-dashboard-page .pending-divider{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--orange-rgb),.18) 12%,rgba(var(--orange-rgb),.18) 88%,transparent 100%);margin:var(--space-sm) 0;position:relative;z-index:1}@keyframes teacher-dash-urgent-icon{0%,to{box-shadow:inset 0 1px #ffffffa6,0 0 rgba(var(--orange-rgb),0)}50%{box-shadow:inset 0 1px #ffffffa6,0 0 0 6px rgba(var(--orange-rgb),.12)}}.teacher-dashboard-page .quick-actions{display:flex;gap:var(--space-md)}.teacher-dashboard-page .action-card{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:var(--space-lg) var(--space-sm);border-radius:var(--radius-md);background:var(--white);border:1px solid var(--border-warm);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.teacher-dashboard-page .action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-warm-dark)}.teacher-dashboard-page .action-card:focus-visible{outline:2px solid rgba(var(--coral-rgb),.45);outline-offset:2px}.teacher-dashboard-page .action-card__icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;box-shadow:inset 0 1px #ffffff8c}.teacher-dashboard-page .action-card__icon-wrap--coral{background:rgba(var(--coral-rgb),.12);color:var(--coral)}.teacher-dashboard-page .action-card__icon-wrap--orange{background:rgba(var(--orange-rgb),.14);color:var(--orange-dark)}.teacher-dashboard-page .action-card__icon-wrap--amber{background:var(--yellow-soft);color:var(--yellow-dark)}.teacher-dashboard-page .action-card__icon{display:block;width:22px;height:22px}.teacher-dashboard-page .action-card__label{font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-align:center;color:var(--text-dark);max-width:100%}.teacher-dashboard-page .card--recent-submissions{position:relative;overflow:hidden;border:1px solid rgba(var(--orange-rgb),.12);background:radial-gradient(100% 65% at 100% 0%,rgba(var(--orange-rgb),.09) 0%,transparent 52%),linear-gradient(168deg,var(--white) 0%,rgba(var(--peach-light),.55) 100%);box-shadow:0 4px 24px rgba(var(--orange-rgb),.08),inset 0 1px #ffffffeb}.teacher-dashboard-page .card-header--recent-submissions{margin-bottom:var(--space-md);align-items:flex-start;gap:var(--space-md)}.teacher-dashboard-page .recent-submissions-title-wrap{display:flex;align-items:center;gap:var(--space-md);min-width:0}.teacher-dashboard-page .recent-submissions-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--orange-rgb),.14);color:var(--orange-dark);box-shadow:inset 0 1px #ffffffa6}.teacher-dashboard-page .card-title--recent-submissions{font-family:Poppins,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--text-dark)}.teacher-dashboard-page .see-all--recent-submissions{display:inline-flex;align-items:center;gap:2px;font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:var(--space-xs) 0 var(--space-xs) var(--space-sm);margin-top:2px;color:var(--orange-dark)}.teacher-dashboard-page .see-all--recent-submissions:hover{opacity:.82}.teacher-dashboard-page .see-all--recent-submissions svg{opacity:.88;flex-shrink:0}.teacher-dashboard-page .submission-list{display:flex;flex-direction:column;gap:2px}.teacher-dashboard-page .submission-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-sm);border-radius:var(--radius-sm);transition:background .2s ease;text-decoration:none;color:inherit;cursor:pointer;width:100%;text-align:left;border:none;font:inherit;background:transparent;box-sizing:border-box}.teacher-dashboard-page .submission-row:not(:last-child){border-bottom:1px solid rgba(var(--coral-rgb),.06);padding-bottom:var(--space-md);margin-bottom:2px}.teacher-dashboard-page .submission-row:hover{background:rgba(var(--orange-rgb),.06)}.teacher-dashboard-page .submission-row:focus-visible{outline:2px solid rgba(var(--orange-rgb),.45);outline-offset:2px}.teacher-dashboard-page .submission-avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--white);font-family:Poppins,sans-serif;font-size:11px;font-weight:700;letter-spacing:.02em;flex-shrink:0;box-shadow:0 0 0 2px var(--white),0 3px 10px rgba(var(--coral-rgb),.18)}.teacher-dashboard-page .submission-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-dashboard-page .submission-name{font-family:DM Sans,sans-serif;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--text-dark)}.teacher-dashboard-page .submission-assignment{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-medium);line-height:1.3}.teacher-dashboard-page .submission-time{display:inline-flex;align-items:center;gap:5px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--text-light);white-space:nowrap;flex-shrink:0}.teacher-dashboard-page .submission-time__icon{flex-shrink:0;opacity:.72;color:var(--text-medium)}.teacher-dashboard-page .card--ai{position:relative;overflow:hidden;border:1px solid rgba(var(--purple-ai-rgb),.14);background:radial-gradient(120% 80% at 100% 0%,rgba(var(--purple-ai-rgb),.12) 0%,transparent 55%),radial-gradient(90% 60% at 0% 100%,rgba(var(--coral-rgb),.06) 0%,transparent 50%),linear-gradient(165deg,var(--white) 0%,rgba(var(--purple-ai-rgb),.04) 100%);box-shadow:0 4px 24px rgba(var(--purple-ai-rgb),.08),inset 0 1px #ffffffd9}.teacher-dashboard-page .card-header--ai{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.teacher-dashboard-page .ai-title-wrap{display:flex;align-items:flex-start;gap:var(--space-md);min-width:0;flex:1}.teacher-dashboard-page .ai-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:linear-gradient(145deg,rgba(var(--alert-red-rgb),.12),rgba(var(--orange-rgb),.08));color:var(--orange-dark);box-shadow:inset 0 1px #ffffffa6}.teacher-dashboard-page .ai-title-text{min-width:0}.teacher-dashboard-page .card-title--ai{font-family:Poppins,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--text-dark);margin:0}.teacher-dashboard-page .ai-card-subtitle{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--text-light);margin:4px 0 0}.teacher-dashboard-page .ai-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 14px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.38);background:linear-gradient(155deg,#a396dc 0%,var(--purple-ai) 35%,var(--purple-dark) 72%,#4f4385 100%);color:var(--white);font-family:Poppins,sans-serif;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;text-shadow:0 1px 1px rgba(60,40,100,.35);animation:teacher-dash-ai-badge-glow 2.8s ease-in-out infinite}.teacher-dashboard-page .alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.teacher-dashboard-page .alert-list>li{margin:0}.teacher-dashboard-page .alert-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-md);border:none;border-radius:var(--radius-sm);background:#ffffffa6;text-align:left;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .15s ease;color:inherit;font:inherit;box-shadow:inset 0 0 0 1px rgba(var(--purple-ai-rgb),.08)}.teacher-dashboard-page .alert-row:hover{background:var(--white);box-shadow:inset 0 0 0 1px rgba(var(--purple-ai-rgb),.14),0 4px 14px rgba(var(--purple-ai-rgb),.08)}.teacher-dashboard-page .alert-row:active{transform:scale(.995)}.teacher-dashboard-page .alert-row--severity-high{border-left:3px solid var(--alert-red);padding-left:calc(var(--space-md) - 3px)}.teacher-dashboard-page .alert-row--severity-mid{border-left:3px solid var(--alert-orange);padding-left:calc(var(--space-md) - 3px)}.teacher-dashboard-page .alert-row__icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-dark)}.teacher-dashboard-page .alert-row__icon-wrap--high{background:var(--red-soft);color:var(--red-dark)}.teacher-dashboard-page .alert-row__icon-wrap--mid{background:var(--orange-soft);color:var(--orange-dark)}.teacher-dashboard-page .alert-row__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.teacher-dashboard-page .alert-row__title{font-family:DM Sans,sans-serif;font-size:.9375rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:var(--text-dark)}.teacher-dashboard-page .alert-row__detail{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.4;color:var(--text-medium)}.teacher-dashboard-page .alert-arrow{flex-shrink:0;color:var(--purple-dark);opacity:.45;transition:opacity .2s ease,transform .2s ease}.teacher-dashboard-page .alert-row:hover .alert-arrow{opacity:.85;transform:translate(2px)}.teacher-dashboard-page .card--upcoming-exams{position:relative;overflow:hidden;border:1px solid rgba(var(--purple-ai-rgb),.14);background:radial-gradient(95% 65% at 100% 0%,rgba(var(--purple-ai-rgb),.1) 0%,transparent 52%),linear-gradient(168deg,var(--white) 0%,rgba(var(--purple-ai-rgb),.06) 100%);box-shadow:0 4px 24px rgba(var(--purple-ai-rgb),.08),inset 0 1px #ffffffeb}.teacher-dashboard-page .card-header--upcoming-exams{margin-bottom:var(--space-md);align-items:flex-start;gap:var(--space-md)}.teacher-dashboard-page .upcoming-exams-title-wrap{display:flex;align-items:flex-start;gap:var(--space-md);min-width:0}.teacher-dashboard-page .upcoming-exams-title-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--purple-ai-rgb),.14);color:var(--purple-dark);box-shadow:inset 0 1px #ffffffa6}.teacher-dashboard-page .upcoming-exams-title-block{min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:1px}.teacher-dashboard-page .card-title--upcoming-exams{font-family:Poppins,sans-serif;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:var(--text-dark)}.teacher-dashboard-page .upcoming-exams-subtitle{font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--text-medium);margin:0;line-height:1.35}.teacher-dashboard-page .see-all--upcoming-exams{display:inline-flex;align-items:center;gap:2px;font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:var(--purple-dark);padding:var(--space-xs) 0 var(--space-xs) var(--space-sm);margin-top:2px}.teacher-dashboard-page .see-all--upcoming-exams svg{opacity:.85;flex-shrink:0}.teacher-dashboard-page .exam-list{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.teacher-dashboard-page .exam-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-md) var(--space-md) 0;border:1px solid rgba(var(--purple-ai-rgb),.08);border-radius:var(--radius-sm);background:#ffffffb8;box-shadow:inset 0 1px #ffffffd9;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;text-align:left;cursor:pointer;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}.teacher-dashboard-page .exam-row:hover{background:var(--white);border-color:rgba(var(--purple-ai-rgb),.18);box-shadow:0 2px 12px rgba(var(--purple-ai-rgb),.07),inset 0 1px #fff;transform:translateY(-1px)}.teacher-dashboard-page .exam-row:active{transform:translateY(0)}.teacher-dashboard-page .exam-row__accent{align-self:stretch;width:4px;min-height:3.25rem;border-radius:var(--radius-sm) 0 0 var(--radius-sm);flex-shrink:0}.teacher-dashboard-page .exam-row__accent--soon{background:linear-gradient(180deg,var(--alert-orange) 0%,var(--orange) 100%)}.teacher-dashboard-page .exam-row__accent--upcoming{background:linear-gradient(180deg,var(--sage) 0%,var(--sage-dark) 100%)}.teacher-dashboard-page .exam-row__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.teacher-dashboard-page .exam-date-pill{display:inline-flex;align-items:center;font-family:DM Sans,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;padding:4px 8px;border-radius:999px}.teacher-dashboard-page .exam-date-pill--soon{color:var(--orange-dark);background:rgba(var(--orange-rgb),.16);border:1px solid rgba(var(--orange-rgb),.22)}.teacher-dashboard-page .exam-date-pill--upcoming{color:var(--sage-dark);background:rgba(var(--sage-rgb),.14);border:1px solid rgba(var(--sage-rgb),.22)}.teacher-dashboard-page .exam-row__title{font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;color:var(--text-dark)}.teacher-dashboard-page .exam-row__scope{font-family:DM Sans,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.3;color:var(--text-medium)}.teacher-dashboard-page .exam-row__chevron{flex-shrink:0;color:var(--purple-dark);opacity:.4;transition:opacity .2s ease,transform .2s ease}.teacher-dashboard-page .exam-row:hover .exam-row__chevron{opacity:.85;transform:translate(2px)}@media(max-width:375px){.teacher-dashboard-page .content{padding:var(--space-md);gap:var(--space-md)}.teacher-dashboard-page .card{padding:var(--space-lg)}.teacher-dashboard-page .greeting-title{font-size:1.25rem}.teacher-dashboard-page .greeting-stats{gap:var(--space-xs)}.teacher-dashboard-page .greeting-stat{padding:var(--space-xs) var(--space-sm);min-height:44px}.teacher-dashboard-page .greeting-stat__icon-wrap{width:32px;height:32px}.teacher-dashboard-page .greeting-stat__value{font-size:1rem}.teacher-dashboard-page .quick-actions{gap:var(--space-sm)}.teacher-dashboard-page .action-card{padding:var(--space-md) var(--space-xs);gap:8px}.teacher-dashboard-page .action-card__icon-wrap{width:40px;height:40px}.teacher-dashboard-page .action-card__icon{width:20px;height:20px}.teacher-dashboard-page .action-card__label{font-size:.75rem}}@media(min-width:600px){.teacher-dashboard-page .content{max-width:560px;margin:0 auto}.teacher-dashboard-page .greeting-title{font-size:1.5rem}}@media(min-width:900px){.teacher-dashboard-page .content{max-width:720px}.teacher-dashboard-page .greeting-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}}.teacher-classes-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;background:var(--header-bg-warm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-classes-page .header-left{display:flex;flex-direction:column;gap:2px}.teacher-classes-page .header-title{font-family:Poppins,Nunito,sans-serif;font-size:24px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px;line-height:1.2}.teacher-classes-page .header-subtitle{font-family:DM Sans,Nunito,sans-serif;font-size:13px;color:var(--text-medium);font-weight:500}.teacher-classes-page .header-actions{display:flex;align-items:center;gap:12px}.teacher-classes-page .icon-btn{position:relative;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);border:none;cursor:pointer}.teacher-classes-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(var(--coral-rgb),.18)}.teacher-classes-page .notification-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:11px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--cream);animation:teacher-classes-pulse-badge 2.5s ease-in-out infinite}@keyframes teacher-classes-pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.teacher-classes-page .main-content{padding:16px 16px 100px;display:flex;flex-direction:column;gap:16px}.teacher-classes-page .summary-bar{display:flex;align-items:stretch;justify-content:space-between;gap:4px;background:linear-gradient(145deg,var(--white) 0%,rgba(var(--coral-rgb),.04) 48%,var(--cream) 100%);border:1px solid rgba(var(--coral-rgb),.12);border-radius:var(--radius-md);padding:12px 10px;box-shadow:0 2px 14px rgba(var(--pink-rgb),.07),0 1px #ffffffd9 inset}.teacher-classes-page .summary-item{display:flex;align-items:center;gap:10px;flex:1;min-width:0;justify-content:center;padding:4px 6px;border-radius:var(--radius-sm)}.teacher-classes-page .summary-icon-wrap{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.teacher-classes-page .summary-item--classes .summary-icon-wrap{background:rgba(var(--coral-rgb),.14);color:var(--coral);box-shadow:0 1px #ffffffa6 inset}.teacher-classes-page .summary-item--students .summary-icon-wrap{background:var(--sage-soft);color:var(--sage-dark);box-shadow:0 1px #ffffffa6 inset}.teacher-classes-page .summary-item--pending .summary-icon-wrap{background:var(--orange-soft);color:var(--orange-dark);box-shadow:0 1px #ffffffa6 inset}.teacher-classes-page .summary-icon-svg{display:block}.teacher-classes-page .summary-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.teacher-classes-page .summary-value{font-family:Poppins,Nunito,sans-serif;font-weight:700;font-size:1.375rem;color:var(--text-dark);line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.teacher-classes-page .summary-label{font-family:DM Sans,Nunito,sans-serif;font-size:.625rem;color:var(--text-medium);font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1.2}.teacher-classes-page .summary-divider{align-self:center;width:1px;height:36px;background:linear-gradient(180deg,transparent 0%,rgba(var(--coral-rgb),.2) 20%,rgba(var(--coral-rgb),.2) 80%,transparent 100%);flex-shrink:0}@media(max-width:360px){.teacher-classes-page .summary-bar{padding:10px 6px;gap:2px}.teacher-classes-page .summary-item{gap:8px;padding:4px}.teacher-classes-page .summary-icon-wrap{width:36px;height:36px}.teacher-classes-page .summary-value{font-size:1.25rem}}.teacher-classes-page .search-container{position:relative}.teacher-classes-page .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.teacher-classes-page .search-input{width:100%;padding:12px 16px 12px 42px;border:1.5px solid var(--cream-dark)!important;border-radius:50px!important;background:var(--white);font-family:DM Sans,Nunito,sans-serif;font-size:14px;color:var(--text-dark);outline:none;transition:all .25s ease;box-shadow:0 1px 4px #00000008}.teacher-classes-page .search-input::placeholder{color:var(--text-light)}.teacher-classes-page .search-input:focus{border-color:var(--coral-light)!important;box-shadow:0 0 0 3px rgba(var(--coral-rgb),.1)}.teacher-classes-page .class-cards{display:flex;flex-direction:column;gap:14px}.teacher-classes-page .class-card{position:relative;background:linear-gradient(165deg,rgba(var(--coral-rgb),.06) 0%,var(--white) 42%,var(--white) 100%);border:1px solid rgba(var(--coral-rgb),.1);border-left:4px solid var(--accent, var(--coral));border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .2s ease;animation:teacher-classes-card-enter .5s cubic-bezier(.34,1.56,.64,1) backwards}.teacher-classes-page .class-card:hover,.teacher-classes-page .class-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:rgba(var(--coral-rgb),.18)}.teacher-classes-page .class-card:active{transform:translateY(-1px);box-shadow:var(--shadow-sm)}@keyframes teacher-classes-card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.teacher-classes-page .class-card:nth-child(1){animation-delay:0ms}.teacher-classes-page .class-card:nth-child(2){animation-delay:60ms}.teacher-classes-page .class-card:nth-child(3){animation-delay:.12s}.teacher-classes-page .class-card:nth-child(4){animation-delay:.18s}.teacher-classes-page .class-card:nth-child(5){animation-delay:.24s}.teacher-classes-page .class-card:nth-child(6){animation-delay:.3s}.teacher-classes-page .card-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:14px}.teacher-classes-page .card-header-row{display:flex;align-items:center;justify-content:space-between}.teacher-classes-page .class-name{font-family:Poppins,Nunito,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.3;color:var(--text-dark);letter-spacing:-.02em}.teacher-classes-page .class-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:-2px}.teacher-classes-page .meta-item{display:inline-flex;align-items:center;gap:6px;font-family:DM Sans,Nunito,sans-serif;font-size:.8125rem;color:var(--text-medium);font-weight:500;line-height:1.35}.teacher-classes-page .meta-icon{width:16px;height:16px;flex-shrink:0;color:var(--text-light)}.teacher-classes-page .meta-dot{color:var(--text-light);font-size:.75rem;line-height:1;-webkit-user-select:none;user-select:none}.teacher-classes-page .stats-row{display:flex;gap:8px}.teacher-classes-page .stat-box{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-light);transition:transform .2s ease,box-shadow .2s ease}.teacher-classes-page .stat-box:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.teacher-classes-page .stat-icon{width:22px;height:22px;flex-shrink:0}.teacher-classes-page .stat-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.teacher-classes-page .stat-value{font-family:Poppins,Nunito,sans-serif;font-weight:700;font-size:1.0625rem;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.teacher-classes-page .stat-label{font-family:DM Sans,Nunito,sans-serif;font-size:.625rem;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.07em;line-height:1.2}.teacher-classes-page .stat-green{background:var(--success-bg);border-color:rgba(var(--sage-rgb),.2)}.teacher-classes-page .stat-green .stat-value{color:var(--success-text)}.teacher-classes-page .stat-green .stat-icon{color:var(--sage-dark)}.teacher-classes-page .stat-amber{background:var(--warning-bg);border-color:rgba(var(--orange-rgb),.22)}.teacher-classes-page .stat-amber .stat-value{color:var(--warning-text)}.teacher-classes-page .stat-amber .stat-icon{color:var(--orange-dark)}.teacher-classes-page .stat-red{background:var(--danger-bg);border-color:rgba(var(--alert-red-rgb),.22)}.teacher-classes-page .stat-red .stat-value{color:var(--danger-text)}.teacher-classes-page .stat-red .stat-icon{color:var(--red-dark)}.teacher-classes-page .next-class{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(var(--coral-rgb),.06);border:1px solid rgba(var(--coral-rgb),.12)}.teacher-classes-page .next-class-icon-wrap{flex-shrink:0;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--white);box-shadow:0 1px 4px #0000000d}.teacher-classes-page .next-class-icon{width:21px;height:21px;color:var(--coral)}.teacher-classes-page .next-class-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-classes-page .next-class-prefix{font-family:DM Sans,Nunito,sans-serif;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);line-height:1.2}.teacher-classes-page .next-class-time{font-family:Poppins,Nunito,sans-serif;font-size:.9375rem;font-weight:600;color:var(--text-dark);letter-spacing:-.02em;line-height:1.25}.teacher-classes-page .quick-actions{display:flex;gap:8px}.teacher-classes-page .action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 6px;border-radius:var(--radius-sm);font-family:DM Sans,Nunito,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.02em;color:var(--text-medium);background:var(--cream);border:1px solid rgba(var(--coral-rgb),.1);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;white-space:nowrap;cursor:pointer}.teacher-classes-page .action-icon{width:18px;height:18px;flex-shrink:0;color:var(--text-light);transition:color .2s ease}.teacher-classes-page .action-btn:hover{background:rgba(var(--coral-rgb),.1);color:var(--coral);border-color:rgba(var(--coral-rgb),.22)}.teacher-classes-page .action-btn:hover .action-icon{color:var(--coral)}.teacher-classes-page .action-btn:active{transform:scale(.98)}.teacher-classes-page .alert-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--peach-light);border:1px solid rgba(var(--orange-rgb),.2);transition:box-shadow .2s ease}.teacher-classes-page .alert-icon{width:15px;height:15px;flex-shrink:0;color:var(--orange-dark)}.teacher-classes-page .alert-text{font-family:DM Sans,Nunito,sans-serif;font-size:.75rem;font-weight:600;line-height:1.25;color:var(--warning-text)}.teacher-classes-page .alert-badge:hover{box-shadow:0 0 0 2px rgba(var(--orange-rgb),.18)}.teacher-classes-page .alert-badge.alert-danger{background:rgba(var(--alert-red-rgb),.06);border-color:rgba(var(--alert-red-rgb),.18)}.teacher-classes-page .alert-badge.alert-danger .alert-text{color:var(--danger-text)}.teacher-classes-page .alert-badge.alert-danger .alert-icon{color:var(--alert-red)}.teacher-classes-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.teacher-classes-page .loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:teacher-classes-spin .8s linear infinite}@keyframes teacher-classes-spin{to{transform:rotate(360deg)}}.teacher-classes-page .loading-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-medium)}.teacher-classes-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;text-align:center}.teacher-classes-page .error-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--danger-soft)}.teacher-classes-page .retry-btn{padding:10px 24px;border-radius:50px;background:var(--coral);color:var(--white);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.teacher-classes-page .retry-btn:hover{background:var(--coral);transform:scale(1.02)}@media(max-width:375px){.teacher-classes-page .main-content{padding:14px 14px 100px}.teacher-classes-page .card-body{padding:14px 14px 16px}}.teacher-calendar-page{--cal-blue: #63B3ED;--cal-purple: #B794F6;--cal-blue-rgb: 99, 179, 237;--cal-purple-rgb: 183, 148, 246;--event-bg-pink: rgba(var(--pink-rgb), .15);--event-bg-orange: var(--peach-light);--event-bg-yellow: rgba(var(--yellow-rgb), .15);--event-bg-blue: rgba(var(--cal-blue-rgb), .1);--event-bg-purple: rgba(var(--cal-purple-rgb), .12);--background: var(--cream);--ion-background-color: var(--cream)}.teacher-calendar-page ion-content{--background: var(--cream)}@keyframes tc-pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes tc-fab-pulse{0%,to{box-shadow:0 4px 16px rgba(var(--pink-rgb),.35)}50%{box-shadow:0 4px 24px rgba(var(--pink-rgb),.55)}}@keyframes tc-gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.teacher-calendar-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-calendar-page .header-title{font-family:Poppins,sans-serif;font-size:22px;font-weight:600;color:var(--text-dark);margin:0}.teacher-calendar-page .header-actions{display:flex;align-items:center;gap:var(--space-md)}.teacher-calendar-page .icon-btn{position:relative;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);border:none;cursor:pointer;padding:0}.teacher-calendar-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--coral-rgb),.18)}.teacher-calendar-page .notification-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:11px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--white);animation:tc-pulse-badge 2.5s ease-in-out infinite}.teacher-calendar-page .fab-btn{width:42px;height:42px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--pink),var(--pink-dark));color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(var(--pink-rgb),.35);transition:all .25s ease;animation:tc-fab-pulse 3s ease-in-out infinite;border:none;cursor:pointer;padding:0}.teacher-calendar-page .fab-btn:hover{transform:scale(1.08);box-shadow:0 6px 22px rgba(var(--pink-rgb),.5)}.teacher-calendar-page .tc-content{padding:var(--space-lg);padding-bottom:100px;display:flex;flex-direction:column;gap:var(--space-md)}.teacher-calendar-page .view-toggle{display:flex;background:var(--white);border-radius:var(--radius-xl);padding:4px;box-shadow:0 2px 10px rgba(var(--coral-rgb),.08)}.teacher-calendar-page .view-btn{flex:1;padding:10px 16px;border-radius:var(--radius-lg);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;color:var(--text-light);transition:all .25s ease;border:none;cursor:pointer;background:none}.teacher-calendar-page .view-btn.active{background:var(--pink);color:var(--white);box-shadow:0 4px 12px rgba(var(--pink-rgb),.3)}.teacher-calendar-page .view-btn:not(.active):hover{color:var(--text-dark);background:var(--cream)}.teacher-calendar-page .month-nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xs)}.teacher-calendar-page .nav-arrow{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-medium);transition:all .2s ease;border:none;cursor:pointer;background:none;padding:0}.teacher-calendar-page .nav-arrow:hover{background:var(--peach-light);color:var(--pink)}.teacher-calendar-page .month-title-group{display:flex;align-items:center;gap:var(--space-sm)}.teacher-calendar-page .month-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:600;color:var(--text-dark)}.teacher-calendar-page .today-pill{padding:4px 14px;border-radius:var(--radius-xl);border:1.5px solid var(--pink);color:var(--pink);font-family:Poppins,sans-serif;font-size:12px;font-weight:600;transition:all .2s ease;animation:tc-gentle-bounce 3s ease-in-out infinite;background:none;cursor:pointer}.teacher-calendar-page .today-pill:hover{background:var(--pink);color:var(--white)}.teacher-calendar-page .legend-bar{--tc-legend-scale: 1.2;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);width:100%;min-width:0;padding:calc(2px * var(--tc-legend-scale)) 0}.teacher-calendar-page .legend-chip{display:flex;align-items:center;gap:calc(5px * var(--tc-legend-scale, 1.2));padding:calc(6px * var(--tc-legend-scale, 1.2)) calc(12px * var(--tc-legend-scale, 1.2));border-radius:var(--radius-xl);font-size:calc(11px * var(--tc-legend-scale, 1.2));font-weight:600;color:var(--text-light);background:var(--white);flex-shrink:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease;box-shadow:0 1px 4px var(--border-light);border:none;cursor:pointer;font-family:inherit}.teacher-calendar-page .legend-chip.active{color:var(--text-dark);background:var(--white)}.teacher-calendar-page .legend-chip:hover{transform:scale(1.03)}.teacher-calendar-page .legend-dot{width:calc(8px * var(--tc-legend-scale, 1.2));height:calc(8px * var(--tc-legend-scale, 1.2));border-radius:var(--radius-full);flex-shrink:0}.teacher-calendar-page .legend-dot--lesson{background:var(--pink)}.teacher-calendar-page .legend-dot--exam{background:var(--orange)}.teacher-calendar-page .legend-dot--homework{background:var(--yellow)}.teacher-calendar-page .legend-dot--parent{background:var(--cal-blue)}.teacher-calendar-page .legend-dot--staff{background:var(--cal-purple)}.teacher-calendar-page .legend-chip:not(.active) .legend-dot{opacity:.3}.teacher-calendar-page .calendar-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:0 4px 20px rgba(var(--coral-rgb),.08)}.teacher-calendar-page .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.teacher-calendar-page .day-header{text-align:center;font-family:Poppins,sans-serif;font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-sm) 0}.teacher-calendar-page .day-cell{display:flex;flex-direction:column;align-items:center;padding:6px 2px;min-height:48px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;position:relative}.teacher-calendar-page .day-cell:hover{background:rgba(var(--coral-rgb),.08)}.teacher-calendar-page .day-num{font-family:Poppins,sans-serif;font-size:13px;font-weight:500;color:var(--text-dark);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all .2s ease}.teacher-calendar-page .day-cell--today .day-num{background:var(--pink);color:var(--white);font-weight:700;box-shadow:0 2px 8px rgba(var(--pink-rgb),.35)}.teacher-calendar-page .day-cell--selected .day-num{background:var(--peach-light);color:var(--pink);font-weight:700}.teacher-calendar-page .day-cell--outside .day-num{color:var(--toggle-off)}.teacher-calendar-page .day-cell--outside{pointer-events:none}.teacher-calendar-page .event-dots{display:flex;gap:3px;margin-top:3px}.teacher-calendar-page .dot{width:5px;height:5px;border-radius:var(--radius-full)}.teacher-calendar-page .dot--lesson{background:var(--pink)}.teacher-calendar-page .dot--exam{background:var(--orange)}.teacher-calendar-page .dot--homework{background:var(--yellow)}.teacher-calendar-page .dot--parent{background:var(--cal-blue)}.teacher-calendar-page .dot--staff{background:var(--cal-purple)}.teacher-calendar-page .tc-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:0 4px 20px rgba(var(--coral-rgb),.08);transition:transform .2s ease,box-shadow .2s ease}.teacher-calendar-page .tc-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(var(--coral-rgb),.13)}.teacher-calendar-page .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.teacher-calendar-page .card-title{font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.teacher-calendar-page .see-all{font-size:13px;font-weight:600;color:var(--coral);transition:opacity .2s ease;white-space:nowrap;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.teacher-calendar-page .see-all:hover{opacity:.7}.teacher-calendar-page .date-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-xl);background:var(--peach-light);color:var(--text-medium);font-size:12px;font-weight:600}.teacher-calendar-page .tc-card.upcoming-card{background:linear-gradient(165deg,var(--white) 0%,var(--cream) 100%);border:1px solid rgba(var(--coral-rgb),.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-md) var(--space-xl)}.teacher-calendar-page .upcoming-card .card-header{flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-calendar-page .card-header-main{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1}.teacher-calendar-page .upcoming-card-header-icon{font-size:24px;color:var(--pink);flex-shrink:0;opacity:.95}.teacher-calendar-page .upcoming-card .card-title{font-family:Poppins,sans-serif;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--text-dark)}.teacher-calendar-page .upcoming-card .date-badge{font-family:DM Sans,Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium);background:var(--white);border:1px solid var(--border-medium);padding:6px 14px;box-shadow:var(--shadow-sm)}.teacher-calendar-page .upcoming-card .day-timeline{gap:var(--space-xs)}.teacher-calendar-page .upcoming-card .event-item:not(:last-child){padding-bottom:var(--space-xs);border-bottom:1px solid rgba(var(--coral-rgb),.06)}.teacher-calendar-page .upcoming-card .event-time{min-width:52px;padding-top:2px}.teacher-calendar-page .upcoming-card .time-start{font-size:14px;font-weight:700;letter-spacing:-.01em}.teacher-calendar-page .upcoming-card .time-end{font-size:11px;font-weight:500;color:var(--text-medium)}.teacher-calendar-page .upcoming-card{--tc-timeline-row-scale: 1.25}.teacher-calendar-page .upcoming-card .event-block{padding:calc(var(--space-sm) * var(--tc-timeline-row-scale)) calc(var(--space-md) * var(--tc-timeline-row-scale));gap:calc(var(--space-sm) * var(--tc-timeline-row-scale));border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.04);box-shadow:inset 0 1px #ffffffa6}.teacher-calendar-page .upcoming-card .event-block-content{gap:0}.teacher-calendar-page .upcoming-card .event-block-title{font-size:13px;font-weight:600;line-height:calc(1.25 * var(--tc-timeline-row-scale));white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.teacher-calendar-page .upcoming-card .event-block-meta{font-size:11px;font-weight:500;color:var(--text-medium);margin-top:calc(1px * var(--tc-timeline-row-scale));line-height:calc(1.2 * var(--tc-timeline-row-scale));min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-calendar-page .upcoming-card .event-type-badge{padding:calc(2px * var(--tc-timeline-row-scale)) calc(8px * var(--tc-timeline-row-scale)) calc(2px * var(--tc-timeline-row-scale)) calc(6px * var(--tc-timeline-row-scale));font-size:calc(9px * var(--tc-timeline-row-scale))}.teacher-calendar-page .upcoming-card .event-type-badge-icon{font-size:calc(12px * var(--tc-timeline-row-scale))}.teacher-calendar-page .upcoming-card .event-type-icon{width:calc(24px * var(--tc-timeline-row-scale));height:calc(24px * var(--tc-timeline-row-scale))}.teacher-calendar-page .upcoming-card .event-type-icon-glyph{font-size:calc(16px * var(--tc-timeline-row-scale))}.teacher-calendar-page .upcoming-card .event-block-meta-icon{font-size:calc(12px * var(--tc-timeline-row-scale))}.teacher-calendar-page .event-block-meta-icon{font-size:14px;flex-shrink:0;vertical-align:middle;opacity:.85}.teacher-calendar-page .event-type-icon-glyph{font-size:18px}.teacher-calendar-page .day-timeline{display:flex;flex-direction:column;gap:var(--space-sm)}.teacher-calendar-page .event-item{display:flex;gap:var(--space-md);align-items:stretch}.teacher-calendar-page .event-time{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:44px;flex-shrink:0;font-variant-numeric:tabular-nums}.teacher-calendar-page .time-start{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;color:var(--text-dark);line-height:1.2}.teacher-calendar-page .time-end{font-size:11px;color:var(--text-light);line-height:1.2}.teacher-calendar-page .event-block{flex:1;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);transition:all .2s ease;position:relative;overflow:hidden}.teacher-calendar-page .event-block:hover{transform:scale(1.02)}.teacher-calendar-page .event-block-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-calendar-page .event-block-title{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-calendar-page .event-block-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-light)}.teacher-calendar-page .event-block-meta svg{flex-shrink:0}.teacher-calendar-page .event-block--lesson{background:var(--event-bg-pink)}.teacher-calendar-page .event-type-icon{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--pink);background:rgba(var(--pink-rgb),.15)}.teacher-calendar-page .event-block--exam{background:var(--event-bg-orange)}.teacher-calendar-page .event-block--homework{background:var(--event-bg-yellow)}.teacher-calendar-page .event-block--parent{background:var(--event-bg-blue)}.teacher-calendar-page .event-block--staff{background:var(--event-bg-purple)}.teacher-calendar-page .event-block--break{background:transparent;border:1.5px dashed var(--cream-dark);padding:var(--space-sm) var(--space-lg);justify-content:center}.teacher-calendar-page .event-block--break:hover{transform:none}.teacher-calendar-page .break-label{font-size:12px;font-weight:500;color:var(--text-light);font-style:italic}.teacher-calendar-page .event-item--break .time-start{font-weight:500;color:var(--text-light);font-size:12px}.teacher-calendar-page .event-item--break .time-end{font-size:10px}.teacher-calendar-page .event-type-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:var(--radius-xl);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;white-space:nowrap}.teacher-calendar-page .event-type-badge-icon{font-size:13px;flex-shrink:0}.teacher-calendar-page .event-type-badge--exam{background:rgba(var(--orange-rgb),.2);color:var(--orange-dark)}.teacher-calendar-page .event-type-badge--homework{background:rgba(var(--yellow-rgb),.2);color:var(--yellow-dark)}.teacher-calendar-page .event-type-badge--parent{background:rgba(var(--cal-blue-rgb),.2);color:var(--info-text)}.teacher-calendar-page .event-type-badge--staff{background:rgba(var(--cal-purple-rgb),.2);color:var(--purple-dark)}.teacher-calendar-page .upcoming-list{display:flex;flex-direction:column;gap:2px}.teacher-calendar-page .upcoming-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-sm);border-radius:var(--radius-sm);transition:all .2s ease;cursor:pointer}.teacher-calendar-page .upcoming-item:hover{background:var(--cream);transform:translate(2px)}.teacher-calendar-page .upcoming-indicator{width:4px;height:36px;border-radius:4px;flex-shrink:0}.teacher-calendar-page .upcoming-indicator--exam{background:var(--orange)}.teacher-calendar-page .upcoming-indicator--homework{background:var(--yellow)}.teacher-calendar-page .upcoming-indicator--staff{background:var(--cal-purple)}.teacher-calendar-page .upcoming-indicator--parent{background:var(--cal-blue)}.teacher-calendar-page .upcoming-indicator--lesson{background:var(--pink)}.teacher-calendar-page .upcoming-info{flex:1;display:flex;flex-direction:column;min-width:0}.teacher-calendar-page .upcoming-title{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-calendar-page .upcoming-detail{font-size:12px;color:var(--text-light)}.teacher-calendar-page .upcoming-arrow{flex-shrink:0;color:var(--text-light);opacity:.5}.teacher-calendar-page .date-strip{display:flex;gap:var(--space-sm);overflow-x:auto;padding:0;scrollbar-width:none;-ms-overflow-style:none}.teacher-calendar-page .date-strip::-webkit-scrollbar{display:none}.teacher-calendar-page .date-strip-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--white);min-width:48px;cursor:pointer;transition:all .2s ease;border:none;font-family:inherit}.teacher-calendar-page .date-strip-item:hover{background:var(--peach-light)}.teacher-calendar-page .date-strip-item.active{background:var(--pink);color:var(--white)}.teacher-calendar-page .date-strip-day{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-light)}.teacher-calendar-page .date-strip-item.active .date-strip-day{color:var(--surface-translucent)}.teacher-calendar-page .date-strip-num{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark)}.teacher-calendar-page .date-strip-item.active .date-strip-num{color:var(--white)}.teacher-calendar-page .date-strip+.tc-card.upcoming-card{margin-top:calc(-1 * var(--space-md))}.teacher-calendar-page .week-grid{background:var(--white);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:0 4px 20px rgba(var(--coral-rgb),.08)}.teacher-calendar-page .week-day-row{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.teacher-calendar-page .week-day-row:last-child{border-bottom:none}.teacher-calendar-page .week-day-label{min-width:44px;flex-shrink:0;text-align:center}.teacher-calendar-page .week-day-name{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-light);display:block}.teacher-calendar-page .week-day-num{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark);display:block}.teacher-calendar-page .week-day-row.is-today .week-day-num{color:var(--pink)}.teacher-calendar-page .week-day-events{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.teacher-calendar-page .week-event-chip{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-md);border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-dark)}.teacher-calendar-page .week-event-chip--lesson{background:var(--event-bg-pink)}.teacher-calendar-page .week-event-chip--exam{background:var(--event-bg-orange)}.teacher-calendar-page .week-event-chip--homework{background:var(--event-bg-yellow)}.teacher-calendar-page .week-event-chip--parent{background:var(--event-bg-blue)}.teacher-calendar-page .week-event-chip--staff{background:var(--event-bg-purple)}.teacher-calendar-page .week-event-time{font-size:11px;color:var(--text-light);white-space:nowrap}.teacher-calendar-page .week-no-events{font-size:12px;color:var(--text-light);font-style:italic;padding:4px 0}.teacher-calendar-page .tc-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-xxl) 0;color:var(--text-light);font-size:14px}.teacher-calendar-page .tc-empty{text-align:center;padding:var(--space-xl) 0;color:var(--text-light);font-size:14px}.teacher-calendar-page .view-btn:focus-visible,.teacher-calendar-page .nav-arrow:focus-visible,.teacher-calendar-page .today-pill:focus-visible,.teacher-calendar-page .legend-chip:focus-visible,.teacher-calendar-page .day-cell:focus-visible,.teacher-calendar-page .event-block:focus-visible,.teacher-calendar-page .upcoming-item:focus-visible,.teacher-calendar-page .icon-btn:focus-visible,.teacher-calendar-page .fab-btn:focus-visible{outline:2px solid var(--pink);outline-offset:2px}@media(max-width:375px){.teacher-calendar-page .tc-content{padding:var(--space-md);gap:var(--space-sm)}.teacher-calendar-page .tc-card{padding:var(--space-lg)}.teacher-calendar-page .calendar-card{padding:var(--space-md)}.teacher-calendar-page .day-num{font-size:12px;width:26px;height:26px}.teacher-calendar-page .day-cell{min-height:44px;padding:4px 1px}.teacher-calendar-page .event-block{padding:var(--space-sm) var(--space-md)}.teacher-calendar-page .event-block-title{font-size:12px}.teacher-calendar-page .legend-chip{padding:calc(5px * var(--tc-legend-scale, 1.2)) calc(10px * var(--tc-legend-scale, 1.2));font-size:calc(10px * var(--tc-legend-scale, 1.2))}}@media(min-width:600px){.teacher-calendar-page .tc-content{max-width:560px;margin:0 auto}.teacher-calendar-page .day-cell{min-height:56px}.teacher-calendar-page .day-num{font-size:14px;width:32px;height:32px}}@media(min-width:900px){.teacher-calendar-page .tc-content{max-width:720px}}.teacher-class-details-page{--ion-background-color: var(--cream);--slate-tint: rgba(160, 174, 192, .15)}.teacher-class-details-page .tcd-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:16px 20px 12px;background:var(--header-bg-warm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-class-details-page .tcd-back-btn{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--text-dark);border:none;cursor:pointer;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);transition:all .2s ease;flex-shrink:0}.teacher-class-details-page .tcd-back-btn:active{transform:scale(.95)}.teacher-class-details-page .tcd-header-info{flex:1;min-width:0}.teacher-class-details-page .tcd-header-title{font-family:Poppins,Nunito,sans-serif;font-size:20px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-class-details-page .tcd-header-subtitle{font-family:DM Sans,Nunito,sans-serif;font-size:13px;color:var(--text-medium);font-weight:500}.teacher-class-details-page .tcd-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.teacher-class-details-page .tcd-icon-btn{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--text-dark);border:none;cursor:pointer;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);transition:all .2s ease}.teacher-class-details-page .tcd-icon-btn:active{transform:scale(.95)}.teacher-class-details-page .tcd-tabs{display:flex;gap:4px;padding:8px 16px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--header-bg-warm)}.teacher-class-details-page .tcd-tabs::-webkit-scrollbar{display:none}.teacher-class-details-page .tcd-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:50px;font-family:DM Sans,Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);cursor:pointer;white-space:nowrap;transition:all .25s ease;flex-shrink:0}.teacher-class-details-page .tcd-tab:hover{border-color:var(--coral-light);color:var(--coral)}.teacher-class-details-page .tcd-tab.active{background:var(--coral);color:var(--white);border-color:var(--coral);box-shadow:0 2px 8px rgba(var(--coral-rgb),.3)}.teacher-class-details-page .tcd-tab-icon{font-size:14px;line-height:1}.teacher-class-details-page .tcd-content{padding:0 16px 100px;display:flex;flex-direction:column;gap:16px}.teacher-class-details-page .tcd-card{background:var(--white);border-radius:var(--radius-md);padding:18px;box-shadow:0 2px 12px rgba(var(--pink-rgb),.06)}.teacher-class-details-page .tcd-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.teacher-class-details-page .tcd-card-title{font-family:Poppins,Nunito,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark)}.teacher-class-details-page .tcd-see-all{font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:var(--coral);background:none;border:none;cursor:pointer;padding:0}.teacher-class-details-page .tcd-overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.teacher-class-details-page .tcd-stat-card{background:var(--white);border-radius:var(--radius-sm);padding:14px 10px;text-align:center;box-shadow:0 2px 12px rgba(var(--pink-rgb),.06);transition:transform .2s ease}.teacher-class-details-page .tcd-stat-card:hover{transform:translateY(-2px)}.teacher-class-details-page .tcd-stat-icon{font-size:20px;display:block;margin-bottom:6px}.teacher-class-details-page .tcd-stat-value{font-family:Poppins,sans-serif;font-weight:700;font-size:22px;color:var(--text-dark);line-height:1.2}.teacher-class-details-page .tcd-stat-label{font-family:DM Sans,sans-serif;font-size:11px;color:var(--text-medium);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.teacher-class-details-page .tcd-activity-feed{display:flex;flex-direction:column;gap:10px}.teacher-class-details-page .tcd-activity-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-sm);background:var(--cream);transition:background .2s ease}.teacher-class-details-page .tcd-activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.teacher-class-details-page .tcd-activity-dot.green{background:var(--success-green)}.teacher-class-details-page .tcd-activity-dot.orange{background:var(--alert-orange)}.teacher-class-details-page .tcd-activity-dot.coral{background:var(--coral)}.teacher-class-details-page .tcd-activity-dot.purple{background:var(--purple-ai)}.teacher-class-details-page .tcd-activity-text{flex:1;font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-dark);line-height:1.4}.teacher-class-details-page .tcd-activity-time{font-family:DM Sans,sans-serif;font-size:11px;color:var(--text-light);flex-shrink:0}.teacher-class-details-page .tcd-upcoming-list{display:flex;flex-direction:column;gap:10px}.teacher-class-details-page .tcd-upcoming-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--cream)}.teacher-class-details-page .tcd-upcoming-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.teacher-class-details-page .tcd-upcoming-icon.homework{background:rgba(var(--pink-rgb),.12)}.teacher-class-details-page .tcd-upcoming-icon.exam{background:rgba(var(--orange-rgb),.12)}.teacher-class-details-page .tcd-upcoming-icon.event{background:rgba(var(--purple-ai-rgb),.12)}.teacher-class-details-page .tcd-upcoming-info{flex:1;min-width:0}.teacher-class-details-page .tcd-upcoming-title{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-class-details-page .tcd-upcoming-date{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium)}.teacher-class-details-page .tcd-upcoming-badge{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:4px 10px;border-radius:50px;flex-shrink:0}.teacher-class-details-page .tcd-upcoming-badge.due-soon{background:rgba(var(--orange-rgb),.12);color:var(--warning-text)}.teacher-class-details-page .tcd-upcoming-badge.upcoming{background:var(--success-bg);color:var(--success-text)}.teacher-class-details-page .tcd-students-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.teacher-class-details-page .tcd-students-count{font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium);font-weight:500}.teacher-class-details-page .tcd-search-container{position:relative;margin-bottom:14px}.teacher-class-details-page .tcd-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.teacher-class-details-page .tcd-search-input{width:100%;padding:10px 16px 10px 40px;border:1.5px solid var(--cream-dark)!important;border-radius:50px!important;background:var(--white);font-family:DM Sans,Nunito,sans-serif;font-size:14px;color:var(--text-dark);outline:none;transition:all .25s ease}.teacher-class-details-page .tcd-search-input::placeholder{color:var(--text-light)}.teacher-class-details-page .tcd-search-input:focus{border-color:var(--coral-light)!important;box-shadow:0 0 0 3px rgba(var(--coral-rgb),.1)}.teacher-class-details-page .tcd-student-list{display:flex;flex-direction:column;gap:8px}.teacher-class-details-page .tcd-student-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--white);box-shadow:0 1px 4px var(--border-light);cursor:pointer;transition:all .2s ease}.teacher-class-details-page .tcd-student-row:hover{box-shadow:0 4px 12px rgba(var(--coral-rgb),.1);transform:translateY(-1px)}.teacher-class-details-page .tcd-student-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-weight:700;font-size:14px;color:var(--white);flex-shrink:0}.teacher-class-details-page .tcd-student-info{flex:1;min-width:0}.teacher-class-details-page .tcd-student-name{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark)}.teacher-class-details-page .tcd-student-detail{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium)}.teacher-class-details-page .tcd-student-grade{font-family:Poppins,sans-serif;font-weight:700;font-size:16px;flex-shrink:0}.teacher-class-details-page .tcd-student-grade.high{color:var(--success-text)}.teacher-class-details-page .tcd-student-grade.mid{color:var(--warning-text)}.teacher-class-details-page .tcd-student-grade.low{color:var(--danger-text)}.teacher-class-details-page .tcd-student-arrow{color:var(--text-light);flex-shrink:0}.teacher-class-details-page .tcd-hw-filters{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.teacher-class-details-page .tcd-hw-filters::-webkit-scrollbar{display:none}.teacher-class-details-page .tcd-hw-filter{padding:6px 14px;border-radius:50px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);cursor:pointer;white-space:nowrap;transition:all .2s ease}.teacher-class-details-page .tcd-hw-filter.active{background:var(--coral);color:var(--white);border-color:var(--coral)}.teacher-class-details-page .tcd-hw-list{display:flex;flex-direction:column;gap:10px}.teacher-class-details-page .tcd-hw-card{background:var(--white);border-radius:var(--radius-sm);padding:14px;box-shadow:0 1px 4px var(--border-light);cursor:pointer;transition:all .2s ease}.teacher-class-details-page .tcd-hw-card:hover{box-shadow:0 4px 12px rgba(var(--coral-rgb),.1);transform:translateY(-1px)}.teacher-class-details-page .tcd-hw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.teacher-class-details-page .tcd-hw-title{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark)}.teacher-class-details-page .tcd-hw-status{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:3px 10px;border-radius:50px}.teacher-class-details-page .tcd-hw-status.active{background:var(--success-bg);color:var(--success-text)}.teacher-class-details-page .tcd-hw-status.grading{background:rgba(var(--orange-rgb),.12);color:var(--warning-text)}.teacher-class-details-page .tcd-hw-status.completed{background:var(--slate-tint);color:var(--text-medium)}.teacher-class-details-page .tcd-hw-meta{display:flex;align-items:center;gap:12px;font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium);margin-bottom:10px}.teacher-class-details-page .tcd-hw-meta svg{flex-shrink:0;opacity:.6}.teacher-class-details-page .tcd-hw-meta-item{display:inline-flex;align-items:center;gap:4px}.teacher-class-details-page .tcd-hw-progress{display:flex;align-items:center;gap:10px}.teacher-class-details-page .tcd-hw-progress-bar{flex:1;height:6px;background:var(--cream-dark);border-radius:3px;overflow:hidden}.teacher-class-details-page .tcd-hw-progress-fill{height:100%;border-radius:3px;background:var(--coral);transition:width .5s ease}.teacher-class-details-page .tcd-hw-progress-text{font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium);flex-shrink:0}.teacher-class-details-page .tcd-exam-list{display:flex;flex-direction:column;gap:10px}.teacher-class-details-page .tcd-exam-card{background:var(--white);border-radius:var(--radius-sm);padding:14px;box-shadow:0 1px 4px var(--border-light);display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s ease}.teacher-class-details-page .tcd-exam-card:hover{box-shadow:0 4px 12px rgba(var(--coral-rgb),.1);transform:translateY(-1px)}.teacher-class-details-page .tcd-exam-date-badge{width:50px;height:56px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.teacher-class-details-page .tcd-exam-date-badge.past{background:var(--slate-tint)}.teacher-class-details-page .tcd-exam-date-badge.upcoming{background:rgba(var(--orange-rgb),.12)}.teacher-class-details-page .tcd-exam-date-badge.future{background:var(--success-bg)}.teacher-class-details-page .tcd-exam-day{font-family:Poppins,sans-serif;font-weight:700;font-size:18px;color:var(--text-dark);line-height:1.1}.teacher-class-details-page .tcd-exam-month{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;color:var(--text-medium);text-transform:uppercase}.teacher-class-details-page .tcd-exam-info{flex:1;min-width:0}.teacher-class-details-page .tcd-exam-title{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark)}.teacher-class-details-page .tcd-exam-detail{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium);margin-top:2px}.teacher-class-details-page .tcd-exam-avg{font-family:Poppins,sans-serif;font-weight:700;font-size:16px;flex-shrink:0}.teacher-class-details-page .tcd-exam-avg.high{color:var(--success-text)}.teacher-class-details-page .tcd-exam-avg.mid{color:var(--warning-text)}.teacher-class-details-page .tcd-exam-status-badge{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:4px 10px;border-radius:50px;flex-shrink:0;background:rgba(var(--orange-rgb),.12);color:var(--warning-text)}.teacher-class-details-page .tcd-attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.teacher-class-details-page .tcd-att-stat{text-align:center;padding:12px 4px;border-radius:var(--radius-sm);background:var(--cream)}.teacher-class-details-page .tcd-att-stat-value{font-family:Poppins,sans-serif;font-weight:700;font-size:20px;color:var(--text-dark);display:block;line-height:1.2}.teacher-class-details-page .tcd-att-stat-label{font-family:DM Sans,sans-serif;font-size:10px;color:var(--text-medium);font-weight:500;text-transform:uppercase;letter-spacing:.2px}.teacher-class-details-page .tcd-att-stat.green .tcd-att-stat-value{color:var(--success-text)}.teacher-class-details-page .tcd-att-stat.red .tcd-att-stat-value{color:var(--danger-text)}.teacher-class-details-page .tcd-att-stat.amber .tcd-att-stat-value{color:var(--warning-text)}.teacher-class-details-page .tcd-attendance-list{display:flex;flex-direction:column;gap:8px}.teacher-class-details-page .tcd-att-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--cream)}.teacher-class-details-page .tcd-att-date{font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:var(--text-dark);min-width:80px}.teacher-class-details-page .tcd-att-bar{flex:1;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden}.teacher-class-details-page .tcd-att-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.teacher-class-details-page .tcd-att-bar-fill.high{background:var(--success-green)}.teacher-class-details-page .tcd-att-bar-fill.mid{background:var(--alert-orange)}.teacher-class-details-page .tcd-att-bar-fill.low{background:var(--alert-red)}.teacher-class-details-page .tcd-att-pct{font-family:Poppins,sans-serif;font-weight:600;font-size:13px;color:var(--text-dark);min-width:40px;text-align:right}.teacher-class-details-page .tcd-take-attendance-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:var(--radius-sm);background:var(--coral);color:var(--white);font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;margin-top:12px}.teacher-class-details-page .tcd-take-attendance-btn:hover{background:var(--coral);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--coral-rgb),.3)}.teacher-class-details-page .tcd-take-attendance-btn:active{transform:scale(.98)}.teacher-class-details-page .tcd-analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.teacher-class-details-page .tcd-analytics-card{background:var(--cream);border-radius:var(--radius-sm);padding:14px;text-align:center}.teacher-class-details-page .tcd-analytics-value{font-family:Poppins,sans-serif;font-weight:700;font-size:24px;color:var(--text-dark);line-height:1.2}.teacher-class-details-page .tcd-analytics-label{font-family:DM Sans,sans-serif;font-size:11px;color:var(--text-medium);font-weight:500;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.teacher-class-details-page .tcd-analytics-change{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;margin-top:4px;display:inline-block}.teacher-class-details-page .tcd-analytics-change.positive{color:var(--success-text)}.teacher-class-details-page .tcd-analytics-change.negative{color:var(--danger-text)}.teacher-class-details-page .tcd-chart-placeholder{background:var(--cream);border-radius:var(--radius-sm);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:160px}.teacher-class-details-page .tcd-chart-placeholder-icon{font-size:32px;opacity:.5}.teacher-class-details-page .tcd-chart-placeholder-text{font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium)}.teacher-class-details-page .tcd-bar-chart{display:flex;align-items:flex-end;gap:6px;height:120px;padding:16px 8px 0}.teacher-class-details-page .tcd-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.teacher-class-details-page .tcd-bar{width:100%;border-radius:6px 6px 0 0;transition:height .5s ease;min-height:4px}.teacher-class-details-page .tcd-bar.coral{background:var(--coral)}.teacher-class-details-page .tcd-bar.sage{background:var(--sage)}.teacher-class-details-page .tcd-bar.purple{background:var(--purple-ai)}.teacher-class-details-page .tcd-bar.peach{background:var(--peach)}.teacher-class-details-page .tcd-bar.orange{background:var(--orange)}.teacher-class-details-page .tcd-bar-label{font-family:DM Sans,sans-serif;font-size:10px;color:var(--text-medium);text-align:center;font-weight:500}.teacher-class-details-page .tcd-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px}.teacher-class-details-page .tcd-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:tcd-spin .8s linear infinite}@keyframes tcd-spin{to{transform:rotate(360deg)}}.teacher-class-details-page .tcd-loading-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-medium)}.teacher-class-details-page .tcd-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:12px;text-align:center}.teacher-class-details-page .tcd-error-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--alert-red)}.teacher-class-details-page .tcd-retry-btn{padding:10px 24px;border-radius:50px;background:var(--coral);color:var(--white);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.teacher-class-details-page .tcd-retry-btn:hover{background:var(--coral);transform:scale(1.02)}.teacher-class-details-page .tcd-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:8px;text-align:center}.teacher-class-details-page .tcd-empty-icon{font-size:36px;margin-bottom:4px}.teacher-class-details-page .tcd-empty-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-medium)}@media(max-width:375px){.teacher-class-details-page .tcd-content{padding:0 14px 100px}.teacher-class-details-page .tcd-overview-stats{grid-template-columns:repeat(3,1fr);gap:8px}.teacher-class-details-page .tcd-attendance-summary{grid-template-columns:repeat(2,1fr)}}@keyframes teacher-hw-fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes teacher-hw-progressGrow{0%{width:0}to{width:var(--progress)}}@keyframes teacher-hw-pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes teacher-hw-pulseDot{0%,to{opacity:1;box-shadow:0 0 rgba(var(--alert-red-rgb),.6)}50%{opacity:.7;box-shadow:0 0 0 4px rgba(var(--alert-red-rgb),0)}}@keyframes teacher-hw-fabPulse{0%,to{box-shadow:0 4px 20px rgba(var(--coral-rgb),.4)}50%{box-shadow:0 4px 28px rgba(var(--coral-rgb),.6)}}@keyframes teacher-hw-spin{to{transform:rotate(360deg)}}.teacher-homework-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-homework-page .header-left{display:flex;align-items:center;gap:var(--space-sm)}.teacher-homework-page .back-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;background:none;border:none;cursor:pointer}.teacher-homework-page .back-btn:hover{background:var(--cream)}.teacher-homework-page .header-title-group{display:flex;flex-direction:column}.teacher-homework-page .header-title{font-family:Poppins,Nunito,system-ui,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.2;margin:0}.teacher-homework-page .header-subtitle{font-size:11px;color:var(--text-light);font-weight:500}.teacher-homework-page .header-actions{display:flex;align-items:center;gap:var(--space-sm)}.teacher-homework-page .icon-btn{position:relative;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.08);border:none;cursor:pointer}.teacher-homework-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--coral-rgb),.15)}.teacher-homework-page .notification-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:10px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--white);animation:teacher-hw-pulseBadge 2.5s ease-in-out infinite}.teacher-homework-page .create-btn-header{display:flex;align-items:center;gap:var(--space-xs);padding:8px 14px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:13px;font-weight:600;box-shadow:0 3px 12px rgba(var(--coral-rgb),.3);transition:all .2s ease;border:none;cursor:pointer;font-family:inherit}.teacher-homework-page .create-btn-header:hover{transform:scale(1.03);box-shadow:0 5px 18px rgba(var(--coral-rgb),.4)}.teacher-homework-page .main-content{padding:var(--space-lg);padding-bottom:100px;display:flex;flex-direction:column;gap:var(--space-lg)}.teacher-homework-page .filter-section{display:flex;flex-direction:column;gap:var(--space-md)}.teacher-homework-page .search-bar{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:var(--white);border-radius:var(--radius-xl);box-shadow:0 2px 12px rgba(var(--coral-rgb),.06);border:1.5px solid transparent;transition:all .2s ease}.teacher-homework-page .search-bar:focus-within{border-color:var(--coral-light);box-shadow:0 2px 16px rgba(var(--coral-rgb),.12)}.teacher-homework-page .search-icon{color:var(--text-light);flex-shrink:0}.teacher-homework-page .search-input{flex:1;font-size:14px;color:var(--text-dark);background:transparent;font-family:inherit;border:none;outline:none}.teacher-homework-page .search-input::placeholder{color:var(--text-light)}.teacher-homework-page .filter-row{overflow:hidden}.teacher-homework-page .filter-scroll{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:4px;-ms-overflow-style:none;scrollbar-width:none}.teacher-homework-page .filter-scroll::-webkit-scrollbar{display:none}.teacher-homework-page .filter-pill{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--text-medium);background:var(--white);border-radius:var(--radius-xl);white-space:nowrap;box-shadow:0 1px 4px #0000000a;transition:all .2s ease;border:1.5px solid rgba(0,0,0,.04);cursor:pointer;font-family:inherit}.teacher-homework-page .filter-pill:hover{background:var(--peach-light);color:var(--text-dark)}.teacher-homework-page .filter-pill--active{background:var(--coral);color:var(--white);border-color:var(--coral);box-shadow:0 2px 8px rgba(var(--coral-rgb),.3)}.teacher-homework-page .filter-pill--active:hover{background:var(--coral);color:var(--white)}.teacher-homework-page .stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.teacher-homework-page .stat-card{border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm) var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);box-shadow:var(--shadow-card);border:1px solid var(--border-warm);transition:transform .2s ease,box-shadow .2s ease;text-align:center}.teacher-homework-page .stat-card--orange{background:rgba(var(--orange-rgb),.2);border-color:rgba(var(--orange-rgb),.28)}.teacher-homework-page .stat-card--pink{background:rgba(var(--coral-rgb),.18);border-color:rgba(var(--coral-rgb),.26)}.teacher-homework-page .stat-card--red{background:rgba(var(--alert-red-rgb),.14);border-color:rgba(var(--alert-red-rgb),.22)}.teacher-homework-page .stat-card--green{background:rgba(var(--sage-rgb),.18);border-color:rgba(var(--sage-rgb),.26)}.teacher-homework-page .stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.teacher-homework-page .stat-card-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:2px;flex-shrink:0;box-shadow:0 2px 8px #00000014}.teacher-homework-page .stat-card--orange .stat-card-icon{background:var(--alert-orange);color:var(--white)}.teacher-homework-page .stat-card--pink .stat-card-icon{background:var(--coral);color:var(--white)}.teacher-homework-page .stat-card--red .stat-card-icon{background:var(--alert-red);color:var(--white)}.teacher-homework-page .stat-card--green .stat-card-icon{background:var(--sage);color:var(--white)}.teacher-homework-page .stat-card-number{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-dark)}.teacher-homework-page .stat-card--red .stat-card-number{color:var(--red-dark)}.teacher-homework-page .stat-card-label{font-family:Nunito,sans-serif;font-size:.6875rem;font-weight:600;line-height:1.25;color:var(--text-medium);letter-spacing:.02em;max-width:100%}.teacher-homework-page .loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xxl) 0;color:var(--text-light);font-size:14px}.teacher-homework-page .loading-spinner{width:32px;height:32px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:var(--radius-full);animation:teacher-hw-spin .8s linear infinite}.teacher-homework-page .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:48px var(--space-lg);color:var(--text-light);text-align:center}.teacher-homework-page .empty-state p{font-size:15px;font-weight:500;margin:0}.teacher-homework-page .assignment-list{display:flex;flex-direction:column;gap:var(--space-lg)}.teacher-homework-page .anim-card{animation:teacher-hw-fadeInUp .5s ease-out both;animation-delay:calc(var(--delay, 0) * 60ms)}.teacher-homework-page .assignment-card{display:flex;background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 20px rgba(var(--coral-rgb),.07);transition:transform .25s ease,box-shadow .25s ease}.teacher-homework-page .assignment-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--coral-rgb),.13)}.teacher-homework-page .assignment-card--overdue{background:linear-gradient(135deg,var(--white) 0%,rgba(var(--alert-red-rgb),.03) 100%)}.teacher-homework-page .assignment-card--completed{background:linear-gradient(135deg,var(--white) 0%,rgba(var(--sage-rgb),.04) 100%)}.teacher-homework-page .assignment-card--draft{opacity:.85;background:linear-gradient(135deg,var(--white) 0%,rgba(0,0,0,.01) 100%)}.teacher-homework-page .assignment-card--draft:hover{opacity:1}.teacher-homework-page .card-accent{width:4px;flex-shrink:0}.teacher-homework-page .card-accent--blue{background:linear-gradient(180deg,var(--info-text),var(--info-text))}.teacher-homework-page .card-accent--purple{background:linear-gradient(180deg,var(--purple-ai),var(--purple-ai-light))}.teacher-homework-page .card-accent--red{background:linear-gradient(180deg,var(--alert-red),var(--alert-red))}.teacher-homework-page .card-accent--green{background:linear-gradient(180deg,var(--sage),var(--sage-light))}.teacher-homework-page .card-accent--gray{background:linear-gradient(180deg,var(--text-light),var(--toggle-off))}.teacher-homework-page .card-body{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.teacher-homework-page .card-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.teacher-homework-page .subject-tag{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-xl)}.teacher-homework-page .subject-tag--blue{background:var(--info-bg);color:var(--info-text)}.teacher-homework-page .subject-tag--purple{background:rgba(var(--purple-ai-rgb),.1);color:var(--purple-ai)}.teacher-homework-page .subject-tag--gray{background:#0000000f;color:var(--text-light)}.teacher-homework-page .deadline-info{flex-shrink:0}.teacher-homework-page .deadline-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;border-radius:var(--radius-xl)}.teacher-homework-page .deadline-badge--red{background:rgba(var(--alert-red-rgb),.1);color:var(--alert-red)}.teacher-homework-page .deadline-badge--red-solid{background:var(--alert-red);color:var(--white)}.teacher-homework-page .deadline-badge--orange{background:rgba(var(--orange-rgb),.12);color:var(--orange-dark)}.teacher-homework-page .deadline-badge--yellow{background:rgba(var(--yellow-rgb),.2);color:var(--yellow-dark)}.teacher-homework-page .deadline-badge--green{background:rgba(var(--sage-rgb),.15);color:var(--sage-dark)}.teacher-homework-page .deadline-badge--gray{background:#0000000f;color:var(--text-light)}.teacher-homework-page .pulse-dot-tiny{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--alert-red);animation:teacher-hw-pulseDot 1.5s ease-in-out infinite}.teacher-homework-page .assignment-title{font-family:Poppins,Nunito,system-ui,sans-serif;font-size:16px;font-weight:600;color:var(--text-dark);line-height:1.3;margin:0}.teacher-homework-page .assignment-card--draft .assignment-title{color:var(--text-medium)}.teacher-homework-page .title-row-with-badge{display:flex;align-items:center;gap:var(--space-sm)}.teacher-homework-page .completion-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;font-size:11px;font-weight:700;color:var(--sage-dark);background:rgba(var(--sage-rgb),.15);border-radius:var(--radius-xl);white-space:nowrap}.teacher-homework-page .assignment-desc{font-size:13px;color:var(--text-medium);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.teacher-homework-page .assignment-meta{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.teacher-homework-page .meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-light)}.teacher-homework-page .meta-item svg{flex-shrink:0}.teacher-homework-page .meta-item--overdue{color:var(--alert-red)}.teacher-homework-page .progress-section{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-xs)}.teacher-homework-page .progress-bar-track{width:100%;height:8px;background:var(--toggle-off);border-radius:8px;overflow:hidden}.teacher-homework-page .progress-bar-fill{height:100%;width:var(--progress);background:linear-gradient(90deg,var(--coral),var(--alert-orange));border-radius:8px;animation:teacher-hw-progressGrow .8s ease-out both;animation-delay:calc(var(--delay, 0) * 60ms + .2s)}.teacher-homework-page .progress-bar-fill--complete{background:linear-gradient(90deg,var(--sage),var(--sage))}.teacher-homework-page .progress-text{font-size:12px;font-weight:600;color:var(--text-medium)}.teacher-homework-page .progress-text--complete{color:var(--sage)}.teacher-homework-page .status-breakdown{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.teacher-homework-page .status-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.teacher-homework-page .status-item--green{color:var(--sage-dark)}.teacher-homework-page .status-item--green svg{fill:var(--sage)}.teacher-homework-page .status-item--orange{color:var(--orange-dark)}.teacher-homework-page .status-item--orange svg{fill:var(--alert-orange)}.teacher-homework-page .status-item--red{color:var(--alert-red)}.teacher-homework-page .status-item--red svg{fill:var(--alert-red)}.teacher-homework-page .card-actions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--cream-dark)}.teacher-homework-page .btn-outline{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--coral);border:1.5px solid var(--coral);border-radius:var(--radius-xl);transition:all .2s ease;background:none;cursor:pointer;font-family:inherit}.teacher-homework-page .btn-outline:hover{background:rgba(var(--coral-rgb),.08);transform:scale(1.02)}.teacher-homework-page .btn-ghost{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-medium);border-radius:var(--radius-xl);transition:all .2s ease;background:none;border:none;cursor:pointer;font-family:inherit}.teacher-homework-page .btn-ghost:hover{background:var(--cream);color:var(--text-dark)}.teacher-homework-page .btn-primary-sm{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--white);background:linear-gradient(135deg,var(--coral),var(--coral));border-radius:var(--radius-xl);box-shadow:0 3px 12px rgba(var(--coral-rgb),.3);transition:all .2s ease;border:none;cursor:pointer;font-family:inherit}.teacher-homework-page .btn-primary-sm:hover{transform:scale(1.03);box-shadow:0 5px 18px rgba(var(--coral-rgb),.4)}.teacher-homework-page .btn-more{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--text-light);transition:all .2s ease;margin-left:auto;background:none;border:none;cursor:pointer}.teacher-homework-page .btn-more:hover{background:var(--cream);color:var(--text-medium)}.teacher-homework-page .draft-notice{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--cream);border-radius:var(--radius-sm);font-size:13px;color:var(--text-light);border:1px dashed rgba(0,0,0,.1)}.teacher-homework-page .draft-notice svg{flex-shrink:0;color:var(--text-light)}.teacher-homework-page .empty-submissions-msg{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,rgba(var(--purple-ai-rgb),.06),rgba(var(--coral-rgb),.06));border-radius:var(--radius-sm);font-size:13px;color:var(--purple-ai);font-weight:500}.teacher-homework-page .empty-submissions-msg svg{flex-shrink:0}.teacher-homework-page .fab{position:fixed;bottom:88px;right:20px;width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(var(--coral-rgb),.4);z-index:90;transition:all .3s ease;animation:teacher-hw-fabPulse 3s ease-in-out infinite;border:none;cursor:pointer}.teacher-homework-page .fab:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 6px 28px rgba(var(--coral-rgb),.55)}@media(max-width:375px){.teacher-homework-page .main-content{padding:var(--space-md);gap:var(--space-md)}.teacher-homework-page .stats-cards{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.teacher-homework-page .stat-card{padding:var(--space-md)}.teacher-homework-page .stat-card-number{font-size:1.125rem}.teacher-homework-page .card-body{padding:var(--space-md)}.teacher-homework-page .assignment-title{font-size:15px}.teacher-homework-page .status-breakdown{gap:var(--space-sm)}.teacher-homework-page .card-actions{flex-wrap:wrap}.teacher-homework-page .create-btn-header span{display:none}.teacher-homework-page .create-btn-header{width:38px;height:38px;padding:0;border-radius:var(--radius-sm);justify-content:center}}@media(min-width:768px){.teacher-homework-page .main-content{max-width:720px;margin:0 auto}.teacher-homework-page .stats-cards{grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.teacher-homework-page .stat-card{padding:var(--space-lg)}.teacher-homework-page .stat-card-number{font-size:1.5rem}.teacher-homework-page .assignment-list{gap:var(--space-xl)}.teacher-homework-page .header{padding:var(--space-lg) var(--space-xxl)}.teacher-homework-page .fab{right:calc(50% - 340px)}}.teacher-exam-details-page{--shadow-card: 0 4px 14px rgba(var(--pink-rgb), .08), 0 2px 6px var(--border-light);--shadow-card-hover: 0 8px 24px rgba(var(--pink-rgb), .14), 0 4px 10px var(--border-medium);--radius-card: 16px;--radius-btn: 12px;--radius-input: 10px;--radius-pill: 20px}.teacher-exam-details-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--header-bg-warm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--pink-rgb),.08)}.teacher-exam-details-page .header-left{display:flex;align-items:center;gap:8px;min-width:0}.teacher-exam-details-page .back-btn{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-dark);flex-shrink:0;transition:all .2s ease;border:none;background:none;cursor:pointer}.teacher-exam-details-page .back-btn:hover{background:rgba(var(--pink-rgb),.08)}.teacher-exam-details-page .header-title-group{display:flex;flex-direction:column;min-width:0}.teacher-exam-details-page .breadcrumb{font-size:10px;color:var(--text-light);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-exam-details-page .header-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.2;margin:0}.teacher-exam-details-page .header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.teacher-exam-details-page .icon-btn{position:relative;width:36px;height:36px;border-radius:12px;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--pink-rgb),.08);border:none;cursor:pointer}.teacher-exam-details-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--pink-rgb),.15)}.teacher-exam-details-page .notification-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;background:linear-gradient(135deg,var(--pink),var(--pink-dark));color:var(--white);font-size:9px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}.teacher-exam-details-page .status-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600}.teacher-exam-details-page .status-completed{background:linear-gradient(135deg,var(--sage-soft),var(--sage-soft));color:var(--success-text)}.teacher-exam-details-page .status-completed svg{color:var(--sage)}.teacher-exam-details-page .tabs{position:sticky;top:61px;z-index:90;display:flex;background:var(--white);border-bottom:1px solid var(--border-medium);padding:0 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.teacher-exam-details-page .tabs::-webkit-scrollbar{display:none}.teacher-exam-details-page .tab{flex:1;padding:14px 8px 12px;font-size:13px;font-weight:600;color:var(--text-medium);white-space:nowrap;position:relative;transition:color .25s ease;border:none;background:none;cursor:pointer;font-family:inherit}.teacher-exam-details-page .tab.active{color:var(--pink)}.teacher-exam-details-page .tab.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:3px;border-radius:3px 3px 0 0;background:var(--pink)}.teacher-exam-details-page .tab-content{padding:16px}.teacher-exam-details-page .tab-panel{display:none}.teacher-exam-details-page .tab-panel.active{display:block}.teacher-exam-details-page .card{background:var(--surface);border-radius:var(--radius-card);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.teacher-exam-details-page .card-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:16px}.teacher-exam-details-page .exam-title{font-family:Poppins,sans-serif;font-size:20px;font-weight:700;color:var(--text-dark);line-height:1.3;margin-bottom:8px}.teacher-exam-details-page .exam-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-exam-details-page .subject-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--pink-light);color:var(--pink-dark);font-size:12px;font-weight:600}.teacher-exam-details-page .status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.teacher-exam-details-page .status-pill--completed{background:var(--sage-soft);color:var(--success-text)}.teacher-exam-details-page .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.teacher-exam-details-page .info-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;background:var(--cream)}.teacher-exam-details-page .info-icon{font-size:18px;flex-shrink:0;line-height:1}.teacher-exam-details-page .info-detail{display:flex;flex-direction:column;min-width:0}.teacher-exam-details-page .info-label{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.teacher-exam-details-page .info-value{font-size:12.5px;font-weight:600;color:var(--text-dark);line-height:1.35}.teacher-exam-details-page .topics-section{margin-top:20px}.teacher-exam-details-page .section-label{display:block;font-size:11px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.teacher-exam-details-page .topic-chips{display:flex;flex-wrap:wrap;gap:8px}.teacher-exam-details-page .topic-chip{display:inline-flex;padding:6px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.teacher-exam-details-page .chip-coral{background:rgba(var(--coral-rgb),.12);color:var(--danger-text)}.teacher-exam-details-page .chip-peach{background:rgba(var(--orange-rgb),.15);color:var(--warning-text)}.teacher-exam-details-page .chip-sage{background:rgba(var(--sage-rgb),.12);color:var(--success-text)}.teacher-exam-details-page .chip-purple{background:rgba(var(--purple-ai-rgb),.12);color:var(--purple-dark)}.teacher-exam-details-page .materials-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--yellow-soft);color:var(--warning-text);font-size:12px;font-weight:500}.teacher-exam-details-page .materials-note svg{flex-shrink:0;color:var(--alert-orange)}.teacher-exam-details-page .actions-row{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.teacher-exam-details-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius-btn);font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;border:none;cursor:pointer;font-family:inherit}.teacher-exam-details-page .btn:active{transform:scale(.97)}.teacher-exam-details-page .btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink-dark));color:var(--white);box-shadow:0 4px 14px rgba(var(--pink-rgb),.3)}.teacher-exam-details-page .btn-primary:hover{box-shadow:0 6px 20px rgba(var(--pink-rgb),.4)}.teacher-exam-details-page .btn-outline{background:transparent;color:var(--text-dark);border:1.5px solid var(--border-input)}.teacher-exam-details-page .btn-outline:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-light)}.teacher-exam-details-page .btn-ai{background:linear-gradient(135deg,var(--purple-ai),var(--purple-dark));color:var(--white);box-shadow:0 4px 14px rgba(var(--purple-ai-rgb),.3)}.teacher-exam-details-page .btn-ai:hover{box-shadow:0 6px 20px rgba(var(--purple-ai-rgb),.4)}.teacher-exam-details-page .btn-sm{padding:8px 14px;font-size:12px}.teacher-exam-details-page .btn-full{width:100%;margin-bottom:16px}.teacher-exam-details-page .results-layout{display:flex;align-items:center;gap:24px}.teacher-exam-details-page .score-ring-container{position:relative;width:110px;height:110px;flex-shrink:0}.teacher-exam-details-page .score-ring{width:100%;height:100%;transform:rotate(-90deg)}.teacher-exam-details-page .score-ring-bg{fill:none;stroke:var(--pink-light);stroke-width:8}.teacher-exam-details-page .score-ring-fill{fill:none;stroke:var(--pink);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.34,1.56,.64,1)}.teacher-exam-details-page .score-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.teacher-exam-details-page .score-number{display:block;font-family:Poppins,sans-serif;font-size:26px;font-weight:700;color:var(--text-dark);line-height:1}.teacher-exam-details-page .score-label{display:block;font-size:11px;color:var(--text-medium);font-weight:500}.teacher-exam-details-page .results-stats{flex:1;display:flex;flex-direction:column;gap:10px}.teacher-exam-details-page .stat-row{display:flex;justify-content:space-between;align-items:center}.teacher-exam-details-page .stat-name{font-size:13px;color:var(--text-medium)}.teacher-exam-details-page .stat-value{font-size:14px;font-weight:700;color:var(--text-dark)}.teacher-exam-details-page .stat-value small{font-size:11px;font-weight:500;color:var(--text-medium)}.teacher-exam-details-page .stat-high{color:var(--sage)}.teacher-exam-details-page .stat-low{color:var(--alert-red)}.teacher-exam-details-page .stat-pass{color:var(--sage)}.teacher-exam-details-page .distribution-section{margin-top:20px}.teacher-exam-details-page .grade-bar{display:flex;height:36px;border-radius:10px;overflow:hidden;margin-top:4px}.teacher-exam-details-page .grade-segment{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:var(--white);font-weight:700;transition:flex-grow .3s ease;min-width:28px}.teacher-exam-details-page .grade-segment span{font-size:11px;line-height:1}.teacher-exam-details-page .grade-segment small{font-size:9px;opacity:.85;line-height:1}.teacher-exam-details-page .grade-a{background:linear-gradient(135deg,var(--sage),var(--sage-dark))}.teacher-exam-details-page .grade-b{background:linear-gradient(135deg,var(--info-text),var(--info-text))}.teacher-exam-details-page .grade-c{background:linear-gradient(135deg,var(--yellow),var(--yellow-dark))}.teacher-exam-details-page .grade-d{background:linear-gradient(135deg,var(--orange),var(--alert-orange))}.teacher-exam-details-page .grade-f{background:linear-gradient(135deg,var(--alert-red),var(--alert-red))}.teacher-exam-details-page .comparison-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--cream);font-size:12px;color:var(--text-medium)}.teacher-exam-details-page .comparison-note svg{flex-shrink:0;color:var(--sage)}.teacher-exam-details-page .ai-card{border:1.5px solid transparent;background-image:linear-gradient(var(--white),var(--white)),linear-gradient(135deg,var(--purple-light),var(--pink-light));background-origin:border-box;background-clip:padding-box,border-box}.teacher-exam-details-page .ai-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.teacher-exam-details-page .ai-icon-wrapper{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--purple-ai),var(--purple-dark));display:flex;align-items:center;justify-content:center;color:var(--white)}.teacher-exam-details-page .ai-card-header .card-title{margin-bottom:0;color:var(--purple-ai)}.teacher-exam-details-page .ai-insights-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.teacher-exam-details-page .insight-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:var(--cream)}.teacher-exam-details-page .insight-icon{font-size:16px;flex-shrink:0;line-height:1.4}.teacher-exam-details-page .insight-text{font-size:13px;color:var(--text-dark);line-height:1.45}.teacher-exam-details-page .grades-stats-bar{display:flex;align-items:center;justify-content:center;gap:0;background:var(--white);border-radius:var(--radius-card);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-card)}.teacher-exam-details-page .grades-stat{flex:1;text-align:center}.teacher-exam-details-page .grades-stat-label{display:block;font-size:11px;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.teacher-exam-details-page .grades-stat-value{display:block;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark)}.teacher-exam-details-page .grades-stat-divider{width:1px;height:32px;background:var(--border-medium)}.teacher-exam-details-page .search-filter-row{display:flex;gap:8px;margin-bottom:12px}.teacher-exam-details-page .search-box{flex:1;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:var(--radius-input);background:var(--white);border:1.5px solid var(--border-medium);box-shadow:0 1px 4px #00000008}.teacher-exam-details-page .search-box svg{color:var(--text-light);flex-shrink:0}.teacher-exam-details-page .search-box input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--text-dark);padding:10px 0;font-family:inherit}.teacher-exam-details-page .search-box input::placeholder{color:var(--text-light)}.teacher-exam-details-page .filter-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--radius-input);background:var(--white);border:1.5px solid var(--border-medium);font-size:12px;font-weight:600;color:var(--text-medium);box-shadow:0 1px 4px #00000008;transition:all .2s ease;cursor:pointer;font-family:inherit}.teacher-exam-details-page .filter-btn:hover{border-color:var(--pink);color:var(--pink)}.teacher-exam-details-page .grades-card{padding:0;overflow:hidden}.teacher-exam-details-page .grade-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background .15s ease}.teacher-exam-details-page .grade-row:last-child{border-bottom:none}.teacher-exam-details-page .grade-row:nth-child(odd){background:var(--cream)}.teacher-exam-details-page .grade-row-header{background:var(--cream)!important;padding:10px 16px;border-bottom:1px solid var(--border-medium)}.teacher-exam-details-page .grade-row-header span{font-size:11px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.teacher-exam-details-page .grade-row-fail{background:rgba(var(--alert-red-rgb),.05)!important}.teacher-exam-details-page .col-name{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.teacher-exam-details-page .col-score{width:44px;text-align:center;font-weight:700;font-size:14px;color:var(--text-dark)}.teacher-exam-details-page .col-grade{width:44px;text-align:center}.teacher-exam-details-page .col-status{width:70px;text-align:right;font-size:11px;font-weight:600}.teacher-exam-details-page .student-avatar{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--white);flex-shrink:0}.teacher-exam-details-page .avatar-coral{background:linear-gradient(135deg,var(--coral),var(--coral))}.teacher-exam-details-page .avatar-green{background:linear-gradient(135deg,var(--sage),var(--sage-dark))}.teacher-exam-details-page .avatar-purple{background:linear-gradient(135deg,var(--purple-ai),var(--purple-dark))}.teacher-exam-details-page .avatar-sage{background:linear-gradient(135deg,var(--sage),var(--sage-dark))}.teacher-exam-details-page .avatar-peach{background:linear-gradient(135deg,var(--peach),var(--orange))}.teacher-exam-details-page .avatar-red{background:linear-gradient(135deg,var(--alert-red),var(--alert-red))}.teacher-exam-details-page .student-name{font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-exam-details-page .score-fail{color:var(--alert-red)!important}.teacher-exam-details-page .grade-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:22px;border-radius:6px;font-size:11px;font-weight:700}.teacher-exam-details-page .grade-badge-a{background:var(--sage-soft);color:var(--success-text)}.teacher-exam-details-page .grade-badge-b{background:var(--info-bg);color:var(--info-text)}.teacher-exam-details-page .grade-badge-c{background:var(--yellow-soft);color:var(--yellow-dark)}.teacher-exam-details-page .grade-badge-d{background:var(--orange-soft);color:var(--warning-text)}.teacher-exam-details-page .grade-badge-f{background:var(--red-soft);color:var(--danger-text)}.teacher-exam-details-page .status-published{color:var(--sage)}.teacher-exam-details-page .bulk-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px;margin-bottom:16px}.teacher-exam-details-page .question-bars{display:flex;flex-direction:column;gap:8px}.teacher-exam-details-page .q-row{display:flex;align-items:center;gap:10px;padding:4px 0}.teacher-exam-details-page .q-row-danger{padding:6px 8px;margin:0 -8px;border-radius:8px;background:var(--red-soft)}.teacher-exam-details-page .q-label{width:28px;font-size:12px;font-weight:700;color:var(--text-medium);text-align:right;flex-shrink:0}.teacher-exam-details-page .q-bar-track{flex:1;height:12px;border-radius:6px;background:var(--border-light);overflow:hidden}.teacher-exam-details-page .q-bar-fill{height:100%;border-radius:6px;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.teacher-exam-details-page .q-success{background:linear-gradient(135deg,var(--sage),var(--sage-dark))}.teacher-exam-details-page .q-warning{background:linear-gradient(135deg,var(--alert-orange),var(--yellow-dark))}.teacher-exam-details-page .q-danger{background:linear-gradient(135deg,var(--alert-red),var(--alert-red))}.teacher-exam-details-page .q-pct{width:32px;font-size:12px;font-weight:700;color:var(--text-medium);text-align:right;flex-shrink:0}.teacher-exam-details-page .q-pct-danger{color:var(--alert-red)}.teacher-exam-details-page .callout-card{border-left:4px solid transparent}.teacher-exam-details-page .callout-danger{border-left-color:var(--alert-red)}.teacher-exam-details-page .callout-success{border-left-color:var(--sage)}.teacher-exam-details-page .callout-title{font-family:Poppins,sans-serif;font-size:15px;font-weight:700;color:var(--text-dark);display:flex;align-items:center;gap:8px;margin-bottom:14px}.teacher-exam-details-page .callout-icon{font-size:14px}.teacher-exam-details-page .callout-item{padding:10px 0;border-bottom:1px solid var(--border-light)}.teacher-exam-details-page .callout-item:last-child{border-bottom:none;padding-bottom:0}.teacher-exam-details-page .callout-item-header{display:flex;justify-content:space-between;align-items:center}.teacher-exam-details-page .callout-q{font-size:13px;font-weight:600;color:var(--text-dark)}.teacher-exam-details-page .callout-pct{font-size:13px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill)}.teacher-exam-details-page .callout-pct.danger{background:var(--red-soft);color:var(--danger-text)}.teacher-exam-details-page .callout-pct.warning{background:var(--yellow-soft);color:var(--yellow-dark)}.teacher-exam-details-page .callout-pct.success{background:var(--sage-soft);color:var(--success-text)}.teacher-exam-details-page .callout-hint{font-size:12px;color:var(--text-medium);margin-top:4px;line-height:1.4}.teacher-exam-details-page .attendance-summary-card{background:linear-gradient(135deg,var(--cream),var(--pink-softer))}.teacher-exam-details-page .attendance-summary{display:flex;align-items:center;gap:24px}.teacher-exam-details-page .attendance-ring-wrap{position:relative;width:80px;height:80px;flex-shrink:0}.teacher-exam-details-page .attendance-ring{width:100%;height:100%;transform:rotate(-90deg)}.teacher-exam-details-page .att-ring-bg{fill:none;stroke:var(--border-medium);stroke-width:6}.teacher-exam-details-page .att-ring-fill{fill:none;stroke:var(--sage);stroke-width:6;stroke-linecap:round}.teacher-exam-details-page .attendance-pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark)}.teacher-exam-details-page .attendance-counts{display:flex;flex-direction:column;gap:12px}.teacher-exam-details-page .att-stat{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-dark)}.teacher-exam-details-page .att-stat strong{margin-left:auto;font-size:16px}.teacher-exam-details-page .att-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.teacher-exam-details-page .att-dot-present{background:var(--sage)}.teacher-exam-details-page .att-dot-absent{background:var(--alert-red)}.teacher-exam-details-page .attendance-section-title{display:flex;align-items:center;gap:8px}.teacher-exam-details-page .att-section-dot{width:8px;height:8px;border-radius:50%}.teacher-exam-details-page .att-section-dot.present{background:var(--sage)}.teacher-exam-details-page .att-section-dot.absent{background:var(--alert-red)}.teacher-exam-details-page .attendance-list{display:flex;flex-direction:column}.teacher-exam-details-page .att-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;font-weight:500;color:var(--text-dark)}.teacher-exam-details-page .att-row:last-child{border-bottom:none}.teacher-exam-details-page .avatar-mini{width:28px;height:28px;font-size:9px;border-radius:8px}.teacher-exam-details-page .att-check{margin-left:auto;color:var(--sage);font-weight:700;font-size:14px}.teacher-exam-details-page .att-row-absent{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.teacher-exam-details-page .att-row-main{display:flex;align-items:center;gap:10px}.teacher-exam-details-page .att-student-info{display:flex;flex-direction:column}.teacher-exam-details-page .att-student-name{font-size:13px;font-weight:600;color:var(--text-dark)}.teacher-exam-details-page .att-excuse{font-size:11px;color:var(--text-medium)}.teacher-exam-details-page .att-no-excuse{color:var(--alert-red);font-weight:600}.teacher-exam-details-page .att-absent-icon{color:var(--alert-red);font-weight:700;font-size:14px}.teacher-exam-details-page .show-more-btn{display:block;width:100%;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--pink);margin-top:4px;transition:background .15s ease;border:none;border-top:1px solid var(--border-light);background:none;cursor:pointer;font-family:inherit}.teacher-exam-details-page .show-more-btn:hover{background:var(--pink-light);border-radius:0 0 12px 12px}.teacher-exam-details-page .absent-card{border:1.5px solid rgba(var(--alert-red-rgb),.2)}@keyframes teacher-exam-details-fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.teacher-exam-details-page .tab-panel.active .card,.teacher-exam-details-page .tab-panel.active .grades-stats-bar,.teacher-exam-details-page .tab-panel.active .search-filter-row,.teacher-exam-details-page .tab-panel.active .bulk-actions,.teacher-exam-details-page .tab-panel.active .btn-full{animation:teacher-exam-details-fadeInUp .35s ease-out both}.teacher-exam-details-page .tab-panel.active .card:nth-child(1){animation-delay:0s}.teacher-exam-details-page .tab-panel.active .card:nth-child(2){animation-delay:.06s}.teacher-exam-details-page .tab-panel.active .card:nth-child(3){animation-delay:.12s}.teacher-exam-details-page .tab-panel.active .card:nth-child(4){animation-delay:.18s}@media(max-width:340px){.teacher-exam-details-page .info-grid{grid-template-columns:1fr}.teacher-exam-details-page .actions-row{flex-direction:column}.teacher-exam-details-page .actions-row .btn{width:100%}.teacher-exam-details-page .results-layout{flex-direction:column;text-align:center}}.teacher-hw-create-content{--background: var(--cream);--ion-background-color: var(--cream)}.teacher-hw-create-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-xl);background:var(--white);box-shadow:0 2px 12px #0000000d}.teacher-hw-create-page .back-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:var(--radius-sm);background:var(--cream);color:var(--text-dark);cursor:pointer;transition:background .2s,transform .2s}.teacher-hw-create-page .back-btn:hover{background:var(--cream-dark);transform:scale(1.05)}.teacher-hw-create-page .header-center{display:flex;align-items:center;gap:var(--space-sm)}.teacher-hw-create-page .header-icon{font-size:20px}.teacher-hw-create-page .page-title{font-size:18px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px}.teacher-hw-create-page .icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:var(--radius-sm);background:var(--cream);color:var(--text-dark);cursor:pointer;transition:background .2s}.teacher-hw-create-page .notification-btn{position:relative}.teacher-hw-create-page .breadcrumb{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-xl);background:var(--white);font-size:12px;color:var(--text-light);border-bottom:1px solid rgba(0,0,0,.04)}.teacher-hw-create-page .breadcrumb svg{color:var(--text-light);flex-shrink:0}.teacher-hw-create-page .breadcrumb span{cursor:pointer}.teacher-hw-create-page .breadcrumb-current{color:var(--coral);font-weight:600;cursor:default}.teacher-hw-create-page .form-content{padding:var(--space-xl);padding-bottom:0}.teacher-hw-create-page .form-section{margin-bottom:var(--space-xxl)}.teacher-hw-create-page .section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.teacher-hw-create-page .section-icon{font-size:18px}.teacher-hw-create-page .section-title{font-size:15px;font-weight:700;color:var(--text-dark);letter-spacing:-.2px}.teacher-hw-create-page .form-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:0 2px 8px #0000000d,0 0 1px #0000000a}.teacher-hw-create-page .form-group{margin-bottom:var(--space-xl)}.teacher-hw-create-page .form-group:last-child{margin-bottom:0}.teacher-hw-create-page .floating-input{position:relative}.teacher-hw-create-page .floating-input input{width:100%;padding:18px 16px 8px;border:2px solid var(--border-warm);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s}.teacher-hw-create-page .floating-input input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(var(--coral-rgb),.15)}.teacher-hw-create-page .floating-input label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:500;color:var(--text-light);pointer-events:none;transition:all .2s ease;background:var(--white);padding:0 4px}.teacher-hw-create-page .floating-input.has-value label,.teacher-hw-create-page .floating-input input:focus+label{top:8px;transform:translateY(0);font-size:11px;font-weight:600;color:var(--coral)}.teacher-hw-create-page .helper-text{font-size:12px;color:var(--text-light);margin-top:var(--space-sm);padding-left:2px}.teacher-hw-create-page .helper-text.tip{color:var(--sage);font-weight:600}.teacher-hw-create-page .field-label{display:block;font-size:13px;font-weight:600;color:var(--text-medium);margin-bottom:var(--space-sm)}.teacher-hw-create-page .subject-pills{display:flex;gap:var(--space-sm);flex-wrap:wrap}.teacher-hw-create-page .subject-pill{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--border-warm);border-radius:999px;background:var(--white);font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s}.teacher-hw-create-page .subject-pill.active{border-color:var(--coral);background:var(--peach-light);color:var(--text-dark)}.teacher-hw-create-page .subject-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.teacher-hw-create-page .rich-editor{border:2px solid var(--border-warm);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .2s,box-shadow .2s}.teacher-hw-create-page .rich-editor:focus-within{border-color:var(--coral);box-shadow:0 0 0 3px rgba(var(--coral-rgb),.15)}.teacher-hw-create-page .editor-toolbar{display:flex;gap:2px;padding:8px 10px;background:var(--cream);border-bottom:1px solid var(--border-warm)}.teacher-hw-create-page .toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-medium);cursor:pointer;font-family:Nunito,sans-serif;font-size:14px;transition:all .2s}.teacher-hw-create-page .toolbar-btn:hover{background:var(--cream-dark)}.teacher-hw-create-page .toolbar-btn.active{background:var(--coral-light);color:var(--text-dark)}.teacher-hw-create-page .editor-body{display:block;width:100%;padding:var(--space-lg);min-height:120px;font-family:Nunito,sans-serif;font-size:14px;line-height:1.7;color:var(--text-dark);border:none;outline:none;resize:vertical;background:var(--white)}.teacher-hw-create-page .editor-body::placeholder{color:var(--text-light)}.teacher-hw-create-page .attachment-list{margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.teacher-hw-create-page .attachment-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--peach-light);border-radius:var(--radius-sm);border:1px solid var(--peach)}.teacher-hw-create-page .file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.teacher-hw-create-page .file-icon.pdf{background:linear-gradient(135deg,var(--coral-light),var(--coral));color:var(--white)}.teacher-hw-create-page .file-icon.image{background:linear-gradient(135deg,var(--sage-light),var(--sage));color:var(--white)}.teacher-hw-create-page .file-icon.doc{background:linear-gradient(135deg,var(--purple-ai-light),var(--purple-ai));color:var(--white)}.teacher-hw-create-page .file-info{flex:1;min-width:0}.teacher-hw-create-page .file-name{display:block;font-size:13px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-hw-create-page .file-size{font-size:11px;color:var(--text-light)}.teacher-hw-create-page .file-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-full);background:#ff6b6b1f;color:var(--alert-red);cursor:pointer;flex-shrink:0;transition:background .2s,transform .2s}.teacher-hw-create-page .file-remove:hover{background:#ff6b6b40;transform:scale(1.1)}.teacher-hw-create-page .upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);border:2px dashed var(--cream-dark);border-radius:var(--radius-md);background:var(--cream);cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:var(--space-lg)}.teacher-hw-create-page .upload-zone:hover{border-color:var(--coral-light);background:var(--peach-light)}.teacher-hw-create-page .upload-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--peach-light),var(--peach));color:var(--coral);margin-bottom:var(--space-md)}.teacher-hw-create-page .upload-text{font-size:14px;font-weight:600;color:var(--text-medium);margin-bottom:var(--space-xs)}.teacher-hw-create-page .upload-formats{font-size:11px;color:var(--text-light)}.teacher-hw-create-page .add-link-btn{display:flex;align-items:center;gap:var(--space-sm);padding:10px 16px;border:2px dashed var(--border-warm);border-radius:var(--radius-sm);background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--coral);cursor:pointer;width:100%;justify-content:center;transition:border-color .2s,background .2s}.teacher-hw-create-page .add-link-btn:hover{border-color:var(--coral-light);background:var(--peach-light)}.teacher-hw-create-page .class-pills{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.teacher-hw-create-page .class-pill{display:flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--border-warm);border-radius:999px;background:var(--white);font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--text-medium);cursor:pointer;transition:all .2s}.teacher-hw-create-page .class-pill:hover{border-color:var(--coral-light)}.teacher-hw-create-page .class-pill.selected{border-color:var(--coral);background:var(--coral);color:var(--white)}.teacher-hw-create-page .pill-check{display:flex;color:var(--white)}.teacher-hw-create-page .pill-count{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700}.teacher-hw-create-page .class-pill:not(.selected) .pill-count{background:var(--cream);color:var(--text-light)}.teacher-hw-create-page .class-pill.selected .pill-count{background:#ffffff4d;color:var(--white)}.teacher-hw-create-page .assign-summary{font-size:13px;color:var(--text-light);margin-bottom:var(--space-lg)}.teacher-hw-create-page .assign-summary strong{color:var(--text-dark)}.teacher-hw-create-page .individual-select-btn{display:flex;align-items:center;gap:var(--space-sm);border:none;background:none;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--coral);cursor:pointer;padding:8px 0;transition:color .2s}.teacher-hw-create-page .individual-select-btn:hover{color:var(--coral)}.teacher-hw-create-page .deadline-inputs{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.teacher-hw-create-page .date-input-group{flex:1.4}.teacher-hw-create-page .time-input-group{flex:1}.teacher-hw-create-page .input-with-icon{position:relative;display:flex;align-items:center}.teacher-hw-create-page .input-with-icon svg{position:absolute;left:12px;color:var(--text-light);pointer-events:none}.teacher-hw-create-page .input-with-icon input{width:100%;padding:11px 12px 11px 38px;border:2px solid var(--border-warm);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark);background:var(--white);outline:none;transition:border-color .2s,box-shadow .2s}.teacher-hw-create-page .input-with-icon input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(var(--coral-rgb),.15)}.teacher-hw-create-page .deadline-display{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--sage-light),rgba(125,181,154,.15));border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.teacher-hw-create-page .deadline-display-icon{font-size:24px;flex-shrink:0}.teacher-hw-create-page .deadline-display-text{display:flex;flex-direction:column}.teacher-hw-create-page .deadline-date{font-size:13px;font-weight:700;color:var(--text-dark)}.teacher-hw-create-page .deadline-countdown{font-size:12px;color:var(--sage);font-weight:600}.teacher-hw-create-page .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid rgba(0,0,0,.04)}.teacher-hw-create-page .toggle-info{flex:1}.teacher-hw-create-page .toggle-label{display:block;font-size:14px;font-weight:600;color:var(--text-dark)}.teacher-hw-create-page .toggle-helper{display:block;font-size:11px;color:var(--text-light);margin-top:2px}.teacher-hw-create-page .toggle-switch{position:relative;width:46px;height:26px;flex-shrink:0}.teacher-hw-create-page .toggle-switch input{opacity:0;width:0;height:0;position:absolute}.teacher-hw-create-page .toggle-slider{position:absolute;inset:0;border-radius:999px;background:var(--border-warm-dark);cursor:pointer;transition:background .3s}.teacher-hw-create-page .toggle-slider:before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:var(--radius-full);background:var(--white);box-shadow:0 1px 4px #00000026;transition:transform .3s}.teacher-hw-create-page .toggle-switch input:checked+.toggle-slider{background:var(--sage)}.teacher-hw-create-page .toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.teacher-hw-create-page .grace-period{padding-top:var(--space-md)}.teacher-hw-create-page .grace-pills{display:flex;gap:var(--space-sm);flex-wrap:wrap}.teacher-hw-create-page .grace-pill{padding:8px 14px;border:2px solid var(--border-warm);border-radius:999px;background:var(--white);font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s}.teacher-hw-create-page .grace-pill:hover{border-color:var(--coral-light)}.teacher-hw-create-page .grace-pill.selected{border-color:var(--coral);background:var(--peach-light);color:var(--text-dark)}.teacher-hw-create-page .collapsible-header{display:flex;align-items:center;width:100%;border:none;background:none;padding:0;margin-bottom:var(--space-md);cursor:pointer;font-family:Nunito,sans-serif}.teacher-hw-create-page .collapsible-header .section-header{margin-bottom:0;flex:1}.teacher-hw-create-page .collapsed-hint{font-size:12px;color:var(--text-light);margin-right:var(--space-sm)}.teacher-hw-create-page .chevron{color:var(--text-light);transition:transform .3s ease;flex-shrink:0}.teacher-hw-create-page .chevron.expanded{transform:rotate(180deg)}.teacher-hw-create-page .collapsible-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.teacher-hw-create-page .collapsible-body.expanded{max-height:600px}.teacher-hw-create-page .submission-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-lg)}.teacher-hw-create-page .type-card{cursor:pointer}.teacher-hw-create-page .type-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.teacher-hw-create-page .type-card-inner{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-lg) var(--space-md);border:2px solid var(--border-warm);border-radius:var(--radius-sm);background:var(--white);transition:all .2s}.teacher-hw-create-page .type-card-inner:hover{border-color:var(--coral-light)}.teacher-hw-create-page .type-card input[type=radio]:checked+.type-card-inner{border-color:var(--coral);background:var(--peach-light);box-shadow:0 0 0 3px rgba(var(--coral-rgb),.12)}.teacher-hw-create-page .type-icon{font-size:22px}.teacher-hw-create-page .type-name{font-size:12px;font-weight:600;color:var(--text-medium)}.teacher-hw-create-page .type-card input[type=radio]:checked+.type-card-inner .type-name{color:var(--text-dark)}.teacher-hw-create-page .form-group-inline{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;border-top:1px solid rgba(0,0,0,.04)}.teacher-hw-create-page .form-group-inline .field-label{margin-bottom:0}.teacher-hw-create-page .select-wrapper{position:relative;display:inline-flex;align-items:center}.teacher-hw-create-page .select-wrapper.full-width{width:100%}.teacher-hw-create-page .select-wrapper select{appearance:none;-webkit-appearance:none;padding:10px 36px 10px 14px;border:2px solid var(--border-warm);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text-dark);background:var(--white);cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.teacher-hw-create-page .select-wrapper.full-width select{width:100%}.teacher-hw-create-page .select-wrapper select:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(var(--coral-rgb),.15)}.teacher-hw-create-page .select-chevron{position:absolute;right:12px;color:var(--text-light);pointer-events:none}.teacher-hw-create-page .checkbox-row{padding:var(--space-md) 0}.teacher-hw-create-page .checkbox-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-dark)}.teacher-hw-create-page .checkbox-label input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.teacher-hw-create-page .checkbox-custom{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--border-warm-dark);border-radius:6px;background:var(--white);flex-shrink:0;transition:all .2s}.teacher-hw-create-page .checkbox-custom svg{opacity:0;transition:opacity .2s}.teacher-hw-create-page .checkbox-label input:checked+.checkbox-custom{background:var(--coral);border-color:var(--coral)}.teacher-hw-create-page .checkbox-label input:checked+.checkbox-custom svg{opacity:1}.teacher-hw-create-page .bottom-spacer{height:100px}.teacher-hw-create-page .action-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));background:var(--white);box-shadow:0 -2px 16px #0000000f;z-index:100}.teacher-hw-create-page .btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;padding:14px 20px}.teacher-hw-create-page .btn-draft{flex:.45;background:var(--cream);color:var(--text-medium);border:2px solid var(--border-warm)}.teacher-hw-create-page .btn-draft:hover{background:var(--cream-dark);border-color:var(--cream-dark)}.teacher-hw-create-page .btn-publish{flex:1;background:linear-gradient(135deg,var(--coral),var(--alert-red));color:var(--white);box-shadow:0 4px 16px rgba(var(--coral-rgb),.35)}.teacher-hw-create-page .btn-publish:hover{transform:scale(1.02);box-shadow:0 6px 24px rgba(var(--coral-rgb),.45)}@media(max-width:375px){.teacher-hw-create-page .form-content{padding:var(--space-lg)}.teacher-hw-create-page .deadline-inputs{flex-direction:column}.teacher-hw-create-page .grace-pills{gap:6px}.teacher-hw-create-page .submission-type-grid{grid-template-columns:1fr 1fr;gap:6px}}@keyframes teacher-exams-fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes teacher-exams-progressGrow{0%{width:0}to{width:var(--progress)}}@keyframes teacher-exams-pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes teacher-exams-pulseDot{0%,to{opacity:1;box-shadow:0 0 rgba(var(--alert-red-rgb),.6)}50%{opacity:.7;box-shadow:0 0 0 4px rgba(var(--alert-red-rgb),0)}}@keyframes teacher-exams-fabPulse{0%,to{box-shadow:0 4px 20px rgba(var(--coral-rgb),.4)}50%{box-shadow:0 4px 28px rgba(var(--coral-rgb),.6)}}.teacher-exams-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-exams-page .header-left{display:flex;align-items:center;gap:var(--space-sm)}.teacher-exams-page .back-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-dark);background:none;border:none;cursor:pointer;transition:all .2s ease}.teacher-exams-page .back-btn:hover{background:var(--cream)}.teacher-exams-page .header-title-group{display:flex;flex-direction:column}.teacher-exams-page .header-title{font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.2;margin:0}.teacher-exams-page .header-subtitle{font-size:11px;color:var(--text-light);font-weight:500}.teacher-exams-page .header-actions{display:flex;align-items:center;gap:var(--space-sm)}.teacher-exams-page .icon-btn{position:relative;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.08)}.teacher-exams-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--coral-rgb),.15)}.teacher-exams-page .notification-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:10px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--white);animation:teacher-exams-pulseBadge 2.5s ease-in-out infinite}.teacher-exams-page .create-btn-header{display:flex;align-items:center;gap:var(--space-xs);padding:8px 14px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:13px;font-weight:600;border:none;cursor:pointer;box-shadow:0 3px 12px rgba(var(--coral-rgb),.3);transition:all .2s ease}.teacher-exams-page .create-btn-header:hover{transform:scale(1.03);box-shadow:0 5px 18px rgba(var(--coral-rgb),.4)}.teacher-exams-page .content{padding:var(--space-lg);padding-bottom:100px;display:flex;flex-direction:column;gap:var(--space-lg)}.teacher-exams-page .filter-section{display:flex;flex-direction:column;gap:var(--space-md)}.teacher-exams-page .search-bar{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:var(--white);border-radius:var(--radius-xl);box-shadow:0 2px 12px rgba(var(--coral-rgb),.06);border:1.5px solid transparent;transition:all .2s ease}.teacher-exams-page .search-bar:focus-within{border-color:var(--coral-light);box-shadow:0 2px 16px rgba(var(--coral-rgb),.12)}.teacher-exams-page .search-icon{color:var(--text-light);flex-shrink:0}.teacher-exams-page .search-input{flex:1;font-size:14px;color:var(--text-dark);background:transparent;border:none;outline:none;font-family:inherit}.teacher-exams-page .search-input::placeholder{color:var(--text-light)}.teacher-exams-page .filter-row{overflow:hidden}.teacher-exams-page .filter-scroll{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:4px;-ms-overflow-style:none;scrollbar-width:none}.teacher-exams-page .filter-scroll::-webkit-scrollbar{display:none}.teacher-exams-page .filter-pill{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--text-medium);background:var(--white);border-radius:var(--radius-xl);white-space:nowrap;box-shadow:0 1px 4px #0000000a;transition:all .2s ease;border:1.5px solid rgba(0,0,0,.04);cursor:pointer}.teacher-exams-page .filter-pill:hover{background:var(--peach-light);color:var(--text-dark)}.teacher-exams-page .filter-pill--active{background:var(--coral);color:var(--white);border-color:var(--coral);box-shadow:0 2px 8px rgba(var(--coral-rgb),.3)}.teacher-exams-page .filter-pill--active:hover{background:var(--coral);color:var(--white)}.teacher-exams-page .stats-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.teacher-exams-page .stat-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 2px 12px #0000000a;border-left:3px solid transparent;transition:all .2s ease;text-align:center}.teacher-exams-page .stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.teacher-exams-page .stat-card--blue{border-left-color:var(--info-text)}.teacher-exams-page .stat-card--red{border-left-color:var(--alert-red)}.teacher-exams-page .stat-card--orange{border-left-color:var(--alert-orange)}.teacher-exams-page .stat-card--green{border-left-color:var(--sage)}.teacher-exams-page .stat-card-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:2px}.teacher-exams-page .stat-card--blue .stat-card-icon{background:var(--info-bg);color:var(--info-text)}.teacher-exams-page .stat-card--red .stat-card-icon{background:rgba(var(--alert-red-rgb),.12);color:var(--alert-red)}.teacher-exams-page .stat-card--orange .stat-card-icon{background:rgba(var(--orange-rgb),.12);color:var(--alert-orange)}.teacher-exams-page .stat-card--green .stat-card-icon{background:rgba(var(--sage-rgb),.12);color:var(--sage)}.teacher-exams-page .stat-card-number{font-family:Poppins,sans-serif;font-size:22px;font-weight:700;line-height:1.1;color:var(--text-dark)}.teacher-exams-page .stat-card--red .stat-card-number{color:var(--alert-red)}.teacher-exams-page .stat-card-label{font-size:10px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.3px}.teacher-exams-page .exam-list{display:flex;flex-direction:column;gap:var(--space-lg)}.teacher-exams-page .anim-card{animation:teacher-exams-fadeInUp .5s ease-out both;animation-delay:calc(var(--delay, 0) * 60ms)}.teacher-exams-page .exam-card{display:flex;background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 20px rgba(var(--coral-rgb),.07);transition:transform .25s ease,box-shadow .25s ease}.teacher-exams-page .exam-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--coral-rgb),.13)}.teacher-exams-page .exam-card--draft{opacity:.85;background:linear-gradient(135deg,var(--white) 0%,rgba(0,0,0,.01) 100%)}.teacher-exams-page .exam-card--draft:hover{opacity:1}.teacher-exams-page .exam-card--cancelled{opacity:.6}.teacher-exams-page .exam-card--in-progress{background:linear-gradient(135deg,var(--white) 0%,rgba(var(--alert-red-rgb),.03) 100%)}.teacher-exams-page .exam-card--completed{background:linear-gradient(135deg,var(--white) 0%,rgba(var(--orange-rgb),.03) 100%)}.teacher-exams-page .exam-card--graded{background:linear-gradient(135deg,var(--white) 0%,rgba(var(--sage-rgb),.04) 100%)}.teacher-exams-page .card-accent{width:4px;flex-shrink:0}.teacher-exams-page .card-accent--blue{background:linear-gradient(180deg,var(--info-text),var(--info-text))}.teacher-exams-page .card-accent--red{background:linear-gradient(180deg,var(--alert-red),var(--alert-red))}.teacher-exams-page .card-accent--orange{background:linear-gradient(180deg,var(--alert-orange),var(--alert-orange))}.teacher-exams-page .card-accent--green{background:linear-gradient(180deg,var(--sage),var(--sage-light))}.teacher-exams-page .card-accent--gray{background:linear-gradient(180deg,var(--text-light),var(--toggle-off))}.teacher-exams-page .card-body{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.teacher-exams-page .card-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.teacher-exams-page .subject-tag{display:inline-flex;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-xl)}.teacher-exams-page .subject-tag--blue{background:var(--info-bg);color:var(--info-text)}.teacher-exams-page .subject-tag--purple{background:rgba(var(--purple-ai-rgb),.1);color:var(--purple-ai)}.teacher-exams-page .subject-tag--gray{background:#0000000f;color:var(--text-light)}.teacher-exams-page .subject-tag--green{background:rgba(var(--sage-rgb),.1);color:var(--sage-dark)}.teacher-exams-page .subject-tag--orange{background:rgba(var(--orange-rgb),.12);color:var(--orange-dark)}.teacher-exams-page .subject-tag--red{background:rgba(var(--alert-red-rgb),.1);color:var(--alert-red)}.teacher-exams-page .status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:700;border-radius:var(--radius-xl);flex-shrink:0}.teacher-exams-page .status-badge--draft{background:#0000000f;color:var(--text-light)}.teacher-exams-page .status-badge--scheduled{background:var(--info-bg);color:var(--info-text)}.teacher-exams-page .status-badge--in-progress{background:rgba(var(--alert-red-rgb),.1);color:var(--alert-red)}.teacher-exams-page .status-badge--completed{background:rgba(var(--orange-rgb),.12);color:var(--orange-dark)}.teacher-exams-page .status-badge--graded{background:rgba(var(--sage-rgb),.15);color:var(--sage-dark)}.teacher-exams-page .status-badge--cancelled{background:#0000000f;color:var(--text-light);text-decoration:line-through}.teacher-exams-page .pulse-dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--alert-red);animation:teacher-exams-pulseDot 1.5s ease-in-out infinite}.teacher-exams-page .exam-title{font-size:16px;font-weight:600;color:var(--text-dark);line-height:1.3;margin:0}.teacher-exams-page .exam-card--draft .exam-title{color:var(--text-medium)}.teacher-exams-page .exam-card--cancelled .exam-title{text-decoration:line-through;color:var(--text-light)}.teacher-exams-page .exam-desc{font-size:13px;color:var(--text-medium);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.teacher-exams-page .exam-type-chip{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.3px;width:fit-content}.teacher-exams-page .exam-type-chip--quiz{background:var(--info-bg);color:var(--info-text)}.teacher-exams-page .exam-type-chip--midterm{background:rgba(var(--orange-rgb),.12);color:var(--orange-dark)}.teacher-exams-page .exam-type-chip--final{background:rgba(var(--alert-red-rgb),.1);color:var(--alert-red)}.teacher-exams-page .exam-type-chip--makeup{background:rgba(var(--purple-ai-rgb),.1);color:var(--purple-ai)}.teacher-exams-page .exam-type-chip--practice{background:rgba(var(--sage-rgb),.1);color:var(--sage-dark)}.teacher-exams-page .exam-type-chip--other{background:#0000000f;color:var(--text-light)}.teacher-exams-page .exam-meta{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.teacher-exams-page .meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-light)}.teacher-exams-page .meta-item svg{flex-shrink:0}.teacher-exams-page .progress-section{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-xs)}.teacher-exams-page .progress-bar-track{width:100%;height:8px;background:var(--toggle-off);border-radius:8px;overflow:hidden}.teacher-exams-page .progress-bar-fill{height:100%;width:var(--progress);background:linear-gradient(90deg,var(--coral),var(--alert-orange));border-radius:8px;animation:teacher-exams-progressGrow .8s ease-out both;animation-delay:calc(var(--delay, 0) * 60ms + .2s)}.teacher-exams-page .progress-bar-fill--complete{background:linear-gradient(90deg,var(--sage),var(--sage))}.teacher-exams-page .progress-text{font-size:12px;font-weight:600;color:var(--text-medium)}.teacher-exams-page .progress-text--complete{color:var(--sage)}.teacher-exams-page .card-actions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--cream-dark)}.teacher-exams-page .btn-outline{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--coral);border:1.5px solid var(--coral);border-radius:var(--radius-xl);background:none;cursor:pointer;transition:all .2s ease}.teacher-exams-page .btn-outline:hover{background:rgba(var(--coral-rgb),.08);transform:scale(1.02)}.teacher-exams-page .btn-ghost{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-medium);border-radius:var(--radius-xl);background:none;border:none;cursor:pointer;transition:all .2s ease}.teacher-exams-page .btn-ghost:hover{background:var(--cream);color:var(--text-dark)}.teacher-exams-page .btn-primary-sm{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--white);background:linear-gradient(135deg,var(--coral),var(--coral));border-radius:var(--radius-xl);border:none;cursor:pointer;box-shadow:0 3px 12px rgba(var(--coral-rgb),.3);transition:all .2s ease}.teacher-exams-page .btn-primary-sm:hover{transform:scale(1.03);box-shadow:0 5px 18px rgba(var(--coral-rgb),.4)}.teacher-exams-page .btn-more{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--text-light);background:none;border:none;cursor:pointer;transition:all .2s ease;margin-left:auto}.teacher-exams-page .btn-more:hover{background:var(--cream);color:var(--text-medium)}.teacher-exams-page .draft-notice{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--cream);border-radius:var(--radius-sm);font-size:13px;color:var(--text-light);border:1px dashed rgba(0,0,0,.1)}.teacher-exams-page .draft-notice svg{flex-shrink:0;color:var(--text-light)}.teacher-exams-page .topics-row{display:flex;gap:4px;flex-wrap:wrap}.teacher-exams-page .topic-chip{padding:2px 8px;font-size:10px;font-weight:500;color:var(--text-medium);background:var(--cream);border-radius:var(--radius-xl)}.teacher-exams-page .loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:48px var(--space-lg)}.teacher-exams-page .loading-spinner{width:36px;height:36px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:var(--radius-full);animation:teacher-exams-spin .8s linear infinite}@keyframes teacher-exams-spin{to{transform:rotate(360deg)}}.teacher-exams-page .loading-text{font-size:14px;color:var(--text-light)}.teacher-exams-page .error-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:48px var(--space-lg);text-align:center}.teacher-exams-page .error-text{font-size:14px;color:var(--alert-red)}.teacher-exams-page .retry-btn{padding:8px 20px;background:var(--coral);color:var(--white);border:none;border-radius:var(--radius-xl);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.teacher-exams-page .retry-btn:hover{transform:scale(1.03)}.teacher-exams-page .empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:48px var(--space-lg);text-align:center}.teacher-exams-page .empty-icon{font-size:48px}.teacher-exams-page .empty-title{font-size:16px;font-weight:600;color:var(--text-dark);margin:0}.teacher-exams-page .empty-desc{font-size:13px;color:var(--text-light);margin:0}.teacher-exams-page .fab{position:fixed;bottom:88px;right:20px;width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(var(--coral-rgb),.4);z-index:90;transition:all .3s ease;animation:teacher-exams-fabPulse 3s ease-in-out infinite}.teacher-exams-page .fab:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 6px 28px rgba(var(--coral-rgb),.55)}@media(max-width:375px){.teacher-exams-page .content{padding:var(--space-md);gap:var(--space-md)}.teacher-exams-page .stats-cards{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.teacher-exams-page .stat-card{padding:var(--space-md)}.teacher-exams-page .stat-card-number{font-size:20px}.teacher-exams-page .card-body{padding:var(--space-md)}.teacher-exams-page .exam-title{font-size:15px}.teacher-exams-page .card-actions{flex-wrap:wrap}.teacher-exams-page .create-btn-header span{display:none}.teacher-exams-page .create-btn-header{width:38px;height:38px;padding:0;border-radius:var(--radius-sm);justify-content:center}}@media(min-width:768px){.teacher-exams-page .content{max-width:720px;margin:0 auto}.teacher-exams-page .stats-cards{gap:var(--space-md)}.teacher-exams-page .stat-card{padding:var(--space-lg)}.teacher-exams-page .stat-card-number{font-size:26px}.teacher-exams-page .exam-list{gap:var(--space-xl)}.teacher-exams-page .header{padding:var(--space-lg) var(--space-xxl)}.teacher-exams-page .fab{right:calc(50% - 340px)}}.teacher-homework-details-page{--background: var(--cream);--ion-background-color: var(--cream);--hw-blue: #6BB5E0;--hw-blue-dark: #5BA3CF}.teacher-homework-details-page .header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.teacher-homework-details-page .header-left{display:flex;align-items:center;gap:var(--space-sm)}.teacher-homework-details-page .back-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-dark);background:none;border:none;cursor:pointer;transition:all .2s ease}.teacher-homework-details-page .back-btn:hover{background:var(--cream)}.teacher-homework-details-page .header-title-group{display:flex;flex-direction:column}.teacher-homework-details-page .header-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.2}.teacher-homework-details-page .header-subtitle{font-size:11px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .header-actions{display:flex;align-items:center;gap:var(--space-md)}.teacher-homework-details-page .icon-btn{position:relative;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--text-dark);border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1)}.teacher-homework-details-page .icon-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px rgba(var(--coral-rgb),.18)}.teacher-homework-details-page .notification-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;background:linear-gradient(135deg,var(--coral),var(--coral));color:var(--white);font-size:11px;font-weight:700;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--white);animation:thd-pulse-badge 2.5s ease-in-out infinite}@keyframes thd-pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.teacher-homework-details-page .content{padding:var(--space-lg);padding-bottom:100px;display:flex;flex-direction:column;gap:var(--space-lg);max-width:960px;margin:0 auto}.teacher-homework-details-page .card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:0 4px 16px rgba(var(--pink-rgb),.08),0 2px 4px #0000000a;transition:box-shadow .2s ease,transform .2s ease}.teacher-homework-details-page .section-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-lg)}.teacher-homework-details-page .wave-divider{padding:0 var(--space-xl);margin:var(--space-sm) 0}.teacher-homework-details-page .wave-divider svg{width:100%;height:20px}.teacher-homework-details-page .assignment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.teacher-homework-details-page .assignment-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);line-height:1.3;flex:1}.teacher-homework-details-page .status-badge{font-size:11px;font-weight:700;padding:4px 12px;border-radius:var(--radius-xl);white-space:nowrap;flex-shrink:0}.teacher-homework-details-page .status-active{background:rgba(var(--sage-rgb),.15);color:var(--sage)}.teacher-homework-details-page .status-closed{background:#9b9b9b26;color:var(--text-light)}.teacher-homework-details-page .status-draft{background:#ffb34726;color:var(--alert-orange)}.teacher-homework-details-page .meta-row{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.teacher-homework-details-page .meta-item{display:flex;align-items:center;gap:var(--space-xs)}.teacher-homework-details-page .meta-icon{font-size:14px}.teacher-homework-details-page .meta-text{font-size:13px;color:var(--text-medium);font-weight:500}.teacher-homework-details-page .meta-deadline-urgent{color:var(--pink-primary);font-weight:700;animation:thd-pulse-text 2s ease-in-out infinite}@keyframes thd-pulse-text{0%,to{opacity:1}50%{opacity:.7}}.teacher-homework-details-page .description-block{margin-bottom:var(--space-lg)}.teacher-homework-details-page .description-text{font-size:14px;color:var(--text-medium);line-height:1.6}.teacher-homework-details-page .description-text.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.teacher-homework-details-page .show-more-btn{background:none;border:none;color:var(--coral);font-size:13px;font-weight:700;cursor:pointer;padding:var(--space-xs) 0;margin-top:var(--space-xs);transition:color .2s ease}.teacher-homework-details-page .show-more-btn:hover{color:var(--pink-primary)}.teacher-homework-details-page .attachments-row{display:flex;gap:var(--space-md);overflow-x:auto;padding-bottom:var(--space-sm);margin-bottom:var(--space-lg);-webkit-overflow-scrolling:touch}.teacher-homework-details-page .attachment-chip{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--peach-light);border-radius:var(--radius-sm);flex-shrink:0;transition:transform .2s ease}.teacher-homework-details-page .attachment-chip:hover{transform:translateY(-1px)}.teacher-homework-details-page .attachment-icon{font-size:20px}.teacher-homework-details-page .attachment-info{display:flex;flex-direction:column}.teacher-homework-details-page .attachment-name{font-size:12px;font-weight:600;color:var(--text-dark);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-homework-details-page .attachment-size{font-size:11px;color:var(--text-light);font-weight:500}.teacher-homework-details-page .assignment-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.teacher-homework-details-page .btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:8px 16px;border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .2s ease}.teacher-homework-details-page .btn:hover{transform:scale(1.02)}.teacher-homework-details-page .btn:active{transform:scale(.98)}.teacher-homework-details-page .btn-outlined{background:transparent;border:1.5px solid var(--alert-orange);color:var(--alert-orange)}.teacher-homework-details-page .btn-outlined:hover{background:#ffb34714}.teacher-homework-details-page .btn-muted{border-color:var(--cream-dark);color:var(--text-light)}.teacher-homework-details-page .btn-muted:hover{background:var(--cream);border-color:var(--text-light)}.teacher-homework-details-page .btn-primary{background:linear-gradient(135deg,var(--coral),var(--pink-primary));color:var(--white);box-shadow:0 3px 12px rgba(var(--pink-rgb),.3)}.teacher-homework-details-page .btn-primary:hover{box-shadow:0 5px 18px rgba(var(--pink-rgb),.4)}.teacher-homework-details-page .btn-pill{border-radius:var(--radius-xl);padding:10px 18px}.teacher-homework-details-page .btn-ai{background:linear-gradient(135deg,#8b7ec81a,#c4bbe833);color:var(--purple-ai);border:1.5px solid var(--purple-ai-light)}.teacher-homework-details-page .btn-ai:hover{background:linear-gradient(135deg,#8b7ec82e,#c4bbe84d)}.teacher-homework-details-page .btn-approve{background:linear-gradient(135deg,var(--sage),#5EA87E);color:var(--white);box-shadow:0 3px 12px rgba(var(--sage-rgb),.3);flex:1}.teacher-homework-details-page .btn-approve:hover{box-shadow:0 5px 16px rgba(var(--sage-rgb),.4)}.teacher-homework-details-page .btn-revision{background:transparent;border:1.5px solid var(--alert-orange);color:var(--alert-orange);flex:1}.teacher-homework-details-page .btn-revision:hover{background:#ffb34714}.teacher-homework-details-page .btn-link{background:none;border:none;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:var(--coral);cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all .2s ease}.teacher-homework-details-page .btn-link:hover{background:rgba(var(--coral-rgb),.08)}.teacher-homework-details-page .btn-review{color:var(--pink-primary)}.teacher-homework-details-page .btn-remind{color:var(--alert-orange)}.teacher-homework-details-page .progress-content{display:flex;gap:var(--space-xl);align-items:flex-start}.teacher-homework-details-page .progress-visual{flex-shrink:0}.teacher-homework-details-page .donut-chart{width:100px;height:100px;position:relative}.teacher-homework-details-page .donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.teacher-homework-details-page .donut-fill{animation:thd-donut-draw 1s ease-out forwards}@keyframes thd-donut-draw{0%{stroke-dasharray:0 251.3;stroke-dashoffset:0}}.teacher-homework-details-page .donut-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column}.teacher-homework-details-page .donut-value{font-family:Poppins,sans-serif;font-size:22px;font-weight:700;color:var(--coral);line-height:1}.teacher-homework-details-page .donut-sub{font-size:10px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .progress-details{flex:1;min-width:0}.teacher-homework-details-page .segmented-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--cream-dark);margin-bottom:var(--space-sm)}.teacher-homework-details-page .bar-segment{height:100%;transition:width .8s ease-out}.teacher-homework-details-page .bar-graded{background:linear-gradient(135deg,var(--sage),#5EA87E);border-radius:7px 0 0 7px}.teacher-homework-details-page .bar-submitted{background:linear-gradient(135deg,var(--hw-blue),var(--hw-blue-dark))}.teacher-homework-details-page .bar-late{background:linear-gradient(135deg,var(--alert-orange),#FFD4A0)}.teacher-homework-details-page .bar-missing{background:var(--cream-dark);border-radius:0 7px 7px 0}.teacher-homework-details-page .bar-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.teacher-homework-details-page .legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .legend-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.teacher-homework-details-page .dot-graded{background:var(--sage)}.teacher-homework-details-page .dot-submitted{background:var(--hw-blue)}.teacher-homework-details-page .dot-late{background:var(--alert-orange)}.teacher-homework-details-page .dot-missing{background:var(--cream-dark)}.teacher-homework-details-page .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.teacher-homework-details-page .stat-box{background:var(--cream);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);text-align:center;display:flex;flex-direction:column;align-items:center}.teacher-homework-details-page .stat-number{font-family:Poppins,sans-serif;font-size:24px;font-weight:700;line-height:1.1}.teacher-homework-details-page .stat-green{color:var(--sage)}.teacher-homework-details-page .stat-orange{color:var(--alert-orange)}.teacher-homework-details-page .stat-blue{color:var(--hw-blue)}.teacher-homework-details-page .stat-red{color:var(--alert-red)}.teacher-homework-details-page .stat-label{font-size:11px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .stat-detail{font-size:11px;color:var(--text-light);font-weight:500;margin-top:-2px}.teacher-homework-details-page .quick-actions-bar{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch}.teacher-homework-details-page .quick-actions-bar::-webkit-scrollbar{display:none}.teacher-homework-details-page .submissions-section{display:flex;flex-direction:column;gap:var(--space-md)}.teacher-homework-details-page .filter-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}.teacher-homework-details-page .filter-bar::-webkit-scrollbar{display:none}.teacher-homework-details-page .filter-chips{display:flex;gap:var(--space-sm);white-space:nowrap}.teacher-homework-details-page .filter-chip{padding:6px 14px;border-radius:var(--radius-xl);font-family:Nunito,sans-serif;font-size:12px;font-weight:700;border:1.5px solid var(--cream-dark);background:var(--white);color:var(--text-medium);cursor:pointer;transition:all .2s ease;flex-shrink:0}.teacher-homework-details-page .filter-chip:hover{border-color:var(--coral-light);color:var(--coral)}.teacher-homework-details-page .filter-active{background:var(--coral);color:var(--white);border-color:var(--coral)}.teacher-homework-details-page .filter-active:hover{background:var(--pink-primary);border-color:var(--pink-primary);color:var(--white)}.teacher-homework-details-page .search-bar{display:flex;align-items:center;gap:var(--space-sm);background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);transition:border-color .2s ease}.teacher-homework-details-page .search-bar:focus-within{border-color:var(--coral-light)}.teacher-homework-details-page .search-icon{color:var(--text-light);flex-shrink:0}.teacher-homework-details-page .search-input{flex:1;border:none;outline:none;font-family:Nunito,sans-serif;font-size:13px;color:var(--text-dark);background:transparent;min-width:0}.teacher-homework-details-page .search-input::placeholder{color:var(--text-light)}.teacher-homework-details-page .sort-select{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-light);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:4px 8px;border-radius:var(--radius-sm);transition:background .2s ease;background:none;border:none;font-family:Nunito,sans-serif}.teacher-homework-details-page .sort-select:hover{background:var(--cream)}.teacher-homework-details-page .student-cards{display:flex;flex-direction:column;gap:var(--space-md)}.teacher-homework-details-page .student-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:0 2px 8px rgba(var(--pink-rgb),.06),0 1px 3px #00000008;transition:transform .2s ease,box-shadow .2s ease}.teacher-homework-details-page .student-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--pink-rgb),.12),0 2px 6px #0000000a}.teacher-homework-details-page .student-row{display:flex;gap:var(--space-md);align-items:flex-start}.teacher-homework-details-page .student-avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:13px;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.teacher-homework-details-page .avatar-muted{background:linear-gradient(135deg,var(--cream-dark),#E8E0DA)!important;color:var(--text-light)!important}.teacher-homework-details-page .student-info{flex:1;min-width:0}.teacher-homework-details-page .student-name-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:2px}.teacher-homework-details-page .student-name{font-size:14px;font-weight:700;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-homework-details-page .student-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:12px;color:var(--text-light);font-weight:500}.teacher-homework-details-page .file-count{font-size:11px}.teacher-homework-details-page .student-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid rgba(0,0,0,.04)}.teacher-homework-details-page .student-grade{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;flex-shrink:0}.teacher-homework-details-page .grade-high{color:var(--sage)}.teacher-homework-details-page .grade-medium{color:var(--alert-orange)}.teacher-homework-details-page .grade-low{color:var(--alert-red)}.teacher-homework-details-page .status-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--radius-xl);white-space:nowrap}.teacher-homework-details-page .pill-graded{background:rgba(var(--sage-rgb),.12);color:var(--sage)}.teacher-homework-details-page .pill-pending{background:#6bb5e01f;color:var(--hw-blue-dark)}.teacher-homework-details-page .pill-late{background:#ffb34726;color:#e09b30}.teacher-homework-details-page .pill-revision{background:#8b7ec81f;color:var(--purple-ai)}.teacher-homework-details-page .pill-missing{background:#ff6b6b1a;color:var(--alert-red)}.teacher-homework-details-page .new-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--hw-blue),var(--hw-blue-dark));color:var(--white);animation:thd-pulse-new 2s ease-in-out infinite}@keyframes thd-pulse-new{0%,to{opacity:1}50%{opacity:.7}}.teacher-homework-details-page .late-text{color:var(--alert-orange);font-weight:700;font-size:12px}.teacher-homework-details-page .revision-note{font-size:12px;color:var(--text-medium);font-style:italic;margin-top:4px;line-height:1.4}.teacher-homework-details-page .card-pending{background:var(--cream)}.teacher-homework-details-page .card-late{border-left:4px solid var(--alert-orange)}.teacher-homework-details-page .card-revision{border-left:4px solid var(--purple-ai-light)}.teacher-homework-details-page .card-missing{background:var(--cream);opacity:.85}.teacher-homework-details-page .card-missing:hover{opacity:1}.teacher-homework-details-page .card-expanded{background:var(--white);box-shadow:0 8px 32px rgba(var(--pink-rgb),.12);border:1.5px solid var(--coral-light)}.teacher-homework-details-page .card-expanded:hover{transform:none}.teacher-homework-details-page .review-panel{margin-top:var(--space-md)}.teacher-homework-details-page .review-divider{height:1px;background:linear-gradient(90deg,transparent,var(--coral-light),transparent);margin-bottom:var(--space-lg)}.teacher-homework-details-page .submitted-files-label{font-size:13px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-sm)}.teacher-homework-details-page .submitted-files{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.teacher-homework-details-page .file-preview{background:var(--cream);border-radius:var(--radius-sm);padding:var(--space-md);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex:1;min-width:0}.teacher-homework-details-page .file-thumb{font-size:28px;line-height:1}.teacher-homework-details-page .file-name{font-size:11px;font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-align:center}.teacher-homework-details-page .file-size{font-size:10px;color:var(--text-light)}.teacher-homework-details-page .btn-file-open{font-family:Nunito,sans-serif;font-size:11px;font-weight:700;color:var(--coral);background:rgba(var(--coral-rgb),.08);border:none;padding:3px 10px;border-radius:var(--radius-xl);cursor:pointer;transition:background .2s ease}.teacher-homework-details-page .btn-file-open:hover{background:rgba(var(--coral-rgb),.16)}.teacher-homework-details-page .student-note{background:rgba(var(--orange-rgb),.15);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-lg)}.teacher-homework-details-page .student-note-label{font-size:12px;font-weight:700;color:var(--text-medium);display:block;margin-bottom:var(--space-xs)}.teacher-homework-details-page .student-note p{font-size:13px;color:var(--text-medium);font-style:italic;line-height:1.5;margin:0}.teacher-homework-details-page .grade-section{border-top:1px dashed var(--cream-dark);padding-top:var(--space-lg)}.teacher-homework-details-page .grade-section-title{font-family:Poppins,sans-serif;font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-md)}.teacher-homework-details-page .grade-input-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.teacher-homework-details-page .grade-label{font-size:13px;font-weight:700;color:var(--text-medium)}.teacher-homework-details-page .grade-input-wrapper{display:flex;align-items:center;gap:var(--space-sm);background:var(--cream);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);border:1.5px solid var(--cream-dark);transition:border-color .2s ease}.teacher-homework-details-page .grade-input-wrapper:focus-within{border-color:var(--coral-light)}.teacher-homework-details-page .grade-input{width:50px;border:none;outline:none;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);background:transparent;text-align:center}.teacher-homework-details-page .grade-input::placeholder{color:var(--text-light)}.teacher-homework-details-page .grade-input::-webkit-outer-spin-button,.teacher-homework-details-page .grade-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.teacher-homework-details-page .grade-suffix{font-size:14px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .feedback-area{margin-bottom:var(--space-lg)}.teacher-homework-details-page .feedback-label{font-size:13px;font-weight:700;color:var(--text-medium);display:block;margin-bottom:var(--space-sm)}.teacher-homework-details-page .feedback-textarea{width:100%;border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);padding:var(--space-md);font-family:Nunito,sans-serif;font-size:13px;color:var(--text-dark);background:var(--cream);resize:vertical;transition:border-color .2s ease;line-height:1.5}.teacher-homework-details-page .feedback-textarea:focus{outline:none;border-color:var(--coral-light)}.teacher-homework-details-page .feedback-textarea::placeholder{color:var(--text-light)}.teacher-homework-details-page .review-actions{display:flex;gap:var(--space-sm)}.teacher-homework-details-page .analytics-card{background:linear-gradient(180deg,var(--white) 0%,var(--cream) 100%)}.teacher-homework-details-page .analytics-grid{display:flex;gap:var(--space-xl);margin-bottom:var(--space-xl)}.teacher-homework-details-page .analytics-stat{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.teacher-homework-details-page .analytics-label{font-size:11px;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.teacher-homework-details-page .analytics-value{font-family:Poppins,sans-serif;font-size:36px;font-weight:700;color:var(--coral);line-height:1}.teacher-homework-details-page .analytics-unit{font-size:18px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .grade-distribution{flex:1}.teacher-homework-details-page .dist-bars{display:flex;gap:var(--space-sm);align-items:flex-end;height:60px}.teacher-homework-details-page .dist-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.teacher-homework-details-page .dist-bar-track{width:100%;height:100%;display:flex;align-items:flex-end}.teacher-homework-details-page .dist-bar-fill{width:100%;background:linear-gradient(180deg,var(--coral-light),var(--coral));border-radius:4px 4px 2px 2px;min-height:4px;transition:height .8s ease-out}.teacher-homework-details-page .dist-bar-peak{background:linear-gradient(180deg,var(--coral),var(--pink-primary))}.teacher-homework-details-page .dist-label{font-size:9px;color:var(--text-light);font-weight:600;white-space:nowrap}.teacher-homework-details-page .timeline-block{margin-bottom:var(--space-xl)}.teacher-homework-details-page .timeline-bars{display:flex;gap:var(--space-sm);align-items:flex-end;height:60px;margin-top:var(--space-sm)}.teacher-homework-details-page .tl-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.teacher-homework-details-page .tl-bar{width:100%;background:linear-gradient(180deg,var(--peach-light),var(--peach));border-radius:4px 4px 2px 2px;min-height:4px;transition:height .8s ease-out}.teacher-homework-details-page .tl-bar-peak{background:linear-gradient(180deg,var(--coral-light),var(--coral))}.teacher-homework-details-page .tl-bar-deadline{background:linear-gradient(180deg,rgba(var(--pink-rgb),.4),var(--pink-primary))}.teacher-homework-details-page .tl-label{font-size:9px;color:var(--text-light);font-weight:600;white-space:nowrap}.teacher-homework-details-page .tl-deadline{color:var(--pink-primary);font-weight:700}.teacher-homework-details-page .ai-insight{background:linear-gradient(135deg,#8b7ec814,#c4bbe81f);border-radius:var(--radius-sm);padding:var(--space-lg);border:1px solid rgba(139,126,200,.15)}.teacher-homework-details-page .ai-insight-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.teacher-homework-details-page .ai-icon{font-size:18px}.teacher-homework-details-page .ai-label{font-family:Poppins,sans-serif;font-size:12px;font-weight:700;color:var(--purple-ai);text-transform:uppercase;letter-spacing:.5px}.teacher-homework-details-page .ai-text{font-size:13px;color:var(--text-medium);line-height:1.6;margin:0}.teacher-homework-details-page .fab{position:fixed;bottom:80px;right:16px;display:flex;align-items:center;gap:var(--space-sm);padding:12px 18px;background:linear-gradient(135deg,var(--coral),var(--pink-primary));color:var(--white);border:none;border-radius:var(--radius-xl);box-shadow:0 6px 24px rgba(var(--pink-rgb),.35);cursor:pointer;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;z-index:90;transition:all .2s ease}.teacher-homework-details-page .fab:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--pink-rgb),.45)}.teacher-homework-details-page .fab:active{transform:translateY(0)}.teacher-homework-details-page .fab-label{white-space:nowrap}.teacher-homework-details-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-md)}.teacher-homework-details-page .loading-spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:thd-spin .8s linear infinite}@keyframes thd-spin{to{transform:rotate(360deg)}}.teacher-homework-details-page .loading-text{font-size:14px;color:var(--text-light);font-weight:600}.teacher-homework-details-page .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-md);padding:var(--space-xl)}.teacher-homework-details-page .error-icon{color:var(--alert-red)}.teacher-homework-details-page .error-text{font-size:14px;color:var(--text-medium);text-align:center;margin:0}.teacher-homework-details-page .error-retry{padding:8px 20px;border-radius:var(--radius-xl);background:var(--coral);color:var(--white);border:none;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease}.teacher-homework-details-page .error-retry:hover{background:var(--pink-primary)}@media(max-width:768px){.teacher-homework-details-page .content{padding:var(--space-md);padding-bottom:100px}.teacher-homework-details-page .card{padding:var(--space-lg)}.teacher-homework-details-page .assignment-title{font-size:16px}.teacher-homework-details-page .meta-row{gap:var(--space-sm)}.teacher-homework-details-page .assignment-actions{flex-direction:column}.teacher-homework-details-page .assignment-actions .btn{width:100%;justify-content:center}.teacher-homework-details-page .progress-content{flex-direction:column;align-items:center}.teacher-homework-details-page .donut-chart{width:90px;height:90px}.teacher-homework-details-page .progress-details{width:100%}.teacher-homework-details-page .review-actions{flex-direction:column}.teacher-homework-details-page .review-actions .btn{width:100%;justify-content:center}.teacher-homework-details-page .analytics-grid{flex-direction:column;align-items:center;gap:var(--space-lg)}.teacher-homework-details-page .analytics-value{font-size:32px}.teacher-homework-details-page .grade-distribution{width:100%}}@media(min-width:769px){.teacher-homework-details-page .content{padding:var(--space-xxl);padding-bottom:120px}.teacher-homework-details-page .card{padding:var(--space-xxl)}.teacher-homework-details-page .stats-grid{grid-template-columns:repeat(4,1fr)}.teacher-homework-details-page .fab{right:calc(50% - 464px)}}@keyframes thd-fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.teacher-homework-details-page .card,.teacher-homework-details-page .student-card,.teacher-homework-details-page .quick-actions-bar{animation:thd-fadeInUp .4s ease-out both}.teacher-homework-details-page .assignment-card{animation-delay:.05s}.teacher-homework-details-page .progress-card{animation-delay:.1s}.teacher-homework-details-page .quick-actions-bar{animation-delay:.15s}.teacher-homework-details-page .submissions-section{animation-delay:.2s}.teacher-homework-details-page .analytics-card{animation-delay:.25s}.teacher-homework-details-page .student-card:nth-child(1){animation-delay:.22s}.teacher-homework-details-page .student-card:nth-child(2){animation-delay:.26s}.teacher-homework-details-page .student-card:nth-child(3){animation-delay:.3s}.teacher-homework-details-page .student-card:nth-child(4){animation-delay:.34s}.teacher-homework-details-page .student-card:nth-child(5){animation-delay:.38s}.teacher-homework-details-page .student-card:nth-child(6){animation-delay:.42s}.teacher-homework-details-page .student-card:nth-child(7){animation-delay:.46s}.teacher-homework-details-page .student-card:nth-child(8){animation-delay:.5s}.teacher-homework-details-page .student-card:nth-child(9){animation-delay:.54s}.teacher-homework-details-page .student-card:nth-child(10){animation-delay:.58s}@media(prefers-reduced-motion:reduce){.teacher-homework-details-page *,.teacher-homework-details-page *:before,.teacher-homework-details-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.teacher-attendance-page{--background: var(--cream);--ion-background-color: var(--cream);display:flex;flex-direction:column;min-height:100%;background:var(--cream)}.teacher-attendance-page__header{display:flex;align-items:center;gap:var(--space-md);padding:48px var(--space-xl) var(--space-lg);background:var(--cream);position:sticky;top:0;z-index:10}.teacher-attendance-page__back-btn{width:40px;height:40px;border:none;background:var(--white);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-dark);box-shadow:0 2px 8px rgba(var(--coral-rgb),.15);flex-shrink:0}.teacher-attendance-page__header-title{flex:1}.teacher-attendance-page__header-title h1{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 2px}.teacher-attendance-page__header-subtitle{font-size:13px;color:var(--text-medium);font-weight:500}.teacher-attendance-page__class-info-card{margin:0 var(--space-xl);background:var(--white);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:0 4px 20px rgba(var(--coral-rgb),.1)}.teacher-attendance-page__class-details{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--cream-dark)}.teacher-attendance-page__class-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--purple-ai-light) 0%,var(--peach-light) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.teacher-attendance-page__class-text h2{font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 2px}.teacher-attendance-page__class-text p{font-size:13px;color:var(--text-medium);margin:0}.teacher-attendance-page__attendance-summary{display:flex;align-items:center;justify-content:space-around}.teacher-attendance-page__summary-item{display:flex;flex-direction:column;align-items:center;gap:2px}.teacher-attendance-page__summary-count{font-size:24px;font-weight:700}.teacher-attendance-page__summary-item--present .teacher-attendance-page__summary-count{color:var(--sage)}.teacher-attendance-page__summary-item--absent .teacher-attendance-page__summary-count{color:var(--alert-red)}.teacher-attendance-page__summary-item--late .teacher-attendance-page__summary-count{color:var(--alert-orange)}.teacher-attendance-page__summary-label{font-size:12px;color:var(--text-light);font-weight:500}.teacher-attendance-page__summary-divider{width:1px;height:36px;background:var(--cream-dark)}.teacher-attendance-page__quick-actions{display:flex;gap:var(--space-md);padding:var(--space-lg) var(--space-xl)}.teacher-attendance-page__quick-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.teacher-attendance-page__quick-action-btn:active{transform:translateY(-1px)}.teacher-attendance-page__quick-action-btn--mark-all{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%);color:var(--white);box-shadow:0 4px 12px rgba(var(--sage-rgb),.3)}.teacher-attendance-page__action-icon{font-size:16px}.teacher-attendance-page__search-section{padding:0 var(--space-xl) var(--space-md)}.teacher-attendance-page__search-bar{display:flex;align-items:center;gap:var(--space-md);background:var(--white);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md);box-shadow:0 2px 8px #0000000a}.teacher-attendance-page__search-icon{color:var(--text-light);flex-shrink:0}.teacher-attendance-page__search-input{flex:1;border:none;background:transparent;font-family:Nunito,sans-serif;font-size:14px;color:var(--text-dark);outline:none}.teacher-attendance-page__search-input::placeholder{color:var(--text-light)}.teacher-attendance-page__filter-pills{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch}.teacher-attendance-page__filter-pills::-webkit-scrollbar{display:none}.teacher-attendance-page__filter-pill{flex-shrink:0;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-full);font-family:Nunito,sans-serif;font-size:12px;font-weight:600;cursor:pointer;background:var(--white);color:var(--text-medium);transition:all .2s}.teacher-attendance-page__filter-pill--active{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:var(--white);box-shadow:0 2px 8px rgba(var(--coral-rgb),.3)}.teacher-attendance-page__student-list{flex:1;padding:0 var(--space-xl);padding-bottom:100px}.teacher-attendance-page__student-item{display:flex;align-items:center;gap:var(--space-md);background:var(--white);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s}.teacher-attendance-page__student-item--flagged{border-left:4px solid var(--alert-red);background:linear-gradient(90deg,rgba(var(--alert-red-rgb),.04) 0%,var(--white) 20%)}.teacher-attendance-page__student-avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--white);flex-shrink:0}.teacher-attendance-page__student-info{flex:1;display:flex;flex-direction:column;min-width:0}.teacher-attendance-page__student-name{font-size:15px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-attendance-page__student-number{font-size:12px;color:var(--text-light)}.teacher-attendance-page__attendance-buttons{display:flex;gap:var(--space-sm)}.teacher-attendance-page__status-btn{width:36px;height:36px;border:2px solid var(--cream-dark);border-radius:var(--radius-full);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-light);padding:0}.teacher-attendance-page__status-btn:active{transform:scale(1.05)}.teacher-attendance-page__status-btn--present.teacher-attendance-page__status-btn--active{background:var(--sage);border-color:var(--sage);color:var(--white);box-shadow:0 2px 8px rgba(var(--sage-rgb),.4)}.teacher-attendance-page__status-btn--late.teacher-attendance-page__status-btn--active{background:var(--alert-orange);border-color:var(--alert-orange);color:var(--white);box-shadow:0 2px 8px rgba(var(--orange-rgb),.4)}.teacher-attendance-page__status-btn--absent.teacher-attendance-page__status-btn--active{background:var(--alert-red);border-color:var(--alert-red);color:var(--white);box-shadow:0 2px 8px rgba(var(--alert-red-rgb),.4)}.teacher-attendance-page__action-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,16px));background:var(--white);border-top:1px solid var(--cream-dark);box-shadow:0 -4px 20px #0000000f;z-index:20}.teacher-attendance-page__action-bar-info{display:flex;flex-direction:column}.teacher-attendance-page__pending-count{font-size:14px;font-weight:600;color:var(--alert-orange)}.teacher-attendance-page__all-marked{font-size:14px;font-weight:600;color:var(--sage)}.teacher-attendance-page__submit-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--coral) 0%,var(--coral-light) 100%);color:var(--white);font-family:Nunito,sans-serif;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(var(--coral-rgb),.4);transition:transform .2s,box-shadow .2s}.teacher-attendance-page__submit-btn:active{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--coral-rgb),.5)}.teacher-attendance-page__submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.teacher-attendance-page__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:80px var(--space-xl);color:var(--text-medium);font-size:14px}.teacher-attendance-page__spinner{width:40px;height:40px;border:3px solid var(--cream-dark);border-top-color:var(--coral);border-radius:50%;animation:teacher-attendance-spin .8s linear infinite}.teacher-attendance-page__btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:50%;animation:teacher-attendance-spin .8s linear infinite}@keyframes teacher-attendance-spin{to{transform:rotate(360deg)}}.teacher-attendance-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:80px var(--space-xl);color:var(--alert-red);font-size:14px;text-align:center}.teacher-attendance-page__error button{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);background:var(--coral);color:var(--white);font-family:Nunito,sans-serif;font-weight:600;cursor:pointer}.teacher-attendance-page__empty{text-align:center;padding:40px var(--space-xl);color:var(--text-light);font-size:14px}.teacher-attendance-page__lesson-picker{padding:0 var(--space-xl)}.teacher-attendance-page__picker-hint{font-size:14px;color:var(--text-medium);margin-bottom:var(--space-lg)}.teacher-attendance-page__lesson-card{display:flex;align-items:center;gap:var(--space-md);width:100%;background:var(--white);border:none;border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md);box-shadow:0 2px 8px #0000000a;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;font-family:Nunito,sans-serif}.teacher-attendance-page__lesson-card:active{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.teacher-attendance-page__lesson-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--white);flex-shrink:0}.teacher-attendance-page__lesson-card-info{flex:1;display:flex;flex-direction:column;min-width:0}.teacher-attendance-page__lesson-card-name{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:2px}.teacher-attendance-page__lesson-card-meta{font-size:13px;color:var(--text-medium)}.pm-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:pmFadeIn .2s ease}@keyframes pmFadeIn{0%{opacity:0}to{opacity:1}}.pm-modal{background:var(--white, #fff);border-radius:20px 20px 0 0;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;animation:pmSlideUp .3s ease}@keyframes pmSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.pm-modal-header-left{display:flex;align-items:center;gap:8px}.pm-header-back{width:32px;height:32px;border:none;background:#0000000d;border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-dark, #1a1a1a)}.pm-modal-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark, #1a1a1a);margin:0}.pm-close-btn{width:32px;height:32px;border:none;background:#0000000d;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-medium, #666)}.pm-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.pm-modal-footer{display:flex;gap:12px;padding:12px 20px 24px;border-top:1px solid rgba(0,0,0,.06)}.pm-cancel-btn{flex:1;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:transparent;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-medium, #666);cursor:pointer}.pm-submit-btn{flex:1;padding:12px;border:none;border-radius:12px;background:var(--teal, #008080);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--white, #fff);cursor:pointer;transition:opacity .2s}.pm-submit-btn:disabled{opacity:.5;cursor:not-allowed}.pm-edit-btn{flex:1;padding:12px;border:none;border-radius:12px;background:var(--teal, #008080);font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--white, #fff);cursor:pointer}.pm-delete-trigger{flex:0;padding:12px 20px;border:1px solid rgba(220,38,38,.2);border-radius:12px;background:transparent;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:#dc2626;cursor:pointer}.pm-type-grid{display:flex;flex-direction:column;gap:10px}.pm-type-option{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(0,0,0,.06);border-radius:14px;background:transparent;cursor:pointer;transition:all .2s ease;text-align:left}.pm-type-option:active{transform:scale(.98);background:#00000005}.pm-type-icon{font-size:28px;flex-shrink:0}.pm-type-label{font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark, #1a1a1a);display:block}.pm-type-desc{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium, #666);display:block;margin-top:2px}.pm-form{display:flex;flex-direction:column;gap:16px}.pm-field{display:flex;flex-direction:column;gap:6px}.pm-label{font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium, #666)}.pm-input{padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-dark, #1a1a1a);background:var(--white, #fff);outline:none;transition:border-color .2s}.pm-input:focus{border-color:var(--teal, #008080)}.pm-textarea{padding:12px 14px;border:1px solid rgba(0,0,0,.1);border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-dark, #1a1a1a);background:var(--white, #fff);outline:none;resize:vertical;transition:border-color .2s}.pm-textarea:focus{border-color:var(--teal, #008080)}.pm-visibility-options{display:flex;gap:8px}.pm-visibility-btn{flex:1;padding:8px 4px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:transparent;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium, #666);cursor:pointer;transition:all .2s;text-align:center}.pm-visibility-btn.active{background:var(--teal, #008080);color:var(--white, #fff);border-color:var(--teal, #008080)}.pm-picker-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.pm-picker-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid rgba(0,0,0,.06);border-radius:10px;background:transparent;cursor:pointer;transition:all .2s;text-align:left}.pm-picker-item.selected{border-color:var(--teal, #008080);background:#0080800a}.pm-picker-item-main{display:flex;flex-direction:column;gap:2px}.pm-picker-item-title{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark, #1a1a1a)}.pm-picker-item-sub{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium, #666)}.pm-picker-item-value{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;color:var(--teal, #008080)}.pm-picker-item-rarity{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.pm-picker-item-rarity.COMMON{background:#6b72801a;color:#6b7280}.pm-picker-item-rarity.UNCOMMON{background:#10b9811a;color:#10b981}.pm-picker-item-rarity.RARE{background:#3b82f61a;color:#3b82f6}.pm-picker-item-rarity.EPIC{background:#8b5cf61a;color:#8b5cf6}.pm-picker-item-rarity.LEGENDARY{background:#f59e0b1a;color:#f59e0b}.pm-picker-loading,.pm-picker-empty{text-align:center;padding:16px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium, #666)}.pm-file-btn{padding:12px;border:2px dashed rgba(0,0,0,.12);border-radius:10px;background:transparent;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--teal, #008080);cursor:pointer;text-align:center;transition:border-color .2s}.pm-file-btn:hover{border-color:var(--teal, #008080)}.pm-file-selected{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0080800d;border-radius:10px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-dark, #1a1a1a)}.pm-file-selected button{border:none;background:transparent;color:#dc2626;font-weight:600;cursor:pointer;font-size:14px}.pm-upload-bar{height:4px;border-radius:2px;background:#0000000f;overflow:hidden;margin-top:8px}.pm-upload-fill{height:100%;border-radius:2px;background:var(--teal, #008080);transition:width .3s ease}.pm-detail-title{font-family:Poppins,sans-serif;font-size:20px;font-weight:700;color:var(--text-dark, #1a1a1a);margin:0 0 8px}.pm-detail-meta{display:flex;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium, #666);margin-bottom:16px}.pm-detail-grade-card{display:flex;align-items:center;gap:12px;padding:14px;background:#10b9810f;border-radius:12px;margin-bottom:16px}.pm-detail-grade-subject{font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:var(--text-medium, #666);flex:1}.pm-detail-grade-score{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:var(--text-dark, #1a1a1a)}.pm-detail-grade-pct{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:#10b981}.pm-detail-grade-letter{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--teal, #008080)}.pm-detail-badge-card{display:flex;align-items:flex-start;gap:14px;padding:14px;background:#f59e0b0f;border-radius:12px;margin-bottom:16px}.pm-detail-badge-icon{font-size:36px}.pm-detail-badge-name{font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark, #1a1a1a)}.pm-detail-badge-desc{font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium, #666);margin:4px 0 6px;line-height:1.4}.pm-detail-file{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#3b82f60f;border-radius:12px;margin-bottom:16px}.pm-detail-file-info{display:flex;flex-direction:column;gap:2px}.pm-detail-file-name{font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark, #1a1a1a)}.pm-detail-file-size{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium, #666)}.pm-download-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--teal, #008080);color:var(--white, #fff);font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;cursor:pointer}.pm-detail-section{margin-bottom:16px}.pm-detail-section-title{font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--text-medium, #666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.pm-detail-section-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-dark, #1a1a1a);line-height:1.5}.pm-detail-reflection{padding:12px 14px;background:#0080800d;border-left:3px solid var(--teal, #008080);border-radius:0 8px 8px 0;margin-bottom:16px}.pm-detail-reflection-label{font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;color:var(--teal, #008080);margin-bottom:4px}.pm-detail-reflection-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-dark, #1a1a1a);line-height:1.5}.pm-delete-confirm{margin-top:16px;padding:14px;background:#dc26260f;border-radius:12px;border:1px solid rgba(220,38,38,.15)}.pm-delete-confirm p{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-dark, #1a1a1a);margin:0 0 12px}.pm-delete-actions{display:flex;gap:8px}.pm-delete-btn{flex:1;padding:10px;border:none;border-radius:8px;background:#dc2626;color:#fff;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.pm-delete-btn:disabled{opacity:.5}.student-portfolio-page{--ion-background-color: var(--cream)}.student-portfolio-page .sp-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:16px 20px 12px;background:var(--header-bg-warm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--coral-rgb),.08)}.student-portfolio-page .sp-back-btn{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--text-dark);border:none;cursor:pointer;box-shadow:0 2px 8px rgba(var(--coral-rgb),.1);transition:all .2s ease;flex-shrink:0}.student-portfolio-page .sp-back-btn:active{transform:scale(.95)}.student-portfolio-page .sp-student-info{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.student-portfolio-page .sp-student-avatar{width:40px;height:40px;border-radius:50%;background:var(--teal);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-size:14px;font-weight:700;flex-shrink:0;overflow:hidden}.student-portfolio-page .sp-student-avatar img{width:100%;height:100%;object-fit:cover}.student-portfolio-page .sp-student-name{font-family:Poppins,Nunito,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px;line-height:1.2}.student-portfolio-page .sp-student-label{font-family:DM Sans,Nunito,sans-serif;font-size:13px;color:var(--text-medium);font-weight:500}.student-portfolio-page .sp-content{padding:16px 20px 100px}.student-portfolio-page .sp-tabs{display:flex;gap:4px;background:var(--white);border-radius:var(--radius-md);padding:4px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.student-portfolio-page .sp-tab{flex:1;padding:10px 16px;border:none;border-radius:var(--radius-sm);background:transparent;font-family:DM Sans,Nunito,sans-serif;font-size:14px;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s ease;text-align:center}.student-portfolio-page .sp-tab.active{background:var(--teal);color:var(--white);box-shadow:0 2px 8px rgba(var(--teal-rgb, 0, 128, 128),.25)}.student-portfolio-page .sp-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.student-portfolio-page .sp-stat-card{background:var(--white);border-radius:var(--radius-md);padding:16px;box-shadow:0 2px 8px #0000000a}.student-portfolio-page .sp-stat-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:18px}.student-portfolio-page .sp-stat-value{font-family:Poppins,sans-serif;font-size:22px;font-weight:700;color:var(--text-dark);line-height:1.2}.student-portfolio-page .sp-stat-label{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium);font-weight:500;margin-top:2px}.student-portfolio-page .sp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;margin-top:8px}.student-portfolio-page .sp-section-title{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;color:var(--text-dark)}.student-portfolio-page .sp-entries-list{display:flex;flex-direction:column;gap:12px}.student-portfolio-page .sp-entry-card{background:var(--white);border-radius:var(--radius-md);padding:16px;box-shadow:0 2px 8px #0000000a;display:flex;gap:12px;cursor:pointer;transition:all .2s ease}.student-portfolio-page .sp-entry-card:active{transform:scale(.98)}.student-portfolio-page .sp-entry-type-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.student-portfolio-page .sp-entry-type-icon.work-sample{background:#3b82f61a}.student-portfolio-page .sp-entry-type-icon.grade-highlight{background:#10b9811a}.student-portfolio-page .sp-entry-type-icon.badge{background:#f59e0b1a}.student-portfolio-page .sp-entry-type-icon.teacher-note{background:#8b5cf61a}.student-portfolio-page .sp-entry-type-icon.milestone{background:#ec48991a}.student-portfolio-page .sp-entry-body{flex:1;min-width:0}.student-portfolio-page .sp-entry-title{font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark);line-height:1.3;margin-bottom:4px}.student-portfolio-page .sp-entry-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-portfolio-page .sp-entry-type-label{font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;color:var(--text-light)}.student-portfolio-page .sp-entry-date{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-light)}.student-portfolio-page .sp-entry-dot{width:3px;height:3px;border-radius:50%;background:var(--text-light)}.student-portfolio-page .sp-entry-grade-bar{margin-top:8px;height:6px;border-radius:3px;background:#0000000f;overflow:hidden}.student-portfolio-page .sp-entry-grade-fill{height:100%;border-radius:3px;background:var(--teal);transition:width .3s ease}.student-portfolio-page .sp-entry-grade-score{font-family:Poppins,sans-serif;font-size:13px;font-weight:600;color:var(--teal);margin-top:4px}.student-portfolio-page .sp-entry-badge-info{display:flex;align-items:center;gap:6px;margin-top:6px}.student-portfolio-page .sp-badge-rarity{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.student-portfolio-page .sp-badge-rarity.COMMON{background:#6b72801a;color:#6b7280}.student-portfolio-page .sp-badge-rarity.UNCOMMON{background:#10b9811a;color:#10b981}.student-portfolio-page .sp-badge-rarity.RARE{background:#3b82f61a;color:#3b82f6}.student-portfolio-page .sp-badge-rarity.EPIC{background:#8b5cf61a;color:#8b5cf6}.student-portfolio-page .sp-badge-rarity.LEGENDARY{background:#f59e0b1a;color:#f59e0b}.student-portfolio-page .sp-visibility-pill{font-family:DM Sans,sans-serif;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.student-portfolio-page .sp-visibility-pill.TEACHER_ONLY{background:#6b72801a;color:#6b7280}.student-portfolio-page .sp-visibility-pill.PARENT_VISIBLE{background:#3b82f61a;color:#3b82f6}.student-portfolio-page .sp-visibility-pill.STUDENT_VISIBLE{background:#10b9811a;color:#10b981}.student-portfolio-page .sp-entry-description{font-family:DM Sans,sans-serif;font-size:13px;color:var(--text-medium);margin-top:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-portfolio-page .sp-entry-reflection{margin-top:8px;padding:8px 12px;background:rgba(var(--teal-rgb, 0, 128, 128),.05);border-radius:var(--radius-sm);border-left:3px solid var(--teal)}.student-portfolio-page .sp-entry-reflection-label{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;color:var(--teal);margin-bottom:2px}.student-portfolio-page .sp-entry-reflection-text{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-medium);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-portfolio-page .sp-fab{position:fixed;bottom:90px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--teal);color:var(--white);border:none;box-shadow:0 4px 16px rgba(var(--teal-rgb, 0, 128, 128),.35);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:all .2s ease}.student-portfolio-page .sp-fab:active{transform:scale(.92)}.student-portfolio-page .sp-fab svg{width:24px;height:24px}.student-portfolio-page .sp-empty{text-align:center;padding:48px 24px}.student-portfolio-page .sp-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.student-portfolio-page .sp-empty-title{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.student-portfolio-page .sp-empty-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-medium);line-height:1.5}.student-portfolio-page .sp-loading{text-align:center;padding:48px 24px;color:var(--text-medium);font-family:DM Sans,sans-serif;font-size:14px}.student-portfolio-page .sp-error{text-align:center;padding:48px 24px}.student-portfolio-page .sp-error-text{font-family:DM Sans,sans-serif;font-size:14px;color:var(--danger-text, #dc2626);margin-bottom:12px}.student-portfolio-page .sp-retry-btn{padding:8px 20px;border-radius:var(--radius-sm);background:var(--teal);color:var(--white);border:none;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.student-portfolio-page .sp-trend-chart{background:var(--white);border-radius:var(--radius-md);padding:16px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.student-portfolio-page .sp-trend-title{font-family:Poppins,sans-serif;font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:12px}.student-portfolio-page .sp-trend-bars{display:flex;align-items:flex-end;gap:8px;height:80px}.student-portfolio-page .sp-trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.student-portfolio-page .sp-trend-bar{width:100%;max-width:32px;border-radius:4px 4px 0 0;background:var(--teal);opacity:.7;transition:height .3s ease}.student-portfolio-page .sp-trend-label{font-family:DM Sans,sans-serif;font-size:10px;color:var(--text-light)}.student-portfolio-page .sp-trend-value{font-family:DM Sans,sans-serif;font-size:10px;font-weight:600;color:var(--text-medium)}@keyframes pd-fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pd-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pd-ring-fill{0%{stroke-dasharray:0,100}}@keyframes pd-pulse-warning{0%,to{opacity:1}50%{opacity:.65}}.parent-dashboard-page{--ion-background-color: var(--cream);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}.parent-dashboard-page .page-container{min-height:100vh;background:var(--cream)}.parent-dashboard-page .hero-card{margin:var(--space-lg);margin-bottom:0;padding:var(--space-xxl) var(--space-xl) var(--space-xl);border-radius:var(--radius-xl);font-family:DM Sans,system-ui,sans-serif;border:1px solid var(--border-warm);background:radial-gradient(120% 70% at 100% -10%,rgba(var(--pink-rgb),.14) 0%,transparent 52%),radial-gradient(90% 55% at -5% 105%,rgba(var(--coral-rgb),.11) 0%,transparent 48%),linear-gradient(155deg,var(--surface) 0%,rgba(var(--pink-rgb),.05) 42%,rgba(var(--orange-rgb),.05) 100%);box-shadow:var(--shadow-card),0 12px 36px rgba(var(--pink-rgb),.08),inset 0 1px #ffffffeb;animation:pd-fadeInUp .45s ease both;position:relative;overflow:hidden}.parent-dashboard-page .hero-card:before{content:"";position:absolute;top:-42%;right:-12%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(var(--coral-rgb),.12) 0%,transparent 68%);pointer-events:none}.parent-dashboard-page .hero-greeting{position:relative;z-index:1}.parent-dashboard-page .hero-card-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.28rem,3.8vw,1.5rem);font-weight:700;color:var(--text-dark);margin:0;letter-spacing:-.025em;line-height:1.22;max-width:22ch}.parent-dashboard-page .hero-date{font-family:DM Sans,system-ui,sans-serif;font-size:.8125rem;color:var(--text-medium);margin:.375rem 0 0;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums}.parent-dashboard-page .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-top:1.125rem;position:relative;z-index:1}.parent-dashboard-page .hero-stat{display:flex;align-items:center;gap:.625rem;padding:.6875rem .875rem;border-radius:var(--radius-md);background:var(--surface-translucent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-warm);box-shadow:0 1px #ffffffa6 inset;transition:transform .2s var(--ease-bounce),box-shadow .2s ease}.parent-dashboard-page .hero-stat:active{transform:scale(.98)}.parent-dashboard-page .hero-stat-icon{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.parent-dashboard-page .hero-stat-icon svg{width:1.25rem;height:1.25rem;flex-shrink:0}.parent-dashboard-page .hero-stat-icon.violet{background:var(--purple-soft);color:var(--purple-dark)}.parent-dashboard-page .hero-stat-icon.rose{background:var(--pink-soft);color:var(--pink-dark)}.parent-dashboard-page .hero-stat-icon.amber{background:var(--orange-soft);color:var(--orange-dark)}.parent-dashboard-page .hero-stat-icon.sage{background:var(--sage-soft);color:var(--sage-dark)}.parent-dashboard-page .hero-stat-text{min-width:0}.parent-dashboard-page .hero-stat-value{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:1.125rem;font-weight:700;color:var(--text-dark);line-height:1.1;font-variant-numeric:tabular-nums}.parent-dashboard-page .hero-stat-label{font-family:DM Sans,system-ui,sans-serif;font-size:.6875rem;font-weight:600;color:var(--text-medium);margin-top:.1875rem;letter-spacing:.015em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-dashboard-page .alerts-banner{margin:var(--space-md) var(--space-lg) 0;animation:pd-fadeInUp .45s ease both;animation-delay:.05s}.parent-dashboard-page .alert-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:13px;line-height:1.4;position:relative;box-shadow:0 2px 10px #0000000a,inset 0 1px #fff9;transition:opacity .3s ease,transform .3s ease}.parent-dashboard-page .alert-item.info{background:linear-gradient(135deg,rgba(var(--pink-rgb),.08),rgba(var(--pink-rgb),.03));border-left:3px solid var(--pink);color:var(--pink-dark)}.parent-dashboard-page .alert-item.warning{background:linear-gradient(135deg,rgba(var(--orange-rgb),.1),rgba(var(--orange-rgb),.04));border-left:3px solid var(--orange);color:var(--orange-dark)}.parent-dashboard-page .alert-item.error{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0a);border-left:3px solid var(--alert-red);color:#a44}.parent-dashboard-page .alert-icon{flex-shrink:0;margin-top:1px}.parent-dashboard-page .alert-text{flex:1;min-width:0}.parent-dashboard-page .alert-title{font-weight:600;margin-bottom:2px}.parent-dashboard-page .alert-message{opacity:.85}.parent-dashboard-page .alert-action{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:var(--pink);text-decoration:none}.parent-dashboard-page .alert-dismiss{flex-shrink:0;width:24px;height:24px;border:none;background:#0000000f;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:inherit;opacity:.5;transition:opacity .15s ease,background .15s ease;padding:0}.parent-dashboard-page .alert-dismiss:hover{opacity:1;background:#0000001a}.parent-dashboard-page .content{padding:var(--space-lg);padding-bottom:100px}.parent-dashboard-page .pd-section{margin-bottom:var(--space-xl);animation:pd-fadeInUp .45s ease both}.parent-dashboard-page .children-section{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-xl);background:radial-gradient(100% 120% at 100% 0%,rgba(var(--pink-rgb),.09) 0%,transparent 55%),linear-gradient(180deg,rgba(var(--pink-rgb),.045) 0%,var(--surface) 28%);border:1px solid var(--border-warm);box-shadow:var(--shadow-sm),inset 0 1px #ffffffd9}.parent-dashboard-page .children-section .section-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.0625rem,2.9vw,1.1875rem);font-weight:700;letter-spacing:-.022em;line-height:1.2;margin-bottom:var(--space-lg)}.parent-dashboard-page .children-section .section-icon{width:32px;height:32px;border-radius:10px}.parent-dashboard-page .children-section .section-icon svg{flex-shrink:0}.parent-dashboard-page .meetings-section{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-xl);background:radial-gradient(100% 120% at 100% 0%,rgba(var(--sage-rgb),.14) 0%,transparent 56%),linear-gradient(180deg,rgba(var(--sage-rgb),.06) 0%,var(--surface) 32%);border:1px solid var(--border-warm);box-shadow:var(--shadow-sm),inset 0 1px #ffffffe0}.parent-dashboard-page .meetings-section .section-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.0625rem,2.9vw,1.1875rem);font-weight:700;letter-spacing:-.022em;line-height:1.2;margin-bottom:var(--space-lg);color:var(--text-dark)}.parent-dashboard-page .meetings-section .section-icon{width:32px;height:32px;border-radius:10px}.parent-dashboard-page .meetings-section .section-icon.green{background:var(--sage-soft);color:var(--sage-dark)}.parent-dashboard-page .meetings-section .section-icon svg{flex-shrink:0}.parent-dashboard-page .meetings-section .meeting-card{border-radius:var(--radius-md);border:1px solid rgba(var(--sage-rgb),.14);background:radial-gradient(110% 90% at 100% 0%,rgba(var(--sage-rgb),.06) 0%,transparent 52%),linear-gradient(165deg,var(--white) 0%,rgba(var(--sage-rgb),.03) 100%);box-shadow:0 3px 14px rgba(var(--sage-rgb),.07),0 1px 3px #00000008,inset 0 1px #ffffffe0}.parent-dashboard-page .meetings-section .meeting-card:last-child{margin-bottom:0}.parent-dashboard-page .meetings-section .meeting-card:hover{box-shadow:0 6px 22px rgba(var(--sage-rgb),.11),0 2px 6px #0000000a,inset 0 1px #ffffffe0}.parent-dashboard-page .meetings-section .meeting-date-box{background:linear-gradient(145deg,var(--sage) 0%,var(--sage-light) 100%);box-shadow:0 3px 12px rgba(var(--sage-rgb),.28),inset 0 1px #ffffff47}.parent-dashboard-page .meetings-section .meeting-teacher{font-family:DM Sans,system-ui,sans-serif;font-size:clamp(.8125rem,2.6vw,.9375rem);letter-spacing:-.015em}.parent-dashboard-page .meetings-section .meeting-detail{font-size:clamp(.6875rem,2.4vw,.8125rem);line-height:1.4}.parent-dashboard-page .meetings-section .meeting-time{color:var(--sage-dark);background:var(--sage-soft);font-family:DM Sans,system-ui,sans-serif}.parent-dashboard-page .meetings-section .empty-card{border-radius:var(--radius-md);padding:var(--space-xxl) var(--space-lg);background:radial-gradient(120% 100% at 50% 0%,rgba(var(--sage-rgb),.1) 0%,transparent 55%),linear-gradient(165deg,var(--surface) 0%,rgba(var(--sage-rgb),.045) 100%);border:1px solid rgba(var(--sage-rgb),.16);box-shadow:0 2px 14px rgba(var(--sage-rgb),.06),inset 0 1px #ffffffeb}.parent-dashboard-page .meetings-section .empty-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);color:var(--sage-dark);opacity:.78}.parent-dashboard-page .meetings-section .empty-card-icon svg{width:44px;height:44px}.parent-dashboard-page .meetings-section .empty-card-text{font-family:DM Sans,system-ui,sans-serif;font-size:clamp(.875rem,2.85vw,.9375rem);font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--text-medium);max-width:280px;margin-left:auto;margin-right:auto}.parent-dashboard-page .comms-section{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-xl);background:radial-gradient(100% 120% at 100% 0%,rgba(var(--pink-rgb),.14) 0%,transparent 56%),linear-gradient(180deg,rgba(var(--pink-rgb),.06) 0%,var(--surface) 32%);border:1px solid var(--border-warm);box-shadow:var(--shadow-sm),inset 0 1px #ffffffe0}.parent-dashboard-page .comms-section .section-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.0625rem,2.9vw,1.1875rem);font-weight:700;letter-spacing:-.022em;line-height:1.2;margin-bottom:var(--space-lg);color:var(--text-dark)}.parent-dashboard-page .comms-section .section-icon{width:32px;height:32px;border-radius:10px}.parent-dashboard-page .comms-section .section-icon svg{flex-shrink:0}.parent-dashboard-page .comms-section .empty-card{border-radius:var(--radius-md);padding:var(--space-xxl) var(--space-lg);background:radial-gradient(120% 100% at 50% 0%,rgba(var(--pink-rgb),.1) 0%,transparent 55%),linear-gradient(165deg,var(--surface) 0%,rgba(var(--pink-rgb),.045) 100%);border:1px solid rgba(var(--pink-rgb),.16);box-shadow:0 2px 14px rgba(var(--pink-rgb),.06),inset 0 1px #ffffffeb}.parent-dashboard-page .comms-section .empty-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);color:var(--pink-dark);opacity:.78}.parent-dashboard-page .comms-section .empty-card-icon svg{width:44px;height:44px}.parent-dashboard-page .comms-section .empty-card-text{font-family:DM Sans,system-ui,sans-serif;font-size:clamp(.875rem,2.85vw,.9375rem);font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--text-medium);max-width:280px;margin-left:auto;margin-right:auto}.parent-dashboard-page .section-title{display:flex;align-items:center;gap:var(--space-sm);font-size:16px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-md);letter-spacing:-.01em}.parent-dashboard-page .section-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;flex-shrink:0;box-shadow:inset 0 1px #ffffff8c}.parent-dashboard-page .section-icon.purple{background:var(--pink-soft);color:var(--pink-dark)}.parent-dashboard-page .section-icon.green{background:#7db59a1a;color:#5a9270}.parent-dashboard-page .section-icon.blue{background:#3b82f61a;color:#3b82f6}.parent-dashboard-page .section-icon.orange{background:var(--orange-soft);color:var(--orange-dark)}.parent-dashboard-page .section-icon.pink{background:var(--pink-soft);color:var(--pink-dark)}.parent-dashboard-page .section-icon.yellow{background:#ffd93d1f;color:#b7891b}.parent-dashboard-page .quick-access-section{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-xl);background:radial-gradient(100% 120% at 100% 0%,rgba(255,217,61,.16) 0%,transparent 55%),linear-gradient(180deg,var(--yellow-soft) 0%,var(--surface) 30%);border:1px solid var(--border-warm);box-shadow:var(--shadow-sm),inset 0 1px #ffffffe0}.parent-dashboard-page .quick-access-section .section-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.0625rem,2.9vw,1.1875rem);font-weight:700;letter-spacing:-.022em;line-height:1.2;margin-bottom:var(--space-sm);color:var(--text-dark)}.parent-dashboard-page .quick-access-section .section-icon{width:32px;height:32px;border-radius:10px}.parent-dashboard-page .quick-access-section .section-icon svg{flex-shrink:0}.parent-dashboard-page .pd-quick-access-hint{font-family:DM Sans,system-ui,sans-serif;font-size:.8125rem;font-weight:600;color:var(--text-medium);margin:0 0 var(--space-md);letter-spacing:.01em}.parent-dashboard-page .pd-quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.parent-dashboard-page .pd-quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:92px;padding:.75rem .5rem;border:1px solid var(--border-warm);background:var(--surface);border-radius:var(--radius-md);cursor:pointer;font-family:DM Sans,system-ui,sans-serif;box-shadow:0 2px 8px #0000000a,inset 0 1px #fffffff2;transition:transform .2s var(--ease-bounce),box-shadow .2s ease,border-color .2s ease}.parent-dashboard-page .pd-quick-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000012;border-color:var(--border-warm-dark)}.parent-dashboard-page .pd-quick-action-btn:active{transform:translateY(0)}.parent-dashboard-page .pd-quick-action-icon{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.parent-dashboard-page .pd-quick-action-icon svg{display:block}.parent-dashboard-page .pd-quick-action-icon--purple{background:var(--purple-soft);color:var(--purple-dark);box-shadow:inset 0 1px #fff9}.parent-dashboard-page .pd-quick-action-icon--sage{background:var(--sage-soft);color:var(--sage-dark);box-shadow:inset 0 1px #fff9}.parent-dashboard-page .pd-quick-action-icon--coral{background:rgba(var(--coral-rgb),.12);color:var(--coral);box-shadow:inset 0 1px #fff9}.parent-dashboard-page .pd-quick-action-icon--orange{background:var(--orange-soft);color:var(--orange-dark);box-shadow:inset 0 1px #fff9}.parent-dashboard-page .pd-quick-action-label{font-family:DM Sans,system-ui,sans-serif;font-size:.8125rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;text-align:center;text-wrap:balance;max-width:11em;color:var(--text-dark)}.parent-dashboard-page .content>.quick-access-section:last-child{margin-bottom:var(--space-md)}.parent-dashboard-page .child-card{font-family:DM Sans,system-ui,sans-serif;background:radial-gradient(120% 85% at 100% 0%,rgba(var(--pink-rgb),.1) 0%,transparent 58%),linear-gradient(158deg,var(--white) 0%,rgba(var(--pink-rgb),.035) 48%,rgba(var(--coral-rgb),.04) 100%);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);margin-bottom:var(--space-md);border:1px solid rgba(var(--pink-rgb),.12);box-shadow:0 4px 24px rgba(var(--pink-rgb),.08),0 1px 4px #00000008,inset 0 1px #ffffffeb;transition:transform .25s var(--ease-bounce),box-shadow .25s ease;overflow:hidden;animation:pd-fadeInUp .45s ease both}.parent-dashboard-page .children-section .child-card:last-child{margin-bottom:0}.parent-dashboard-page .child-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(var(--pink-rgb),.14),0 2px 6px #0000000a,inset 0 1px #ffffffe6}.parent-dashboard-page .child-card:active{transform:scale(.98)}.parent-dashboard-page .child-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.parent-dashboard-page .child-avatar-wrap{position:relative;width:52px;height:52px;flex-shrink:0}.parent-dashboard-page .child-avatar-ring{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 200deg,color-mix(in srgb,var(--pink) 28%,var(--cream) 72%),color-mix(in srgb,var(--pink-light) 26%,var(--cream) 74%) 18%,color-mix(in srgb,var(--coral) 24%,var(--cream) 76%) 38%,color-mix(in srgb,var(--orange-lighter) 20%,var(--cream) 80%) 54%,color-mix(in srgb,var(--orange) 22%,var(--cream) 78%),color-mix(in srgb,var(--pink-dark) 30%,var(--cream) 70%) 90%,color-mix(in srgb,var(--pink) 28%,var(--cream) 72%));box-shadow:0 2px 10px rgba(var(--pink-rgb),.1)}.parent-dashboard-page .child-avatar{position:relative;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--pink-dark);background:radial-gradient(ellipse 85% 70% at 30% 22%,rgba(255,255,255,.55) 0%,transparent 52%),linear-gradient(152deg,color-mix(in srgb,var(--pink-dark) 32%,var(--cream) 68%),color-mix(in srgb,var(--pink) 30%,var(--cream) 70%) 36%,color-mix(in srgb,var(--coral) 26%,var(--cream) 74%) 70%,color-mix(in srgb,var(--pink-light) 28%,var(--cream) 72%));border:2.5px solid white;box-shadow:0 2px 8px rgba(var(--pink-rgb),.09),inset 0 1px #ffffffbf;z-index:1}.parent-dashboard-page .child-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.parent-dashboard-page .child-info{flex:1;min-width:0}.parent-dashboard-page .child-name{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.0625rem,3.2vw,1.1875rem);font-weight:700;color:var(--text-dark);margin:0;letter-spacing:-.022em;line-height:1.25}.parent-dashboard-page .child-class{font-size:.75rem;font-weight:600;color:var(--text-medium);margin:.25rem 0 0;letter-spacing:.05em;text-transform:uppercase}.parent-dashboard-page .child-level-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;min-height:28px;box-sizing:border-box;flex-shrink:0;background:linear-gradient(135deg,var(--orange-soft) 0%,rgba(var(--orange-rgb),.04) 100%);border:1px solid rgba(var(--orange-rgb),.22);border-radius:9999px;font-size:.6875rem;font-weight:700;line-height:1;color:var(--orange-dark);white-space:nowrap;box-shadow:inset 0 1px #fff9}.parent-dashboard-page .child-level-badge svg{flex-shrink:0;display:block;opacity:.92}.parent-dashboard-page .child-stats-row{display:flex;align-items:stretch;gap:0;background:#ffffffb8;border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);border:1px solid var(--border-warm);box-shadow:inset 0 1px #ffffffe6}.parent-dashboard-page .child-attendance-stat,.parent-dashboard-page .child-academic-stat,.parent-dashboard-page .child-homework-stat{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px}.parent-dashboard-page .child-stat-divider{width:1px;align-self:stretch;min-height:44px;background:linear-gradient(180deg,transparent,var(--border-warm) 18%,var(--border-warm) 82%,transparent);flex-shrink:0;margin:0 var(--space-xs)}.parent-dashboard-page .attendance-ring-wrap{position:relative;width:48px;height:48px}.parent-dashboard-page .attendance-ring-svg{width:48px;height:48px;transform:rotate(-90deg)}.parent-dashboard-page .ring-bg{fill:none;stroke:var(--cream-dark);stroke-width:3}.parent-dashboard-page .ring-fill{fill:none;stroke-width:3;stroke-linecap:round;animation:pd-ring-fill .8s ease both}.parent-dashboard-page .ring-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:.6875rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.parent-dashboard-page .child-stats-row .stat-value{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(1.25rem,4.2vw,1.5rem);font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;min-height:48px;width:100%}.parent-dashboard-page .child-stats-row .stat-value.high{color:var(--success-green)}.parent-dashboard-page .child-stats-row .stat-value.mid{color:var(--alert-orange)}.parent-dashboard-page .child-stats-row .stat-value.low{color:var(--alert-red)}.parent-dashboard-page .child-stats-row .stat-label{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.6875rem;color:var(--text-medium);font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;text-align:center;width:100%;padding:0 2px;box-sizing:border-box}.parent-dashboard-page .child-stats-row .stat-label svg{flex-shrink:0;color:var(--text-light);opacity:.9}.parent-dashboard-page .recent-grades{display:flex;gap:var(--space-sm);margin-top:var(--space-md);overflow-x:auto;padding-bottom:var(--space-xs);scrollbar-width:none}.parent-dashboard-page .recent-grades::-webkit-scrollbar{display:none}.parent-dashboard-page .grade-chip{display:flex;align-items:center;gap:4px;padding:5px 10px;background:#fffc;border:1px solid var(--border-light);border-radius:var(--radius-full);font-size:12px;white-space:nowrap;flex-shrink:0;transition:transform .15s ease}.parent-dashboard-page .grade-chip:active{transform:scale(.96)}.parent-dashboard-page .grade-chip .subject{color:var(--text-medium);font-weight:500}.parent-dashboard-page .grade-chip .score{font-weight:700}.parent-dashboard-page .grade-chip .score.high{color:var(--success-green)}.parent-dashboard-page .grade-chip .score.mid{color:var(--alert-orange)}.parent-dashboard-page .grade-chip .score.low{color:var(--alert-red)}.parent-dashboard-page .grade-chip .trend{font-size:10px;font-weight:700}.parent-dashboard-page .grade-chip .trend.up{color:var(--success-green)}.parent-dashboard-page .grade-chip .trend.down{color:var(--alert-red)}.parent-dashboard-page .gamification-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md);padding:.625rem var(--space-md);background:linear-gradient(135deg,rgba(var(--orange-rgb),.1),rgba(var(--pink-rgb),.08));border-radius:var(--radius-md);border:1px solid rgba(var(--pink-rgb),.14);box-shadow:inset 0 1px #ffffffa6}.parent-dashboard-page .gamification-points,.parent-dashboard-page .gamification-badges{display:inline-flex;align-items:center;gap:6px;font-family:DM Sans,system-ui,sans-serif;font-size:.8125rem;font-weight:600;color:var(--text-dark)}.parent-dashboard-page .gamification-points svg{color:var(--orange-dark)}.parent-dashboard-page .gamification-badges svg{color:var(--pink-dark)}.parent-dashboard-page .homework-warning{display:flex;align-items:center;gap:.625rem;margin-top:var(--space-md);padding:.625rem var(--space-md);background:var(--danger-bg);border-radius:var(--radius-md);border:1px solid rgba(var(--alert-red-rgb),.18);font-family:DM Sans,system-ui,sans-serif;font-size:.8125rem;color:var(--danger-text);font-weight:600;line-height:1.35}.parent-dashboard-page .homework-warning svg{animation:pd-pulse-warning 2s ease-in-out infinite;flex-shrink:0}.parent-dashboard-page .calendar-timeline{display:flex;flex-direction:column;gap:var(--space-sm)}.parent-dashboard-page .timeline-day{display:flex;gap:var(--space-md)}.parent-dashboard-page .timeline-day-label{width:46px;min-height:48px;border-radius:12px;background:var(--cream-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding:var(--space-xs) 0;transition:background .2s ease}.parent-dashboard-page .timeline-day.today .timeline-day-label{background:linear-gradient(135deg,var(--pink) 0%,var(--pink-light) 100%);color:#fff;box-shadow:0 3px 12px rgba(var(--pink-rgb),.3)}.parent-dashboard-page .timeline-day-num{font-size:16px;font-weight:700;line-height:1}.parent-dashboard-page .timeline-day-name{font-size:10px;font-weight:600;text-transform:uppercase;opacity:.8;margin-top:2px}.parent-dashboard-page .timeline-day-events{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.parent-dashboard-page .timeline-event{padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-sm);border-left:3px solid var(--pink);box-shadow:0 2px 8px #0000000a,inset 0 1px #fffc;display:flex;align-items:center;gap:var(--space-sm);transition:transform .2s var(--ease-bounce)}.parent-dashboard-page .timeline-event:hover{transform:translate(2px)}.parent-dashboard-page .timeline-event-time{font-size:11px;font-weight:600;color:var(--text-light);min-width:50px;flex-shrink:0}.parent-dashboard-page .timeline-event-title{font-size:13px;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-dashboard-page .timeline-event-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;background:var(--pink-soft);color:var(--pink-dark);white-space:nowrap;flex-shrink:0}.parent-dashboard-page .meeting-card{background:linear-gradient(160deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-sm);box-shadow:0 3px 14px rgba(var(--pink-rgb),.06),0 1px 3px #00000008,inset 0 1px #fffc;display:flex;align-items:center;gap:var(--space-md);transition:transform .2s var(--ease-bounce),box-shadow .2s ease}.parent-dashboard-page .meeting-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--pink-rgb),.1),0 2px 6px #0000000a,inset 0 1px #fffc}.parent-dashboard-page .meeting-date-box{width:48px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--pink) 0%,var(--pink-light) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 3px 10px rgba(var(--pink-rgb),.25),inset 0 1px #fff3}.parent-dashboard-page .meeting-date-box .day{font-size:18px;font-weight:700;line-height:1}.parent-dashboard-page .meeting-date-box .month{font-size:10px;font-weight:600;text-transform:uppercase;opacity:.9;margin-top:2px}.parent-dashboard-page .meeting-info{flex:1;min-width:0}.parent-dashboard-page .meeting-teacher{font-size:14px;font-weight:600;color:var(--text-dark);margin:0}.parent-dashboard-page .meeting-detail{font-size:12px;color:var(--text-medium);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-dashboard-page .meeting-time{font-size:12px;font-weight:600;color:var(--pink);white-space:nowrap;padding:3px 8px;background:var(--pink-soft);border-radius:8px}.parent-dashboard-page .meeting-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;text-transform:capitalize}.parent-dashboard-page .meeting-status.confirmed{background:#7db59a1f;color:#5a9270}.parent-dashboard-page .meeting-status.pending{background:var(--orange-soft);color:var(--orange-dark)}.parent-dashboard-page .fee-summary-card{background:radial-gradient(100% 70% at 0% 0%,rgba(var(--pink-rgb),.05) 0%,transparent 50%),linear-gradient(160deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 4px 20px rgba(var(--pink-rgb),.07),0 1px 3px #00000008,inset 0 1px #ffffffe6}.parent-dashboard-page .fee-totals{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.parent-dashboard-page .fee-total-item{flex:1;text-align:center;padding:var(--space-md);border-radius:var(--radius-sm)}.parent-dashboard-page .fee-total-item.due{background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0a);border:1px solid rgba(255,107,107,.08)}.parent-dashboard-page .fee-total-item.paid{background:linear-gradient(135deg,#7db59a1a,#7db59a0a);border:1px solid rgba(125,181,154,.08)}.parent-dashboard-page .fee-amount{font-size:18px;font-weight:700;line-height:1.2}.parent-dashboard-page .fee-total-item.due .fee-amount{color:var(--alert-red)}.parent-dashboard-page .fee-total-item.paid .fee-amount{color:var(--success-green)}.parent-dashboard-page .fee-label{font-size:11px;color:var(--text-light);margin-top:4px;font-weight:500}.parent-dashboard-page .pending-fee-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;border-top:1px solid var(--border-light)}.parent-dashboard-page .pending-fee-item:first-of-type{border-top:none}.parent-dashboard-page .fee-item-info{flex:1;min-width:0}.parent-dashboard-page .fee-item-title{font-size:13px;font-weight:600;color:var(--text-dark)}.parent-dashboard-page .fee-item-student{font-size:11px;color:var(--text-light)}.parent-dashboard-page .fee-item-amount{font-size:14px;font-weight:700;text-align:right}.parent-dashboard-page .fee-item-amount.overdue{color:var(--alert-red)}.parent-dashboard-page .fee-item-amount.pending{color:var(--alert-orange)}.parent-dashboard-page .fee-item-due{font-size:10px;color:var(--text-light);text-align:right;margin-top:1px}.parent-dashboard-page .fee-item-due.overdue{color:var(--alert-red);font-weight:600}.parent-dashboard-page .comms-section .comm-card:last-child{margin-bottom:0}.parent-dashboard-page .comm-card{font-family:DM Sans,system-ui,sans-serif;background:radial-gradient(110% 90% at 100% 0%,rgba(var(--pink-rgb),.06) 0%,transparent 52%),linear-gradient(165deg,var(--white) 0%,rgba(var(--pink-rgb),.03) 100%);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);border:1px solid rgba(var(--pink-rgb),.12);box-shadow:0 3px 14px rgba(var(--pink-rgb),.07),0 1px 3px #00000008,inset 0 1px #ffffffe0;display:flex;gap:var(--space-md);position:relative;cursor:pointer;transition:transform .2s var(--ease-bounce),box-shadow .2s ease}.parent-dashboard-page .comm-card:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(var(--pink-rgb),.11),0 2px 6px #0000000a,inset 0 1px #ffffffe0}.parent-dashboard-page .comm-card:active{transform:scale(.98)}.parent-dashboard-page .comm-card.unread{background:linear-gradient(135deg,#fff,rgba(var(--pink-rgb),.06));border-left:3px solid var(--pink)}.parent-dashboard-page .comm-type-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffff8c}.parent-dashboard-page .comm-type-icon.announcement{background:var(--orange-soft);color:var(--orange-dark)}.parent-dashboard-page .comm-type-icon.message{background:var(--pink-soft);color:var(--pink-dark)}.parent-dashboard-page .comm-body{flex:1;min-width:0}.parent-dashboard-page .comm-title{font-family:Poppins,DM Sans,system-ui,sans-serif;font-size:clamp(.8125rem,2.7vw,.9375rem);font-weight:600;letter-spacing:-.018em;line-height:1.35;color:var(--text-dark);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-dashboard-page .comm-card.unread .comm-title{font-weight:700}.parent-dashboard-page .comm-preview{font-size:clamp(.75rem,2.4vw,.8125rem);line-height:1.45;letter-spacing:-.01em;color:var(--text-medium);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-dashboard-page .comm-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:4px}.parent-dashboard-page .comm-sender{font-size:clamp(.6875rem,2.25vw,.75rem);font-weight:600;letter-spacing:-.008em;color:var(--text-light)}.parent-dashboard-page .comm-time{font-size:clamp(.6875rem,2.25vw,.75rem);color:var(--text-light)}.parent-dashboard-page .unread-dot{position:absolute;top:var(--space-md);right:var(--space-md);width:8px;height:8px;background:var(--pink);border-radius:50%;box-shadow:0 0 0 2px rgba(var(--pink-rgb),.2)}.parent-dashboard-page .permission-card{background:linear-gradient(160deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-sm);box-shadow:0 3px 14px rgba(var(--pink-rgb),.06),0 1px 3px #00000008,inset 0 1px #fffc;display:flex;align-items:center;gap:var(--space-md);border-left:3px solid var(--orange);transition:transform .2s var(--ease-bounce)}.parent-dashboard-page .permission-card:hover{transform:translate(2px)}.parent-dashboard-page .permission-icon{width:40px;height:40px;border-radius:10px;background:var(--orange-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--orange-dark);box-shadow:inset 0 1px #ffffff8c}.parent-dashboard-page .permission-body{flex:1;min-width:0}.parent-dashboard-page .permission-title{font-size:14px;font-weight:600;color:var(--text-dark);margin:0}.parent-dashboard-page .permission-student{font-size:12px;color:var(--text-medium);margin:2px 0 0}.parent-dashboard-page .permission-deadline{font-size:12px;font-weight:700;white-space:nowrap;padding:3px 8px;border-radius:8px}.parent-dashboard-page .permission-deadline.urgent{color:var(--alert-red);background:#ff6b6b1a}.parent-dashboard-page .permission-deadline.normal{color:var(--orange-dark);background:var(--orange-soft)}.parent-dashboard-page .skeleton-container{padding:var(--space-lg)}.parent-dashboard-page .skeleton-hero{border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg) var(--space-lg);background:var(--white);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg)}.parent-dashboard-page .skeleton-line{height:14px;border-radius:8px;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:pd-shimmer 1.5s ease-in-out infinite;margin-bottom:var(--space-sm)}.parent-dashboard-page .skeleton-line.tall{height:22px}.parent-dashboard-page .skeleton-line.wide{width:65%}.parent-dashboard-page .skeleton-line.narrow{width:40%}.parent-dashboard-page .skeleton-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-lg)}.parent-dashboard-page .skeleton-stat-box{height:48px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:pd-shimmer 1.5s ease-in-out infinite}.parent-dashboard-page .skeleton-card{border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--white);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md)}.parent-dashboard-page .skeleton-card.small{padding:var(--space-md);border-radius:var(--radius-sm)}.parent-dashboard-page .skeleton-card-header{display:flex;gap:var(--space-md);align-items:center;margin-bottom:var(--space-md)}.parent-dashboard-page .skeleton-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:200% 100%;animation:pd-shimmer 1.5s ease-in-out infinite;flex-shrink:0}.parent-dashboard-page .skeleton-lines{flex:1}.parent-dashboard-page .skeleton-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm)}.parent-dashboard-page .skeleton-section{margin-top:var(--space-lg)}.parent-dashboard-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-lg);text-align:center;min-height:400px}.parent-dashboard-page .state-icon{font-size:48px;margin-bottom:var(--space-md)}.parent-dashboard-page .state-title{font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm)}.parent-dashboard-page .state-message{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-lg);max-width:280px}.parent-dashboard-page .retry-btn{padding:var(--space-sm) var(--space-xl);background:linear-gradient(135deg,var(--pink) 0%,var(--pink-light) 100%);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(var(--pink-rgb),.25),inset 0 1px #fff3;transition:transform .2s var(--ease-bounce),box-shadow .2s ease}.parent-dashboard-page .retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--pink-rgb),.35),inset 0 1px #fff3}.parent-dashboard-page .retry-btn:active{transform:scale(.97)}.parent-dashboard-page .empty-card{background:linear-gradient(160deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-sm);padding:var(--space-xl) var(--space-lg);text-align:center;box-shadow:0 2px 10px #0000000a,inset 0 1px #fffc}.parent-dashboard-page .empty-card-icon{font-size:32px;margin-bottom:var(--space-sm)}.parent-dashboard-page .empty-card-text{font-size:13px;color:var(--text-light);margin:0}.parent-dashboard-page .bottom-safe-area{height:80px;flex-shrink:0}@media(max-width:375px){.parent-dashboard-page .hero-card{margin:var(--space-md);margin-bottom:0;padding:var(--space-lg) var(--space-md) var(--space-md)}.parent-dashboard-page .hero-card-title{font-size:1.15rem}.parent-dashboard-page .hero-stats{gap:6px}.parent-dashboard-page .hero-stat{padding:8px 10px}.parent-dashboard-page .hero-stat-value{font-size:1rem}.parent-dashboard-page .hero-stat-icon{width:2.25rem;height:2.25rem}.parent-dashboard-page .hero-stat-icon svg{width:1.125rem;height:1.125rem}.parent-dashboard-page .alerts-banner{margin-left:var(--space-md);margin-right:var(--space-md)}.parent-dashboard-page .content{padding:var(--space-md);padding-bottom:100px}.parent-dashboard-page .child-stats-row{padding:var(--space-sm)}.parent-dashboard-page .child-stats-row .stat-value{font-size:17px;min-height:42px}.parent-dashboard-page .attendance-ring-wrap,.parent-dashboard-page .attendance-ring-svg{width:42px;height:42px}.parent-dashboard-page .ring-value{font-size:10px}}@media(min-width:768px){.parent-dashboard-page .hero-card,.parent-dashboard-page .alerts-banner{max-width:600px;margin-left:auto;margin-right:auto}.parent-dashboard-page .content{max-width:600px;margin:0 auto}}.pchild-page{--pchild-cream: var(--cream, #FFF9F5);--pchild-cream-dark: var(--cream-dark, #F5EDE8);--pchild-text-dark: var(--text-dark, #3D3D3D);--pchild-text-medium: var(--text-medium, #6B6B6B);--pchild-text-light: var(--text-light, #9B9B9B);--pchild-coral: var(--coral, #FF8A7A);--pchild-coral-light: var(--coral-light, #FFB5AB);--pchild-purple: var(--purple-ai, #8B7EC8);--pchild-purple-light: var(--purple-ai-light, #C4BBE8);--pchild-sage: var(--sage, #7DB59A);--pchild-sage-light: var(--sage-light, #B5D5C5);--pchild-peach: var(--peach, #FFCDB2);--pchild-peach-light: var(--peach-light, #FFE5D9)}.pchild-container{max-width:480px;margin:0 auto;min-height:100vh;background:var(--pchild-cream);font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column}.pchild-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg, 16px) var(--space-xl, 20px);background:var(--pchild-cream);position:sticky;top:0;z-index:100}.pchild-back-btn{width:44px;height:44px;border-radius:var(--radius-sm, 12px);border:none;background:#fff;color:var(--pchild-text-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #ff8a7a26;transition:transform .2s ease,box-shadow .2s ease}.pchild-back-btn:hover{transform:scale(1.05)}.pchild-back-btn:active{transform:scale(.95)}.pchild-header-title{font-size:1.25rem;font-weight:800;color:var(--pchild-text-dark);margin:0}.pchild-header-spacer{width:44px}.pchild-content{display:flex;flex-direction:column;gap:var(--space-lg, 16px);padding:var(--space-xl, 20px);flex:1}.pchild-bottom-spacer{height:100px}.pchild-selector{margin:0 calc(-1 * var(--space-xl, 20px));padding:0 var(--space-xl, 20px)}.pchild-selector-scroll{display:flex;gap:var(--space-sm, 8px);overflow-x:auto;padding:var(--space-xs, 4px) 0;scrollbar-width:none;-ms-overflow-style:none}.pchild-selector-scroll::-webkit-scrollbar{display:none}.pchild-selector-chip{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-lg, 16px) var(--space-sm, 8px) var(--space-sm, 8px);border-radius:50px;border:2px solid var(--pchild-cream-dark);background:#fff;cursor:pointer;white-space:nowrap;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--pchild-text-dark);transition:all .2s ease;flex-shrink:0}.pchild-selector-chip.active{background:var(--pchild-coral);border-color:var(--pchild-coral);color:#fff;box-shadow:0 4px 12px #ff8a7a4d}.pchild-selector-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--pchild-purple-light) 0%,var(--pchild-purple) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;overflow:hidden}.pchild-selector-chip.active .pchild-selector-avatar{background:#ffffff4d}.pchild-selector-avatar img{width:100%;height:100%;object-fit:cover}.pchild-selector-name{line-height:1}.pchild-hero{background:var(--surface, #ffffff);border-radius:var(--radius-xl, 24px);padding:var(--space-xl, 20px) var(--space-xl, 20px) var(--space-lg, 16px);border:1px solid var(--border-warm, #e8e0db);box-shadow:0 4px 20px #0000000a,0 1px 3px #00000005}.pchild-hero-top{display:flex;align-items:center;gap:var(--space-lg, 16px);margin-bottom:var(--space-lg, 16px)}.pchild-hero-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,var(--pchild-purple-light) 0%,var(--pchild-purple) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:visible;box-shadow:0 4px 16px rgba(var(--purple-ai-rgb),.2);border:3px solid var(--surface, #fff)}.pchild-hero-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.pchild-hero-initials{color:#fff;font-size:1.4375rem;font-weight:800;letter-spacing:-.03em;line-height:1}.pchild-hero-level{position:absolute;bottom:-3px;right:-3px;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:linear-gradient(135deg,var(--orange-lighter, #ffd199) 0%,var(--orange, #ffa94d) 100%);color:#fff;font-size:.6875rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface, #fff);box-shadow:0 2px 10px rgba(var(--orange-rgb),.35)}.pchild-hero-info{flex:1;min-width:0}.pchild-hero-name{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.22;color:var(--pchild-text-dark);margin:0 0 var(--space-sm, 8px)}.pchild-hero-class{margin:0;line-height:1}.pchild-hero-class-badge{display:inline-flex;align-items:center;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:700;color:var(--pchild-text-dark);background:var(--role-parent-bg, var(--yellow-soft, rgba(255, 217, 61, .12)));border:1px solid var(--border-warm, #e8e0db);padding:6px 12px;border-radius:999px}.pchild-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm, 8px)}.pchild-hero-stat{border-radius:var(--radius-md, 16px);padding:var(--space-md, 12px) var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--border-warm, #e8e0db);background:var(--surface, #fff);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm, 8px);box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .04));min-height:108px;justify-content:flex-start}.pchild-hero-stat--attendance{background:linear-gradient(180deg,var(--sage-soft, rgba(125, 181, 154, .1)) 0%,var(--surface, #fff) 55%)}.pchild-hero-stat--academic{background:linear-gradient(180deg,var(--purple-soft, rgba(139, 126, 200, .1)) 0%,var(--surface, #fff) 55%)}.pchild-hero-stat--homework{background:linear-gradient(180deg,var(--orange-soft, rgba(255, 169, 77, .1)) 0%,var(--surface, #fff) 55%)}.pchild-hero-stat--streak{background:linear-gradient(180deg,var(--yellow-soft, rgba(255, 217, 61, .12)) 0%,var(--surface, #fff) 55%)}.pchild-hero-stat-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;line-height:0}.pchild-hero-stat--attendance .pchild-hero-stat-icon{background:var(--sage-soft, rgba(125, 181, 154, .12));color:var(--sage-dark, #5a9270)}.pchild-hero-stat--academic .pchild-hero-stat-icon{background:var(--purple-soft, rgba(139, 126, 200, .12));color:var(--purple-dark, #6b5eaa)}.pchild-hero-stat--homework .pchild-hero-stat-icon{background:var(--orange-soft, rgba(255, 169, 77, .12));color:var(--orange-dark, #d4850c)}.pchild-hero-stat--streak .pchild-hero-stat-icon{background:var(--yellow-soft, rgba(255, 217, 61, .14));color:var(--yellow-dark, #b7891b)}.pchild-hero-stat-icon svg{display:block}.pchild-hero-stat-value{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;line-height:1.1;letter-spacing:-.03em;color:var(--pchild-text-dark)}.pchild-hero-stat-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:700;color:var(--pchild-text-medium);text-transform:uppercase;letter-spacing:.06em;line-height:1.25;max-width:100%}.pchild-card{background:var(--surface, #fff);border-radius:var(--radius-xl, 24px);box-shadow:var(--shadow-card, 0 4px 14px rgba(0, 0, 0, .06));border:1px solid var(--border-warm, #e8e0db);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.pchild-card--attendance .pchild-card-body{background:linear-gradient(165deg,var(--sage-soft, rgba(125, 181, 154, .1)) 0%,transparent 52%)}.pchild-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover, 0 8px 25px rgba(0, 0, 0, .08))}.pchild-card-header{display:flex;align-items:center;gap:var(--space-md, 12px);padding:var(--space-lg, 16px) var(--space-xl, 20px);border-bottom:1px solid var(--pchild-cream-dark)}.pchild-card-icon{width:40px;height:40px;border-radius:var(--radius-sm, 12px);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.pchild-icon-attendance{background:linear-gradient(135deg,var(--pchild-sage-light) 0%,var(--pchild-sage) 100%);box-shadow:0 4px 12px #7db59a4d}.pchild-icon-academic{background:linear-gradient(135deg,var(--pchild-purple-light) 0%,var(--pchild-purple) 100%);box-shadow:0 4px 12px #8b7ec84d}.pchild-card--academic .pchild-card-body{background:linear-gradient(165deg,var(--purple-soft, rgba(139, 126, 200, .1)) 0%,transparent 52%)}.pchild-card--academic .pchild-card-icon{width:44px;height:44px;border-radius:var(--radius-md, 16px)}.pchild-card--academic .pchild-card-icon svg{display:block}.pchild-card--homework .pchild-card-body{background:linear-gradient(165deg,var(--orange-soft, rgba(255, 169, 77, .1)) 0%,var(--pink-softer, rgba(255, 107, 157, .05)) 42%,transparent 65%)}.pchild-card--homework .pchild-card-icon{width:44px;height:44px;border-radius:var(--radius-md, 16px)}.pchild-card--homework .pchild-card-icon svg{display:block}.pchild-card--exams .pchild-card-body{background:linear-gradient(165deg,var(--orange-soft, rgba(255, 169, 77, .1)) 0%,var(--purple-softer, rgba(139, 126, 200, .05)) 42%,transparent 68%)}.pchild-card--exams .pchild-card-icon{width:44px;height:44px;border-radius:var(--radius-md, 16px)}.pchild-card--exams .pchild-card-icon svg{display:block}.pchild-icon-homework{background:linear-gradient(145deg,var(--pchild-coral-light) 0%,var(--pchild-coral) 100%);box-shadow:0 4px 14px rgba(var(--coral-rgb),.28)}.pchild-icon-exams{background:linear-gradient(145deg,var(--orange-lighter, #ffd199) 0%,var(--orange, #ffa94d) 100%);box-shadow:0 4px 14px rgba(var(--orange-rgb),.28)}.pchild-icon-gamify{background:linear-gradient(135deg,var(--pchild-purple-light) 0%,var(--pchild-purple) 100%);box-shadow:none;border:1px solid rgba(var(--purple-ai-rgb, 139, 126, 200),.28);color:#fff}.pchild-card--gamification .pchild-card-icon{width:44px;height:44px;border-radius:var(--radius-md, 16px)}.pchild-card--gamification .pchild-card-icon svg{display:block}.pchild-card--gamification .pchild-card-body{background:linear-gradient(165deg,var(--purple-soft, rgba(139, 126, 200, .09)) 0%,var(--yellow-soft, rgba(255, 217, 61, .06)) 38%,transparent 72%)}.pchild-icon-quick-actions{width:44px;height:44px;border-radius:var(--radius-md, 16px);background:linear-gradient(145deg,var(--yellow-lighter, #ffe680) 0%,var(--yellow, #ffd93d) 100%);box-shadow:0 4px 14px rgba(var(--yellow-rgb, 255, 217, 61),.28);color:var(--yellow-dark, #b7891b);border:1px solid rgba(var(--yellow-rgb, 255, 217, 61),.35)}.pchild-icon-quick-actions svg{display:block}.pchild-card--quick-actions .pchild-card-body{background:linear-gradient(165deg,var(--yellow-soft, rgba(255, 217, 61, .12)) 0%,var(--pink-softer, rgba(255, 107, 157, .05)) 40%,transparent 72%)}.pchild-card-title{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--pchild-text-dark);margin:0}.pchild-card-body{padding:var(--space-lg, 16px) var(--space-xl, 20px)}.pchild-attendance-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg, 16px);margin-bottom:var(--space-lg, 16px)}.pchild-ring-wrap{position:relative;width:108px;height:108px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(var(--sage-rgb, 125, 181, 154),.2))}.pchild-ring{width:100%;height:100%}.pchild-ring-bg{stroke:var(--pchild-cream-dark);opacity:.85}.pchild-ring-progress{transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.pchild-ring-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Poppins,Nunito,sans-serif;font-size:1.625rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em}.pchild-attendance-streak{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs, 4px);min-width:0;padding:var(--space-md, 12px) var(--space-sm, 8px);background:var(--orange-soft, rgba(255, 169, 77, .1));border:1px solid rgba(var(--orange-rgb, 255, 169, 77),.22);border-radius:var(--radius-md, 16px)}.pchild-streak-icon-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:2px}.pchild-flame{color:var(--orange-dark, #d4850c);animation:pchild-flame-pulse 2.2s ease-in-out infinite}.pchild-streak-count{font-family:Poppins,Nunito,sans-serif;font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:var(--pchild-text-dark);letter-spacing:-.03em}.pchild-streak-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:700;color:var(--pchild-text-medium);text-transform:uppercase;letter-spacing:.07em;line-height:1.2;text-align:center}.pchild-attendance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm, 8px)}.pchild-att-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm, 8px) var(--space-xs, 4px) var(--space-md, 12px);border-radius:var(--radius-md, 16px);border:1px solid transparent;min-width:0}.pchild-att-stat--present{background:var(--sage-soft, rgba(125, 181, 154, .1));border-color:rgba(var(--sage-rgb, 125, 181, 154),.2)}.pchild-att-stat--absent{background:var(--red-soft, rgba(255, 107, 107, .1));border-color:rgba(var(--alert-red-rgb, 255, 107, 107),.2)}.pchild-att-stat--late{background:var(--yellow-soft, rgba(255, 217, 61, .12));border-color:rgba(var(--orange-rgb, 255, 169, 77),.28)}.pchild-att-stat--excused{background:var(--purple-soft, rgba(139, 126, 200, .1));border-color:rgba(var(--purple-ai-rgb, 139, 126, 200),.22)}.pchild-att-stat-icon{display:flex;align-items:center;justify-content:center;margin-bottom:1px;color:var(--pchild-text-medium);opacity:.92}.pchild-att-stat-icon--present{color:var(--sage-dark, #5a9270)}.pchild-att-stat-icon--absent{color:var(--red-dark, #a86060)}.pchild-att-stat-icon--late{color:var(--orange-dark, #d4850c)}.pchild-att-stat-icon--excused{color:var(--purple-dark, #6b5eaa)}.pchild-att-stat-value{font-family:Poppins,Nunito,sans-serif;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.02em}.pchild-att-present{color:var(--sage-dark, #5a9270)}.pchild-att-absent{color:var(--red-dark, #a86060)}.pchild-att-late{color:var(--orange-dark, #d4850c)}.pchild-att-excused{color:var(--purple-dark, #6b5eaa)}.pchild-att-stat-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:700;color:var(--pchild-text-medium);text-transform:uppercase;letter-spacing:.06em;line-height:1.2;text-align:center;max-width:100%;word-break:break-word}.pchild-acad-overall{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 12px);padding:var(--space-lg, 16px) var(--space-xl, 20px);margin-bottom:var(--space-lg, 16px);background:linear-gradient(145deg,var(--surface, #fff) 0%,color-mix(in srgb,var(--purple-soft, rgba(139, 126, 200, .1)) 75%,var(--surface, #fff)) 100%);border-radius:var(--radius-md, 16px);border:1px solid rgba(var(--purple-ai-rgb, 139, 126, 200),.18);box-shadow:0 2px 12px rgba(var(--purple-ai-rgb, 139, 126, 200),.08)}.pchild-acad-overall-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.pchild-acad-overall-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.25;color:var(--pchild-text-medium)}.pchild-acad-overall-value-wrap{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.pchild-acad-overall-value{font-family:Poppins,Nunito,sans-serif;font-size:2.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em}.pchild-acad-overall-suffix{font-family:Poppins,Nunito,sans-serif;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;opacity:.85;transform:translateY(-.35em)}.pchild-score--high{color:var(--sage-dark, #5a9270)}.pchild-score--good{color:var(--purple-dark, #6b5eaa)}.pchild-score--fair{color:var(--orange-dark, #d4850c)}.pchild-score--low{color:var(--red-dark, #a86060)}.pchild-subject-letter.pchild-score--high{background:var(--sage-soft, rgba(125, 181, 154, .1));color:var(--sage-dark, #5a9270)}.pchild-subject-letter.pchild-score--good{background:var(--purple-soft, rgba(139, 126, 200, .1));color:var(--purple-dark, #6b5eaa)}.pchild-subject-letter.pchild-score--fair{background:var(--warning-bg, rgba(246, 173, 85, .12));color:var(--orange-dark, #d4850c)}.pchild-subject-letter.pchild-score--low{background:var(--danger-bg, rgba(252, 129, 129, .12));color:var(--red-dark, #a86060)}.pchild-trend--up{color:var(--sage-dark, #5a9270)}.pchild-trend--down{color:var(--red-dark, #a86060)}.pchild-trend--stable{color:var(--text-light, #9b9b9b)}.pchild-acad-subjects{display:flex;flex-direction:column;gap:var(--space-md, 14px)}.pchild-subject-row{display:flex;align-items:center;gap:10px}.pchild-subject-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #ffffffbf}.pchild-subject-name{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:700;color:var(--pchild-text-dark);flex:0 1 96px;min-width:0;max-width:42%;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pchild-subject-bar-wrap{flex:1;height:9px;min-width:48px;background:color-mix(in srgb,var(--pchild-cream-dark) 88%,transparent);border-radius:999px;overflow:hidden}.pchild-subject-bar{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000000f}.pchild-subject-pct{font-family:Poppins,Nunito,sans-serif;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;width:30px;text-align:right;flex-shrink:0;letter-spacing:-.02em}.pchild-subject-trend{display:flex;align-items:center;justify-content:center;width:22px;flex-shrink:0;line-height:0}.pchild-subject-trend svg{display:block}.pchild-subject-letter{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:800;padding:4px 7px;border-radius:8px;flex-shrink:0;min-width:1.5rem;text-align:center;letter-spacing:.02em}.pchild-hw-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md, 12px);margin-bottom:var(--space-lg, 16px)}.pchild-hw-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs, 4px);min-height:108px;justify-content:flex-start;padding:var(--space-md, 12px) var(--space-sm, 8px) var(--space-lg, 16px);border-radius:var(--radius-md, 16px);border:1px solid var(--border-light, rgba(0, 0, 0, .04));box-shadow:0 2px 10px #0000000a}.pchild-hw-box-icon{display:flex;align-items:center;justify-content:center;line-height:0;margin-bottom:2px;opacity:.92}.pchild-hw-box-icon svg{display:block}.pchild-hw-pending{background:var(--warning-bg, rgba(246, 173, 85, .12));border-color:rgba(var(--orange-rgb),.18)}.pchild-hw-pending .pchild-hw-box-icon{color:var(--orange-dark, #d4850c)}.pchild-hw-overdue{background:var(--danger-bg, rgba(252, 129, 129, .12));border-color:rgba(var(--coral-rgb),.2)}.pchild-hw-overdue .pchild-hw-box-icon{color:var(--pchild-coral)}.pchild-hw-overdue.has-overdue .pchild-hw-box-value{color:var(--danger-text, #c53030);font-weight:800}.pchild-hw-overdue.has-overdue{border-color:rgba(var(--alert-red-rgb),.28);box-shadow:0 2px 12px rgba(var(--alert-red-rgb),.12)}.pchild-hw-done{background:var(--success-bg, rgba(72, 187, 120, .1));border-color:rgba(var(--sage-rgb),.2)}.pchild-hw-done .pchild-hw-box-icon{color:var(--sage-dark, #5a9270)}.pchild-hw-box-value{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.1;color:var(--pchild-text-dark)}.pchild-hw-box-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:700;color:var(--pchild-text-medium);text-transform:uppercase;letter-spacing:.07em;line-height:1.25;max-width:100%}.pchild-hw-bar-wrap{display:flex;flex-direction:column;gap:var(--space-md, 12px)}.pchild-hw-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--pchild-cream-dark);background:color-mix(in srgb,var(--pchild-cream-dark) 88%,var(--pchild-text-light) 12%);box-shadow:inset 0 1px 2px #0000000f}.pchild-hw-bar-seg{transition:width .6s cubic-bezier(.4,0,.2,1);min-width:0}.pchild-hw-bar-seg:first-child{border-radius:999px 0 0 999px}.pchild-hw-bar-seg:last-child{border-radius:0 999px 999px 0}.pchild-hw-bar-seg:only-child{border-radius:999px}.pchild-hw-bar-done{background:linear-gradient(90deg,var(--pchild-sage-light),var(--pchild-sage))}.pchild-hw-bar-pend{background:linear-gradient(90deg,var(--orange-lighter, #ffd199),var(--orange, #ffa94d))}.pchild-hw-bar-over{background:linear-gradient(90deg,var(--pchild-coral-light),var(--pchild-coral))}.pchild-hw-bar-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-sm, 8px) var(--space-lg, 16px)}.pchild-hw-legend-item{display:inline-flex;align-items:center;gap:6px;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:600;color:var(--pchild-text-medium);letter-spacing:.01em}.pchild-hw-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #fff9 inset}.pchild-hw-legend-done{background:var(--pchild-sage)}.pchild-hw-legend-pend{background:var(--orange, #ffa94d)}.pchild-hw-legend-over{background:var(--pchild-coral)}.pchild-exams-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.pchild-exam-item{display:flex;align-items:center;gap:var(--space-md, 12px);padding:var(--space-md, 12px) var(--space-lg, 14px);background:var(--surface, #fff);border-radius:var(--radius-md, 16px);border:1px solid var(--border-warm, #e8e0db);box-shadow:var(--shadow-sm, 0 2px 8px rgba(255, 107, 157, .06))}.pchild-exam-subject-pill{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:800;padding:5px 9px;border-radius:var(--radius-sm, 12px);flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.pchild-exam-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pchild-exam-title{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--pchild-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pchild-exam-date{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;font-weight:600;color:var(--pchild-text-medium);line-height:1.25}.pchild-exam-countdown{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:800;padding:6px 12px;border-radius:999px;background:var(--orange-soft, rgba(255, 169, 77, .1));color:var(--orange-dark, #d4850c);flex-shrink:0;white-space:nowrap;letter-spacing:.02em}.pchild-empty-section{text-align:center;padding:var(--space-lg, 16px)}.pchild-empty-section p{font-size:.85rem;color:var(--pchild-text-light);margin:0}.pchild-empty-section--exams{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 12px);padding:var(--space-xl, 20px) var(--space-lg, 16px);text-align:center}.pchild-empty-exams-icon{width:56px;height:56px;border-radius:var(--radius-md, 16px);display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--orange-soft, rgba(255, 169, 77, .12)) 0%,var(--purple-soft, rgba(139, 126, 200, .1)) 100%);color:var(--orange-dark, #d4850c)}.pchild-empty-exams-title{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9375rem;font-weight:800;letter-spacing:-.02em;line-height:1.3;color:var(--pchild-text-dark);margin:0}.pchild-empty-exams-hint{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:600;line-height:1.45;color:var(--pchild-text-light);margin:0;max-width:280px}.pchild-card--exams .pchild-card-title{font-size:1.0625rem;letter-spacing:-.022em}.pchild-gam-level{margin-bottom:var(--space-lg, 16px)}.pchild-gam-level-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-sm, 8px);margin-bottom:var(--space-sm, 8px)}.pchild-gam-level-num{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--pchild-text-dark)}.pchild-gam-level-name{font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--pchild-text-medium)}.pchild-gam-xp-wrap{display:flex;flex-direction:column;gap:6px}.pchild-gam-xp-bar{--pchild-xp-bar-h: 8px;height:var(--pchild-xp-bar-h);width:100%;min-width:0;box-sizing:border-box;background:color-mix(in srgb,var(--pchild-cream-dark) 92%,var(--pchild-text-light) 8%);border-radius:calc(var(--pchild-xp-bar-h) / 2);overflow:hidden;border:1px solid var(--border-medium, rgba(0, 0, 0, .08));box-shadow:none}.pchild-gam-xp-fill{display:block;height:100%;max-width:100%;background:linear-gradient(90deg,var(--purple-light, #b794f4) 0%,var(--pchild-purple) 100%);background-size:100% 100%;border-radius:0;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:none}.pchild-gam-xp-text{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--pchild-text-medium);text-align:right}.pchild-gam-points{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-lg, 16px);background:var(--orange-soft, rgba(255, 169, 77, .1));border:1px solid rgba(var(--orange-rgb, 255, 169, 77),.18);border-radius:var(--radius-md, 16px);margin-bottom:var(--space-lg, 16px)}.pchild-gam-points-icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--orange-dark, #d4850c)}.pchild-gam-points-value{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;color:var(--pchild-text-dark)}.pchild-gam-points-label{font-size:.8125rem;font-weight:600;line-height:1.2;color:var(--pchild-text-medium)}.pchild-gam-section-title{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:700;color:var(--pchild-text-medium);margin:0 0 var(--space-sm, 8px);text-transform:uppercase;letter-spacing:.06em;line-height:1.35}.pchild-gam-badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm, 8px);margin-bottom:var(--space-lg, 16px)}.pchild-gam-badge{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-md, 12px) var(--space-xs, 4px);border-radius:var(--radius-sm, 12px);text-align:center}.pchild-gam-badge.earned{background:color-mix(in srgb,var(--surface, #fff) 70%,var(--pink-soft, rgba(255, 107, 157, .1)) 30%);border:1px solid var(--border-light, rgba(0, 0, 0, .04))}.pchild-gam-badge.locked{background:var(--pchild-cream);opacity:.6}.pchild-gam-badge-icon{width:42px;height:42px;border-radius:50%;background:var(--purple-soft, rgba(139, 126, 200, .1));border:1px solid rgba(var(--purple-ai-rgb, 139, 126, 200),.22);display:flex;align-items:center;justify-content:center;color:var(--purple-dark, #6b5eaa);box-shadow:none}.pchild-gam-badge-icon svg{flex-shrink:0}.pchild-gam-badge-emoji{font-size:1.125rem;line-height:1}.pchild-gam-badge.locked .pchild-gam-badge-icon{background:var(--pchild-cream-dark);border-color:var(--border-medium, rgba(0, 0, 0, .08));color:var(--pchild-text-light)}.pchild-gam-badge-name{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.6875rem;font-weight:600;color:var(--pchild-text-dark);line-height:1.25;letter-spacing:.01em}.pchild-gam-streak-list{display:flex;flex-direction:column;gap:6px}.pchild-gam-streak-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:color-mix(in srgb,var(--pchild-cream, #faf7f4) 88%,var(--surface, #fff) 12%);border:1px solid var(--border-warm, #e8e0db);border-radius:var(--radius-md, 16px)}.pchild-gam-streak-item.at-risk{background:#ffc10712;border-color:#f59e0b47;animation:pchild-gam-streak-at-risk 2s ease-in-out infinite}.pchild-gam-streak-flame-wrap{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(180,60,0,.2))}.pchild-gam-flame-defs{position:absolute;width:0;height:0;overflow:hidden}.pchild-gam-streak-flame{flex-shrink:0}.pchild-gam-streak-item.at-risk .pchild-gam-streak-flame-wrap{filter:drop-shadow(0 1px 3px rgba(196,30,22,.25))}.pchild-gam-streak-type{flex:1;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:600;line-height:1.25;color:var(--pchild-text-dark)}.pchild-gam-streak-count{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--pchild-text-medium)}.pchild-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px)}.pchild-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm, 8px);min-height:96px;padding:var(--space-md, 12px) var(--space-sm, 8px);border:1px solid var(--border-warm, #e8e0db);background:var(--surface, #fff);border-radius:var(--radius-md, 16px);cursor:pointer;font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;box-shadow:var(--shadow-sm, 0 2px 8px rgba(255, 107, 157, .06));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pchild-action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover, 0 8px 25px rgba(0, 0, 0, .08));border-color:var(--border-warm-dark, #d8d0cb)}.pchild-action-btn:active{transform:translateY(0)}.pchild-action-icon{width:48px;height:48px;border-radius:var(--radius-md, 16px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pchild-action-icon svg{display:block}.pchild-action-icon--purple{background:var(--purple-soft, rgba(139, 126, 200, .1));color:var(--purple-dark, #6b5eaa);box-shadow:inset 0 1px #fff9}.pchild-action-icon--sage{background:var(--sage-soft, rgba(125, 181, 154, .1));color:var(--sage-dark, #5a9270);box-shadow:inset 0 1px #fff9}.pchild-action-icon--coral{background:rgba(var(--coral-rgb, 255, 138, 122),.12);color:var(--coral, #ff8a7a);box-shadow:inset 0 1px #fff9}.pchild-action-icon--orange{background:var(--orange-soft, rgba(255, 169, 77, .1));color:var(--orange-dark, #d4850c);box-shadow:inset 0 1px #fff9}.pchild-action-label{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;text-align:center;text-wrap:balance;max-width:11em;color:var(--pchild-text-dark)}.pchild-loading,.pchild-error,.pchild-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px var(--space-xl, 20px);text-align:center;gap:var(--space-md, 12px)}.pchild-loading p,.pchild-empty p{font-size:.875rem;color:var(--pchild-text-light);margin:0}.pchild-error p{font-size:.875rem;color:var(--pchild-coral);margin:0}.pchild-spinner{width:40px;height:40px;border:3px solid var(--pchild-cream-dark);border-top-color:var(--pchild-coral);border-radius:50%;animation:pchild-spin .8s linear infinite}.pchild-spinner-sm{width:20px;height:20px;border:2px solid var(--pchild-cream-dark);border-top-color:var(--pchild-purple);border-radius:50%;animation:pchild-spin .8s linear infinite}.pchild-detail-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) 0}.pchild-detail-loading span{font-size:.8rem;color:var(--pchild-text-light)}.pchild-retry-btn{padding:var(--space-md, 12px) var(--space-xxl, 24px);border-radius:var(--radius-sm, 12px);border:none;background:linear-gradient(135deg,var(--pchild-coral-light) 0%,var(--pchild-coral) 100%);color:#fff;font-size:.875rem;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 4px 12px #ff8a7a4d;transition:transform .2s ease,box-shadow .2s ease}.pchild-retry-btn:hover{transform:scale(1.05)}.pchild-retry-btn:active{transform:scale(.95)}.pchild-empty-icon{width:80px;height:80px;border-radius:50%;background:var(--pchild-cream-dark);display:flex;align-items:center;justify-content:center}@keyframes pchild-spin{to{transform:rotate(360deg)}}@keyframes pchild-gam-streak-at-risk{0%,to{border-color:#f59e0b38}50%{border-color:#f59e0b6b}}@keyframes pchild-flame-pulse{0%,to{opacity:1}50%{opacity:.72}}@media(prefers-reduced-motion:reduce){.pchild-ring-progress,.pchild-subject-bar,.pchild-hw-bar-seg,.pchild-gam-xp-fill{transition-duration:.01ms!important}.pchild-spinner,.pchild-spinner-sm{animation-duration:.01ms!important;animation-iteration-count:1!important}.pchild-flame,.pchild-gam-streak-item.at-risk{animation:none!important;border-color:#f59e0b52!important}.pchild-card:hover,.pchild-back-btn:hover,.pchild-back-btn:active,.pchild-action-btn:hover,.pchild-action-btn:active,.pchild-retry-btn:hover,.pchild-retry-btn:active{transform:none}}*:focus-visible{outline:2px solid var(--pchild-purple);outline-offset:2px}@media(forced-colors:active){.pchild-card,.pchild-hero{border:1px solid CanvasText}.pchild-ring-progress{stroke:LinkText}.pchild-subject-bar,.pchild-hw-bar-seg,.pchild-gam-xp-fill{background:LinkText!important}.pchild-card-icon,.pchild-action-icon,.pchild-gam-badge-icon{background:Canvas!important;border:1px solid CanvasText;color:CanvasText!important}}@media(max-width:375px){.pchild-content{padding:var(--space-lg, 16px) var(--space-lg, 16px)}.pchild-header{padding:var(--space-md, 12px) var(--space-lg, 16px)}.pchild-header-title{font-size:1.1rem}.pchild-hero-name{font-size:1.125rem}.pchild-hero-avatar{width:60px;height:60px}.pchild-hero-initials{font-size:1.25rem}.pchild-hero-level{min-width:24px;height:24px;font-size:.625rem;padding:0 5px}.pchild-hero-stat{padding:10px 6px 12px;gap:6px;min-height:100px}.pchild-hero-stat-icon{width:38px;height:38px}.pchild-hero-stat-icon svg{width:20px;height:20px}.pchild-hero-stat-value{font-size:1.25rem}.pchild-hero-class-badge{font-size:.75rem;padding:4px 8px}.pchild-subject-name{flex:0 1 72px;max-width:34%;font-size:.75rem}.pchild-acad-overall-value{font-size:1.75rem}.pchild-gam-badge-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-xs, 4px)}.pchild-actions-grid{gap:var(--space-sm, 8px)}.pchild-action-btn{min-height:88px;padding:var(--space-sm, 8px) var(--space-xs, 4px)}.pchild-action-label{font-size:.75rem}}.parent-messages-page,.parent-messages-content{--background: var(--cream, #F8F6FC)}.pm-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center}.pm-header-left{display:flex;align-items:center;gap:12px}.pm-header h1{font-size:28px;font-weight:800;color:var(--text-dark, #3D3D3D);margin:0;letter-spacing:-.5px}.pm-unread-badge{background:var(--pink, #8B7EC8);color:#fff;font-size:14px;font-weight:700;min-width:26px;height:26px;border-radius:13px;display:flex;align-items:center;justify-content:center;padding:0 8px;box-shadow:0 4px 12px var(--pink-soft, rgba(139, 126, 200, .3))}.pm-search-container{padding:0 24px 16px}.pm-search-bar{background:var(--white, #FFFFFF);border-radius:20px;padding:14px 18px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm, 0 2px 8px rgba(90, 70, 150, .06));border:1px solid var(--border-warm, #E0D8EC);transition:all .2s ease}.pm-search-bar:focus-within{box-shadow:var(--shadow-md, 0 4px 20px rgba(90, 70, 150, .08));border-color:var(--pink, #8B7EC8)}.pm-search-bar svg{color:var(--pink, #8B7EC8);flex-shrink:0}.pm-search-bar input{border:none;outline:none;background:transparent;width:100%;font-family:inherit;font-size:15px;font-weight:500;color:var(--text-dark, #3D3D3D)}.pm-search-bar input::placeholder{color:var(--text-light, #9B9B9B);font-weight:500}.pm-conversation-list{padding:0 20px 100px;display:flex;flex-direction:column;gap:12px}.pm-conversation-card{background:var(--white, #FFFFFF);border-radius:20px;padding:16px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow-sm, 0 2px 8px rgba(90, 70, 150, .06));cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1.5px solid transparent}.pm-conversation-card:active{transform:scale(.98)}.pm-conversation-card:hover{box-shadow:var(--shadow-md, 0 4px 20px rgba(90, 70, 150, .08))}.pm-conversation-card.unread{background:var(--white, #FFFFFF);border-color:var(--pink-light, #A699D4);box-shadow:var(--shadow-md, 0 4px 20px rgba(90, 70, 150, .08))}.pm-avatar{width:52px;height:52px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0;box-shadow:0 4px 12px #8b7ec833;letter-spacing:.5px}.pm-avatar.gradient-coral{background:linear-gradient(135deg,var(--pink, #8B7EC8),var(--pink-light, #A699D4))}.pm-avatar.gradient-sage{background:linear-gradient(135deg,var(--orange, #E8A838),var(--orange-lighter, #F0C878))}.pm-avatar.gradient-peach{background:linear-gradient(135deg,var(--coral, #A699D4),var(--pink-lighter, #C4BBE8))}.pm-avatar.gradient-purple{background:linear-gradient(135deg,var(--pink-dark, #6B5EAA),var(--pink, #8B7EC8))}.pm-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pm-card-top{display:flex;justify-content:space-between;align-items:center}.pm-card-title{font-size:17px;font-weight:700;color:var(--text-dark, #3D3D3D);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%;margin:0;letter-spacing:-.3px}.pm-card-time{font-size:13px;color:var(--text-light, #9B9B9B);font-weight:500;white-space:nowrap}.pm-card-preview{font-size:14px;color:var(--text-medium, #6B6B6B);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.4;font-weight:400}.pm-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.pm-card-sender{font-size:13px;color:var(--pink, #8B7EC8);font-weight:600}.pm-card-badge{background:var(--pink, #8B7EC8);color:#fff;font-size:12px;font-weight:800;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 6px #8b7ec866}.pm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.pm-loading-spinner{width:40px;height:40px;border:4px solid var(--pink-soft, rgba(139, 126, 200, .2));border-top-color:var(--pink, #8B7EC8);border-radius:50%;animation:pm-spin .8s ease-in-out infinite}@keyframes pm-spin{to{transform:rotate(360deg)}}.pm-loading p{color:var(--text-medium, #6B6B6B);font-size:16px;font-weight:600}.pm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.pm-empty-icon{width:88px;height:88px;border-radius:28px;background:var(--pink-soft, rgba(139, 126, 200, .1));display:flex;align-items:center;justify-content:center;margin-bottom:20px}.pm-empty-icon svg{color:var(--pink, #8B7EC8);width:40px;height:40px}.pm-empty h3{font-size:20px;font-weight:800;color:var(--text-dark, #3D3D3D);margin:0 0 10px;letter-spacing:-.3px}.pm-empty p{font-size:15px;color:var(--text-medium, #6B6B6B);line-height:1.5;margin:0;max-width:260px}.pm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.pm-error p{font-size:16px;color:var(--text-medium, #6B6B6B);margin-bottom:20px}.pm-error-btn{background:var(--pink, #8B7EC8);color:#fff;border:none;border-radius:14px;padding:14px 28px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #8b7ec84d;transition:transform .2s ease}.pm-error-btn:active{transform:scale(.95)}.pm-fab{position:fixed;bottom:100px;right:24px;width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,var(--pink, #8B7EC8),var(--pink-dark, #6B5EAA));color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #8b7ec866;cursor:pointer;z-index:10;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.pm-fab svg{width:26px;height:26px}.pm-fab:active{transform:scale(.9)}.parent-announcements-page{--pin-yellow: #ffd93d;--radius-full: 999px;--pa-header-deep: var(--purple-dark, #6b5eaa);--pa-header-mid: var(--purple-ai, #8b7ec8);--pa-header-soft: var(--purple-ai-light, #c4bbe8);--pa-gutter: var(--space-md);--pa-card-pad: var(--space-lg);--ion-background-color: var(--cream);font-family:Poppins,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1,"liga" 1}.parent-announcements-page ion-content.pa-announcements-content{--background: var(--cream);--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.parent-announcements-page ion-content.pa-announcements-content::part(scroll){padding:0!important}.parent-announcements-page .page-container{min-height:100vh;width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box;background-color:var(--cream);display:flex;flex-direction:column}.parent-announcements-page .header{background:linear-gradient(145deg,var(--pa-header-deep) 0%,var(--pa-header-mid) 60%,var(--pa-header-soft) 100%);width:100%;box-sizing:border-box;padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px));padding-bottom:var(--space-xl);padding-left:max(var(--space-md),env(safe-area-inset-left,0px));padding-right:max(var(--space-md),env(safe-area-inset-right,0px));border-radius:0 0 clamp(1.5rem,5vw,2.5rem) clamp(1.5rem,5vw,2.5rem);position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #6b5eaa33;display:flex;flex-direction:column;gap:var(--space-md)}.parent-announcements-page .header-top{display:flex;align-items:flex-start;width:100%;min-width:0}.parent-announcements-page .header-title{display:flex;align-items:flex-start;gap:var(--space-md);min-width:0;flex:1;width:100%}.parent-announcements-page .header-icon-wrap{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:#fff3;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000014}.parent-announcements-page .header-icon{font-size:24px;color:#fff}.parent-announcements-page .header-title-text{min-width:0}.parent-announcements-page .header h1{font-family:Poppins,DM Sans,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:#fff;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.15)}.parent-announcements-page .header-subtitle{font-family:DM Sans,sans-serif;margin:6px 0 0;font-size:.9rem;font-weight:500;line-height:1.4;color:#ffffffe6}.parent-announcements-page .search-container{display:flex;align-items:center;width:100%;box-sizing:border-box;background:#fff;border-radius:var(--radius-full);padding:12px var(--space-md);gap:var(--space-sm);border:1px solid rgba(255,255,255,.8);box-shadow:0 4px 12px #0000000d}.parent-announcements-page .search-icon{font-size:22px;color:var(--purple-dark, #6b5eaa);opacity:.8;flex-shrink:0}.parent-announcements-page .search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:1rem;font-weight:500;color:var(--text-dark);outline:none}.parent-announcements-page .search-input::placeholder{color:var(--text-medium);opacity:.8}.parent-announcements-page .filter-bar{padding-top:var(--space-md);padding-bottom:var(--space-md);padding-left:max(var(--pa-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--pa-gutter),env(safe-area-inset-right,0px));background:var(--cream);box-sizing:border-box;width:100%}.parent-announcements-page .filter-scroll{display:flex;gap:var(--space-sm);overflow-x:auto;padding-bottom:var(--space-sm);scrollbar-width:none;-ms-overflow-style:none}.parent-announcements-page .filter-scroll::-webkit-scrollbar{display:none}.parent-announcements-page .filter-chip{display:flex;align-items:center;gap:6px;padding:8px 18px;background:var(--surface, #fff);border:1px solid var(--border-warm, #e8e0db);border-radius:var(--radius-full);font-family:inherit;font-size:.875rem;font-weight:500;letter-spacing:.01em;color:var(--text-medium);white-space:nowrap;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px #00000005}.parent-announcements-page .filter-chip:hover{border-color:var(--purple-ai-light);background:#8b7ec814}.parent-announcements-page .filter-chip.active{background:var(--purple-ai);border-color:var(--purple-ai);color:#fff;box-shadow:0 4px 12px #8b7ec840}.parent-announcements-page .chip-icon-glyph{font-size:16px;flex-shrink:0;opacity:.9}.parent-announcements-page .filter-chip.active .chip-icon-glyph{opacity:1}.parent-announcements-page .chip-dot{width:8px;height:8px;border-radius:50%}.parent-announcements-page .unread-dot{background:var(--alert-red)}.parent-announcements-page .filter-chip.active .unread-dot{background:#fff}.parent-announcements-page .urgent-chip{color:var(--alert-red)}.parent-announcements-page .mark-all-read{display:block;margin-top:var(--space-sm);margin-left:auto;background:none;border:none;font-family:inherit;font-size:12px;color:var(--text-light);cursor:pointer;transition:color .2s ease}.parent-announcements-page .mark-all-read:hover{color:var(--purple-ai)}.parent-announcements-page .mark-all-read:disabled{opacity:.5;cursor:not-allowed}.parent-announcements-page .content{flex:1;width:100%;box-sizing:border-box;padding-bottom:100px;padding-left:max(var(--pa-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--pa-gutter),env(safe-area-inset-right,0px));overflow-y:auto}.parent-announcements-page .section{margin-bottom:var(--space-lg)}.parent-announcements-page .date-divider{display:flex;align-items:center;margin:var(--space-xl) 0 var(--space-md)}.parent-announcements-page .date-divider:before,.parent-announcements-page .date-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--cream-dark),transparent)}.parent-announcements-page .date-divider span{padding:0 var(--space-md);font-size:.85rem;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.05em}.parent-announcements-page .announcement-card{background:var(--surface, #fff);border-radius:var(--radius-lg);margin-bottom:var(--space-md);position:relative;overflow:hidden;border:1px solid var(--border-light, rgba(0, 0, 0, .04));box-shadow:0 4px 16px #0000000a,0 1px 3px #00000005;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;display:flex;flex-direction:column}.parent-announcements-page .announcement-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6b5eaa14,0 2px 8px #6b5eaa0a;border-color:rgba(var(--purple-ai-rgb),.2)}.parent-announcements-page .card-priority-border{position:absolute;left:0;top:0;bottom:0;width:4px}.parent-announcements-page .announcement-card.urgent .card-priority-border{background:var(--alert-red)}.parent-announcements-page .announcement-card.important .card-priority-border{background:var(--alert-orange)}.parent-announcements-page .announcement-card.pinned{border:1px solid var(--pinned-yellow-border, #ffe082);background:linear-gradient(145deg,#fff,#fff3cd66);box-shadow:0 4px 16px #ffd93d14,0 1px 3px #00000005}.parent-announcements-page .pin-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;background:var(--yellow-soft, rgba(255, 217, 61, .2));border:1px solid rgba(255,217,61,.4);color:var(--yellow-dark, #b7891b);font-size:14px;flex-shrink:0;box-shadow:0 2px 4px #ffd93d26}.parent-announcements-page .unread-indicator{position:absolute;top:14px;right:14px;width:12px;height:12px;background:var(--alert-red);border-radius:50%;box-shadow:0 0 0 4px #ff6b6b26;animation:parent-pulse 2s infinite}.parent-announcements-page .announcement-card.unread{background:linear-gradient(145deg,#fff,rgba(var(--purple-ai-rgb),.07))}.parent-announcements-page .announcement-card.unread .card-title{font-weight:700}.parent-announcements-page .announcement-card.read{opacity:.92}.parent-announcements-page .announcement-card.read .card-title{font-weight:500;color:var(--text-medium)}.parent-announcements-page .announcement-card.read .card-preview{color:var(--text-light)}.parent-announcements-page .card-content{padding:var(--pa-card-pad)}.parent-announcements-page .announcement-card.urgent .card-content,.parent-announcements-page .announcement-card.important .card-content{padding-left:calc(var(--pa-card-pad) + 4px)}.parent-announcements-page .card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-sm);row-gap:var(--space-xs);margin-bottom:var(--space-sm);width:100%;min-width:0}.parent-announcements-page .category-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-family:inherit;font-size:.75rem;font-weight:600;letter-spacing:.02em;line-height:1.25;min-width:0;max-width:100%;justify-self:start}.parent-announcements-page .category-tag-label{flex:1 1 0%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-announcements-page .category-tag-icon{font-size:14px;flex-shrink:0;opacity:.9}.parent-announcements-page .school-tag{background:var(--peach-light);color:#a8582f}.parent-announcements-page .admin-tag{background:var(--cream-dark);color:var(--text-medium)}.parent-announcements-page .class-tag{background:var(--purple-ai-light);color:#4a3e82}.parent-announcements-page .dept-tag,.parent-announcements-page .grade-tag{background:var(--sage-light);color:#3b664d}.parent-announcements-page .student-tag{background:#e0f2fe;color:#0369a1}.parent-announcements-page .teacher-tag{background:var(--purple-soft);color:var(--purple-dark)}.parent-announcements-page .parent-tag{background:var(--orange-soft);color:var(--orange-dark)}.parent-announcements-page .urgent-tag{background:var(--red-soft);color:var(--alert-red)}.parent-announcements-page .default-tag{background:var(--cream-dark);color:var(--text-medium)}.parent-announcements-page .card-badges{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end;justify-self:end;min-width:0}.parent-announcements-page .urgent-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:var(--alert-red);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-full);box-shadow:0 2px 6px rgba(var(--alert-red-rgb),.3);line-height:1.2}.parent-announcements-page .important-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:var(--alert-orange);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-full);box-shadow:0 2px 6px #ffb3474d;line-height:1.2}.parent-announcements-page .badge-icon{font-size:13px;flex-shrink:0}.parent-announcements-page .badge-icon--important{font-size:14px}.parent-announcements-page .pin-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:50%;background:var(--pinned-yellow, #fff3cd);border:1px solid var(--pinned-yellow-border, #ffe082);color:var(--yellow-dark, #b7891b);font-size:12px;flex-shrink:0;box-shadow:0 2px 4px #ffd93d1a}.parent-announcements-page .acknowledged-label{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--success-text, #2f855a);font-weight:600}.parent-announcements-page .acknowledged-label .ack-icon{font-size:15px;flex-shrink:0}.parent-announcements-page .card-title{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--text-dark);margin:0 0 var(--space-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.parent-announcements-page .card-preview{font-size:.95rem;font-weight:400;color:var(--text-medium);margin:0 0 var(--space-md);line-height:1.5;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.parent-announcements-page .card-meta{display:flex;align-items:center;justify-content:space-between}.parent-announcements-page .author{display:flex;align-items:center;gap:var(--space-sm)}.parent-announcements-page .avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;box-shadow:0 2px 6px #00000014}.parent-announcements-page .principal-avatar{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.parent-announcements-page .admin-avatar{background:linear-gradient(135deg,#9b9b9b,#b5b5b5)}.parent-announcements-page .teacher-avatar{background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%)}.parent-announcements-page .default-avatar{background:linear-gradient(135deg,var(--sage) 0%,var(--sage-light) 100%)}.parent-announcements-page .author-name{font-size:.9rem;font-weight:600;letter-spacing:.01em;color:var(--text-dark)}.parent-announcements-page .meta-right{display:flex;align-items:center;gap:var(--space-sm)}.parent-announcements-page .attachment{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--text-medium)}.parent-announcements-page .attachment-icon{font-size:16px;color:var(--purple-dark, #6b5eaa);opacity:.9}.parent-announcements-page .timestamp{font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-light);letter-spacing:.02em}.parent-announcements-page .acknowledge-btn{width:100%;margin-top:var(--space-md);padding:12px var(--pa-card-pad);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--pa-header-mid) 0%,var(--pa-header-soft) 100%);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:600;letter-spacing:.01em;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #6b5eaa59}.parent-announcements-page .ack-btn-icon{font-size:18px;flex-shrink:0}.parent-announcements-page .acknowledge-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b7ec866}.parent-announcements-page .acknowledge-btn:active{transform:translateY(0)}.parent-announcements-page .acknowledge-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.parent-announcements-page .loading-state,.parent-announcements-page .error-state,.parent-announcements-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl) var(--pa-gutter);text-align:center;min-height:300px}.parent-announcements-page .loading-spinner{width:48px;height:48px;border:4px solid var(--cream-dark);border-top-color:var(--purple-ai);border-radius:50%;animation:parent-spin 1s linear infinite;margin-bottom:var(--space-lg)}.parent-announcements-page .state-icon{font-size:48px;margin-bottom:var(--space-md)}.parent-announcements-page .state-title{font-size:16px;font-weight:600;color:var(--text-dark);margin:0 0 var(--space-sm)}.parent-announcements-page .state-message{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-lg)}.parent-announcements-page .retry-btn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,var(--purple-ai) 0%,var(--purple-ai-light) 100%);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.parent-announcements-page .retry-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b7ec84d}@keyframes parent-pulse{0%,to{box-shadow:0 0 #ff6b6b66}50%{box-shadow:0 0 0 8px #ff6b6b00}}@keyframes parent-spin{to{transform:rotate(360deg)}}@keyframes parent-bounce-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}50%{transform:translateY(5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.parent-announcements-page .announcement-card{animation:parent-bounce-in .4s ease-out}.parent-announcements-page .bottom-safe-area{height:80px;flex-shrink:0}@media(max-width:375px){.parent-announcements-page .header{padding-top:var(--space-md);padding-bottom:var(--space-sm)}.parent-announcements-page .filter-bar{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}}@media(min-width:900px){.parent-announcements-page .filter-bar,.parent-announcements-page .content{max-width:min(720px,100%);margin-inline:auto}}.sa-shell{display:flex;height:100vh;background:#f5f4ff;font-family:Nunito,sans-serif}.sa-sidebar{width:220px;min-width:220px;background:#3d2f7f;color:#fff;display:flex;flex-direction:column;padding:0}.sa-sidebar-header{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sa-sidebar-badge{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#ffffff80;margin-bottom:4px}.sa-sidebar-title{font-size:18px;font-weight:800;color:#fff}.sa-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.sa-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:10px;border:none;background:transparent;color:#ffffffa6;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:all .15s ease}.sa-nav-item:hover{background:#ffffff1a;color:#fff}.sa-nav-item.active{background:#ffffff2e;color:#fff}.sa-logout-btn{display:flex;align-items:center;gap:8px;margin:10px;padding:10px 12px;border-radius:10px;border:none;background:transparent;color:#ffffff73;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.sa-logout-btn:hover{background:#ffffff14;color:#fffc}.sa-main{flex:1;overflow-y:auto;padding:32px 36px}.sa-page-title{font-size:22px;font-weight:800;color:#1a1a2e;margin:0 0 24px}.sa-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:28px}.sa-stat-card{background:#fff;border-radius:14px;padding:18px 20px;border:1px solid #ece8ff}.sa-stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#8b7ec8;margin-bottom:6px}.sa-stat-value{font-size:30px;font-weight:800;color:#1a1a2e;line-height:1}.sa-stat-sub{font-size:11px;color:#999;margin-top:4px}.sa-card{background:#fff;border-radius:14px;border:1px solid #ece8ff;overflow:hidden;margin-bottom:20px}.sa-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0eeff}.sa-card-title{font-size:15px;font-weight:700;color:#1a1a2e;margin:0}.sa-table{width:100%;border-collapse:collapse;font-size:13px}.sa-table th{background:#faf9ff;padding:10px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#8b7ec8;border-bottom:1px solid #f0eeff}.sa-table td{padding:12px 16px;border-bottom:1px solid #f9f8ff;color:#333;vertical-align:middle}.sa-table tr:last-child td{border-bottom:none}.sa-table tr:hover td{background:#faf9ff}.sa-code-badge{background:#f0eeff;color:#5a4b8a;font-family:monospace;font-size:11px;padding:2px 7px;border-radius:5px}.sa-color-dot{width:14px;height:14px;border-radius:50%;display:inline-block;border:2px solid rgba(0,0,0,.08);vertical-align:middle;margin-right:6px}.sa-link-btn{background:none;border:none;color:#6b4fa0;font-weight:700;font-size:12px;cursor:pointer;padding:0;font-family:Nunito,sans-serif}.sa-link-btn:hover{text-decoration:underline}.sa-form{background:#fff;border-radius:14px;border:1px solid #ece8ff;padding:28px;max-width:600px}.sa-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sa-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.sa-field.full{grid-column:1 / -1}.sa-label{font-size:13px;font-weight:700;color:#444}.sa-input{height:42px;padding:0 14px;border:1.5px solid #ddd;border-radius:10px;font-family:Nunito,sans-serif;font-size:14px;color:#1a1a2e;background:#faf9ff;outline:none;transition:border-color .2s}.sa-input:focus{border-color:#8b7ec8;background:#fff}.sa-hint{font-size:11px;color:#999}.sa-btn{height:42px;padding:0 22px;border-radius:10px;border:none;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.sa-btn-primary{background:#6b4fa0;color:#fff}.sa-btn-primary:hover{background:#5a3f8a}.sa-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sa-btn-secondary{background:#f0eeff;color:#6b4fa0}.sa-btn-secondary:hover{background:#e4ddff}.sa-error{background:#fff0f0;border:1px solid #ffcccc;color:#c0392b;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px}.sa-action-bar{display:flex;align-items:center;gap:10px;margin-top:8px}.sa-role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 20px}.sa-role-cell{text-align:center}.sa-role-count{font-size:24px;font-weight:800;color:#1a1a2e}.sa-role-name{font-size:11px;color:#999;margin-top:2px}.sa-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6b4fa0;font-weight:700;font-size:13px;cursor:pointer;padding:0;font-family:Nunito,sans-serif;margin-bottom:20px}.sa-back-btn:hover{text-decoration:underline}.sa-logo-upload-zone{border:2px dashed #d0c8f0;border-radius:12px;background:#faf9ff;padding:24px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:center}.sa-logo-upload-zone:hover{border-color:#8b7ec8;background:#f0eeff}.sa-logo-upload-zone.uploading{cursor:default;opacity:.7}.sa-logo-status{display:flex;flex-direction:column;align-items:center;gap:8px}.sa-logo-img{max-height:72px;max-width:200px;object-fit:contain;border-radius:8px}.sa-logo-change{font-size:12px;color:#8b7ec8}.sa-spinner-sm{width:20px;height:20px;border:2px solid #e0d8f8;border-top-color:#6b4fa0;border-radius:50%;animation:sa-spin .7s linear infinite;display:inline-block}@keyframes sa-spin{to{transform:rotate(360deg)}}.sa-field-error{font-size:12px;color:#c0392b;margin-top:4px;display:block}.sa-section-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b4fa0;margin:0 0 12px}.sa-section-hint{font-size:13px;color:#888;margin:-8px 0 16px}.sa-credentials-banner{background:#faf9ff;border:1.5px solid #d0c8f0;border-radius:16px;padding:32px;max-width:520px;text-align:center}.sa-credentials-icon{width:52px;height:52px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#2e7d32}.sa-credentials-title{font-size:20px;font-weight:800;color:#1a1a2e;margin:0 0 8px}.sa-credentials-desc{font-size:13px;color:#666;margin:0 0 24px;line-height:1.6}.sa-credentials-box{background:#fff;border:1.5px solid #e0d8f8;border-radius:10px;padding:16px 20px;text-align:left;margin-bottom:20px}.sa-credentials-row{display:flex;gap:12px;align-items:center;padding:6px 0}.sa-credentials-row+.sa-credentials-row{border-top:1px solid #f0eeff}.sa-credentials-label{font-size:12px;color:#999;width:110px;flex-shrink:0}.sa-credentials-value{font-size:14px;font-weight:700;color:#1a1a2e;word-break:break-all}.sa-credentials-actions{display:flex;gap:10px;justify-content:center;margin-bottom:16px}.sa-credentials-warning{font-size:12px;color:#e67e22;margin:0}.sa-ai-total{font-size:28px;font-weight:800;color:#6b4fa0;padding:16px 20px 0}.sa-ai-sub{font-size:12px;color:#999;padding:0 20px 16px}.manager-side-nav{display:none}@media(min-width:1024px){.manager-side-nav{display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;width:240px;background:#fff;border-right:1px solid rgba(139,94,131,.12);box-shadow:2px 0 16px #643c5f0f;z-index:200;overflow-y:auto}[data-theme=manager] .bottom-nav{display:none}.manager-dashboard-page,.manager-announcements-page,.manager-analytics-page,.manager-users-page,.manager-profile-page,.bulk-add-page{padding-left:240px}}.side-nav-header{display:flex;align-items:center;gap:12px;padding:22px 20px;border-bottom:1px solid rgba(139,94,131,.08);flex-shrink:0}.side-nav-app-name{font-family:Nunito,sans-serif;font-size:14px;font-weight:800;color:#8b5e83;line-height:1.2;letter-spacing:-.01em}.side-nav-items{display:flex;flex-direction:column;padding:12px 10px;gap:2px;flex:1}.side-nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;border:none;border-left:3px solid transparent;background:none;cursor:pointer;color:#9b9b9b;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;text-align:left;width:100%;transition:background .15s ease,color .15s ease,border-color .15s ease}.side-nav-item:hover{color:#8b5e83;background:#8b5e830f}.side-nav-item.active{color:#8b5e83;background:#8b5e8317;border-left-color:#8b5e83;font-weight:700}.side-nav-item svg{flex-shrink:0;stroke-width:2px}.manager-dashboard-page{--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-base: all .25s ease;--transition-bounce: all .3s var(--ease-bounce)}.manager-dashboard-content{--background: var(--cream)}@keyframes mgr-dash-badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes mgr-dash-fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.manager-dashboard-page .app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--white);border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #00000008}.manager-dashboard-page .header-left{display:flex;align-items:center;gap:var(--space-sm)}.manager-dashboard-page .header-logo{display:flex;align-items:center;flex-shrink:0}.manager-dashboard-page .header-title{font-family:Poppins,Nunito,sans-serif;font-size:1.1rem;font-weight:600;color:var(--text-dark);letter-spacing:-.01em;margin:0}.manager-dashboard-page .header-right{display:flex;align-items:center;gap:var(--space-sm)}.manager-dashboard-page .header-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-medium);transition:var(--transition-base);position:relative;border:none;background:none;cursor:pointer;padding:0}.manager-dashboard-page .header-icon-btn:hover{background:var(--pink-soft);color:var(--pink)}.manager-dashboard-page .notification-btn{position:relative}.manager-dashboard-page .notification-badge{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--alert-red);color:var(--white);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;animation:mgr-dash-badgePulse 2s ease-in-out infinite}.manager-dashboard-page .dashboard-main{padding:var(--space-xl) var(--space-lg);padding-bottom:100px;max-width:1400px;margin:0 auto}.manager-dashboard-page .dashboard-container{display:flex;flex-direction:column;gap:var(--space-xl)}.manager-dashboard-page .widget{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);box-shadow:var(--shadow-card);transition:var(--transition-bounce);cursor:pointer;animation:mgr-dash-fadeInUp .4s ease both}.manager-dashboard-page .widget:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.manager-dashboard-page .widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.manager-dashboard-page .widget-title{font-family:Poppins,Nunito,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:var(--space-sm);margin:0}.manager-dashboard-page .widget-title-icon{font-size:1.1rem;line-height:1}.manager-dashboard-page .see-all-link{font-size:.8rem;font-weight:600;color:var(--pink);transition:var(--transition-base);white-space:nowrap;text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.manager-dashboard-page .see-all-link:hover{text-decoration:underline;color:var(--coral)}.manager-dashboard-page .widget-pulse{animation-delay:.05s}.manager-dashboard-page .widget-alerts{animation-delay:.1s}.manager-dashboard-page .widget-events{animation-delay:.15s}.manager-dashboard-page .widget-actions{animation-delay:.2s}.manager-dashboard-page .widget-announcements{animation-delay:.25s}.manager-dashboard-page .widget-engagement{animation-delay:.3s}.manager-dashboard-page .widget-feedback{animation-delay:.35s}.manager-dashboard-page .widget-pulse{background:linear-gradient(135deg,var(--white) 0%,var(--cream) 100%);box-shadow:var(--shadow-lg);padding:var(--space-xxl)}.manager-dashboard-page .widget-pulse-header{margin-bottom:var(--space-xl)}.manager-dashboard-page .pulse-date{font-family:Poppins,Nunito,sans-serif;font-size:1.15rem;font-weight:600;color:var(--text-dark);line-height:1.3;margin:0}.manager-dashboard-page .pulse-label{font-size:.82rem;color:var(--text-medium);margin-top:2px;display:block}.manager-dashboard-page .pulse-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.manager-dashboard-page .metric-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-lg) var(--space-md);border-radius:var(--radius-sm);background:#fffc;border:1px solid var(--pink-soft);transition:var(--transition-bounce)}.manager-dashboard-page .metric-card:hover{transform:translateY(-1px);border-color:rgba(var(--pink-rgb),.15)}.manager-dashboard-page .metric-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--pink-soft);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm);color:var(--pink)}.manager-dashboard-page .metric-icon-secondary{background:var(--orange-soft);color:var(--orange)}.manager-dashboard-page .metric-icon-accent{background:var(--yellow-soft);color:var(--yellow-dark)}.manager-dashboard-page .metric-value{font-family:Poppins,Nunito,sans-serif;font-size:1.6rem;font-weight:700;color:var(--pink);line-height:1.2}.manager-dashboard-page .metric-value.secondary{color:var(--orange)}.manager-dashboard-page .metric-value.accent{color:var(--yellow-dark)}.manager-dashboard-page .metric-label{font-size:.72rem;color:var(--text-medium);margin-top:2px;font-weight:500}.manager-dashboard-page .metric-ring{position:relative;width:80px;height:80px;margin-bottom:var(--space-sm)}.manager-dashboard-page .circular-chart{width:100%;height:100%;transform:rotate(-90deg)}.manager-dashboard-page .circle-bg{fill:none;stroke:var(--cream-dark);stroke-width:3}.manager-dashboard-page .circle-fill{fill:none;stroke:var(--pink);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .6s ease}.manager-dashboard-page .ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Poppins,Nunito,sans-serif;font-size:1.05rem;font-weight:700;color:var(--pink)}.manager-dashboard-page .widget-alerts{background:linear-gradient(160deg,var(--white) 0%,var(--cream) 55%,var(--white) 100%);box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.manager-dashboard-page .widget-alerts .widget-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.manager-dashboard-page .widget-alerts .widget-title{font-size:1rem;letter-spacing:-.02em;gap:var(--space-md)}.manager-dashboard-page .widget-title-icon-svg{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--orange-soft);color:var(--orange-dark);font-size:unset}.manager-dashboard-page .widget-title-icon-svg svg{flex-shrink:0}.manager-dashboard-page .alert-list{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.manager-dashboard-page .alert-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md);border-radius:var(--radius-sm);transition:var(--transition-base);border:1px solid transparent}.manager-dashboard-page .alert-red{background:var(--danger-bg);border-color:rgba(var(--alert-red-rgb),.12)}.manager-dashboard-page .alert-yellow{background:var(--warning-bg);border-color:rgba(var(--orange-rgb),.14)}.manager-dashboard-page .alert-green{background:var(--success-bg);border-color:rgba(var(--sage-rgb),.18)}.manager-dashboard-page .alert-item:hover{transform:translate(2px);border-color:#0000000f}.manager-dashboard-page .alert-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);flex-shrink:0}.manager-dashboard-page .alert-red .alert-item-icon{background:var(--red-soft);color:var(--danger-text)}.manager-dashboard-page .alert-yellow .alert-item-icon{background:var(--orange-soft);color:var(--warning-text)}.manager-dashboard-page .alert-green .alert-item-icon{background:var(--sage-soft);color:var(--sage-dark)}.manager-dashboard-page .alert-text{font-family:Nunito,Poppins,sans-serif;font-size:.8125rem;color:var(--text-dark);line-height:1.45;font-weight:500;letter-spacing:-.01em}.manager-dashboard-page .widget-events{background:linear-gradient(160deg,var(--white) 0%,var(--cream) 55%,var(--white) 100%);box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.manager-dashboard-page .widget-events-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.manager-dashboard-page .widget-events-heading{display:flex;align-items:flex-start;gap:var(--space-md)}.manager-dashboard-page .widget-events-heading-text{display:flex;flex-direction:column;gap:2px;min-width:0}.manager-dashboard-page .widget-events-title{margin:0;font-size:1rem;letter-spacing:-.02em}.manager-dashboard-page .widget-events-title-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--purple-soft);color:var(--purple-dark);flex-shrink:0}.manager-dashboard-page .widget-events-title-icon svg{flex-shrink:0}.manager-dashboard-page .widget-events-meta{font-family:Nunito,Poppins,sans-serif;font-size:.75rem;font-weight:500;color:var(--text-medium);line-height:1.35;margin:0;letter-spacing:.01em}.manager-dashboard-page .widget-events .widget-header{margin-bottom:0}.manager-dashboard-page .timeline{display:flex;flex-direction:column;gap:var(--space-sm);position:relative;padding-left:calc(var(--space-lg) + 6px);margin:0}.manager-dashboard-page .timeline:before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:linear-gradient(to bottom,var(--pink),rgba(var(--pink-rgb),.35) 50%,var(--cream-dark));border-radius:2px}.manager-dashboard-page .timeline-item{display:flex;align-items:stretch;gap:var(--space-md);position:relative;padding:0}.manager-dashboard-page .timeline-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--cream-dark);border:2px solid var(--border-warm);flex-shrink:0;margin-top:14px;position:absolute;left:calc(6px - var(--space-lg) - 6px);z-index:1}.manager-dashboard-page .timeline-active .timeline-dot{background:var(--pink);border-color:var(--pink);box-shadow:0 0 0 3px var(--pink-soft)}.manager-dashboard-page .timeline-panel{flex:1;min-width:0;padding:var(--space-md) var(--space-md);border-radius:var(--radius-sm);background:var(--pink-softer);border:1px solid var(--border-light);transition:var(--transition-base)}.manager-dashboard-page .timeline-item:not(.timeline-active) .timeline-panel{background:rgba(var(--purple-ai-rgb),.04);border-color:#0000000a}.manager-dashboard-page .timeline-active .timeline-panel{background:var(--pink-soft);border-color:rgba(var(--pink-rgb),.14)}.manager-dashboard-page .timeline-panel:hover{border-color:#00000012}.manager-dashboard-page .timeline-content{display:flex;flex-direction:column;gap:var(--space-xs)}.manager-dashboard-page .timeline-time-wrap{display:inline-flex;align-items:center;gap:6px}.manager-dashboard-page .timeline-time-icon{display:flex;align-items:center;justify-content:center;color:var(--text-light);flex-shrink:0}.manager-dashboard-page .timeline-active .timeline-time-icon{color:var(--pink)}.manager-dashboard-page .timeline-item:not(.timeline-active) .timeline-time-icon{color:var(--text-medium)}.manager-dashboard-page .timeline-time{font-family:Poppins,Nunito,sans-serif;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--pink)}.manager-dashboard-page .timeline-active .timeline-time{color:var(--pink-dark)}.manager-dashboard-page .timeline-item:not(.timeline-active) .timeline-time{color:var(--text-dark)}.manager-dashboard-page .timeline-desc{font-family:Nunito,Poppins,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-dark);line-height:1.45;letter-spacing:-.01em}.manager-dashboard-page .widget-actions{cursor:default;padding:var(--space-xl);background:var(--white);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.manager-dashboard-page .widget-actions .widget-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.manager-dashboard-page .widget-actions .widget-title{font-size:1rem;font-weight:600;letter-spacing:-.02em;gap:var(--space-md)}.manager-dashboard-page .widget-actions-title-icon{background:var(--pink-soft);color:var(--pink-dark)}.manager-dashboard-page .actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.manager-dashboard-page .action-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);min-height:96px;border-radius:var(--radius-sm);border-width:1px;border-style:solid;cursor:pointer;transition:var(--transition-bounce);font-family:Nunito,Poppins,sans-serif;color:var(--text-dark);-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm)}.manager-dashboard-page .action-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.manager-dashboard-page .action-tile:active{transform:translateY(0)}.manager-dashboard-page .action-tile-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0}.manager-dashboard-page .action-tile-label{font-family:Poppins,Nunito,sans-serif;font-size:.8125rem;font-weight:600;line-height:1.25;letter-spacing:-.02em;color:var(--text-dark);max-width:100%;padding:0 var(--space-xs)}.manager-dashboard-page .action-tile-primary{background:var(--pink-soft);border-color:rgba(var(--pink-rgb),.28)}.manager-dashboard-page .action-tile-primary .action-tile-icon{background:var(--white);color:var(--pink)}.manager-dashboard-page .action-tile-primary:hover{border-color:rgba(var(--pink-rgb),.42);box-shadow:0 6px 20px rgba(var(--pink-rgb),.18)}.manager-dashboard-page .action-tile-secondary{background:var(--orange-soft);border-color:rgba(var(--orange-rgb),.3)}.manager-dashboard-page .action-tile-secondary .action-tile-icon{background:var(--white);color:var(--orange)}.manager-dashboard-page .action-tile-secondary:hover{border-color:rgba(var(--orange-rgb),.45);box-shadow:0 6px 20px rgba(var(--orange-rgb),.16)}.manager-dashboard-page .action-tile-tertiary{background:var(--purple-soft);border-color:rgba(var(--purple-ai-rgb),.28)}.manager-dashboard-page .action-tile-tertiary .action-tile-icon{background:var(--white);color:var(--purple-ai)}.manager-dashboard-page .action-tile-tertiary:hover{border-color:rgba(var(--purple-ai-rgb),.4);box-shadow:0 6px 20px rgba(var(--purple-ai-rgb),.14)}.manager-dashboard-page .widget-announcements{cursor:default;background:linear-gradient(160deg,var(--white) 0%,var(--cream) 55%,var(--white) 100%);box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.manager-dashboard-page .widget-announcements .widget-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-light)}.manager-dashboard-page .widget-announcements .widget-title{font-size:1rem;letter-spacing:-.02em;gap:var(--space-md)}.manager-dashboard-page .widget-announcements-title-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--pink-soft);color:var(--pink-dark);font-size:unset}.manager-dashboard-page .widget-announcements-title-icon svg{flex-shrink:0}.manager-dashboard-page .see-all-link-with-icon{display:inline-flex;align-items:center;gap:2px;font-family:Nunito,Poppins,sans-serif;font-size:.8125rem;font-weight:600}.manager-dashboard-page .see-all-link-with-icon svg{flex-shrink:0;opacity:.9}.manager-dashboard-page .announcement-list{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.manager-dashboard-page .announcement-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md);border-radius:var(--radius-sm);border:1px solid transparent;transition:var(--transition-base)}.manager-dashboard-page .announcement-item:hover{transform:translate(2px);border-color:#0000000f}.manager-dashboard-page .ann-row-sage{background:var(--success-bg);border-color:rgba(var(--sage-rgb),.18)}.manager-dashboard-page .ann-row-orange{background:var(--warning-bg);border-color:rgba(var(--orange-rgb),.14)}.manager-dashboard-page .ann-row-purple{background:var(--purple-soft);border-color:rgba(var(--purple-ai-rgb),.2)}.manager-dashboard-page .announcement-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);flex-shrink:0}.manager-dashboard-page .ann-row-sage .announcement-item-icon{background:var(--sage-soft);color:var(--sage-dark)}.manager-dashboard-page .ann-row-orange .announcement-item-icon{background:var(--orange-soft);color:var(--warning-text)}.manager-dashboard-page .ann-row-purple .announcement-item-icon{background:rgba(var(--purple-ai-rgb),.12);color:var(--purple-dark)}.manager-dashboard-page .announcement-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.manager-dashboard-page .announcement-title{font-family:Nunito,Poppins,sans-serif;font-size:.8125rem;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-dashboard-page .announcement-bar-wrap{width:100%;height:5px;border-radius:5px;background:#ffffffa6;box-shadow:inset 0 1px 2px #0000000a;overflow:hidden}.manager-dashboard-page .ann-row-sage .announcement-bar-wrap{background:#ffffff8c}.manager-dashboard-page .ann-row-orange .announcement-bar-wrap{background:#ffffff80}.manager-dashboard-page .ann-row-purple .announcement-bar-wrap{background:#ffffff8c}.manager-dashboard-page .announcement-bar{height:100%;border-radius:5px;transition:width .6s ease}.manager-dashboard-page .bar-green{background:linear-gradient(90deg,var(--sage),var(--sage-light))}.manager-dashboard-page .bar-yellow{background:linear-gradient(90deg,var(--orange),var(--orange-lighter))}.manager-dashboard-page .bar-red{background:linear-gradient(90deg,var(--alert-red),var(--coral-light))}.manager-dashboard-page .announcement-read{font-family:Poppins,Nunito,sans-serif;font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;padding:5px 11px;border-radius:100px;flex-shrink:0;align-self:center}.manager-dashboard-page .read-green{color:var(--success-text);background:#48bb7824}.manager-dashboard-page .read-yellow{color:var(--warning-text);background:#f6ad552e}.manager-dashboard-page .widget-engagement{background:linear-gradient(135deg,var(--white) 0%,var(--cream) 100%);box-shadow:var(--shadow-card)}.manager-dashboard-page .widget-header-engagement{margin-bottom:var(--space-md)}.manager-dashboard-page .widget-engagement .widget-title-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:var(--pink-soft);color:var(--pink-dark);flex-shrink:0}.manager-dashboard-page .widget-engagement .widget-title-icon-wrap svg{display:block}.manager-dashboard-page .engagement-rows{display:flex;flex-direction:column;gap:var(--space-lg)}.manager-dashboard-page .engagement-row{display:flex;flex-direction:column;gap:var(--space-xs)}.manager-dashboard-page .engagement-row-top{display:flex;align-items:center;gap:var(--space-sm)}.manager-dashboard-page .engagement-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);flex-shrink:0;color:var(--text-medium)}.manager-dashboard-page .engagement-row-parents .engagement-avatar{color:var(--pink-dark);background:var(--pink-soft)}.manager-dashboard-page .engagement-row-students .engagement-avatar{color:var(--orange-dark);background:var(--orange-soft)}.manager-dashboard-page .engagement-row-teachers .engagement-avatar{color:var(--yellow-dark);background:var(--yellow-soft)}.manager-dashboard-page .engagement-type{font-family:Poppins,Nunito,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-medium);flex:1;min-width:0}.manager-dashboard-page .engagement-pct{font-family:Poppins,Nunito,sans-serif;font-size:.9rem;font-weight:700;line-height:1.2;color:var(--text-dark);font-variant-numeric:tabular-nums;flex-shrink:0}.manager-dashboard-page .trend-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:var(--radius-full)}.manager-dashboard-page .trend-badge svg{display:block}.manager-dashboard-page .trend-up{color:var(--sage);background:#7db59a26}.manager-dashboard-page .trend-stable{color:var(--text-light);background:#9b9b9b1f}.manager-dashboard-page .trend-down{color:var(--alert-red);background:var(--red-soft)}.manager-dashboard-page .engagement-bar-wrap{width:100%;height:8px;border-radius:8px;background:var(--cream-dark);overflow:hidden}.manager-dashboard-page .engagement-bar{height:100%;border-radius:8px;transition:width .8s ease}.manager-dashboard-page .eng-parents{background:linear-gradient(90deg,var(--pink),var(--pink-light))}.manager-dashboard-page .eng-students{background:linear-gradient(90deg,var(--orange),var(--orange-lighter))}.manager-dashboard-page .eng-teachers{background:linear-gradient(90deg,var(--yellow-dark),var(--yellow))}.manager-dashboard-page .feedback-content{display:flex;flex-direction:column;gap:var(--space-md)}.manager-dashboard-page .feedback-count{font-size:.9rem;color:var(--text-medium);line-height:1.5;margin:0}.manager-dashboard-page .feedback-count strong{color:var(--text-dark);font-weight:700}.manager-dashboard-page .feedback-pills{display:flex;gap:var(--space-sm);flex-wrap:wrap}.manager-dashboard-page .feedback-pill{font-size:.78rem;font-weight:600;padding:5px 14px;border-radius:100px}.manager-dashboard-page .pill-facilities{background:var(--purple-soft);color:var(--purple-ai)}.manager-dashboard-page .pill-staff{background:#ff8a7a1a;color:var(--coral)}.manager-dashboard-page .widgets-grid{display:flex;flex-direction:column;gap:var(--space-xl)}.manager-dashboard-page .dashboard-main::-webkit-scrollbar{width:6px}.manager-dashboard-page .dashboard-main::-webkit-scrollbar-track{background:transparent}.manager-dashboard-page .dashboard-main::-webkit-scrollbar-thumb{background:var(--cream-dark);border-radius:6px}.manager-dashboard-page .dashboard-main::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media(min-width:768px){.manager-dashboard-page .app-header{padding:var(--space-lg) 32px}.manager-dashboard-page .dashboard-main{padding:var(--space-xxl) var(--space-xxl);padding-bottom:100px}.manager-dashboard-page .widget{padding:var(--space-xxl)}.manager-dashboard-page .widget-pulse{padding:32px}.manager-dashboard-page .pulse-date{font-size:1.3rem}.manager-dashboard-page .pulse-metrics{grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.manager-dashboard-page .metric-value{font-size:1.9rem}.manager-dashboard-page .metric-ring{width:92px;height:92px}.manager-dashboard-page .ring-text{font-size:1.12rem}.manager-dashboard-page .widgets-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xxl)}.manager-dashboard-page .widget-full{grid-column:1 / -1}.manager-dashboard-page .action-btn{padding:var(--space-lg) var(--space-xxl);font-size:.9rem}}@media(min-width:1024px){.manager-dashboard-page .header-title{font-size:1.25rem}.manager-dashboard-page .dashboard-main{padding:32px 32px 100px}.manager-dashboard-page .dashboard-container,.manager-dashboard-page .widgets-grid{gap:var(--space-xxl)}.manager-dashboard-page .pulse-date{font-size:1.4rem}.manager-dashboard-page .metric-value{font-size:2.1rem}.manager-dashboard-page .metric-ring{width:100px;height:100px}.manager-dashboard-page .ring-text{font-size:1.2rem}.manager-dashboard-page .metric-label{font-size:.8rem}.manager-dashboard-page .alert-text{font-size:.9rem}.manager-dashboard-page .timeline-desc,.manager-dashboard-page .timeline-time{font-size:.875rem}.manager-dashboard-page .widget-events-meta{font-size:.78rem}.manager-dashboard-page .announcement-title{font-size:.875rem}.manager-dashboard-page .widget-title{font-size:1.05rem}.manager-dashboard-page .action-btn{padding:var(--space-lg) 32px;font-size:.95rem}}@media(min-width:1280px){.manager-dashboard-page .dashboard-main{padding:40px 48px 100px}.manager-dashboard-page .widget{padding:32px}.manager-dashboard-page .widget-pulse{padding:36px}.manager-dashboard-page .pulse-metrics{gap:var(--space-xl)}.manager-dashboard-page .metric-card{padding:var(--space-xl) var(--space-lg)}.manager-dashboard-page .alert-item,.manager-dashboard-page .announcement-item{padding:var(--space-lg) var(--space-xl)}.manager-dashboard-page .engagement-rows{gap:var(--space-lg)}}@media print{.manager-dashboard-page .app-header{display:none}.manager-dashboard-page .dashboard-main{padding:0}.manager-dashboard-page .widget{box-shadow:none;border:1px solid var(--cream-dark);break-inside:avoid}}.manager-announcements-page{--font-heading: "Poppins", "Nunito", system-ui, sans-serif;--font-body: "DM Sans", "Nunito", system-ui, sans-serif}.manager-announcements-content{--background: var(--cream)}.manager-announcements-page .app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff9f5eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(var(--pink-rgb),.06);flex-shrink:0;min-height:56px}.manager-announcements-page .header-left{display:flex;align-items:center;gap:10px}.manager-announcements-page .header-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0}.manager-announcements-page .header-title{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--text-dark);letter-spacing:-.3px;margin:0}.manager-announcements-page .header-right{display:flex;align-items:center;gap:8px}.manager-announcements-page .header-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--white);color:var(--text-dark);box-shadow:var(--shadow-sm);border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;position:relative}.manager-announcements-page .header-icon-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.manager-announcements-page .notification-badge{position:absolute;top:3px;right:3px;background:var(--pink);color:var(--white);font-size:10px;font-weight:800;font-family:var(--font-heading);width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}.manager-announcements-page .tab-bar{display:flex;align-items:center;gap:0;padding:0 16px;background:var(--white);border-bottom:1px solid var(--border-light);flex-shrink:0}.manager-announcements-page .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;border:none;background:none;cursor:pointer;color:var(--text-medium);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1px;position:relative;transition:color .25s ease}.manager-announcements-page .tab-item:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;border-radius:3px 3px 0 0;background:var(--pink);transition:width .3s cubic-bezier(.34,1.56,.64,1)}.manager-announcements-page .tab-item.tab-active{color:var(--pink)}.manager-announcements-page .tab-item.tab-active:after{width:70%}.manager-announcements-page .tab-item svg{flex-shrink:0}.manager-announcements-page .main-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.manager-announcements-page .tab-panel{display:none;padding:20px 16px;animation:mgr-ann-fadeSlideIn .3s ease}.manager-announcements-page .tab-panel-active{display:block}@keyframes mgr-ann-fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.manager-announcements-page .form-section{margin-bottom:20px}.manager-announcements-page .section-label{display:block;font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:10px;letter-spacing:-.1px}.manager-announcements-page .priority-selector{display:flex;gap:8px}.manager-announcements-page .priority-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border-radius:var(--radius-md);border:1.5px solid var(--border-input);background:var(--white);color:var(--text-medium);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.manager-announcements-page .priority-pill:hover{transform:scale(1.02);border-color:#00000026}.manager-announcements-page .priority-pill.priority-active{background:var(--pink-soft);border-color:var(--pink);color:var(--pink)}.manager-announcements-page .priority-pill.priority-important.priority-active{background:var(--orange-soft);border-color:var(--orange);color:var(--orange-dark)}.manager-announcements-page .priority-pill.priority-emergency.priority-active{background:var(--red-soft);border-color:var(--alert-red);color:var(--alert-red);animation:mgr-ann-emergencyPulse 2s ease-in-out infinite}@keyframes mgr-ann-emergencyPulse{0%,to{box-shadow:0 0 #ff6b6b00}50%{box-shadow:0 0 0 4px #ff6b6b26}}.manager-announcements-page .emergency-note{margin-top:10px;padding:10px 14px;background:var(--red-soft);border-radius:var(--radius-md);font-size:12px;color:var(--alert-red);font-weight:500;line-height:1.5;border-left:3px solid var(--alert-red)}.manager-announcements-page .audience-chips{display:flex;flex-wrap:wrap;gap:8px}.manager-announcements-page .audience-chip{display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--radius-xl);border:1.5px solid var(--border-medium);background:var(--white);color:var(--text-medium);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.manager-announcements-page .audience-chip:hover{border-color:rgba(var(--pink-rgb),.3);background:rgba(var(--pink-rgb),.04)}.manager-announcements-page .audience-chip.chip-active{background:var(--pink);border-color:var(--pink);color:var(--white);box-shadow:0 2px 10px rgba(var(--pink-rgb),.3)}.manager-announcements-page .chip-emoji{font-size:14px;line-height:1}.manager-announcements-page .recipient-count{display:flex;align-items:center;gap:6px;margin-top:12px;padding:10px 14px;background:linear-gradient(135deg,rgba(var(--pink-rgb),.06),rgba(var(--orange-rgb),.06));border-radius:var(--radius-md);font-size:13px;color:var(--text-medium);font-weight:500}.manager-announcements-page .recipient-count strong{color:var(--pink);font-weight:700}.manager-announcements-page .recipient-count svg{color:var(--pink);flex-shrink:0}.manager-announcements-page .composer-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.manager-announcements-page .composer-title{display:block;width:100%;border:none;outline:none;padding:16px 16px 10px;font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--text-dark);background:transparent;letter-spacing:-.2px}.manager-announcements-page .composer-title::placeholder{color:var(--text-light)}.manager-announcements-page .formatting-toolbar{display:flex;align-items:center;gap:2px;padding:4px 12px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.manager-announcements-page .format-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-medium);cursor:pointer;transition:all .15s ease}.manager-announcements-page .format-btn:hover{background:var(--pink-soft);color:var(--pink)}.manager-announcements-page .composer-body{display:block;width:100%;min-height:120px;border:none;outline:none;padding:12px 16px;font-family:var(--font-body);font-size:15px;color:var(--text-dark);background:transparent;resize:vertical;line-height:1.6}.manager-announcements-page .composer-body::placeholder{color:var(--text-light)}.manager-announcements-page .attachment-zone{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 16px 16px;padding:16px;border:2px dashed var(--border-input);border-radius:var(--radius-md);color:var(--text-light);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.manager-announcements-page .attachment-zone:hover{border-color:var(--pink);color:var(--pink);background:rgba(var(--pink-rgb),.03)}.manager-announcements-page .options-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:4px 0;overflow:hidden}.manager-announcements-page .option-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px}.manager-announcements-page .option-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.manager-announcements-page .option-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.manager-announcements-page .option-label{display:block;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-dark)}.manager-announcements-page .option-desc{display:block;font-size:12px;color:var(--text-medium);margin-top:1px}.manager-announcements-page .option-divider{height:1px;background:var(--border-light);margin:0 16px}.manager-announcements-page .toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.manager-announcements-page .toggle-input{opacity:0;width:0;height:0;position:absolute}.manager-announcements-page .toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--toggle-off);border-radius:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.manager-announcements-page .toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:2px;bottom:2px;background:#fff;border-radius:var(--radius-full);transition:transform .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px #00000026}.manager-announcements-page .toggle-input:checked+.toggle-slider{background:var(--pink)}.manager-announcements-page .toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.manager-announcements-page .toggle-input:focus-visible+.toggle-slider{outline:2px solid var(--pink);outline-offset:2px}.manager-announcements-page .schedule-picker{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 16px}.manager-announcements-page .schedule-picker.picker-open{max-height:100px;padding:12px 16px 16px}.manager-announcements-page .picker-row{display:flex;gap:12px}.manager-announcements-page .picker-field{flex:1}.manager-announcements-page .picker-label{display:block;font-size:11px;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.manager-announcements-page .picker-input{display:block;width:100%;padding:8px 12px;border:1.5px solid var(--border-input);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;color:var(--text-dark);background:var(--cream);outline:none;transition:border-color .2s ease}.manager-announcements-page .picker-input:focus{border-color:var(--pink)}.manager-announcements-page .form-actions{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:12px}.manager-announcements-page .btn-send{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 24px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--pink),var(--pink-light));color:var(--white);font-family:var(--font-heading);font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(var(--pink-rgb),.35);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.manager-announcements-page .btn-send:hover{transform:scale(1.02) translateY(-1px);box-shadow:0 6px 24px rgba(var(--pink-rgb),.45)}.manager-announcements-page .btn-send:active{transform:scale(.98)}.manager-announcements-page .btn-draft{background:none;border:none;color:var(--text-medium);font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:var(--radius-sm);transition:all .2s ease}.manager-announcements-page .btn-draft:hover{color:var(--text-dark);background:var(--border-light)}.manager-announcements-page .filter-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px;-ms-overflow-style:none;scrollbar-width:none}.manager-announcements-page .filter-bar::-webkit-scrollbar{display:none}.manager-announcements-page .filter-chip{flex-shrink:0;padding:7px 16px;border-radius:var(--radius-xl);border:1.5px solid var(--border-medium);background:var(--white);color:var(--text-medium);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.manager-announcements-page .filter-chip:hover{border-color:var(--pink);color:var(--pink)}.manager-announcements-page .filter-chip.filter-active{background:var(--pink);border-color:var(--pink);color:var(--white)}.manager-announcements-page .filter-chip.filter-red{color:var(--alert-red);border-color:#ff6b6b33}.manager-announcements-page .filter-chip.filter-red:hover{background:var(--red-soft);border-color:var(--alert-red)}.manager-announcements-page .filter-chip.filter-orange{color:var(--orange-dark);border-color:rgba(var(--orange-rgb),.2)}.manager-announcements-page .filter-chip.filter-orange:hover{background:var(--orange-soft);border-color:var(--orange)}.manager-announcements-page .cards-list{display:flex;flex-direction:column;gap:12px}.manager-announcements-page .announcement-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease;cursor:pointer}.manager-announcements-page .announcement-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.manager-announcements-page .announcement-card.card-priority-emergency{box-shadow:var(--shadow-card),inset 3px 0 0 var(--alert-red)}.manager-announcements-page .announcement-card.card-priority-emergency:hover{box-shadow:var(--shadow-card-hover),inset 3px 0 0 var(--alert-red)}.manager-announcements-page .announcement-card.card-priority-important{box-shadow:var(--shadow-card),inset 3px 0 0 var(--orange)}.manager-announcements-page .announcement-card.card-priority-important:hover{box-shadow:var(--shadow-card-hover),inset 3px 0 0 var(--orange)}.manager-announcements-page .card-header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;min-height:0;padding:0;line-height:1.15}.manager-announcements-page .announcement-card:not(.scheduled-card) .card-header{white-space:nowrap}.manager-announcements-page .priority-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-xl);font-size:10px;font-weight:700;font-family:var(--font-heading);letter-spacing:.2px;text-transform:uppercase;line-height:1.1;flex-shrink:0}.manager-announcements-page .badge-emergency{background:var(--red-soft);color:var(--alert-red)}.manager-announcements-page .badge-important{background:var(--orange-soft);color:var(--orange-dark)}.manager-announcements-page .card-date{font-family:var(--font-body);font-size:11px;color:var(--text-medium);font-weight:500;margin-left:auto;letter-spacing:.01em;line-height:1.2;white-space:nowrap}.manager-announcements-page .announcement-card:not(.scheduled-card) .card-date{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.manager-announcements-page .card-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--text-dark);margin:0 0 6px;letter-spacing:-.02em;line-height:1.35}.manager-announcements-page .card-preview{font-family:var(--font-body);font-size:13px;color:var(--text-medium);line-height:1.55;margin:0 0 var(--space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.manager-announcements-page .card-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.manager-announcements-page .audience-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;background:var(--pink-soft);color:var(--pink);border-radius:var(--radius-xl);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.02em}.manager-announcements-page .audience-tag__glyph{flex-shrink:0;color:var(--pink);opacity:.92}.manager-announcements-page .audience-tag__label{line-height:1.25}.manager-announcements-page .ack-status{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:12px;color:var(--sage-dark);font-weight:600}.manager-announcements-page .ack-status__icon{flex-shrink:0;color:var(--success-green)}.manager-announcements-page .read-receipt{margin-top:2px}.manager-announcements-page .read-bar{height:6px;background:var(--cream-dark);border-radius:6px;overflow:hidden;margin-bottom:var(--space-sm)}.manager-announcements-page .read-fill{height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--pink) 0%,var(--orange) 100%);animation:mgr-ann-fillBar 1.2s ease forwards;animation-delay:.3s}@keyframes mgr-ann-fillBar{to{width:var(--fill-width)}}.manager-announcements-page .announcement-card:nth-child(2) .read-fill{animation-delay:.5s}.manager-announcements-page .announcement-card:nth-child(3) .read-fill{animation-delay:.7s}.manager-announcements-page .announcement-card:nth-child(4) .read-fill{animation-delay:.9s}.manager-announcements-page .announcement-card:nth-child(5) .read-fill{animation-delay:1.1s}.manager-announcements-page .read-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.manager-announcements-page .read-stat{display:inline-flex;align-items:center;gap:6px;min-width:0}.manager-announcements-page .read-stat__icon{flex-shrink:0;color:var(--text-medium);opacity:.88}.manager-announcements-page .read-stat__main{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-dark);letter-spacing:-.01em}.manager-announcements-page .read-stat__detail{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--text-medium);font-variant-numeric:tabular-nums;letter-spacing:.02em}.manager-announcements-page .scheduled-card{position:relative}.manager-announcements-page .scheduled-datetime{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--pink);font-size:13px;font-weight:600}.manager-announcements-page .scheduled-datetime svg{flex-shrink:0}.manager-announcements-page .scheduled-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.manager-announcements-page .icon-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--white);color:var(--text-medium);cursor:pointer;transition:all .2s ease}.manager-announcements-page .icon-action:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-soft)}.manager-announcements-page .icon-action-danger:hover{border-color:var(--alert-red);color:var(--alert-red);background:var(--red-soft)}.manager-announcements-page .countdown-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--orange-soft);color:var(--orange-dark);border-radius:var(--radius-xl);font-size:11px;font-weight:600}.manager-announcements-page .countdown-tag svg{flex-shrink:0}.manager-announcements-page .templates-grid{display:grid;grid-template-columns:1fr;gap:12px}.manager-announcements-page .template-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;transition:all .25s ease;cursor:pointer;border:none;text-align:left;width:100%;font-family:var(--font-body)}.manager-announcements-page .template-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.manager-announcements-page .template-add{flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 16px;border:2px dashed var(--border-input);background:transparent;box-shadow:none;color:var(--text-light);font-size:14px;font-weight:600;transition:all .25s ease}.manager-announcements-page .template-add:hover{border-color:var(--pink);color:var(--pink);background:rgba(var(--pink-rgb),.03);box-shadow:none;transform:none}.manager-announcements-page .template-accent{width:5px;flex-shrink:0}.manager-announcements-page .accent-orange{background:var(--orange)}.manager-announcements-page .accent-blue{background:var(--purple-ai)}.manager-announcements-page .accent-red{background:var(--alert-red)}.manager-announcements-page .accent-green{background:var(--sage)}.manager-announcements-page .accent-purple{background:var(--purple-ai)}.manager-announcements-page .template-body{flex:1;padding:14px 16px;min-width:0}.manager-announcements-page .template-name{font-family:var(--font-heading);font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:3px}.manager-announcements-page .template-desc{font-size:12px;color:var(--text-medium);line-height:1.4;margin-bottom:10px}.manager-announcements-page .template-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.manager-announcements-page .template-usage{font-size:11px;color:var(--text-light);font-weight:500}.manager-announcements-page .btn-use{padding:5px 16px;border:none;border-radius:var(--radius-sm);background:var(--pink-soft);color:var(--pink);font-family:var(--font-body);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s ease}.manager-announcements-page .btn-use:hover{background:var(--pink);color:var(--white)}.manager-announcements-page .bottom-spacer{height:16px}.manager-announcements-page button:focus-visible,.manager-announcements-page input:focus-visible,.manager-announcements-page textarea:focus-visible{outline:2px solid var(--pink);outline-offset:2px}@media(min-width:480px){.manager-announcements-page .tab-bar{padding:0 24px}.manager-announcements-page .tab-item{flex-direction:row;gap:6px;font-size:13px;padding:12px 8px 10px}.manager-announcements-page .tab-panel{padding:24px}.manager-announcements-page .priority-selector{gap:12px}.manager-announcements-page .priority-pill{padding:12px 16px;font-size:14px}.manager-announcements-page .audience-chips{gap:10px}.manager-announcements-page .audience-chip{padding:10px 18px;font-size:14px}.manager-announcements-page .composer-title{font-size:20px;padding:20px 20px 12px}.manager-announcements-page .composer-body{min-height:150px;padding:16px 20px;font-size:16px}.manager-announcements-page .attachment-zone{margin:0 20px 20px;padding:20px;font-size:14px}.manager-announcements-page .cards-list{gap:16px}.manager-announcements-page .announcement-card{padding:20px}.manager-announcements-page .card-title{font-size:17px}.manager-announcements-page .card-preview{font-size:14px}.manager-announcements-page .templates-grid{grid-template-columns:1fr 1fr;gap:16px}.manager-announcements-page .template-add{min-height:140px}.manager-announcements-page .template-card:not(.template-add){flex-direction:column}.manager-announcements-page .template-accent{width:100%;height:5px}.manager-announcements-page .template-body{padding:16px}}@media(min-width:768px){.manager-announcements-page .tab-panel{padding:28px 32px}.manager-announcements-page .header-title{font-size:20px}.manager-announcements-page .tab-item{font-size:14px;padding:14px 12px 12px}.manager-announcements-page .section-label{font-size:15px;margin-bottom:12px}.manager-announcements-page .form-section{margin-bottom:24px}.manager-announcements-page .btn-send{max-width:400px;margin:0 auto}.manager-announcements-page .form-actions{margin-top:12px}.manager-announcements-page .cards-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.manager-announcements-page .templates-grid{grid-template-columns:repeat(3,1fr)}}.manager-announcements-page .main-content::-webkit-scrollbar{width:4px}.manager-announcements-page .main-content::-webkit-scrollbar-track{background:transparent}.manager-announcements-page .main-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.manager-announcements-page .main-content::-webkit-scrollbar-thumb:hover{background:#00000026}.manager-analytics-page{--an-accent: #7c3aed;--an-accent2: #a855f7;--an-warm: #d97706;--an-ok: #16a34a;--an-danger: #dc2626;--an-muted: #94a3b8;--an-text: #1e1b4b;--an-text2: #64748b;--an-bg: #f5f3ff;--an-surface: #ffffff;--an-border: #e9e6f5;--an-track: #e2e0f0;--an-shadow: 0 1px 4px rgba(124,58,237,.07), 0 4px 16px rgba(124,58,237,.06);--an-r: 14px;--an-gap: 12px;display:flex;flex-direction:column;min-height:100%;background:var(--an-bg);color:var(--an-text);font-family:-apple-system,Segoe UI,system-ui,sans-serif}.manager-analytics-content{--background: var(--an-bg)}.an-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;background:var(--an-surface);border-bottom:1px solid var(--an-border);position:sticky;top:0;z-index:20}.an-header-left{display:flex;align-items:center;gap:10px}.an-header-title{font-size:20px;font-weight:700;letter-spacing:-.4px;color:var(--an-text);margin:0}.an-icon-btn{background:var(--an-bg);border:1px solid var(--an-border);border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--an-text2);cursor:pointer;transition:background .15s,color .15s}.an-icon-btn:hover{background:var(--an-border);color:var(--an-accent)}.an-tabs-bar{background:var(--an-surface);border-bottom:1px solid var(--an-border);position:sticky;top:68px;z-index:19}.an-tabs-scroll{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 12px;gap:2px}.an-tabs-scroll::-webkit-scrollbar{display:none}.an-tab-btn{flex-shrink:0;background:transparent;border:none;padding:11px 14px;font-size:13.5px;font-weight:500;color:var(--an-text2);cursor:pointer;border-bottom:2.5px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap}.an-tab-btn:hover{color:var(--an-accent)}.an-tab-btn--on{color:var(--an-accent);font-weight:700;border-bottom-color:var(--an-accent)}.an-pane{display:flex;flex-direction:column;gap:var(--an-gap);padding:14px 12px 8px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.an-card{background:var(--an-surface);border-radius:var(--an-r);padding:16px;box-shadow:var(--an-shadow);border:1px solid var(--an-border)}.an-card--hero{border-left:3px solid var(--an-accent)}.an-card--warn{border-left:3px solid var(--an-danger);background:#fff8f8}.an-card-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--an-text2);margin:0 0 12px;padding:0}.an-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.an-hero-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:14px 8px;background:var(--an-bg);border-radius:10px;text-align:center;min-height:100px}.an-hero-num{font-size:32px;font-weight:800;line-height:1;letter-spacing:-1px}.an-hero-name{font-size:11px;font-weight:600;color:var(--an-text2);text-transform:uppercase;letter-spacing:.4px}.an-hero-delta{font-size:12px;font-weight:600}.an-hero-sub{font-size:11px;color:var(--an-muted)}.an-ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.an-ring{display:block}.an-ring-label{position:absolute;font-size:17px;font-weight:800;letter-spacing:-.5px;pointer-events:none}.an-ring-center{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1.1;pointer-events:none}.an-ring-center b{font-size:18px;font-weight:800;color:var(--an-text)}.an-ring-center small{font-size:10px;color:var(--an-muted);text-transform:uppercase;letter-spacing:.4px}.an-bars{display:flex;flex-direction:column;gap:8px}.an-bar-row{display:flex;align-items:center;gap:8px}.an-bar-row--em .an-bar-fill{border-radius:4px}.an-bar-label{flex-shrink:0;width:80px;font-size:12.5px;font-weight:500;color:var(--an-text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.an-bar-track{flex:1;height:10px;background:var(--an-track);border-radius:5px;overflow:hidden;min-width:0}.an-bar-fill{height:100%;border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1);min-width:2px}.an-bar-val{flex-shrink:0;width:38px;text-align:right;font-size:12px;font-weight:700}.an-shimmer{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--an-track) 25%,#f0edfa 50%,var(--an-track) 75%);background-size:200% 100%;animation:an-shimmer-move 1.4s ease infinite;margin-bottom:10px}@keyframes an-shimmer-move{0%{background-position:200% 0}to{background-position:-200% 0}}.an-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center;color:var(--an-text2);font-size:14px}.an-empty p{margin:0}.an-retry{background:var(--an-accent);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer}.an-row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.an-row-between .an-card-h{margin:0}.an-meta{font-size:11.5px;color:var(--an-muted);margin:8px 0 0}.an-section-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--an-text2);margin:14px 0 8px}.an-duo{display:flex;gap:10px}.an-duo-stat{flex:1;background:var(--an-bg);border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.an-duo-stat span{font-size:26px;font-weight:800;line-height:1;letter-spacing:-.5px}.an-duo-stat label{font-size:11px;font-weight:600;color:var(--an-text2);text-transform:uppercase;letter-spacing:.4px}.an-chip{font-size:12px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--an-bg);color:var(--an-text2)}.an-chip--red{background:#fee2e2;color:var(--an-danger)}.an-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.an-risk-pills{display:flex;gap:8px;flex-wrap:wrap}.an-risk-pill{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 14px;border-radius:10px;flex:1;min-width:60px}.an-risk-pill b{font-size:22px;font-weight:800;line-height:1}.an-risk-pill span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.an-risk-pill--crit{background:#fee2e2;color:var(--an-danger)}.an-risk-pill--high{background:#fef3c7;color:#b45309}.an-risk-pill--med{background:#fef9c3;color:#a16207}.an-factors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.an-factors li{display:flex;align-items:center;gap:8px;font-size:13px}.an-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.an-dot--low{background:var(--an-ok)}.an-dot--medium{background:var(--an-warm)}.an-dot--high{background:var(--an-danger)}.an-factor-name{flex:1;font-weight:500}.an-factor-cnt{font-size:11.5px;color:var(--an-muted);white-space:nowrap}.an-risk-overview{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.an-risk-overview>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:80px}.an-big-num{font-size:40px;font-weight:900;line-height:1;letter-spacing:-1.5px}.an-big-label{font-size:13px;font-weight:600;color:var(--an-text2)}.an-filter-row{display:flex;gap:6px;flex-wrap:wrap}.an-filter{background:var(--an-surface);border:1.5px solid var(--an-border);border-radius:20px;padding:5px 14px;font-size:12.5px;font-weight:600;color:var(--an-text2);cursor:pointer;transition:all .15s}.an-filter:hover{border-color:var(--an-accent);color:var(--an-accent)}.an-filter--on{background:var(--an-accent);border-color:var(--an-accent);color:#fff}.an-ranked-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.an-ranked-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--an-border);font-size:13.5px}.an-ranked-list li:last-child{border-bottom:none}.an-rank{font-size:11px;font-weight:700;color:var(--an-muted);width:20px;flex-shrink:0}.an-name{flex:1;font-weight:500}.an-score{font-size:14px;font-weight:700;min-width:36px;text-align:right}.an-delta{font-size:12px;font-weight:600;min-width:30px;text-align:right}.an-risk-students{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.an-risk-students li{padding:12px;background:var(--an-bg);border-radius:10px;border:1px solid var(--an-border)}.an-rs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.an-rs-metrics{display:flex;gap:6px}.an-rs-m{flex:1;background:var(--an-surface);border-radius:8px;padding:6px 8px;text-align:center}.an-rs-m small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--an-muted);margin-bottom:2px}.an-rs-m b{font-size:14px;font-weight:800}.an-rs-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.an-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--an-track);color:var(--an-text2)}.an-att-hero{display:flex;align-items:center;gap:20px;padding:8px 0}.an-att-counts{flex:1;display:flex;flex-direction:column;gap:7px}.an-att-row{display:flex;align-items:center;gap:8px;font-size:13px}.an-att-row span:last-of-type{flex:1}.an-att-row b{font-size:14px;font-weight:700;margin-left:auto}.an-dot-sm{width:9px;height:9px;border-radius:50%;flex-shrink:0}.an-dow{display:flex;align-items:flex-end;gap:6px;height:110px;padding-top:24px}.an-dow-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.an-dow-count{font-size:11px;font-weight:700;color:var(--an-text2);flex-shrink:0;height:16px;line-height:16px}.an-dow-track{flex:1;width:100%;max-width:32px;display:flex;align-items:flex-end;background:var(--an-track);border-radius:4px 4px 0 0;overflow:hidden;margin:3px 0}.an-dow-fill{width:100%;border-radius:4px 4px 0 0;transition:height .4s cubic-bezier(.4,0,.2,1)}.an-dow-day{font-size:11px;font-weight:600;color:var(--an-muted);text-align:center}.an-absentee-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.an-absentee-list li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--an-border);font-size:13.5px;gap:8px}.an-absentee-list li:last-child{border-bottom:none}.an-consec{font-size:11px;color:var(--an-danger);font-weight:600;margin-left:6px}.an-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.an-right b{font-size:15px;font-weight:800}.an-right small{font-size:11px;color:var(--an-muted)}.an-class-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.an-class-list li{padding:10px 0;border-bottom:1px solid var(--an-border)}.an-class-list li:last-child{border-bottom:none}.an-cls-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.an-cls-top .an-rank{color:var(--an-accent);font-weight:700}.an-gpa{font-size:15px;font-weight:800;margin-left:auto}.an-trend-label{font-size:11.5px;font-weight:600}.an-cls-meta{font-size:12px;color:var(--an-muted);display:flex;gap:10px}.an-teacher-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.an-teacher-list li{padding:10px 0;border-bottom:1px solid var(--an-border)}.an-teacher-list li:last-child{border-bottom:none}.an-tchr-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.an-tchr-meta{font-size:12.5px;color:var(--an-text2);display:flex;gap:12px}.an-tchr-meta b{color:var(--an-text)}.an-subject-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.an-subject-list li{padding:10px 0;border-bottom:1px solid var(--an-border)}.an-subject-list li:last-child{border-bottom:none}.an-subj-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.an-subj-name{font-size:14px;font-weight:600}.an-subj-stats{display:flex;gap:16px;font-size:12px;color:var(--an-muted)}.an-subj-stats b{color:var(--an-text);font-weight:700}@media(min-width:600px){.an-pane{max-width:700px;padding:20px 16px 12px;gap:14px}.an-hero-grid{grid-template-columns:repeat(4,1fr)}.an-hero-cell{min-height:110px}.an-hero-num{font-size:34px}.an-bar-label{width:100px;font-size:13px}.an-bar-track{height:11px}.an-bar-val{font-size:13px;width:42px}.an-duo-stat span{font-size:28px}.an-big-num{font-size:46px}.an-att-hero{gap:24px}}@media(min-width:768px){.an-header{padding:20px 24px 16px}.an-header-title{font-size:24px}.an-tabs-scroll{padding:0 20px;gap:4px}.an-tab-btn{font-size:14.5px;padding:13px 18px}.an-pane{max-width:840px;padding:24px 20px 16px;gap:18px}.an-card{padding:20px 22px}.an-card-h{font-size:14px;margin-bottom:16px}.an-hero-grid{gap:14px}.an-hero-cell{min-height:130px;padding:18px 12px;border-radius:12px}.an-hero-num{font-size:40px}.an-hero-name{font-size:12px}.an-bar-label{width:130px;font-size:13.5px}.an-bar-track{height:12px}.an-bar-row{gap:10px}.an-bar-val{font-size:13.5px;width:46px}.an-ranked-list li{font-size:14px;padding:10px 0}.an-duo-stat{padding:16px 12px;border-radius:12px}.an-duo-stat span{font-size:32px}.an-duo-stat label{font-size:12px}.an-risk-pill{padding:10px 18px}.an-risk-pill b{font-size:26px}.an-risk-pill span{font-size:12px}.an-rs-m b{font-size:16px}.an-big-num{font-size:56px}.an-dow{height:130px}.an-dow-day,.an-dow-count{font-size:12px}.an-att-hero{gap:36px}.an-att-counts{gap:10px}.an-att-row,.an-absentee-list li{font-size:14px}.an-cls-meta{font-size:13px}.an-tchr-meta{font-size:13.5px}.an-subj-name{font-size:15px}.an-subj-stats{font-size:13px}}@media(min-width:1024px){.an-pane{max-width:1000px;padding:28px 24px 20px;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}.an-pane>section:first-child,.an-card--hero,.an-filter-row{grid-column:1 / -1}.an-card{padding:22px 24px}.an-hero-grid{grid-template-columns:repeat(4,1fr);gap:16px}.an-hero-cell{min-height:140px}.an-hero-num{font-size:42px}.an-bar-label{width:140px}}.manager-users-content{--background: var(--cream, #FFF9F5)}.manager-users-page{--shadow-search-focus: 0 0 0 3px rgba(var(--pink-rgb), .2);--shadow-bulk: 0 -4px 20px rgba(0, 0, 0, .12);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-base: all .25s ease;--transition-bounce: all .3s var(--ease-bounce);font-family:DM Sans,Nunito,system-ui,-apple-system,sans-serif;color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.manager-users-page .top-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--white);border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #00000008}.manager-users-page .nav-back-btn,.manager-users-page .nav-more-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-medium);transition:var(--transition-base);background:none;border:none;cursor:pointer;padding:0}.manager-users-page .nav-back-btn:hover,.manager-users-page .nav-more-btn:hover{background:var(--pink-soft);color:var(--pink)}.manager-users-page .nav-back-btn:focus-visible,.manager-users-page .nav-more-btn:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .nav-title{font-family:Poppins,Nunito,sans-serif;font-size:1.05rem;font-weight:600;color:var(--text-dark);letter-spacing:-.01em}.manager-users-page .main-content{padding:var(--space-lg) var(--space-lg) 140px;max-width:1400px;margin:0 auto}.manager-users-page .breadcrumb{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg);font-size:.78rem}.manager-users-page .breadcrumb-item{color:var(--text-light);font-weight:500}.manager-users-page .breadcrumb-current{color:var(--pink);font-weight:600}.manager-users-page .breadcrumb-sep{color:var(--text-light);flex-shrink:0}.manager-users-page .action-buttons{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.manager-users-page .btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--pink),var(--pink-light));color:var(--white);font-size:.85rem;font-weight:600;border-radius:100px;box-shadow:0 4px 14px rgba(var(--pink-rgb),.3);transition:var(--transition-bounce);white-space:nowrap;border:none;cursor:pointer;font-family:inherit}.manager-users-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--pink-rgb),.4)}.manager-users-page .btn-primary:active{transform:scale(.97)}.manager-users-page .btn-primary:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .btn-secondary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--white);color:var(--text-medium);font-size:.85rem;font-weight:600;border-radius:100px;border:1.5px solid var(--cream-dark);transition:var(--transition-bounce);white-space:nowrap;cursor:pointer;font-family:inherit}.manager-users-page .btn-secondary:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-softer);transform:translateY(-1px)}.manager-users-page .btn-secondary:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-xxl)}.manager-users-page .stat-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-card);border-left:4px solid transparent;transition:var(--transition-bounce)}.manager-users-page .stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.manager-users-page .stat-total{border-left-color:var(--coral)}.manager-users-page .stat-students{border-left-color:var(--pink)}.manager-users-page .stat-teachers{border-left-color:var(--orange)}.manager-users-page .stat-parents{border-left-color:var(--yellow)}.manager-users-page .stat-icon-wrap{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);flex-shrink:0}.manager-users-page .stat-icon-total{background:linear-gradient(135deg,var(--peach-light),var(--coral-light));color:var(--coral)}.manager-users-page .stat-icon-students{background:linear-gradient(135deg,var(--role-student-bg),var(--pink-lighter));color:var(--pink)}.manager-users-page .stat-icon-teachers{background:linear-gradient(135deg,var(--role-teacher-bg),var(--orange-lighter));color:var(--orange)}.manager-users-page .stat-icon-parents{background:linear-gradient(135deg,var(--role-parent-bg),var(--yellow-lighter));color:var(--yellow-dark)}.manager-users-page .stat-info{display:flex;flex-direction:column;min-width:0}.manager-users-page .stat-number{font-family:Poppins,Nunito,sans-serif;font-size:1.35rem;font-weight:700;color:var(--text-dark);line-height:1.2}.manager-users-page .stat-label{font-size:.72rem;font-weight:600;color:var(--text-medium);margin-top:1px}.manager-users-page .stat-sub{font-size:.62rem;color:var(--text-light);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-users-page .search-section{margin-bottom:var(--space-xl)}.manager-users-page .search-bar{position:relative;margin-bottom:var(--space-md)}.manager-users-page .search-icon{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none;transition:color .2s ease}.manager-users-page .search-input{width:100%;padding:var(--space-md) var(--space-lg) var(--space-md) 44px;font-size:.88rem;font-weight:500;color:var(--text-dark);background:var(--white);border:2px solid var(--cream-dark)!important;border-radius:var(--radius-md);transition:var(--transition-base);font-family:inherit;outline:none}.manager-users-page .search-input::placeholder{color:var(--text-light);font-weight:400}.manager-users-page .search-input:focus{border-color:var(--pink)!important;box-shadow:var(--shadow-search-focus);transform:scale(1.01)}.manager-users-page .filter-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.manager-users-page .filter-row::-webkit-scrollbar{display:none}.manager-users-page .filter-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:.76rem;font-weight:600;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);border-radius:100px;white-space:nowrap;transition:var(--transition-bounce);flex-shrink:0;cursor:pointer;font-family:inherit}.manager-users-page .filter-pill:hover{border-color:var(--pink);color:var(--pink);background:var(--pink-softer)}.manager-users-page .filter-pill:active{transform:scale(.95)}.manager-users-page .filter-pill:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .filter-active{background:var(--pink);color:var(--white);border-color:var(--pink)}.manager-users-page .filter-active:hover{background:var(--pink-light);color:var(--white)}.manager-users-page .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.manager-users-page .status-active-dot{background:var(--status-active)}.manager-users-page .status-inactive-dot{background:var(--status-inactive)}.manager-users-page .status-suspended-dot{background:var(--status-suspended)}.manager-users-page .status-pending-dot{background:var(--info-text, #3b82f6)}.manager-users-page .filter-active .status-dot{background:#fffc}.manager-users-page .dropdown-row{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.manager-users-page .dropdown-wrap{position:relative;flex:1}.manager-users-page .filter-select{width:100%;padding:var(--space-sm) 32px var(--space-sm) var(--space-md);font-size:.78rem;font-weight:500;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);appearance:none;-webkit-appearance:none;transition:var(--transition-base);cursor:pointer;font-family:inherit;outline:none}.manager-users-page .filter-select:hover{border-color:var(--pink)}.manager-users-page .filter-select:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(var(--pink-rgb),.15)}.manager-users-page .filter-select:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .select-chevron{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.manager-users-page .active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.manager-users-page .active-filter-tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);font-size:.72rem;font-weight:600;color:var(--pink);background:var(--pink-soft);border-radius:100px}.manager-users-page .filter-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:var(--pink);transition:var(--transition-base);background:none;border:none;cursor:pointer;padding:0}.manager-users-page .filter-remove:hover{background:rgba(var(--pink-rgb),.2)}.manager-users-page .clear-filters-btn{font-size:.72rem;font-weight:600;color:var(--text-light);transition:var(--transition-base);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.manager-users-page .clear-filters-btn:hover{color:var(--pink)}.manager-users-page .results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;margin-bottom:var(--space-sm)}.manager-users-page .results-count{font-size:.78rem;font-weight:600;color:var(--text-medium)}.manager-users-page .select-all-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.76rem;font-weight:600;color:var(--text-medium);cursor:pointer;transition:var(--transition-base)}.manager-users-page .select-all-label:hover{color:var(--pink)}.manager-users-page .custom-checkbox{position:absolute;opacity:0;width:0;height:0}.manager-users-page .checkbox-visual{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;border:2px solid var(--cream-dark);background:var(--white);transition:var(--transition-bounce);flex-shrink:0}.manager-users-page .custom-checkbox:checked+.checkbox-visual{background:var(--pink);border-color:var(--pink)}.manager-users-page .custom-checkbox:checked+.checkbox-visual:after{content:"";display:block;width:6px;height:10px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.manager-users-page .custom-checkbox:focus-visible+.checkbox-visual{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .user-list{display:flex;flex-direction:column;gap:var(--space-md)}.manager-users-page .user-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:var(--transition-bounce);border:1.5px solid transparent}.manager-users-page .user-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:rgba(var(--pink-rgb),.15)}.manager-users-page .user-card:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .user-card-inactive{opacity:.72}.manager-users-page .user-card-inactive:hover{opacity:.9}.manager-users-page .user-card-suspended{border-left:3px solid var(--status-suspended)}.manager-users-page .user-card-selected{border-color:var(--pink);background:var(--pink-softer)}.manager-users-page .user-card-top{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.manager-users-page .card-checkbox-label{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.manager-users-page .user-avatar{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:Poppins,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--white);flex-shrink:0;letter-spacing:.5px}.manager-users-page .avatar-student{background:linear-gradient(135deg,var(--pink),var(--pink-light))}.manager-users-page .avatar-teacher{background:linear-gradient(135deg,var(--orange),var(--orange-lighter))}.manager-users-page .avatar-parent{background:linear-gradient(135deg,var(--yellow),var(--yellow-lighter));color:var(--yellow-dark)}.manager-users-page .avatar-manager{background:linear-gradient(135deg,var(--purple-medium),var(--purple-light))}.manager-users-page .avatar-inactive{filter:grayscale(60%);opacity:.7}.manager-users-page .avatar-suspended{filter:grayscale(40%);opacity:.6;position:relative}.manager-users-page .user-info{flex:1;min-width:0}.manager-users-page .user-name{font-family:Poppins,Nunito,sans-serif;font-size:.88rem;font-weight:600;color:var(--text-dark);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.manager-users-page .user-email{font-size:.72rem;color:var(--text-light);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.manager-users-page .card-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-light);transition:var(--transition-base);flex-shrink:0;background:none;border:none;cursor:pointer;padding:0}.manager-users-page .card-menu-btn:hover{background:var(--pink-soft);color:var(--pink)}.manager-users-page .card-menu-btn:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .user-card-bottom{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.manager-users-page .role-badge{display:inline-flex;align-items:center;padding:3px var(--space-sm);font-size:.68rem;font-weight:700;border-radius:100px;letter-spacing:.02em}.manager-users-page .role-student{background:var(--role-student-bg);color:var(--role-student-text)}.manager-users-page .role-teacher{background:var(--role-teacher-bg);color:var(--role-teacher-text)}.manager-users-page .role-parent{background:var(--role-parent-bg);color:var(--role-parent-text)}.manager-users-page .role-manager{background:var(--role-manager-bg);color:var(--role-manager-text)}.manager-users-page .user-detail{font-size:.74rem;color:var(--text-medium);font-weight:500}.manager-users-page .user-meta{display:flex;align-items:center;gap:var(--space-md);margin-left:auto}.manager-users-page .status-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.7rem;font-weight:600}.manager-users-page .status-active{color:var(--status-active)}.manager-users-page .status-inactive{color:var(--status-inactive)}.manager-users-page .status-suspended{color:var(--status-suspended)}.manager-users-page .last-active{font-size:.68rem;color:var(--text-light);white-space:nowrap}.manager-users-page .pagination{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xxl) 0}.manager-users-page .pagination-info{font-size:.76rem;font-weight:500;color:var(--text-light)}.manager-users-page .pagination-controls{display:flex;align-items:center;gap:var(--space-xs)}.manager-users-page .page-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);transition:var(--transition-bounce);cursor:pointer;font-family:inherit;padding:0}.manager-users-page .page-btn:hover:not(:disabled){border-color:var(--pink);color:var(--pink);transform:scale(1.05)}.manager-users-page .page-btn:disabled{opacity:.4;cursor:not-allowed}.manager-users-page .page-btn:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.manager-users-page .page-active{background:var(--pink);color:var(--white);border-color:var(--pink)}.manager-users-page .page-active:hover{background:var(--pink-light);color:var(--white)}.manager-users-page .page-ellipsis{font-size:.82rem;color:var(--text-light);padding:0 var(--space-xs)}.manager-users-page .per-page-wrap{display:flex;align-items:center;gap:var(--space-xs);font-size:.74rem;color:var(--text-light)}.manager-users-page .per-page-select{padding:var(--space-xs) var(--space-sm);font-size:.74rem;font-weight:500;color:var(--text-medium);background:var(--white);border:1.5px solid var(--cream-dark);border-radius:8px;cursor:pointer;font-family:inherit;outline:none}.manager-users-page .per-page-select:focus{border-color:var(--pink)}.manager-users-page .bulk-bar{position:fixed;bottom:72px;left:0;right:0;z-index:90;padding:0 var(--space-lg);animation:mgr-users-slideUp .35s var(--ease-bounce)}.manager-users-page .bulk-bar-inner{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);box-shadow:var(--shadow-bulk);border:1px solid rgba(var(--pink-rgb),.15)}.manager-users-page .bulk-info{display:flex;align-items:center;justify-content:space-between}.manager-users-page .bulk-count{font-size:.82rem;font-weight:700;color:var(--pink)}.manager-users-page .bulk-clear{font-size:.74rem;font-weight:600;color:var(--text-light);transition:var(--transition-base);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.manager-users-page .bulk-clear:hover{color:var(--pink)}.manager-users-page .bulk-actions{display:flex;gap:var(--space-sm)}.manager-users-page .bulk-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:.74rem;font-weight:600;border-radius:100px;transition:var(--transition-bounce);flex:1;justify-content:center;cursor:pointer;font-family:inherit}.manager-users-page .bulk-btn:active{transform:scale(.95)}.manager-users-page .bulk-activate{background:var(--sage-soft);color:var(--status-active);border:1.5px solid rgba(125,181,154,.25)}.manager-users-page .bulk-activate:hover{background:#7db59a33}.manager-users-page .bulk-deactivate{background:#9b9b9b1a;color:var(--text-medium);border:1.5px solid rgba(155,155,155,.25)}.manager-users-page .bulk-deactivate:hover{background:#9b9b9b33}.manager-users-page .bulk-delete{background:var(--red-soft);color:var(--status-suspended);border:1.5px solid rgba(255,107,107,.25)}.manager-users-page .bulk-delete:hover{background:#ff6b6b33}@keyframes mgr-users-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:600px){.manager-users-page .main-content{padding:var(--space-xl) var(--space-xxl) 140px}.manager-users-page .stats-grid{grid-template-columns:repeat(4,1fr)}.manager-users-page .stat-card{flex-direction:column;align-items:flex-start;text-align:left;padding:var(--space-xl)}.manager-users-page .stat-number{font-size:1.6rem}.manager-users-page .action-buttons{gap:var(--space-md)}.manager-users-page .btn-primary,.manager-users-page .btn-secondary{padding:var(--space-md) var(--space-xxl);font-size:.9rem}.manager-users-page .search-input{padding:var(--space-lg) var(--space-lg) var(--space-lg) 48px;font-size:.92rem;border-radius:var(--radius-lg)}.manager-users-page .filter-pill{padding:var(--space-sm) var(--space-lg);font-size:.82rem}.manager-users-page .user-card{padding:var(--space-lg) var(--space-xl)}.manager-users-page .user-card-top{margin-bottom:var(--space-sm)}.manager-users-page .user-avatar{width:46px;height:46px;font-size:.88rem}.manager-users-page .user-name{font-size:.92rem}.manager-users-page .user-email{font-size:.78rem}.manager-users-page .bulk-bar-inner{flex-direction:row;align-items:center;justify-content:space-between}.manager-users-page .bulk-actions{flex-shrink:0}.manager-users-page .bulk-btn{flex:none;padding:var(--space-sm) var(--space-lg)}.manager-users-page .pagination{flex-direction:row;justify-content:space-between}}@media(min-width:960px){.manager-users-page .top-nav{padding:var(--space-lg) 32px}.manager-users-page .nav-title{font-size:1.15rem}.manager-users-page .main-content{padding:var(--space-xxl) 32px 120px}.manager-users-page .breadcrumb{font-size:.85rem}.manager-users-page .stats-grid{gap:var(--space-xl)}.manager-users-page .stat-card{padding:var(--space-xxl)}.manager-users-page .stat-number{font-size:1.85rem}.manager-users-page .stat-label{font-size:.8rem}.manager-users-page .stat-sub{font-size:.72rem}.manager-users-page .user-card{padding:var(--space-lg) var(--space-xxl);display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-lg)}.manager-users-page .user-card-top{margin-bottom:0}.manager-users-page .user-card-bottom{gap:var(--space-lg);flex-wrap:nowrap}.manager-users-page .user-meta{margin-left:0;gap:var(--space-lg)}.manager-users-page .last-active{min-width:80px;text-align:right}.manager-users-page .search-bar{max-width:600px}.manager-users-page .dropdown-row{max-width:500px}.manager-users-page .filter-select{padding:var(--space-md) 32px var(--space-md) var(--space-lg);font-size:.85rem}.manager-users-page .pagination{flex-direction:row;justify-content:space-between}.manager-users-page .page-btn{min-width:40px;height:40px}.manager-users-page .bulk-bar{bottom:72px;padding:0 32px}.manager-users-page .bulk-bar-inner{padding:var(--space-lg) var(--space-xxl)}}@media(min-width:1200px){.manager-users-page .main-content{padding:32px 48px 120px}.manager-users-page .user-list{gap:var(--space-sm)}.manager-users-page .user-card{border-radius:var(--radius-sm);padding:var(--space-md) var(--space-xxl)}.manager-users-page .user-avatar{width:40px;height:40px;border-radius:10px}.manager-users-page .stats-grid{gap:var(--space-xxl)}.manager-users-page .stat-icon-wrap{width:48px;height:48px}.manager-users-page .stat-number{font-size:2rem}}@media(prefers-reduced-motion:reduce){.manager-users-page,.manager-users-page *,.manager-users-page *:before,.manager-users-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.manager-users-page .user-card{border:2px solid var(--text-dark)}.manager-users-page .role-badge{border:1px solid currentColor}.manager-users-page .filter-pill{border-width:2px}.manager-users-page .status-dot{width:10px;height:10px;border:1px solid currentColor}}.manager-users-page .pending-batches{margin-bottom:var(--space-lg)}.manager-users-page .pending-batches-title{display:flex;align-items:center;gap:var(--space-xs);font-size:.9375rem;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-md)}.manager-users-page .pending-batches-list{display:flex;flex-direction:column;gap:var(--space-sm)}.manager-users-page .pending-batch-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--white);border:1.5px solid rgba(var(--pink-rgb, 233, 87, 119),.25);border-left:4px solid var(--pink);border-radius:var(--radius-md);gap:var(--space-md)}.manager-users-page .pending-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0}.manager-users-page .pending-batch-name{font-size:.875rem;font-weight:700;color:var(--text-dark)}.manager-users-page .pending-batch-meta{font-size:.8125rem;color:var(--text-medium)}.manager-users-page .pending-batch-errors{color:var(--danger-text, #dc3545);font-weight:600}.manager-users-page .pending-batch-date{font-size:.75rem;color:var(--text-light)}.manager-users-page .pending-batch-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.manager-users-page .batch-approve-btn{padding:6px 16px;background:var(--pink);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .2s ease;font-family:inherit}.manager-users-page .batch-approve-btn:hover:not(:disabled){opacity:.9}.manager-users-page .batch-approve-btn:disabled{opacity:.5;cursor:not-allowed}.manager-users-page .batch-cancel-btn{padding:6px 12px;background:transparent;color:var(--text-medium);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.manager-users-page .batch-cancel-btn:hover:not(:disabled){border-color:var(--danger-text, #dc3545);color:var(--danger-text, #dc3545)}.bulk-add-content{--background: var(--cream, #FFF9F5)}.bulk-add-page{font-family:DM Sans,Nunito,system-ui,-apple-system,sans-serif;color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased}.bulk-add-page .top-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--white);border-bottom:1px solid var(--border-light);box-shadow:0 1px 3px #00000008}.bulk-add-page .nav-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-medium);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.bulk-add-page .nav-back-btn:hover{background:var(--cream);color:var(--pink)}.bulk-add-page .nav-title{font-size:1.125rem;font-weight:700;color:var(--text-dark);margin:0}.bulk-add-page .main-content{padding:var(--space-lg) var(--space-xl);max-width:900px;margin:0 auto}.bulk-add-page .breadcrumb{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg);font-size:.8125rem;color:var(--text-light)}.bulk-add-page .breadcrumb-item{color:var(--text-light)}.bulk-add-page .breadcrumb-current{color:var(--text-dark);font-weight:600}.bulk-add-page .tab-switcher{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);background:var(--white);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-light)}.bulk-add-page .tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:calc(var(--radius-md) - 2px);border:none;background:transparent;font-size:.875rem;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s ease}.bulk-add-page .tab-btn:hover{color:var(--text-dark);background:var(--cream)}.bulk-add-page .tab-active{background:var(--pink)!important;color:var(--white)!important;box-shadow:0 2px 8px rgba(var(--pink-rgb, 233, 87, 119),.3)}.bulk-add-page .section-label{display:block;font-size:.875rem;font-weight:700;color:var(--text-dark);margin-bottom:var(--space-sm)}.bulk-add-page .section-desc{font-size:.8125rem;color:var(--text-light);margin:0 0 var(--space-md)}.bulk-add-page .role-selector{margin-bottom:var(--space-xl)}.bulk-add-page .role-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.bulk-add-page .role-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);border:2px solid var(--border-light);border-radius:var(--radius-md);background:var(--white);cursor:pointer;transition:all .2s ease}.bulk-add-page .role-card:hover{border-color:var(--pink);background:rgba(var(--pink-rgb, 233, 87, 119),.04)}.bulk-add-page .role-card-active{border-color:var(--pink)!important;background:rgba(var(--pink-rgb, 233, 87, 119),.08)!important;box-shadow:0 0 0 3px rgba(var(--pink-rgb, 233, 87, 119),.15)}.bulk-add-page .role-card-icon{font-size:1.5rem}.bulk-add-page .role-card-label{font-size:.8125rem;font-weight:600;color:var(--text-dark)}.bulk-add-page .add-form{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border-light)}.bulk-add-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.bulk-add-page .form-group{display:flex;flex-direction:column;gap:4px}.bulk-add-page .form-label{font-size:.8125rem;font-weight:600;color:var(--text-medium)}.bulk-add-page .form-input{padding:10px 14px;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-dark);background:var(--white);outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit}.bulk-add-page .form-input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(var(--pink-rgb, 233, 87, 119),.15)}.bulk-add-page .form-input::placeholder{color:var(--text-light)}.bulk-add-page .form-errors{background:rgba(var(--danger-rgb, 220, 53, 69),.06);border:1px solid rgba(var(--danger-rgb, 220, 53, 69),.2);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.bulk-add-page .form-error-text{color:var(--danger-text, #dc3545);font-size:.8125rem;margin:2px 0}.bulk-add-page .form-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.bulk-add-page .btn-primary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:10px 24px;background:var(--pink);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.bulk-add-page .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.bulk-add-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.bulk-add-page .btn-lg{padding:12px 32px;font-size:.9375rem}.bulk-add-page .btn-secondary{display:inline-flex;align-items:center;gap:var(--space-xs);padding:10px 20px;background:var(--white);color:var(--text-dark);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.bulk-add-page .btn-secondary:hover{border-color:var(--pink);color:var(--pink)}.bulk-add-page .btn-text{background:none;border:none;color:var(--pink);font-size:.8125rem;font-weight:600;cursor:pointer;padding:4px 8px;font-family:inherit}.bulk-add-page .btn-text:hover{text-decoration:underline}.bulk-add-page .template-section{margin-bottom:var(--space-xl)}.bulk-add-page .upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;border:2px dashed var(--border-light);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;transition:all .2s ease;text-align:center}.bulk-add-page .upload-zone:hover{border-color:var(--pink);background:rgba(var(--pink-rgb, 233, 87, 119),.03)}.bulk-add-page .upload-text{margin:var(--space-md) 0 var(--space-xs);font-size:.9375rem;font-weight:600;color:var(--text-dark)}.bulk-add-page .upload-hint{font-size:.8125rem;color:var(--text-light);margin:0}.bulk-add-page .preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.bulk-add-page .preview-title{font-size:1rem;font-weight:700;margin:0 0 var(--space-xs);color:var(--text-dark)}.bulk-add-page .preview-stats{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--text-medium)}.bulk-add-page .stat-valid{color:var(--success-text, #22c55e);font-weight:600}.bulk-add-page .stat-error{color:var(--danger-text, #dc3545);font-weight:600}.bulk-add-page .stat-sep{color:var(--text-light)}.bulk-add-page .preview-table-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--white);margin-bottom:var(--space-lg)}.bulk-add-page .preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.bulk-add-page .preview-table th{text-align:left;padding:10px 12px;font-weight:700;color:var(--text-medium);background:#00000005;border-bottom:1px solid var(--border-light);white-space:nowrap}.bulk-add-page .preview-table td{padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.04);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-add-page .row-error{background:rgba(var(--danger-rgb, 220, 53, 69),.04)}.bulk-add-page .row-valid{background:transparent}.bulk-add-page .status-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.75rem;font-weight:700}.bulk-add-page .status-ok{background:#22c55e1f;color:var(--success-text, #22c55e)}.bulk-add-page .status-error{background:#dc35451f;color:var(--danger-text, #dc3545)}.bulk-add-page .row-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-light);cursor:pointer;border-radius:4px;transition:all .15s ease}.bulk-add-page .row-remove-btn:hover{background:rgba(var(--danger-rgb, 220, 53, 69),.1);color:var(--danger-text, #dc3545)}.bulk-add-page .global-error{background:rgba(var(--danger-rgb, 220, 53, 69),.06);border:1px solid rgba(var(--danger-rgb, 220, 53, 69),.2);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);color:var(--danger-text, #dc3545);font-size:.8125rem}.bulk-add-page .preview-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.bulk-add-page .bulk-result-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.bulk-add-page .result-card{text-align:center;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-xxl, 48px) var(--space-xl);border:1px solid var(--border-light);max-width:500px;width:100%}.bulk-add-page .result-icon{margin-bottom:var(--space-md)}.bulk-add-page .result-title{font-size:1.25rem;font-weight:700;margin:0 0 var(--space-sm);color:var(--text-dark)}.bulk-add-page .result-subtitle{font-size:.875rem;color:var(--text-medium);margin:0 0 var(--space-xl);line-height:1.6}.bulk-add-page .result-stats{display:flex;justify-content:center;gap:var(--space-xl)}.bulk-add-page .result-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.bulk-add-page .result-stat-number{font-size:1.75rem;font-weight:700;color:var(--success-text, #22c55e)}.bulk-add-page .result-stat-error .result-stat-number{color:var(--danger-text, #dc3545)}.bulk-add-page .result-stat-label{font-size:.75rem;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bulk-add-page .result-actions{display:flex;gap:var(--space-sm)}@media(max-width:600px){.bulk-add-page .role-cards{grid-template-columns:repeat(2,1fr)}.bulk-add-page .form-grid{grid-template-columns:1fr}.bulk-add-page .tab-switcher{flex-direction:column}.bulk-add-page .result-actions{flex-direction:column;width:100%}.bulk-add-page .result-actions .btn-primary,.bulk-add-page .result-actions .btn-secondary{width:100%;justify-content:center}}@media(min-width:1024px){.bulk-add-page .main-content{padding:var(--space-xl) var(--space-xxl, 48px)}}.manager-profile-page ion-content.manager-profile-content{--background: var(--cream)}.manager-profile-page{font-family:DM Sans,Nunito,system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--text-dark);line-height:1.5;min-height:100%;position:relative}.manager-profile-page .mgr-profile-decorative{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.manager-profile-page .mgr-profile-sparkle{position:absolute;color:#ff6b9d4d;font-size:14px;animation:mgr-profile-sparkle-float 6s ease-in-out infinite}.manager-profile-page .mgr-profile-sparkle-1{top:12%;right:8%;animation-delay:0s}.manager-profile-page .mgr-profile-sparkle-2{top:40%;left:6%;animation-delay:2s;color:#ffa94d40}.manager-profile-page .mgr-profile-sparkle-3{top:68%;right:12%;animation-delay:4s;color:#8b7ec840}.manager-profile-page .mgr-profile-dot{position:absolute;width:8px;height:8px;border-radius:var(--radius-full);opacity:.2}.manager-profile-page .mgr-profile-dot-1{background:var(--pink);top:22%;left:12%}.manager-profile-page .mgr-profile-dot-2{background:var(--orange);top:52%;right:10%}.manager-profile-page .mgr-profile-dot-3{background:var(--purple-ai-light);top:78%;left:18%}@keyframes mgr-profile-sparkle-float{0%,to{transform:translateY(0) rotate(0);opacity:.3}50%{transform:translateY(-10px) rotate(15deg);opacity:.5}}.manager-profile-page .mgr-profile-scroll{position:relative;z-index:1;padding:var(--space-xl);padding-bottom:100px}.manager-profile-page .mgr-profile-card{background:linear-gradient(135deg,var(--white) 0%,var(--cream) 100%);border-radius:var(--radius-lg);padding:var(--space-xxl);padding-top:calc(var(--space-xxl) + var(--space-xs));text-align:center;position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);margin-bottom:var(--space-xl);transition:box-shadow .2s ease,transform .2s ease}.manager-profile-page .mgr-profile-card:hover{box-shadow:var(--shadow-card-hover)}.manager-profile-page .mgr-profile-avatar-wrapper{position:relative;display:inline-block;margin-bottom:var(--space-lg);z-index:1}.manager-profile-page .mgr-profile-avatar-ring{position:absolute;inset:-5px;border-radius:var(--radius-full);background:conic-gradient(from 200deg,var(--pink-soft),var(--orange-soft),var(--purple-soft),var(--pink-soft));opacity:.85}.manager-profile-page .mgr-profile-avatar{width:88px;height:88px;border-radius:var(--radius-full);background:var(--white);display:flex;align-items:center;justify-content:center;position:relative;border:3px solid var(--white);box-shadow:var(--shadow-card)}.manager-profile-page .mgr-profile-avatar-initials{font-family:Poppins,Nunito,sans-serif;font-size:1.75rem;font-weight:600;color:var(--pink-dark);letter-spacing:-.03em;line-height:1}.manager-profile-page .mgr-profile-card-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);max-width:100%}.manager-profile-page .mgr-profile-name{font-family:Poppins,Nunito,sans-serif;font-size:1.2rem;font-weight:600;line-height:1.25;color:var(--text-dark);margin:0;letter-spacing:-.02em}.manager-profile-page .mgr-profile-email{font-family:DM Sans,Nunito,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--text-medium);margin:0;display:inline-flex;align-items:flex-start;justify-content:center;gap:var(--space-sm);text-align:left;max-width:100%}.manager-profile-page .mgr-profile-email-icon{flex-shrink:0;margin-top:1px;color:var(--text-light);display:flex;align-items:center}.manager-profile-page .mgr-profile-email-text{word-break:break-word;min-width:0}.manager-profile-page .mgr-profile-role-badge{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);background:var(--role-manager-bg);color:var(--role-manager-text);font-family:Poppins,Nunito,sans-serif;font-size:.6875rem;font-weight:600;padding:7px 14px;border-radius:100px;letter-spacing:.02em}.manager-profile-page .mgr-profile-role-icon{display:flex;align-items:center;color:var(--role-manager-text);opacity:.95}.manager-profile-page .mgr-profile-menu-section{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.manager-profile-page .mgr-profile-menu-label{font-family:Poppins,sans-serif;font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;padding:0 var(--space-xs);margin-bottom:var(--space-xs)}.manager-profile-page .mgr-profile-menu-item{display:flex;align-items:center;gap:var(--space-md);background:var(--white);border-radius:var(--radius-md);padding:var(--space-lg);text-decoration:none;color:inherit;box-shadow:0 4px 14px #ff6b9d0f;transition:all .3s cubic-bezier(.34,1.56,.64,1);min-height:64px;cursor:pointer;border:none;width:100%;text-align:left}.manager-profile-page .mgr-profile-menu-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px #ff6b9d24}.manager-profile-page .mgr-profile-menu-item:focus{outline:2px solid var(--pink);outline-offset:2px}.manager-profile-page .mgr-profile-menu-item:active{transform:scale(.98)}.manager-profile-page .mgr-profile-menu-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.manager-profile-page .mgr-profile-menu-icon.pink{background:linear-gradient(135deg,#ff6b9d26,#ff6b9d14);color:var(--pink-dark)}.manager-profile-page .mgr-profile-menu-icon.orange{background:linear-gradient(135deg,#ffa94d26,#ffa94d14);color:var(--orange-dark)}.manager-profile-page .mgr-profile-menu-icon.purple{background:linear-gradient(135deg,var(--purple-ai-light) 0%,rgba(139,126,200,.15) 100%);color:var(--purple-dark)}.manager-profile-page .mgr-profile-menu-icon.sage{background:linear-gradient(135deg,var(--sage-light) 0%,rgba(125,181,154,.15) 100%);color:var(--sage-dark)}.manager-profile-page .mgr-profile-menu-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.manager-profile-page .mgr-profile-menu-title{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:var(--text-dark);line-height:1.3}.manager-profile-page .mgr-profile-menu-subtitle{font-family:DM Sans,sans-serif;font-size:12px;color:var(--text-light);line-height:1.3}.manager-profile-page .mgr-profile-menu-arrow{color:var(--text-light);display:flex;align-items:center;flex-shrink:0;transition:transform .3s ease}.manager-profile-page .mgr-profile-menu-item:hover .mgr-profile-menu-arrow{transform:translate(4px);color:var(--pink)}.manager-profile-page .mgr-profile-logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-lg);border:1px solid rgba(255,107,107,.2);background:linear-gradient(135deg,var(--white) 0%,#FDF8F8 100%);border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);margin-bottom:var(--space-xl)}.manager-profile-page .mgr-profile-logout-btn:hover{box-shadow:0 8px 24px #ff6b6b26;border-color:#ff6b6b4d;transform:translateY(-1px)}.manager-profile-page .mgr-profile-logout-btn:focus{outline:2px solid var(--alert-red);outline-offset:2px}.manager-profile-page .mgr-profile-logout-btn:active{transform:scale(.98)}.manager-profile-page .mgr-profile-logout-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#f5e0e0,#e8d0d0);display:flex;align-items:center;justify-content:center;color:var(--red-dark);flex-shrink:0}.manager-profile-page .mgr-profile-logout-text{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:var(--alert-red);flex:1;text-align:left}.manager-profile-page .mgr-profile-logout-overlay{position:fixed;inset:0;background-color:#0006;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.manager-profile-page .mgr-profile-logout-modal{background-color:var(--white);border-radius:var(--radius-xl);width:100%;max-width:320px;padding:var(--space-xxl);text-align:center;box-shadow:0 20px 60px #00000026}.manager-profile-page .mgr-profile-logout-modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);color:var(--pink)}.manager-profile-page .mgr-profile-logout-modal h3{font-family:Poppins,sans-serif;font-size:18px;font-weight:700;color:var(--text-dark);margin:0 0 var(--space-sm) 0}.manager-profile-page .mgr-profile-logout-modal p{font-size:14px;color:var(--text-medium);margin:0 0 var(--space-xl) 0}.manager-profile-page .mgr-profile-modal-buttons{display:flex;gap:var(--space-md)}.manager-profile-page .mgr-profile-modal-btn{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.manager-profile-page .mgr-profile-modal-btn.cancel{background-color:var(--cream-dark);color:var(--text-dark)}.manager-profile-page .mgr-profile-modal-btn.cancel:hover{background-color:var(--cream)}.manager-profile-page .mgr-profile-modal-btn.confirm{background-color:var(--alert-red);color:var(--white)}.manager-profile-page .mgr-profile-modal-btn.confirm:hover{background-color:var(--alert-red)}.manager-profile-page .mgr-profile-version{text-align:center;font-size:11px;color:var(--text-light);padding-bottom:var(--space-lg)}.manager-profile-page .mgr-profile-nav-spacer{height:80px}@media(max-width:360px){.manager-profile-page .mgr-profile-avatar{width:80px;height:80px}.manager-profile-page .mgr-profile-avatar-initials{font-size:26px}.manager-profile-page .mgr-profile-name{font-size:1.1rem}.manager-profile-page .mgr-profile-menu-item{padding:var(--space-md);min-height:56px}.manager-profile-page .mgr-profile-menu-icon{width:38px;height:38px}}@media(min-width:768px){.manager-profile-page .mgr-profile-menu-item{padding:var(--space-xl)}.manager-profile-page .mgr-profile-menu-icon{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.manager-profile-page .mgr-profile-sparkle,.manager-profile-page .mgr-profile-card,.manager-profile-page .mgr-profile-menu-item,.manager-profile-page .mgr-profile-logout-btn,.manager-profile-page .mgr-profile-menu-arrow{animation:none;transition:none}}@media(prefers-contrast:high){.manager-profile-page .mgr-profile-card,.manager-profile-page .mgr-profile-menu-item,.manager-profile-page .mgr-profile-logout-btn{border:2px solid var(--text-dark)}}.manager-profile-page .mgr-profile-menu-item:focus-visible,.manager-profile-page .mgr-profile-logout-btn:focus-visible,.manager-profile-page .mgr-profile-modal-btn:focus-visible{outline:3px solid var(--pink);outline-offset:3px}:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media(min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media(min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media(min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media(min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media(min-width:576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media(min-width:768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media(min-width:992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media(min-width:1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media(min-width:576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media(min-width:768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media(min-width:992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media(min-width:1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-content-start{align-content:flex-start!important}.ion-align-content-end{align-content:flex-end!important}.ion-align-content-center{align-content:center!important}.ion-align-content-between{align-content:space-between!important}.ion-align-content-around{align-content:space-around!important}.ion-align-content-stretch{align-content:stretch!important}@media(min-width:576px){.ion-align-content-sm-start{align-content:flex-start!important}.ion-align-content-sm-end{align-content:flex-end!important}.ion-align-content-sm-center{align-content:center!important}.ion-align-content-sm-between{align-content:space-between!important}.ion-align-content-sm-around{align-content:space-around!important}.ion-align-content-sm-stretch{align-content:stretch!important}}@media(min-width:768px){.ion-align-content-md-start{align-content:flex-start!important}.ion-align-content-md-end{align-content:flex-end!important}.ion-align-content-md-center{align-content:center!important}.ion-align-content-md-between{align-content:space-between!important}.ion-align-content-md-around{align-content:space-around!important}.ion-align-content-md-stretch{align-content:stretch!important}}@media(min-width:992px){.ion-align-content-lg-start{align-content:flex-start!important}.ion-align-content-lg-end{align-content:flex-end!important}.ion-align-content-lg-center{align-content:center!important}.ion-align-content-lg-between{align-content:space-between!important}.ion-align-content-lg-around{align-content:space-around!important}.ion-align-content-lg-stretch{align-content:stretch!important}}@media(min-width:1200px){.ion-align-content-xl-start{align-content:flex-start!important}.ion-align-content-xl-end{align-content:flex-end!important}.ion-align-content-xl-center{align-content:center!important}.ion-align-content-xl-between{align-content:space-between!important}.ion-align-content-xl-around{align-content:space-around!important}.ion-align-content-xl-stretch{align-content:stretch!important}}.ion-align-items-start{align-items:start!important}.ion-align-items-end{align-items:end!important}.ion-align-items-center{align-items:center!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}@media(min-width:576px){.ion-align-items-sm-start{align-items:start!important}.ion-align-items-sm-end{align-items:end!important}.ion-align-items-sm-center{align-items:center!important}.ion-align-items-sm-stretch{align-items:stretch!important}.ion-align-items-sm-baseline{align-items:baseline!important}}@media(min-width:768px){.ion-align-items-md-start{align-items:start!important}.ion-align-items-md-end{align-items:end!important}.ion-align-items-md-center{align-items:center!important}.ion-align-items-md-stretch{align-items:stretch!important}.ion-align-items-md-baseline{align-items:baseline!important}}@media(min-width:992px){.ion-align-items-lg-start{align-items:start!important}.ion-align-items-lg-end{align-items:end!important}.ion-align-items-lg-center{align-items:center!important}.ion-align-items-lg-stretch{align-items:stretch!important}.ion-align-items-lg-baseline{align-items:baseline!important}}@media(min-width:1200px){.ion-align-items-xl-start{align-items:start!important}.ion-align-items-xl-end{align-items:end!important}.ion-align-items-xl-center{align-items:center!important}.ion-align-items-xl-stretch{align-items:stretch!important}.ion-align-items-xl-baseline{align-items:baseline!important}}.ion-align-self-start{align-self:start!important}.ion-align-self-end{align-self:end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}@media(min-width:576px){.ion-align-self-sm-start{align-self:start!important}.ion-align-self-sm-end{align-self:end!important}.ion-align-self-sm-center{align-self:center!important}.ion-align-self-sm-stretch{align-self:stretch!important}.ion-align-self-sm-baseline{align-self:baseline!important}.ion-align-self-sm-auto{align-self:auto!important}}@media(min-width:768px){.ion-align-self-md-start{align-self:start!important}.ion-align-self-md-end{align-self:end!important}.ion-align-self-md-center{align-self:center!important}.ion-align-self-md-stretch{align-self:stretch!important}.ion-align-self-md-baseline{align-self:baseline!important}.ion-align-self-md-auto{align-self:auto!important}}@media(min-width:992px){.ion-align-self-lg-start{align-self:start!important}.ion-align-self-lg-end{align-self:end!important}.ion-align-self-lg-center{align-self:center!important}.ion-align-self-lg-stretch{align-self:stretch!important}.ion-align-self-lg-baseline{align-self:baseline!important}.ion-align-self-lg-auto{align-self:auto!important}}@media(min-width:1200px){.ion-align-self-xl-start{align-self:start!important}.ion-align-self-xl-end{align-self:end!important}.ion-align-self-xl-center{align-self:center!important}.ion-align-self-xl-stretch{align-self:stretch!important}.ion-align-self-xl-baseline{align-self:baseline!important}.ion-align-self-xl-auto{align-self:auto!important}}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-evenly{justify-content:space-evenly!important}@media(min-width:576px){.ion-justify-content-sm-start{justify-content:flex-start!important}.ion-justify-content-sm-end{justify-content:flex-end!important}.ion-justify-content-sm-center{justify-content:center!important}.ion-justify-content-sm-between{justify-content:space-between!important}.ion-justify-content-sm-around{justify-content:space-around!important}.ion-justify-content-sm-evenly{justify-content:space-evenly!important}}@media(min-width:768px){.ion-justify-content-md-start{justify-content:flex-start!important}.ion-justify-content-md-end{justify-content:flex-end!important}.ion-justify-content-md-center{justify-content:center!important}.ion-justify-content-md-between{justify-content:space-between!important}.ion-justify-content-md-around{justify-content:space-around!important}.ion-justify-content-md-evenly{justify-content:space-evenly!important}}@media(min-width:992px){.ion-justify-content-lg-start{justify-content:flex-start!important}.ion-justify-content-lg-end{justify-content:flex-end!important}.ion-justify-content-lg-center{justify-content:center!important}.ion-justify-content-lg-between{justify-content:space-between!important}.ion-justify-content-lg-around{justify-content:space-around!important}.ion-justify-content-lg-evenly{justify-content:space-evenly!important}}@media(min-width:1200px){.ion-justify-content-xl-start{justify-content:flex-start!important}.ion-justify-content-xl-end{justify-content:flex-end!important}.ion-justify-content-xl-center{justify-content:center!important}.ion-justify-content-xl-between{justify-content:space-between!important}.ion-justify-content-xl-around{justify-content:space-around!important}.ion-justify-content-xl-evenly{justify-content:space-evenly!important}}.ion-flex-row{flex-direction:row!important}.ion-flex-row-reverse{flex-direction:row-reverse!important}.ion-flex-column{flex-direction:column!important}.ion-flex-column-reverse{flex-direction:column-reverse!important}@media(min-width:576px){.ion-flex-sm-row{flex-direction:row!important}.ion-flex-sm-row-reverse{flex-direction:row-reverse!important}.ion-flex-sm-column{flex-direction:column!important}.ion-flex-sm-column-reverse{flex-direction:column-reverse!important}}@media(min-width:768px){.ion-flex-md-row{flex-direction:row!important}.ion-flex-md-row-reverse{flex-direction:row-reverse!important}.ion-flex-md-column{flex-direction:column!important}.ion-flex-md-column-reverse{flex-direction:column-reverse!important}}@media(min-width:992px){.ion-flex-lg-row{flex-direction:row!important}.ion-flex-lg-row-reverse{flex-direction:row-reverse!important}.ion-flex-lg-column{flex-direction:column!important}.ion-flex-lg-column-reverse{flex-direction:column-reverse!important}}@media(min-width:1200px){.ion-flex-xl-row{flex-direction:row!important}.ion-flex-xl-row-reverse{flex-direction:row-reverse!important}.ion-flex-xl-column{flex-direction:column!important}.ion-flex-xl-column-reverse{flex-direction:column-reverse!important}}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-flex-wrap{flex-wrap:wrap!important}.ion-flex-nowrap{flex-wrap:nowrap!important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse!important}@media(min-width:576px){.ion-flex-sm-wrap{flex-wrap:wrap!important}.ion-flex-sm-nowrap{flex-wrap:nowrap!important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:768px){.ion-flex-md-wrap{flex-wrap:wrap!important}.ion-flex-md-nowrap{flex-wrap:nowrap!important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:992px){.ion-flex-lg-wrap{flex-wrap:wrap!important}.ion-flex-lg-nowrap{flex-wrap:nowrap!important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:1200px){.ion-flex-xl-wrap{flex-wrap:wrap!important}.ion-flex-xl-nowrap{flex-wrap:nowrap!important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}}.ion-flex-1{flex:1!important}.ion-flex-auto{flex:auto!important}.ion-flex-initial{flex:initial!important}.ion-flex-none{flex:none!important}@media(min-width:576px){.ion-flex-sm-1{flex:1!important}.ion-flex-sm-auto{flex:auto!important}.ion-flex-sm-initial{flex:initial!important}.ion-flex-sm-none{flex:none!important}}@media(min-width:768px){.ion-flex-md-1{flex:1!important}.ion-flex-md-auto{flex:auto!important}.ion-flex-md-initial{flex:initial!important}.ion-flex-md-none{flex:none!important}}@media(min-width:992px){.ion-flex-lg-1{flex:1!important}.ion-flex-lg-auto{flex:auto!important}.ion-flex-lg-initial{flex:initial!important}.ion-flex-lg-none{flex:none!important}}@media(min-width:1200px){.ion-flex-xl-1{flex:1!important}.ion-flex-xl-auto{flex:auto!important}.ion-flex-xl-initial{flex:initial!important}.ion-flex-xl-none{flex:none!important}}.ion-flex-grow-0{flex-grow:0!important}.ion-flex-grow-1{flex-grow:1!important}.ion-flex-shrink-0{flex-shrink:0!important}.ion-flex-shrink-1{flex-shrink:1!important}@media(min-width:576px){.ion-flex-sm-grow-0{flex-grow:0!important}.ion-flex-sm-grow-1{flex-grow:1!important}.ion-flex-sm-shrink-0{flex-shrink:0!important}.ion-flex-sm-shrink-1{flex-shrink:1!important}}@media(min-width:768px){.ion-flex-md-grow-0{flex-grow:0!important}.ion-flex-md-grow-1{flex-grow:1!important}.ion-flex-md-shrink-0{flex-shrink:0!important}.ion-flex-md-shrink-1{flex-shrink:1!important}}@media(min-width:992px){.ion-flex-lg-grow-0{flex-grow:0!important}.ion-flex-lg-grow-1{flex-grow:1!important}.ion-flex-lg-shrink-0{flex-shrink:0!important}.ion-flex-lg-shrink-1{flex-shrink:1!important}}@media(min-width:1200px){.ion-flex-xl-grow-0{flex-grow:0!important}.ion-flex-xl-grow-1{flex-grow:1!important}.ion-flex-xl-shrink-0{flex-shrink:0!important}.ion-flex-xl-shrink-1{flex-shrink:1!important}}.ion-order-first{order:-1!important}.ion-order-0{order:0!important}.ion-order-1{order:1!important}.ion-order-2{order:2!important}.ion-order-3{order:3!important}.ion-order-4{order:4!important}.ion-order-5{order:5!important}.ion-order-6{order:6!important}.ion-order-7{order:7!important}.ion-order-8{order:8!important}.ion-order-9{order:9!important}.ion-order-10{order:10!important}.ion-order-11{order:11!important}.ion-order-12{order:12!important}.ion-order-last{order:13!important}@media(min-width:576px){.ion-order-sm-first{order:-1!important}.ion-order-sm-0{order:0!important}.ion-order-sm-1{order:1!important}.ion-order-sm-2{order:2!important}.ion-order-sm-3{order:3!important}.ion-order-sm-4{order:4!important}.ion-order-sm-5{order:5!important}.ion-order-sm-6{order:6!important}.ion-order-sm-7{order:7!important}.ion-order-sm-8{order:8!important}.ion-order-sm-9{order:9!important}.ion-order-sm-10{order:10!important}.ion-order-sm-11{order:11!important}.ion-order-sm-12{order:12!important}.ion-order-sm-last{order:13!important}}@media(min-width:768px){.ion-order-md-first{order:-1!important}.ion-order-md-0{order:0!important}.ion-order-md-1{order:1!important}.ion-order-md-2{order:2!important}.ion-order-md-3{order:3!important}.ion-order-md-4{order:4!important}.ion-order-md-5{order:5!important}.ion-order-md-6{order:6!important}.ion-order-md-7{order:7!important}.ion-order-md-8{order:8!important}.ion-order-md-9{order:9!important}.ion-order-md-10{order:10!important}.ion-order-md-11{order:11!important}.ion-order-md-12{order:12!important}.ion-order-md-last{order:13!important}}@media(min-width:992px){.ion-order-lg-first{order:-1!important}.ion-order-lg-0{order:0!important}.ion-order-lg-1{order:1!important}.ion-order-lg-2{order:2!important}.ion-order-lg-3{order:3!important}.ion-order-lg-4{order:4!important}.ion-order-lg-5{order:5!important}.ion-order-lg-6{order:6!important}.ion-order-lg-7{order:7!important}.ion-order-lg-8{order:8!important}.ion-order-lg-9{order:9!important}.ion-order-lg-10{order:10!important}.ion-order-lg-11{order:11!important}.ion-order-lg-12{order:12!important}.ion-order-lg-last{order:13!important}}@media(min-width:1200px){.ion-order-xl-first{order:-1!important}.ion-order-xl-0{order:0!important}.ion-order-xl-1{order:1!important}.ion-order-xl-2{order:2!important}.ion-order-xl-3{order:3!important}.ion-order-xl-4{order:4!important}.ion-order-xl-5{order:5!important}.ion-order-xl-6{order:6!important}.ion-order-xl-7{order:7!important}.ion-order-xl-8{order:8!important}.ion-order-xl-9{order:9!important}.ion-order-xl-10{order:10!important}.ion-order-xl-11{order:11!important}.ion-order-xl-12{order:12!important}.ion-order-xl-last{order:13!important}}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media(min-width:576px){.ion-hide-sm-up{display:none!important}}@media(max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media(min-width:768px){.ion-hide-md-up{display:none!important}}@media(max-width:767.98px){.ion-hide-md-down{display:none!important}}@media(min-width:992px){.ion-hide-lg-up{display:none!important}}@media(max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media(min-width:1200px){.ion-hide-xl-up{display:none!important}}@media(max-width:1199.98px){.ion-hide-xl-down{display:none!important}}.ion-display-none{display:none!important}@media(min-width:576px){.ion-display-sm-none{display:none!important}}@media(min-width:768px){.ion-display-md-none{display:none!important}}@media(min-width:992px){.ion-display-lg-none{display:none!important}}@media(min-width:1200px){.ion-display-xl-none{display:none!important}}.ion-display-inline{display:inline!important}@media(min-width:576px){.ion-display-sm-inline{display:inline!important}}@media(min-width:768px){.ion-display-md-inline{display:inline!important}}@media(min-width:992px){.ion-display-lg-inline{display:inline!important}}@media(min-width:1200px){.ion-display-xl-inline{display:inline!important}}.ion-display-inline-block{display:inline-block!important}@media(min-width:576px){.ion-display-sm-inline-block{display:inline-block!important}}@media(min-width:768px){.ion-display-md-inline-block{display:inline-block!important}}@media(min-width:992px){.ion-display-lg-inline-block{display:inline-block!important}}@media(min-width:1200px){.ion-display-xl-inline-block{display:inline-block!important}}.ion-display-block{display:block!important}@media(min-width:576px){.ion-display-sm-block{display:block!important}}@media(min-width:768px){.ion-display-md-block{display:block!important}}@media(min-width:992px){.ion-display-lg-block{display:block!important}}@media(min-width:1200px){.ion-display-xl-block{display:block!important}}.ion-display-flex{display:flex!important}@media(min-width:576px){.ion-display-sm-flex{display:flex!important}}@media(min-width:768px){.ion-display-md-flex{display:flex!important}}@media(min-width:992px){.ion-display-lg-flex{display:flex!important}}@media(min-width:1200px){.ion-display-xl-flex{display:flex!important}}.ion-display-inline-flex{display:inline-flex!important}@media(min-width:576px){.ion-display-sm-inline-flex{display:inline-flex!important}}@media(min-width:768px){.ion-display-md-inline-flex{display:inline-flex!important}}@media(min-width:992px){.ion-display-lg-inline-flex{display:inline-flex!important}}@media(min-width:1200px){.ion-display-xl-inline-flex{display:inline-flex!important}}.ion-display-grid{display:grid!important}@media(min-width:576px){.ion-display-sm-grid{display:grid!important}}@media(min-width:768px){.ion-display-md-grid{display:grid!important}}@media(min-width:992px){.ion-display-lg-grid{display:grid!important}}@media(min-width:1200px){.ion-display-xl-grid{display:grid!important}}.ion-display-inline-grid{display:inline-grid!important}@media(min-width:576px){.ion-display-sm-inline-grid{display:inline-grid!important}}@media(min-width:768px){.ion-display-md-inline-grid{display:inline-grid!important}}@media(min-width:992px){.ion-display-lg-inline-grid{display:inline-grid!important}}@media(min-width:1200px){.ion-display-xl-inline-grid{display:inline-grid!important}}.ion-display-table{display:table!important}@media(min-width:576px){.ion-display-sm-table{display:table!important}}@media(min-width:768px){.ion-display-md-table{display:table!important}}@media(min-width:992px){.ion-display-lg-table{display:table!important}}@media(min-width:1200px){.ion-display-xl-table{display:table!important}}.ion-display-table-cell{display:table-cell!important}@media(min-width:576px){.ion-display-sm-table-cell{display:table-cell!important}}@media(min-width:768px){.ion-display-md-table-cell{display:table-cell!important}}@media(min-width:992px){.ion-display-lg-table-cell{display:table-cell!important}}@media(min-width:1200px){.ion-display-xl-table-cell{display:table-cell!important}}.ion-display-table-row{display:table-row!important}@media(min-width:576px){.ion-display-sm-table-row{display:table-row!important}}@media(min-width:768px){.ion-display-md-table-row{display:table-row!important}}@media(min-width:992px){.ion-display-lg-table-row{display:table-row!important}}@media(min-width:1200px){.ion-display-xl-table-row{display:table-row!important}}:root{--ion-color-primary: #3880ff;--ion-color-primary-rgb: 56, 128, 255;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #3171e0;--ion-color-primary-tint: #4c8dff;--ion-color-secondary: #2dd36f;--ion-color-secondary-rgb: 45, 211, 111;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #28ba62;--ion-color-secondary-tint: #42d77d;--ion-color-tertiary: #6366f1;--ion-color-tertiary-rgb: 99, 102, 241;--ion-color-tertiary-contrast: #ffffff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #5758d4;--ion-color-tertiary-tint: #7375f2;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #eb445a;--ion-color-danger-rgb: 235, 68, 90;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #cf3c4f;--ion-color-danger-tint: #ed576b;--ion-color-success: #2dd36f;--ion-color-success-rgb: 45, 211, 111;--ion-color-success-contrast: #ffffff;--ion-color-success-contrast-rgb: 255, 255, 255;--ion-color-success-shade: #28ba62;--ion-color-success-tint: #42d77d;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #92949c;--ion-color-medium-rgb: 146, 148, 156;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #808289;--ion-color-medium-tint: #9d9fa6;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #ffffff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e;--school-bg-primary: #f8fafc;--school-bg-card: #ffffff;--school-text-primary: #1e293b;--school-text-secondary: #64748b;--school-border: #e2e8f0;--school-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1)}.ios{--ion-background-color: var(--school-bg-primary);--ion-toolbar-background: var(--school-bg-card);--ion-tab-bar-background: var(--school-bg-card)}.md{--ion-background-color: var(--school-bg-primary);--ion-toolbar-background: var(--ion-color-primary);--ion-toolbar-color: #ffffff}:root{--ion-background-color: #f8fafc;--ion-text-color: #1e293b}input,textarea{border-bottom:none}input:focus,textarea:focus{border-bottom:none}:root{--coral: #FF8A7A;--coral-light: #FFB5AB;--peach: #FADDCF;--peach-light: #FCECE4;--sage: #88B5A1;--sage-light: #C0D8CC;--purple-ai: #958BCA;--purple-ai-light: #CEC6EB;--cream: #FCFBF9;--cream-dark: #F3F1F0;--white: #FFFFFF;--pink: #FF6B9D;--orange: #FFA94D;--yellow: #FFD93D;--alert-red: #FF6B6B;--alert-orange: #FFB347;--success-green: #7DB59A;--pink-primary: #FF6B9D;--pinned-yellow: #FFF3CD;--pinned-yellow-border: #FFE082;--text-dark: #3D3D3D;--text-medium: #6B6B6B;--text-light: #9B9B9B;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 50%;--pink-soft: rgba(255, 107, 157, .1);--pink-softer: rgba(255, 107, 157, .05);--orange-soft: rgba(255, 169, 77, .1);--yellow-soft: rgba(255, 217, 61, .12);--sage-soft: rgba(125, 181, 154, .1);--purple-soft: rgba(139, 126, 200, .1);--red-soft: rgba(255, 107, 107, .1);--pink-dark: #E0528A;--orange-dark: #D4850C;--purple-dark: #6B5EAA;--sage-dark: #5A9270;--yellow-dark: #B7891B;--red-dark: #A86060;--role-student-bg: #FFE0EB;--role-student-text: #FF6B9D;--role-teacher-bg: #FFE8CC;--role-teacher-text: #D4850C;--role-parent-bg: #FFF3CC;--role-parent-text: #B7891B;--role-manager-bg: #E9D8FD;--role-manager-text: #6B5EAA;--status-active: #7DB59A;--status-inactive: #9B9B9B;--status-suspended: #FF6B6B;--pink-light: #FF85B1;--pink-lighter: #FFB5CC;--orange-lighter: #FFD199;--yellow-lighter: #FFE680;--purple-medium: #9F7AEA;--purple-light: #B794F4;--shadow-sm: 0 2px 8px rgba(255, 107, 157, .06);--shadow-md: 0 4px 20px rgba(255, 107, 157, .08);--shadow-lg: 0 8px 30px rgba(255, 107, 157, .12);--shadow-card: 0 4px 14px rgba(0, 0, 0, .06);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, .08);--shadow-nav: 0 -2px 10px rgba(0, 0, 0, .06);--border-light: rgba(0, 0, 0, .04);--border-medium: rgba(0, 0, 0, .08);--border-input: rgba(0, 0, 0, .1);--pink-rgb: 255, 107, 157;--coral-rgb: 255, 138, 122;--orange-rgb: 255, 169, 77;--yellow-rgb: 255, 217, 61;--sage-rgb: 125, 181, 154;--purple-ai-rgb: 139, 126, 200;--alert-red-rgb: 255, 107, 107;--header-bg: rgba(255, 255, 255, .95);--header-bg-warm: rgba(255, 249, 245, .95);--success-text: #2F855A;--warning-text: #C05621;--danger-text: #C53030;--info-text: #3B82F6;--success-bg: rgba(72, 187, 120, .1);--warning-bg: rgba(246, 173, 85, .12);--danger-bg: rgba(252, 129, 129, .12);--info-bg: rgba(59, 130, 246, .1);--surface: #FFFFFF;--surface-translucent: rgba(255, 255, 255, .8);--border-warm: #E8E0DB;--border-warm-dark: #D8D0CB;--toggle-off: #E2E8F0}[data-theme=manager]{--pink: #8B5E83;--coral: #A67B9E;--orange: #B8860B;--pink-soft: rgba(139, 94, 131, .1);--pink-softer: rgba(139, 94, 131, .05);--orange-soft: rgba(184, 134, 11, .1);--pink-dark: #6B3D64;--orange-dark: #8A6308;--pink-light: #A67B9E;--pink-lighter: #C4A8BF;--orange-lighter: #D4AA6A;--cream: #FAF7FA;--cream-dark: #F0EAF0;--shadow-sm: 0 2px 8px rgba(100, 60, 95, .06);--shadow-md: 0 4px 20px rgba(100, 60, 95, .08);--shadow-lg: 0 8px 30px rgba(100, 60, 95, .12);--pink-rgb: 139, 94, 131;--orange-rgb: 184, 134, 11;--pink-primary: #8B5E83;--ion-background-color: #FAF7FA}[data-theme=manager] .bottom-nav .nav-item.active{color:var(--coral)}[data-theme=teacher]{--pink: #2B8A8A;--coral: #4EADA6;--orange: #E8A838;--pink-soft: rgba(43, 138, 138, .1);--pink-softer: rgba(43, 138, 138, .05);--orange-soft: rgba(232, 168, 56, .1);--pink-dark: #1D6B6B;--orange-dark: #B8841C;--pink-light: #4EADA6;--pink-lighter: #8DCFCA;--orange-lighter: #F0C878;--cream: #F5FAFA;--cream-dark: #E8F0F0;--shadow-sm: 0 2px 8px rgba(43, 100, 100, .06);--shadow-md: 0 4px 20px rgba(43, 100, 100, .08);--shadow-lg: 0 8px 30px rgba(43, 100, 100, .12);--pink-rgb: 43, 138, 138;--coral-rgb: 78, 173, 166;--orange-rgb: 232, 168, 56;--header-bg: rgba(245, 250, 250, .95);--header-bg-warm: rgba(245, 250, 250, .95);--border-warm: #D8E8E8;--border-warm-dark: #C0D8D8;--pink-primary: #2B8A8A;--ion-background-color: #F5FAFA}[data-theme=teacher] .bottom-nav .nav-item.active{color:var(--coral)}[data-theme=parent]{--pink: #8B7EC8;--coral: #A699D4;--orange: #E8A838;--pink-soft: rgba(139, 126, 200, .1);--pink-softer: rgba(139, 126, 200, .05);--orange-soft: rgba(232, 168, 56, .1);--pink-dark: #6B5EAA;--orange-dark: #B8841C;--pink-light: #A699D4;--pink-lighter: #C4BBE8;--orange-lighter: #F0C878;--cream: #F8F6FC;--cream-dark: #EFEBF7;--shadow-sm: 0 2px 8px rgba(90, 70, 150, .06);--shadow-md: 0 4px 20px rgba(90, 70, 150, .08);--shadow-lg: 0 8px 30px rgba(90, 70, 150, .12);--pink-rgb: 139, 126, 200;--coral-rgb: 166, 153, 212;--orange-rgb: 232, 168, 56;--header-bg: rgba(248, 246, 252, .95);--header-bg-warm: rgba(248, 246, 252, .95);--border-warm: #E0D8EC;--border-warm-dark: #D0C8DC;--pink-primary: #8B7EC8;--ion-background-color: #F8F6FC}[data-theme=parent] .bottom-nav .nav-item.active{color:var(--coral)}
