@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;0,14..32,800;0,14..32,900;1,14..32,400&display=swap";.t-page{flex-direction:column;gap:1.5rem;display:flex;position:relative}.t-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.t-header h2{margin-bottom:.25rem;font-size:1.6rem;font-weight:800}.t-header p{font-size:.9rem}.toast{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:1rem 1.5rem;font-size:.9rem;font-weight:600;animation:.3s slideIn;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 8px 32px #00000059}.toast-success{color:#6ee7b7;background:#10b9812e;border:1px solid #10b98166}.toast-error{color:#fca5a5;background:#ef44442e;border:1px solid #ef444466}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;width:100%;min-width:0;height:100dvh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));overscroll-behavior:contain;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden auto}.modal{width:100%;min-width:0;max-width:480px;max-height:calc(100dvh - 2rem);color:var(--text-primary);overflow-wrap:anywhere;background:#140a0af2;border:1px solid #ffffff1a;border-radius:20px;margin:auto;padding:2rem;animation:.22s cubic-bezier(.22,1,.36,1) modalIn;overflow:hidden auto;box-shadow:0 32px 80px #0009,inset 0 0 0 1px #ffffff0a}@keyframes modalIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal h3{margin:0 0 1.25rem;font-size:1.2rem}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.add-student-intro{margin:-.55rem 0 .15rem;font-size:.8rem;line-height:1.5}.add-student-modal{width:min(100%,640px);max-width:640px;max-height:calc(100dvh - 2rem);overflow-y:auto}.add-student-modal-overlay{z-index:12000;align-items:flex-start}.add-student-modal-overlay .add-student-modal{margin-block:auto}.student-account-mode{border:0;min-width:0;margin:0;padding:0}.student-account-mode legend,.student-form-section-heading strong{color:var(--text-primary);margin-bottom:.55rem;font-size:.8rem;font-weight:800;display:block}.student-account-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.student-account-option{cursor:pointer;background:#ffffff94;border:1px solid #b71c1c1f;border-radius:12px;align-items:flex-start;gap:.7rem;min-width:0;padding:.85rem;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.student-account-option:hover{border-color:#b71c1c47}.student-account-option.is-selected{background:#fff8dbf0;border-color:#d4af37b8;box-shadow:0 0 0 3px #d4af371f}.student-account-option input{width:18px;height:18px;accent-color:var(--primary-red);flex:0 0 18px;margin-top:.1rem}.student-account-option span,.student-account-option strong,.student-account-option small{min-width:0;display:block}.student-account-option strong{color:var(--text-primary);font-size:.82rem}.student-account-option small,.student-temporary-password-field small{color:var(--text-secondary);margin-top:.2rem;font-size:.69rem;line-height:1.4}.student-form-section{background:#ffffff57;border:1px solid #b71c1c1a;border-radius:12px;gap:.75rem;padding:.9rem;display:grid}.student-form-section-heading strong{margin-bottom:.15rem}.student-form-section-heading small{color:var(--text-secondary);font-size:.7rem;line-height:1.4}.student-field{gap:.35rem;display:grid}.student-field>span{color:var(--text-primary);font-size:.74rem;font-weight:750}.student-existing-note{color:var(--text-secondary);background:#d4af371a;border-radius:8px;padding:.7rem .8rem;font-size:.73rem;line-height:1.45}.student-temporary-password-field{gap:.3rem;display:grid}@media (width<=560px){.add-student-modal{border-radius:16px;max-height:calc(100dvh - 1rem);padding:1.2rem}.student-account-mode-grid{grid-template-columns:1fr}.add-student-modal .modal-actions{flex-direction:column-reverse;align-items:stretch}.add-student-modal .modal-actions button{width:100%}}.policy-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(10px)saturate(.9);backdrop-filter:blur(10px)saturate(.9);background:radial-gradient(circle at 18% 12%,#f4c54224,#0000 32%),radial-gradient(circle at 88% 88%,#b71c1c1a,#0000 34%),#271c18a8}.policy-modal{background:linear-gradient(145deg,#ffffffeb,#fff8e1f5);border-color:#b71c1c29;width:min(94vw,520px);max-width:520px;max-height:calc(100dvh - 2rem);position:relative;overflow-y:auto}.policy-modal:before{content:"";z-index:2;background:var(--primary-red);width:62%;height:5px;transition:width .55s cubic-bezier(.22,1,.36,1);position:absolute;inset:0 auto auto 0}.policy-modal:after{content:"";z-index:1;background:#d4af37cc;height:5px;position:absolute;inset:0 0 auto}.policy-modal.is-agreed:before{width:100%}.policy-background-logo{z-index:0;opacity:.045;filter:grayscale(.35)sepia(.12)saturate(.72);object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:88px;height:88px;display:block;position:absolute;top:.55rem;right:.65rem}.policy-modal>:not(.policy-background-logo){z-index:1;position:relative}.policy-modal-header h3,.policy-modal-header p{margin:0}.policy-modal-header h3{color:var(--primary-red);letter-spacing:-.035em}.policy-modal-header p{margin-top:.55rem;line-height:1.55}.policy-header-context{min-width:0}.policy-secure-label{color:#805817;letter-spacing:.035em;text-transform:uppercase;background:#f4c5421a;border:1px solid #d4af3752;border-radius:999px;align-items:center;gap:.4rem;min-height:25px;padding:.28rem .58rem;font-size:.62rem;font-weight:800;display:inline-flex}.policy-secure-label>span{background:#4caf50;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #4caf501f}.policy-title-row{align-items:center;gap:.85rem;display:flex}.policy-title-mark{color:#fff;letter-spacing:.08em;background:#fff;border:1px solid #b71c1c26;border-radius:13px;flex:0 0 46px;place-items:center;width:46px;height:46px;padding:5px;font-size:.72rem;font-weight:850;display:grid;box-shadow:0 8px 18px #b71c1c2e}.policy-title-mark img{object-fit:contain;width:100%;height:100%;display:block}.policy-eyebrow{color:#8a6500;letter-spacing:.11em;text-transform:uppercase;margin-bottom:.22rem;font-size:.65rem;font-weight:800;display:block}.policy-status-strip{background:#ffffff8c;border:1px solid #b71c1c1a;border-radius:13px;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-top:1rem;padding:.65rem;display:grid}.policy-status-item{align-items:center;gap:.6rem;min-width:0;padding:.45rem .55rem;display:flex}.policy-status-item>span:last-child,.policy-status-item strong,.policy-status-item small{min-width:0;display:block}.policy-status-item strong{color:var(--text-primary);font-size:.72rem;line-height:1.3}.policy-status-item small{color:var(--text-secondary);margin-top:.12rem;font-size:.62rem;line-height:1.35}.policy-status-dot{background:var(--primary-gold);border-radius:50%;flex:0 0 10px;width:10px;height:10px;position:relative;box-shadow:0 0 0 4px #f4c54226}.policy-status-dot.is-red{background:var(--danger);box-shadow:0 0 0 4px #e539351f}.policy-status-dot.is-green{background:var(--success);box-shadow:0 0 0 4px #4caf501f}.policy-rules-grid{gap:.8rem;margin:1.25rem 0 1rem;display:grid}.policy-content-heading{min-width:0;margin-bottom:.1rem}.policy-content-heading>span{color:#8a6500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-size:.62rem;font-weight:850;display:block}.policy-content-heading h4,.policy-content-heading p{margin:0}.policy-content-heading h4{color:var(--text-primary);letter-spacing:-.02em;font-size:1rem}.policy-content-heading p{color:var(--text-secondary);margin-top:.25rem;font-size:.7rem;line-height:1.45}.policy-rule-section{background:#ffffff9e;border:1px solid #b71c1c1f;border-radius:11px;min-width:0;padding:1rem;position:relative;overflow:hidden;box-shadow:0 10px 24px #4a2d1c0b}.policy-privacy-section{border-color:#4caf502e;box-shadow:0 12px 28px #2e7d320e}.policy-exam-section{border-color:#e539352b;box-shadow:0 12px 28px #b71c1c0d}.policy-rule-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#4caf5024 0 34%,#4caf500d 55%,#0000 72%);border-radius:50%;width:9rem;height:9rem;position:absolute;top:-4.4rem;right:-3.6rem}.policy-exam-section:before{background:radial-gradient(circle,#e5393521 0 34%,#e539350b 55%,#0000 72%)}.policy-rule-section h4{margin:0;font-size:1rem}.policy-section-heading{border:1px solid #0000;border-radius:12px;align-items:center;gap:.7rem;margin-bottom:.9rem;padding:.68rem .75rem;display:flex}.policy-privacy-section .policy-section-heading{background:linear-gradient(135deg,#f4fcf1eb,#ffffff8f);border-color:#4caf5021}.policy-exam-section .policy-section-heading{background:linear-gradient(135deg,#fff2efe0,#ffffff8f);border-color:#e539351f}.policy-section-heading>div{min-width:0}.policy-section-heading p{color:var(--text-secondary);margin:.16rem 0 0;font-size:.68rem;line-height:1.35}.policy-section-number{color:#2e7d32;background:#4caf5017;border:1px solid #4caf5033;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.68rem;font-weight:850;display:grid}.policy-exam-section .policy-section-number{color:var(--danger);background:#e5393514;border-color:#e5393533}.policy-privacy-section h4{color:var(--success)}.policy-exam-section h4{color:var(--danger)}.policy-rule-section ul{margin:0;padding:0;font-size:.84rem;line-height:1.5;list-style:none}.policy-rule-section li{padding-left:1.15rem;position:relative}.policy-rule-section li:before{content:"";background:#2e7d32ad;border-radius:50%;width:6px;height:6px;position:absolute;top:.58em;left:0;box-shadow:0 0 0 3px #4caf5014}.policy-exam-section li:before{background:#c62828b8;box-shadow:0 0 0 3px #e5393512}.policy-rule-section li+li{margin-top:.55rem}.policy-confirmation-panel{gap:.8rem;display:grid}.policy-agreement{color:var(--text-primary);cursor:pointer;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;font-size:.9rem;line-height:1.45;display:flex}.policy-agreement input{width:18px;height:18px;accent-color:var(--primary-red);flex:0 0 18px;margin-top:.12rem}.policy-agreement-copy{gap:.22rem;min-width:0;display:grid}.policy-agreement-copy small{color:var(--text-secondary);font-size:.68rem;line-height:1.35}.policy-confirmation-panel .modal-actions{margin-top:0}.policy-accept-button{justify-content:center;align-items:center;gap:.65rem;width:100%;display:inline-flex}.policy-button-arrow{background:#ffffff47;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.95rem;line-height:1;transition:transform .2s;display:inline-grid}.policy-accept-button:not(:disabled):hover .policy-button-arrow{transform:translate(3px)}.policy-accept-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width>=900px){.policy-modal{border-radius:24px;flex-direction:column;justify-content:center;width:min(100vw - 4rem,1180px);max-width:1180px;min-height:min(680px,100dvh - 4rem);padding:clamp(1.75rem,3vw,3rem);display:flex;box-shadow:0 36px 90px #2218144d,inset 0 0 0 1px #ffffffbf}.policy-modal-header{justify-content:space-between;align-items:flex-end;gap:2rem;width:min(100%,980px);margin-inline:auto;display:flex}.policy-status-strip{border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(100%,980px);margin:1.35rem auto 0;padding:.55rem;box-shadow:0 8px 22px #4a2d1c0a}.policy-status-item{min-height:54px;padding:.5rem 1rem}.policy-status-item+.policy-status-item{border-left:1px solid #b71c1c17}.policy-modal-header h3{font-size:clamp(1.55rem,2.4vw,2.15rem)}.policy-header-context{text-align:right;width:min(100%,390px)}.policy-header-context p{text-align:right;margin:0 0 .15rem}.policy-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.15rem;width:min(100%,980px);margin:1.15rem auto}.policy-rule-section{border-radius:15px;padding:clamp(1.3rem,2vw,1.65rem);transition:border-color .2s,box-shadow .2s,transform .2s}.policy-rule-section:hover{border-color:#d4af3761;transform:translateY(-2px);box-shadow:0 14px 30px #4a2d1c13}.policy-rule-section h4{font-size:1.1rem}.policy-rule-section ul{font-size:.9rem}.policy-confirmation-panel{background:#fff9;border:1px solid #b71c1c1a;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;width:min(100%,980px);margin-inline:auto;padding:.75rem;transition:border-color .2s,box-shadow .2s,background .2s;display:grid;box-shadow:0 10px 24px #4a2d1c0b}.policy-confirmation-panel.is-confirmed{background:#fffcefeb;border-color:#d4af377a;box-shadow:0 10px 26px #4a2d1c12}.policy-agreement{width:100%;margin:0;padding:.55rem .65rem}.policy-confirmation-panel .modal-actions{justify-content:flex-end;margin-top:0}.policy-accept-button{border-radius:12px;width:auto;min-width:270px;min-height:50px;padding-inline:1.5rem;box-shadow:0 10px 22px #d4af373d}}@media (width>=1100px){.policy-modal{justify-content:initial;background:linear-gradient(145deg,#fffdf8,#fff8e1);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:360px minmax(0,1fr);width:min(100vw - 3rem,1240px);max-width:1240px;min-height:min(720px,100dvh - 3rem);padding:0;display:grid;overflow:hidden auto}.policy-modal:after{content:"";background:radial-gradient(circle at 14% 12%,#ffda6c45,#0000 24%),radial-gradient(circle at 88% 84%,#ffc44f24,#0000 30%),linear-gradient(155deg,#8f161d 0%,#b71c1c 52%,#75141b 100%);width:360px;position:absolute;inset:0 auto 0 0}.policy-modal>*{z-index:1;position:relative}.policy-modal-header{grid-area:1/1;width:auto;margin:0;padding:clamp(2.5rem,5vh,3.6rem) 2.4rem 1.3rem;display:block}.policy-title-mark{color:#7c151b;background:linear-gradient(145deg,#fff7d8,#f4c542);border-color:#ffffff3d;border-radius:17px;flex-basis:58px;width:58px;height:58px;font-size:.78rem;box-shadow:0 14px 30px #42070d40}.policy-modal-header h3{color:#fff;letter-spacing:-.045em;max-width:270px;font-size:clamp(2rem,3vw,2.55rem);line-height:1.05}.policy-status-strip{width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:2/1/4;grid-template-columns:minmax(0,1fr);align-content:start;gap:.55rem;margin:0;padding:0 2rem 2.4rem 2.4rem}.policy-status-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff13;border:1px solid #ffffff21;border-radius:13px;min-height:64px;padding:.75rem .85rem}.policy-status-item+.policy-status-item{border-left:1px solid #ffffff21}.policy-status-item strong{color:#fff;font-size:.75rem}.policy-status-item small{color:#ffffffa3}.policy-rules-grid{grid-area:1/2/3;grid-template-columns:minmax(0,1fr);align-content:center;gap:.85rem;width:auto;min-width:0;margin:0;padding:clamp(2.1rem,5vh,3.3rem) clamp(2rem,4vw,3.3rem) 1.1rem}.policy-content-heading{border-bottom:1px solid #b71c1c1a;margin:0 0 .35rem;padding-bottom:.9rem}.policy-content-heading h4{font-size:clamp(1.2rem,2vw,1.5rem)}.policy-content-heading p{font-size:.76rem}.policy-rule-section{background:#ffffffc2;border-radius:14px;padding:1.1rem 1.25rem}.policy-rule-section ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.1rem;font-size:.78rem;display:grid}.policy-rule-section li,.policy-rule-section li+li{margin-top:0}.policy-confirmation-panel{background:linear-gradient(135deg,#ffffffeb,#fff9e6e6);border-radius:16px;grid-area:3/2;grid-template-columns:minmax(0,1fr) auto;width:auto;margin:0 clamp(2rem,4vw,3.3rem) clamp(1.7rem,4vh,2.5rem);padding:.8rem}.policy-confirmation-panel.is-confirmed{background:linear-gradient(135deg,#fffdf5,#fff5c9)}.policy-agreement{font-size:.78rem}.policy-accept-button{min-width:230px}.policy-modal{background:radial-gradient(circle at 100% 0,#f4c5421a,#0000 30%),linear-gradient(145deg,#fffefa,#fff9eb);border:1px solid #b71c1c24;border-radius:22px;flex-direction:column;grid-template-rows:none;grid-template-columns:none;justify-content:flex-start;width:min(100vw - 2.5rem,1180px);max-width:1180px;min-height:min(650px,100dvh - 2.5rem);max-height:calc(100dvh - 2.5rem);padding:0;display:flex;overflow:hidden auto;box-shadow:0 32px 82px #28191440,inset 0 0 0 1px #ffffffd1}.policy-modal:before{z-index:2;background:var(--primary-red);width:62%;height:4px;inset:0 auto auto 0}.policy-modal:after{content:"";z-index:1;background:#d4af37d1;width:auto;height:4px;position:absolute;inset:0 0 auto}.policy-modal.is-agreed:before{width:100%}.policy-background-logo{z-index:0;opacity:.085;filter:grayscale(.35)sepia(.12)saturate(.72);mix-blend-mode:multiply;object-fit:contain;width:145px;height:145px;display:block;position:absolute;top:.6rem;left:50%;right:auto;transform:translate(-50%)}.policy-modal-header{border-bottom:1px solid #b71c1c17;grid-area:auto;justify-content:space-between;align-items:center;gap:2.4rem;width:auto;margin:0;padding:2.5rem 2.8rem 1.65rem;display:flex}.policy-title-row{flex-direction:row;align-items:center;gap:0}.policy-title-mark{width:52px;height:52px;color:var(--primary-red);background:#fff;border-color:#b71c1c1f;border-radius:15px;flex-basis:52px;padding:5px;font-size:.72rem;box-shadow:0 10px 22px #b71c1c21}.policy-modal-header h3{max-width:none;color:var(--primary-red);letter-spacing:-.04em;font-size:clamp(1.8rem,2.5vw,2.15rem);line-height:1.08}.policy-eyebrow{color:#8a6500;margin-bottom:.32rem}.policy-header-context{text-align:right;width:min(100%,390px);max-width:390px}.policy-header-context p{color:var(--text-secondary);text-align:right;margin:0;font-size:.84rem;line-height:1.6}.policy-header-context .policy-secure-label{margin-bottom:.55rem}.policy-rules-grid{align-content:initial;flex:auto;grid-area:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.15rem;width:auto;min-width:0;margin:0;padding:1.7rem 2.8rem 1.45rem}.policy-rule-section{background:#ffffffd1;border-color:#b71c1c1c;border-radius:15px;height:100%;min-height:245px;padding:1.55rem 1.65rem;box-shadow:0 10px 24px #4a2d1c0d}.policy-privacy-section{background:linear-gradient(145deg,#ffffffe6,#f4fcf1b8)}.policy-exam-section{background:linear-gradient(145deg,#ffffffe6,#fff4f1ad)}.policy-rule-section:hover{border-color:#b71c1c2e;transform:none;box-shadow:0 13px 28px #4a2d1c12}.policy-section-heading{margin-bottom:1.05rem}.policy-section-number{border-radius:12px;flex-basis:40px;width:40px;height:40px}.policy-section-heading p{font-size:.7rem}.policy-rule-section ul{grid-template-columns:none;font-size:.86rem;line-height:1.58;display:block}.policy-rule-section li strong{color:#43352f}.policy-rule-section li+li{margin-top:.58rem}.policy-confirmation-panel{background:#ffffffc7;border-color:#b71c1c1f;border-radius:15px;grid-area:auto;grid-template-columns:minmax(0,1fr) auto;gap:1rem;width:auto;margin:0 2.8rem 2.5rem;padding:.9rem;box-shadow:0 8px 20px #4a2d1c0b}.policy-confirmation-panel.is-confirmed{background:linear-gradient(135deg,#fffefa,#fff7d8);border-color:#d4af376b}.policy-agreement{padding:.6rem .75rem;font-size:.82rem}.policy-agreement-copy small{font-size:.66rem}.policy-accept-button{border-radius:11px;min-width:260px;min-height:52px}.policy-button-arrow{background:0 0;border-radius:0;width:auto;height:auto;font-size:1rem}}@media (width>=700px) and (width<=1099px){.policy-modal{border-radius:20px;width:min(100vw - 2rem,940px);max-width:940px;max-height:calc(100dvh - 2rem);padding:clamp(1.5rem,3vw,2.15rem);overflow-y:auto}.policy-modal-header{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.policy-modal-header h3{font-size:clamp(1.55rem,3.2vw,1.95rem)}.policy-header-context{width:min(100%,330px)}.policy-header-context p{text-align:right;margin:0}.policy-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.4rem 0 1rem}.policy-rule-section{min-height:250px;padding:1.2rem}.policy-confirmation-panel{background:#ffffffb8;border:1px solid #b71c1c1c;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem}.policy-agreement{margin:0;padding:.45rem}.policy-confirmation-panel .modal-actions{margin:0}.policy-accept-button{width:auto;min-width:220px;min-height:48px}.policy-background-logo{opacity:.055;width:120px;height:120px;top:.35rem;left:50%;right:auto;transform:translate(-50%)}}@media (width<=699px){.policy-modal{border-radius:17px;width:min(100vw - 1rem,540px);max-width:540px;max-height:calc(100dvh - 1rem);padding:1.15rem}.policy-modal:before,.policy-modal:after{height:4px}.policy-modal-header h3{font-size:clamp(1.35rem,7vw,1.7rem);line-height:1.12}.policy-header-context p{margin-top:.55rem;padding-right:3rem;font-size:.76rem;line-height:1.5}.policy-rules-grid{gap:.7rem;margin:1rem 0 .85rem}.policy-rule-section{border-radius:12px;padding:.95rem}.policy-section-heading{margin-bottom:.75rem}.policy-rule-section ul{font-size:.78rem}.policy-confirmation-panel{gap:.65rem}.policy-agreement{background:#ffffffb3;border:1px solid #b71c1c1c;border-radius:12px;margin-bottom:0;padding:.75rem;font-size:.8rem}.policy-confirmation-panel .modal-actions{margin:0}.policy-accept-button{width:100%;min-height:48px}.policy-background-logo{opacity:.05;width:76px;height:76px;top:.45rem;right:.45rem}}@media (prefers-reduced-motion:reduce){.policy-modal:before,.policy-rule-section,.policy-button-arrow{transition:none}.policy-rule-section:hover,.policy-accept-button:not(:disabled):hover .policy-button-arrow{transform:none}}.btn-ghost{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:10px;padding:.75rem 1.25rem;font-family:inherit;font-size:.9rem;transition:all .2s}.btn-danger-sm{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef444447;border-radius:7px;padding:.4rem .875rem;font-family:inherit;font-size:.8rem;transition:all .2s}.badge{color:#fca5a5;background:#e53e3e1a;border:1px solid #e53e3e40;border-radius:20px;padding:.22rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-green{color:#6ee7b7;background:#10b9811f;border-color:#10b9814d}.badge-red{color:#fca5a5;background:#ef44441f;border-color:#ef44444d}.badge-yellow{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b4d}.muted{color:var(--text-secondary);font-size:.875rem}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.empty-icon{font-size:3rem}.class-layout{grid-template-columns:300px 1fr;gap:1.5rem;min-height:500px;display:grid}.class-list{flex-direction:column;gap:.75rem;display:flex}.class-card{cursor:pointer;background:#160c0c99;border:1px solid #ffffff12;border-radius:14px;padding:1.25rem;transition:all .22s}.class-card:hover{background:#e53e3e0d;border-color:#e53e3e4d;transform:translateY(-1px)}.class-card.active{background:#e53e3e1a;border-color:#e53e3e80}.class-card-name{margin-bottom:.25rem;font-weight:600}.class-card-sub{color:var(--text-secondary);margin-bottom:.75rem;font-size:.8rem}.class-card-meta{color:var(--text-secondary);gap:1rem;font-size:.8rem;display:flex}.class-detail{background:#160c0c99;border:1px solid #ffffff12;border-radius:18px;padding:2rem}.class-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.class-detail-header h3{margin:0 0 .5rem}.student-table-wrap{overflow-x:auto}.student-exams-modal{width:min(95%,700px);max-width:700px}.student-exam-attempts-wrap{container:student-attempts/inline-size}.student-exam-attempts-table th{white-space:nowrap;word-break:normal;overflow-wrap:normal}.student-table{border-collapse:collapse;width:100%;margin-top:.5rem}.student-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #ffffff12;padding:.75rem 1rem;font-size:.78rem;font-weight:700}.student-table td{border-bottom:1px solid #ffffff0a;padding:.9rem 1rem;font-size:.9rem}.student-table tr:last-child td{border-bottom:none}.student-table tr:hover td{background:#ffffff06}.student-table tr.clickable-row{cursor:pointer}.student-table tr.clickable-row:hover td{background:#e53e3e0f}.student-name{font-weight:500}.answer-view-button{border-radius:7px;padding:.42rem .75rem;font-size:.82rem}.student-exam-attempt-title{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}@container student-attempts (width<=620px){.student-exam-attempts-wrap{overflow:visible}.student-exam-attempts-table{min-width:0;display:block}.student-exam-attempts-table thead{display:none}.student-exam-attempts-table tbody{gap:.75rem;display:grid}.student-exam-attempts-table tbody tr{background:#ffffff94;border:1px solid #b71c1c1f;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:.85rem;display:grid;box-shadow:0 7px 18px #4a2d1c0b}.student-exam-attempts-table tbody td{white-space:normal;overflow-wrap:anywhere;border:0;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;padding:.6rem;display:flex}.student-exam-attempts-table tbody td:before{content:attr(data-label);color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem;font-weight:800}.student-exam-attempts-table tbody td:first-child{color:var(--text-primary);border-bottom:1px solid #b71c1c1a;grid-column:1/-1;padding-top:.15rem;padding-bottom:.8rem;font-weight:750}.student-exam-attempts-table tbody td:first-child:before{display:none}.student-exam-attempts-table .answer-view-button{width:auto;min-width:78px}.student-exam-attempts-table tr.clickable-row:hover td{background:0 0}}.attempt-answer-detail{flex-direction:column;gap:1rem;display:flex}.attempt-detail-toolbar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.attempt-detail-score{color:var(--text-primary);align-items:center;gap:.75rem;display:flex}.answer-question-list{gap:.85rem;max-height:58vh;padding-right:.25rem;display:grid;overflow-y:auto}.answer-question-card{background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;padding:1rem}.answer-question-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.answer-question-head>.badge{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;flex:none;max-width:max-content;line-height:1.2}.answer-question-meta,.answer-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.answer-question-text{color:var(--text-primary);margin-top:.35rem;font-weight:650;line-height:1.45}.answer-response-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.answer-value{min-height:42px;color:var(--text-primary);white-space:pre-wrap;background:#00000029;border:1px solid #ffffff12;border-radius:8px;margin-top:.35rem;padding:.75rem;line-height:1.45}.answer-choice-list{gap:.45rem;margin-top:.85rem;display:grid}.answer-choice{color:var(--text-secondary);background:#ffffff06;border:1px solid #ffffff0f;border-radius:7px;justify-content:space-between;gap:.75rem;padding:.5rem .7rem;display:flex}.answer-choice.is-selected{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b61}.answer-choice.is-correct{color:#6ee7b7;border-color:#10b98157}.answer-choice-tags{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;font-size:.72rem;font-weight:700;display:flex}@media (width<=700px){.teacher-dashboard-page .quick-overview-outcomes{padding:.75rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item ul{grid-template-columns:1fr;padding-left:.85rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item>p{padding-left:.85rem}.class-outcomes-grid,.class-outcome-student-columns{grid-template-columns:1fr}.class-outcome-card{padding:1rem}.attempt-detail-toolbar,.answer-question-head{flex-direction:column;align-items:stretch}.answer-question-head>.badge{align-self:flex-start}.attempt-detail-score{justify-content:space-between}.answer-response-grid{grid-template-columns:1fr}.answer-choice{flex-direction:column;align-items:flex-start}.student-exam-attempts-wrap{overflow:visible}.student-exam-attempts-table{min-width:0;display:block}.student-exam-attempts-table thead{display:none}.student-exam-attempts-table tbody{gap:.75rem;display:grid}.student-exam-attempts-table tbody tr{background:#ffffff94;border:1px solid #b71c1c1f;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:.85rem;display:grid;box-shadow:0 7px 18px #4a2d1c0b}.student-exam-attempts-table tbody td{white-space:normal;overflow-wrap:anywhere;border:0;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;padding:.6rem;display:flex}.student-exam-attempts-table tbody td:before{content:attr(data-label);color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem;font-weight:800}.student-exam-attempts-table tbody td:first-child{color:var(--text-primary);border-bottom:1px solid #b71c1c1a;grid-column:1/-1;padding-top:.15rem;padding-bottom:.8rem;font-weight:750}.student-exam-attempts-table tbody td:first-child:before{display:none}.student-exam-attempts-table .answer-view-button{width:auto;min-width:78px}.student-exam-attempts-table tr.clickable-row:hover td{background:0 0}}.pet-card{background:var(--glass-bg);border:1px solid #ffffff14;border-radius:20px;flex-wrap:wrap;align-items:center;gap:2rem;padding:2rem;display:flex;position:relative;overflow:visible}.pet-card:before{content:"";pointer-events:none;z-index:0;clip-path:inset(60px 0 0 40px round 20px);background:radial-gradient(circle,#e53e3e1f,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;left:-40px}.pet-avatar{filter:drop-shadow(0 16px 24px #000000b3);z-index:1;justify-content:center;align-items:center;min-width:9rem;font-size:5.5rem;display:flex;position:relative}.pet-avatar-stage-one,.pet-avatar-stage-two{width:9rem;min-width:9rem;height:9rem;overflow:visible}.stage-two-pet-scene{isolation:isolate;transform-origin:50% 92%;will-change:transform;width:100%;height:100%;animation:6.2s ease-in-out infinite stage-two-float;display:block;position:relative}.stage-two-pet-scene:before{content:"";z-index:0;pointer-events:none;filter:blur(2px);background:radial-gradient(at 52% 34%,#ffb72633 0 20%,#e53e3e14 40%,#0000 67%);border-radius:50%;animation:3.8s ease-in-out infinite stage-two-aura-pulse;position:absolute;inset:-5%}.stage-two-pet-scene:after{content:"";z-index:8;pointer-events:none;filter:drop-shadow(0 0 3px #f4c54280);background:radial-gradient(circle at 18% 27%,#f4c542f2 0 1.5px,#0000 2.8px),radial-gradient(circle at 76% 12%,#ff6f18db 0 1.6px,#0000 3px),radial-gradient(circle at 91% 45%,#f4c542c7 0 1.3px,#0000 2.6px),radial-gradient(circle at 12% 66%,#e53e3ea6 0 1.4px,#0000 2.7px),radial-gradient(circle at 71% 78%,#ffb823b8 0 1.2px,#0000 2.5px);animation:4.4s ease-in-out infinite stage-two-sparkle-drift;position:absolute;inset:-8%}.stage-two-character-motion{z-index:2;transform-origin:50% 84%;will-change:transform;width:100%;height:100%;animation:4.8s cubic-bezier(.45,0,.25,1) infinite stage-two-character-greeting;position:absolute;inset:0}.stage-two-pet-image{z-index:4;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;image-rendering:auto;filter:drop-shadow(0 .65rem .6rem #4a26193d)drop-shadow(0 0 .28rem #ffa0192e);transform-origin:50% 88%;will-change:transform;width:100%;height:100%;animation:4.1s cubic-bezier(.45,0,.25,1) infinite stage-two-breathe;display:block;position:relative}.stage-two-fire-layer{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:6;clip-path:polygon(20% 0,77% 0,80% 38%,62% 38%,51% 32%,40% 38%,24% 42%,16% 29%);opacity:.48;filter:saturate(1.18)contrast(1.04)drop-shadow(0 0 .3rem #ff6f1685);mix-blend-mode:screen;transform-origin:50% 28%;width:100%;height:100%;animation:1.9s cubic-bezier(.45,0,.25,1) infinite stage-two-fire-flicker;position:absolute;inset:0}.stage-two-wave-lines{z-index:9;pointer-events:none;opacity:0;transform-origin:18% 72%;width:19%;height:28%;animation:4.8s ease-in-out infinite stage-two-wave-lines;position:absolute;top:24%;left:84%}.stage-two-wave-lines:before,.stage-two-wave-lines:after{content:"";filter:drop-shadow(0 0 3px #f4c54273);border:2px solid #e53e3ec2;border-color:#e53e3ec2 #f4c542eb #0000 #0000;border-radius:50%;position:absolute;bottom:0;left:0;transform:rotate(24deg)}.stage-two-wave-lines:before{width:44%;height:48%}.stage-two-wave-lines:after{opacity:.7;width:72%;height:78%}.stage-two-id-motion-lines{z-index:9;pointer-events:none;opacity:0;transform-origin:86% 14%;width:17%;height:22%;animation:4.8s ease-in-out infinite stage-two-id-motion-lines;position:absolute;top:57%;left:1%}.stage-two-id-motion-lines:before,.stage-two-id-motion-lines:after{content:"";filter:drop-shadow(0 0 3px #f4c5425c);border:2px solid #0000;border-color:#0000 #0000 #e53e3ead #f4c542d9;border-radius:50%;position:absolute;top:0;right:0;transform:rotate(18deg)}.stage-two-id-motion-lines:before{width:42%;height:48%}.stage-two-id-motion-lines:after{opacity:.66;width:68%;height:76%}.stage-two-id-glint{z-index:9;pointer-events:none;opacity:0;clip-path:polygon(14% 10%,82% 0,100% 88%,25% 100%);mix-blend-mode:screen;transform-origin:78% 3%;background:linear-gradient(118deg,#0000 28%,#ffffff0a 40%,#ffffff80 49%,#ffdb7029 57%,#0000 70%);width:29%;height:34%;animation:4.8s cubic-bezier(.45,0,.25,1) infinite stage-two-id-glint;position:absolute;top:53%;left:7.5%}.stage-two-shine{z-index:8;pointer-events:none;opacity:0;-webkit-mask:var(--stage-two-image-source) center / contain no-repeat;-webkit-mask:var(--stage-two-image-source) center / contain no-repeat;mask:var(--stage-two-image-source) center / contain no-repeat;mix-blend-mode:screen;background:linear-gradient(112deg,#0000 30%,#ffffff14 42%,#ffffff7a 50%,#ffe19724 58%,#0000 70%);animation:7.8s ease-in-out infinite stage-two-shine-sweep;position:absolute;inset:0;transform:translate(-75%)}.stage-two-ember{z-index:9;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff7ae 0 24%,#ffc126 34% 58%,#ed4c22 72%,#0000 74%);border-radius:50%;width:.22rem;height:.22rem;animation:3.2s ease-out infinite stage-two-ember-rise;position:absolute;box-shadow:0 0 .35rem #ff8419b3}.stage-two-ember-one{--stage-two-ember-x:-.3rem;animation-delay:-.5s;top:16%;left:43%}.stage-two-ember-two{--stage-two-ember-x:.25rem;animation-delay:-1.55s;top:11%;left:57%}.stage-two-ember-three{--stage-two-ember-x:.38rem;animation-delay:-2.45s;top:20%;left:68%}.stage-two-fire-warmth{z-index:5;pointer-events:none;clip-path:none;mix-blend-mode:screen;opacity:.42;filter:blur(2px);background:radial-gradient(42% 30% at 56% 24%,#ff751447 0 18%,#ffb5241f 42%,#0000 72%);border-radius:50%;animation:3s cubic-bezier(.45,0,.25,1) infinite stage-two-warmth-pulse;position:absolute;inset:-5%}.stage-two-evolved-preview{width:8rem;height:8rem;margin:0 auto .5rem}.stage-evolved-pet-preview{width:clamp(9rem,18vw,11rem);height:clamp(9rem,18vw,11rem);margin:0 auto .75rem}.stage-two-shadow{z-index:1;pointer-events:none;filter:blur(1px);background:radial-gradient(#00000052,#0000 72%);border-radius:50%;height:11%;animation:4.8s cubic-bezier(.45,0,.25,1) infinite stage-two-shadow;position:absolute;bottom:3%;left:28%;right:22%}.stage-two-grade-seven-core,.stage-two-grade-seven-ring,.stage-two-grade-seven-ripple,.stage-two-grade-seven-mote{pointer-events:none;display:none;position:absolute}.stage-two-pet-scene.pet-grade-7{animation:5.6s ease-in-out infinite grade-seven-stage-two-float}.stage-two-pet-scene.pet-grade-7:before{filter:blur(5px)saturate(1.12);background:radial-gradient(circle at 52% 29%,#fff09ead 0 10%,#ffb22357 29%,#e84a1d24 49%,#0000 70%),radial-gradient(circle at 25% 70%,#ffc73738,#0000 37%),radial-gradient(circle at 82% 64%,#e53e3e2b,#0000 39%);animation:4s ease-in-out infinite grade-seven-stage-two-aura;inset:-12%}.stage-two-pet-scene.pet-grade-7:after{filter:drop-shadow(0 0 4px #ffab1fa8);background:radial-gradient(circle at 12% 33%,#fff9c2fa 0 1.4px,#0000 2.8px),radial-gradient(circle at 31% 12%,#ffc435f0 0 1.7px,#0000 3.1px),radial-gradient(circle at 76% 15%,#ff8023e0 0 1.5px,#0000 3px),radial-gradient(circle at 91% 43%,#ffe069e6 0 1.3px,#0000 2.7px),radial-gradient(circle at 79% 79%,#e53e3ebf 0 1.5px,#0000 3px),radial-gradient(circle at 14% 74%,#ffb21fdb 0 1.4px,#0000 2.8px);animation:4.5s ease-in-out infinite grade-seven-stage-two-stars;inset:-11%}.stage-two-pet-scene.pet-grade-7 .stage-two-character-motion{animation:4.5s cubic-bezier(.45,0,.22,1) infinite grade-seven-stage-two-greeting}.stage-two-pet-scene.pet-grade-7 .stage-two-pet-image{filter:drop-shadow(0 .68rem .62rem #522b183d)drop-shadow(0 0 .32rem #ffa51b42);animation:3.9s cubic-bezier(.45,0,.25,1) infinite grade-seven-stage-two-breathe}.stage-two-pet-scene.pet-grade-7 .stage-two-fire-layer{opacity:.54;filter:saturate(1.24)contrast(1.05)drop-shadow(0 0 .38rem #ff681499);animation-duration:1.72s}.stage-two-pet-scene.pet-grade-7 .stage-two-fire-warmth{filter:blur(3px);background:radial-gradient(45% 33% at 55% 24%,#ff7a1461 0 17%,#ffc6372e 41%,#0000 73%);animation:2.8s ease-in-out infinite grade-seven-stage-two-warmth;inset:-9%}.stage-two-pet-scene.pet-grade-7 .stage-two-shine{background:linear-gradient(112deg,#0000 28%,#fff2b414 40%,#ffffff8a 49%,#ffc2482e 58%,#0000 70%);animation:6.5s ease-in-out infinite grade-seven-stage-two-shine}.stage-two-pet-scene.pet-grade-7 .stage-two-shadow{filter:blur(2px);background:radial-gradient(#5b2f1959,#7441191f 48%,#0000 73%);animation:5.6s ease-in-out infinite grade-seven-stage-two-shadow;left:27%;right:21%}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-core{z-index:1;filter:blur(3px);background:radial-gradient(at 52% 48%,#ffda5d29 0 31%,#ea4d1b0f 50%,#0000 71%);border-radius:50%;animation:3.4s ease-in-out infinite grade-seven-stage-two-core;display:block;inset:10% 9% 7%}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-ring{z-index:1;background:conic-gradient(from 14deg, transparent 0 16%, #ffda5bd1 24%, transparent 38% 57%, #eb491c94 68%, transparent 81% 100%);filter:drop-shadow(0 0 4px #ffa823a3);border-radius:50%;height:37%;animation:8.6s linear infinite grade-seven-stage-two-ring;display:block;bottom:10%;left:5%;right:5%;-webkit-mask:radial-gradient(#0000 0 61%,#000 63% 66%,#0000 68%);mask:radial-gradient(#0000 0 61%,#000 63% 66%,#0000 68%)}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-ripple{z-index:1;border:1px solid #ffc43d85;border-radius:50%;height:24%;animation:3.2s ease-out infinite grade-seven-stage-two-ripple;display:block;bottom:11%;left:17%;right:17%;box-shadow:0 0 .5rem #ffa11d38,inset 0 0 .4rem #e53e3e1a}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-mote{z-index:9;background:radial-gradient(circle at 35% 30%,#fff 0 14%,#ffe993 34%,#ff9e21 62%,#0000 75%);border-radius:50%;width:.3rem;height:.3rem;animation:4.3s ease-in-out infinite grade-seven-stage-two-mote;display:block;box-shadow:0 0 .42rem #ffb223db,0 0 .7rem #e53e3e3d}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-mote-one{animation-delay:-.55s;top:44%;left:10%}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-mote-two{width:.25rem;height:.25rem;animation-delay:-1.9s;top:32%;right:11%}.stage-two-pet-scene.pet-grade-7 .stage-two-grade-seven-mote-three{width:.22rem;height:.22rem;animation-delay:-3.15s;bottom:23%;right:18%}@keyframes grade-seven-stage-two-float{0%,to{transform:translateY(.07rem)rotate(-.38deg)}22%{transform:translate(-.06rem,-.13rem)rotate(.17deg)}48%{transform:translate(.05rem,-.36rem)rotate(.46deg)}72%{transform:translate(-.03rem,-.19rem)rotate(-.18deg)}88%{transform:translate(.03rem,-.27rem)rotate(.09deg)}}@keyframes grade-seven-stage-two-greeting{0%,17%,70%,to{transform:translate(0,0)rotate(0)}27%{transform:translate(-.018rem,-.04rem)rotate(-.82deg)}38%{transform:translate(.016rem,.006rem)rotate(.88deg)}49%{transform:translate(-.012rem,-.03rem)rotate(-.66deg)}59%{transform:translate(.008rem,.006rem)rotate(.46deg)}66%{transform:translateY(-.008rem)rotate(-.16deg)}}@keyframes grade-seven-stage-two-breathe{0%,to{transform:translateY(0)scale(1)}43%{transform:translateY(-.035rem)scale(1.014,1.021)}65%{transform:translateY(.035rem)scale(1.011,.993)}78%{transform:translateY(-.045rem)scale(.998,1.012)}89%{transform:translateY(0)scale(1.004,.998)}}@keyframes grade-seven-stage-two-aura{0%,to{opacity:.48;transform:scale(.94)rotate(-1deg)}36%{opacity:.9;transform:scale(1.055)rotate(1deg)}68%{opacity:.66;transform:scale(1.01)rotate(0)}}@keyframes grade-seven-stage-two-stars{0%,to{opacity:.36;transform:scale(.96)rotate(-1deg)}35%{opacity:.92;transform:scale(1.035)rotate(.8deg)}65%{opacity:.56;transform:scale(1.01)rotate(-.2deg)}}@keyframes grade-seven-stage-two-warmth{0%,to{opacity:.3;transform:scale(.97)}50%{opacity:.56;transform:scale(1.035)}}@keyframes grade-seven-stage-two-shadow{0%,to{opacity:.4;transform:scaleX(1)}22%{opacity:.34;transform:scaleX(.95)}48%{opacity:.23;transform:scaleX(.83)}72%{opacity:.3;transform:scaleX(.9)}88%{opacity:.26;transform:scaleX(.86)}}@keyframes grade-seven-stage-two-core{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.82;transform:scale(1.055)}}@keyframes grade-seven-stage-two-ring{0%{opacity:.42;transform:rotate(0)scaleX(.98)}50%{opacity:.78;transform:rotate(180deg)scaleX(1.04)}to{opacity:.42;transform:rotate(360deg)scaleX(.98)}}@keyframes grade-seven-stage-two-ripple{0%{opacity:0;transform:scale(.75)}24%{opacity:.58}72%,to{opacity:0;transform:scale(1.22)}}@keyframes grade-seven-stage-two-mote{0%,to{opacity:.16;transform:translateY(.32rem)scale(.64)}27%{opacity:.9;transform:translate(.14rem,-.2rem)scale(1)}59%{opacity:.6;transform:translate(-.1rem,-.66rem)scale(.8)}83%{opacity:.1;transform:translate(.08rem,-.98rem)scale(.46)}}@keyframes grade-seven-stage-two-shine{0%,56%{opacity:0;transform:translate(-75%)}63%{opacity:.56}75%{opacity:.32}84%,to{opacity:0;transform:translate(75%)}}.stage-one-idle-mascot{isolation:isolate;transform-origin:50% 92%;will-change:transform;width:9rem;height:9rem;animation:3.8s ease-in-out infinite stage-one-float;display:block;position:relative}.stage-one-idle-art,.stage-one-badge-swing{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;image-rendering:auto;width:100%;height:100%;position:absolute;inset:0}.stage-one-idle-art{z-index:3;transform-origin:50% 88%;will-change:transform;animation:3.8s ease-in-out infinite stage-one-breathe}.stage-one-aura{z-index:0;pointer-events:none;filter:blur(7px);opacity:.78;background:radial-gradient(circle at 56% 22%,#ffda576b,#ff751133 28%,#0000 58%),radial-gradient(circle at 30% 68%,#ff66002e,#0000 36%);animation:3.8s ease-in-out infinite stage-one-aura;position:absolute;inset:-16%}.stage-one-shadow{z-index:1;pointer-events:none;filter:blur(2px);background:radial-gradient(#0000006b,#0000 72%);border-radius:50%;height:12%;animation:3.8s ease-in-out infinite stage-one-shadow;position:absolute;bottom:4%;left:26%;right:20%}.stage-one-flame-shimmer{z-index:4;pointer-events:none;mix-blend-mode:screen;opacity:.52;filter:blur(.24rem);will-change:transform, opacity;position:absolute}.stage-one-flame-shimmer-top{transform-origin:50% 78%;background:radial-gradient(at 48% 58%,#fff591b3 0 14%,#ffb81c6b 31%,#ff440029 55%,#0000 73%),radial-gradient(at 74% 42%,#ff991285 0 20%,#ff40002e 50%,#0000 75%),radial-gradient(at 28%,#ffd3346b 0 22%,#ff5f0029 54%,#0000 74%);border-radius:54% 46% 48% 52%;width:58%;height:45%;animation:1.45s ease-in-out infinite stage-one-top-flame;top:-3%;left:24%}.stage-one-flame-shimmer-lower{transform-origin:52% 76%;background:radial-gradient(at 58% 48%,#ffee717a 0 15%,#ff880a57 39%,#ff3e0024 61%,#0000 78%),radial-gradient(at 42% 66%,#ff640047 0 25%,#0000 70%);border-radius:52% 48% 56% 44%;width:25%;height:31%;animation:1.6s ease-in-out infinite stage-one-lower-flame;top:55%;left:13%}.stage-one-badge-swing{z-index:5;clip-path:polygon(7% 28%,41% 29%,43% 80%,8% 81%);transform-origin:29% 36%;opacity:.78;filter:drop-shadow(0 .18rem .18rem #00000038);will-change:transform;animation:3.8s cubic-bezier(.45,.05,.3,1) infinite stage-one-badge-swing}.stage-one-spark{z-index:6;pointer-events:none;opacity:0;will-change:transform, opacity;background:radial-gradient(circle,#fff8b9 0 18%,#ffd447 42%,#ff58097a 68%,#0000 74%);border-radius:50%;width:.26rem;height:.26rem;animation:3.8s linear infinite stage-one-spark;position:absolute;transform:translate(0,0)scale(.4);box-shadow:0 0 .45rem #ffba25e6}.stage-one-spark-1{--spark-x:-1.2rem;--spark-y:-3.2rem;--spark-scale:.72;animation-delay:-.1s;top:18%;left:47%}.stage-one-spark-2{--spark-x:.9rem;--spark-y:-3.7rem;--spark-scale:.58;animation-delay:-.68s;top:12%;left:56%}.stage-one-spark-3{--spark-x:1.4rem;--spark-y:-3.1rem;--spark-scale:.66;animation-delay:-1.18s;top:19%;left:68%}.stage-one-spark-4{--spark-x:-1.5rem;--spark-y:-2.8rem;--spark-scale:.56;animation-delay:-1.78s;top:25%;left:39%}.stage-one-spark-5{--spark-x:1.1rem;--spark-y:-2.7rem;--spark-scale:.62;animation-delay:-2.35s;top:27%;left:75%}.stage-one-spark-6{--spark-x:-1.1rem;--spark-y:-2.1rem;--spark-scale:.58;animation-delay:-.92s;top:71%;left:31%}.stage-one-spark-7{--spark-x:-.8rem;--spark-y:-1.9rem;--spark-scale:.48;animation-delay:-2.74s;top:66%;left:25%}.stage-one-spark-8{--spark-x:.2rem;--spark-y:-4rem;--spark-scale:.7;animation-delay:-3.24s;top:15%;left:51%}@keyframes stage-one-float{0%,to{transform:translateY(.08rem)}50%{transform:translateY(-.58rem)}}@keyframes stage-two-float{0%,to{transform:translateY(.08rem)rotate(-.35deg)scale(1)}20%{transform:translate(-.05rem,-.08rem)rotate(.2deg)scale(1.002)}46%{transform:translate(.06rem,-.34rem)rotate(.45deg)scale(1.006)}68%{transform:translate(-.04rem,-.16rem)rotate(-.18deg)scale(1.003)}84%{transform:translate(.03rem,-.26rem)rotate(.12deg)scale(1.005)}}@keyframes stage-two-breathe{0%,to{transform:translateY(0)scale(1)}42%{transform:translateY(-.03rem)scale(1.014,1.022)}64%{transform:translateY(.035rem)scale(1.012,.992)}76%{transform:translateY(-.05rem)scale(.997,1.013)}88%{transform:translateY(0)scale(1.004,.998)}}@keyframes stage-two-shadow{0%,to{opacity:.32;transform:scaleX(1)}50%{opacity:.24;transform:scaleX(.92)}}@keyframes stage-two-fire-flicker{0%,to{opacity:.34;transform:translate(0,0)scale(1)rotate(-.25deg)}40%{opacity:.58;transform:translate(.018rem,-.05rem)scale(.99,1.026)rotate(.35deg)}72%{opacity:.44;transform:translate(-.016rem,-.025rem)scale(1.008,1.014)rotate(-.18deg)}}@keyframes stage-two-character-greeting{0%,18%,72%,to{transform:rotate(0)translate(0,0)}28%{transform:rotate(-1.08deg)translate(-.016rem,-.04rem)}38%{transform:rotate(1.12deg)translate(.016rem,.008rem)}48%{transform:rotate(-.88deg)translate(-.012rem,-.03rem)}58%{transform:rotate(.68deg)translate(.008rem,.008rem)}66%{transform:rotate(-.22deg)translateY(-.008rem)}}@keyframes stage-two-warmth-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.34;transform:scale(1.008)}}@keyframes stage-two-aura-pulse{0%,to{opacity:.42;transform:scale(.94)}50%{opacity:.78;transform:scale(1.035)}}@keyframes stage-two-sparkle-drift{0%,to{opacity:.28;transform:translateY(.08rem)scale(.94)}44%{opacity:.9;transform:translate(.02rem,-.12rem)scale(1.04)}72%{opacity:.5;transform:translate(-.02rem,-.04rem)scale(.99)}}@keyframes stage-two-wave-lines{0%,20%,70%,to{opacity:0;transform:scale(.78)rotate(-4deg)}28%,38%,48%,58%{opacity:.88}33%,43%,53%,64%{opacity:.28}66%{opacity:0;transform:scale(1.08)rotate(3deg)}}@keyframes stage-two-id-motion-lines{0%,20%,70%,to{opacity:0;transform:scale(.8)rotate(3deg)}28%,38%,48%,58%{opacity:.72}33%,43%,53%,64%{opacity:.2}66%{opacity:0;transform:scale(1.06)rotate(-3deg)}}@keyframes stage-two-id-glint{0%,20%,70%,to{opacity:0;transform:rotate(0)translate(-12%)}28%{opacity:.28;transform:rotate(1.4deg)translate(-4%)}38%{opacity:.52;transform:rotate(-1.5deg)translate(3%)}48%{opacity:.34;transform:rotate(1.1deg)translate(7%)}58%{opacity:.2;transform:rotate(-.7deg)translate(11%)}66%{opacity:0;transform:rotate(0)translate(15%)}}@keyframes stage-two-shine-sweep{0%,55%{opacity:0;transform:translate(-75%)}62%{opacity:.48}74%{opacity:.3}83%,to{opacity:0;transform:translate(75%)}}@keyframes stage-two-ember-rise{0%,14%{opacity:0;transform:translateY(.16rem)scale(.55)}28%{opacity:.9}68%{opacity:.55}to{opacity:0;transform:translate3d(var(--stage-two-ember-x), -1.25rem, 0) scale(.18)}}@media (hover:hover) and (pointer:fine){.pet-avatar-stage-two:hover .stage-two-pet-scene{animation-duration:3.2s}.pet-avatar-stage-two:hover .stage-two-character-motion{animation-duration:2.6s}.pet-avatar-stage-two:hover .stage-two-fire-layer,.pet-avatar-stage-two:hover .stage-two-pet-scene:after{animation-duration:1.45s}.pet-avatar-stage-two:hover .stage-two-wave-lines,.pet-avatar-stage-two:hover .stage-two-id-motion-lines,.pet-avatar-stage-two:hover .stage-two-id-glint{animation-duration:2.6s}.pet-avatar-stage-two:hover .stage-two-shine{animation-duration:4.2s}.pet-avatar-stage-two:hover .stage-two-ember{animation-duration:1.9s}}@keyframes stage-one-breathe{0%,to{transform:scale(1)}48%{transform:scale(1.012,1.026)}}@keyframes stage-one-aura{0%,to{opacity:.58;transform:scale(.96)}28%{opacity:.9;transform:scale(1.04)}58%{opacity:.74;transform:scale(1.01)}}@keyframes stage-one-shadow{0%,to{opacity:.5;transform:scaleX(1.04)}50%{opacity:.28;transform:scaleX(.82)}}@keyframes stage-one-top-flame{0%,to{opacity:.38;transform:translate(0,0)scale(.98)}30%{opacity:.68;transform:translate(.02rem,-.06rem)scale(1.045)}58%{opacity:.5;transform:translate(-.02rem,-.02rem)scale(1.01)}82%{opacity:.61;transform:translate(.01rem,-.04rem)scale(1.025)}}@keyframes stage-one-lower-flame{0%,to{opacity:.28;transform:translate(0,0)scale(.98)}33%{opacity:.54;transform:translate(-.02rem,-.04rem)scale(1.04)}64%{opacity:.4;transform:translate(.01rem,-.02rem)scale(1.01)}}@keyframes stage-one-badge-swing{0%,to{transform:rotate(-1.2deg)translate(0,0)}24%{transform:rotate(2.5deg)translate(.04rem,.02rem)}52%{transform:rotate(-2deg)translate(-.03rem)}76%{transform:rotate(1deg)translate(.02rem,.01rem)}}@keyframes stage-one-spark{0%,10%{opacity:0;transform:translate(0,0)scale(.32)}15%{opacity:.95}45%{opacity:.66}66%,to{opacity:0;transform:translate3d(var(--spark-x), var(--spark-y), 0) scale(var(--spark-scale))}}@media (prefers-reduced-motion:reduce){.stage-one-idle-mascot,.stage-one-idle-art,.stage-one-flame-shimmer,.stage-one-badge-swing,.stage-one-aura,.stage-one-shadow,.stage-one-spark,.stage-two-pet-scene,.stage-two-character-motion,.stage-two-pet-image,.stage-two-shadow,.stage-two-fire-layer,.stage-two-fire-warmth,.stage-two-wave-lines,.stage-two-id-motion-lines,.stage-two-id-glint,.stage-two-shine,.stage-two-ember,.stage-two-grade-seven-core,.stage-two-grade-seven-ring,.stage-two-grade-seven-ripple,.stage-two-grade-seven-mote,.stage-two-pet-scene:before,.stage-two-pet-scene:after{animation:none!important;transform:none!important}.stage-one-flame-shimmer,.stage-one-badge-swing,.stage-one-spark,.stage-two-fire-layer,.stage-two-fire-warmth,.stage-two-wave-lines,.stage-two-id-motion-lines,.stage-two-id-glint,.stage-two-shine,.stage-two-ember,.stage-two-pet-scene:after{display:none}}.pet-info{z-index:1;flex:1;position:relative}.pet-identity{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.pet-name{color:#231f1d;letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:850;line-height:1.08}.pet-stage{color:#6f5a3f;background:linear-gradient(135deg,#fff8e1eb,#f4c54224);border:1px solid #d4af3761;border-radius:999px;align-items:center;gap:.5rem;width:fit-content;min-height:30px;margin:0;padding:.38rem .7rem;font-size:.8rem;font-weight:650;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.pet-stage strong{color:#a51a1a;font-weight:800}.pet-stage-separator{background:#d4af37;border-radius:50%;width:4px;height:4px;box-shadow:0 0 0 3px #d4af371f}.pet-xp-bar-wrap{border-top:1px solid #b71c1c1a;margin-top:.85rem;padding-top:.85rem}.pet-xp-meta{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.65rem;font-size:.8rem;display:flex}.pet-xp-current{color:#a51a1a;align-items:baseline;gap:.28rem;display:inline-flex}.pet-xp-current strong{font-size:.95rem;font-weight:850}.pet-xp-current small{color:#8a7353;letter-spacing:.08em;font-size:.68rem;font-weight:800}.pet-xp-star{color:#d4af37;filter:drop-shadow(0 2px 3px #d4af3747);font-size:.9rem}.pet-xp-next{color:#756b61;text-align:right}.pet-xp-next strong{color:#5f5144;font-weight:800}.pet-xp-max{color:#a51a1a;font-weight:750}@media (width<=900px){.class-layout{grid-template-columns:1fr}}@media (width<=700px){.class-layout,.class-list,.class-detail{width:100%;max-width:100%}.class-detail{border-radius:14px;padding:1rem}.class-detail-header{flex-direction:column;align-items:stretch;margin-bottom:1rem}.class-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.class-detail-actions button{width:100%;min-height:44px;padding-inline:.75rem}.class-student-table-wrap{overflow:visible}.class-student-table,.class-student-table tbody{width:100%;display:block}.class-student-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.class-student-table tr{border:1px solid var(--border-color);background:#ffffff8f;border-radius:12px;flex-direction:column;width:100%;margin-bottom:.75rem;display:flex;overflow:hidden}.class-student-table tr:last-child{margin-bottom:0}.class-student-table td{border-bottom:1px solid var(--border-color);text-align:right;grid-template-columns:minmax(64px,.32fr) minmax(0,1fr);align-items:start;gap:.75rem;width:100%;padding:.65rem .8rem;font-size:.86rem;display:grid}.class-student-table td:before{content:attr(data-label);color:var(--text-secondary);letter-spacing:.05em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:800}.class-student-table td:first-child{background:#f4c5421a;padding-block:.8rem}.class-student-table td:last-child{border-bottom:0}.class-student-table .class-student-username{color:var(--text-primary);line-height:1.4}.class-student-actions{grid-template-columns:minmax(64px,.32fr) repeat(2,minmax(0,1fr));justify-content:stretch}.class-student-actions:before{align-self:center}.class-student-actions button{flex:1;min-height:40px}.class-student-empty td{text-align:center;padding:1.5rem;display:block}.class-student-empty td:before{content:none}}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.charts-grid .span-2{grid-column:span 2}.chart-panel{flex-direction:column;padding:1.5rem;display:flex}.chart-panel h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:700}.chart-canvas-wrap{flex:1;justify-content:center;align-items:center;width:100%;min-height:280px;display:flex;position:relative}.chart-canvas-wrap canvas{max-width:100%!important;max-height:100%!important}@keyframes pulse-red{0%,to{border-color:#ef44444d}50%{border-color:#ef4444cc}}@media (width<=900px){.charts-grid .span-2{grid-column:span 1}}.report-panel,.behavior-report-panel{flex-direction:column;gap:1rem;display:flex}.report-panel{background:#ffffff09;border:1px solid #ffffff14;border-radius:12px;margin-bottom:1rem;padding:1rem}.report-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.report-panel-header h3,.report-panel-header h4{color:var(--text-primary);margin:0;font-size:1.08rem;font-weight:800}.report-panel-header p{color:var(--text-secondary);margin:.3rem 0 0;font-size:.86rem;line-height:1.45}.report-metric-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;display:grid}.report-metric{background:#00000024;border:1px solid #ffffff12;border-radius:10px;padding:.9rem}.report-metric span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.report-metric strong{color:var(--text-primary);margin-top:.35rem;font-size:1.3rem;display:block}.report-subsection{flex-direction:column;gap:.75rem;display:flex}.report-subsection h4,.report-subsection h5{color:var(--text-primary);margin:0;font-size:.98rem;font-weight:800}.report-table{table-layout:auto;width:100%;min-width:780px}.report-subsection .student-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.report-table th,.report-table td:not(:first-child){word-break:normal;overflow-wrap:normal;white-space:nowrap;min-width:88px}.report-table th:first-child,.report-table td:first-child{word-break:normal;overflow-wrap:break-word;min-width:240px}.report-table th:nth-child(5),.report-table td:nth-child(5){min-width:108px}.report-table th:last-child,.report-table td:last-child{min-width:116px}.report-question-text{max-width:420px;color:var(--text-secondary);margin-top:.25rem;font-size:.8rem;line-height:1.45}.report-inline-badge{margin-top:.45rem}.exam-most-missed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.exam-most-missed-card{background:linear-gradient(145deg,#ffffffd1,#fff9e6b8);border:1px solid #b71c1c1a;border-radius:12px;flex-direction:column;gap:.7rem;min-width:0;min-height:150px;padding:.85rem;display:flex;box-shadow:0 7px 17px #4a2d1c0b}.exam-most-missed-card-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.exam-most-missed-rank{width:30px;height:30px;color:var(--primary-red);background:#b71c1c14;border-radius:9px;place-items:center;font-size:.65rem;font-weight:900;display:inline-grid}.exam-most-missed-card-heading strong,.exam-most-missed-card-heading small{display:block}.exam-most-missed-card-heading strong{color:var(--text-primary);font-size:.72rem}.exam-most-missed-card-heading small{color:var(--text-secondary);margin-top:.13rem;font-size:.58rem}.exam-most-missed-card>p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.67rem;line-height:1.45;display:-webkit-box;overflow:hidden}.exam-most-missed-card-footer{color:var(--text-secondary);border-top:1px solid #74543114;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin-top:auto;padding-top:.62rem;font-size:.6rem;display:flex}.exam-most-missed-card-footer strong{color:var(--text-primary);font-size:.7rem}@media (width<=900px){.exam-most-missed-grid{grid-template-columns:minmax(0,1fr)}.exam-most-missed-card{min-height:0}}.behavior-report-panel{padding:1.5rem}.behavior-charts-grid{margin-top:.25rem}.behavior-charts-grid .chart-panel{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;min-width:0}.teacher-dashboard-page{gap:2rem;width:100%}.teacher-dashboard-page .dashboard-header{border-bottom:1px solid var(--border-color);padding-bottom:1.1rem}.teacher-dashboard-page .dashboard-header h2{letter-spacing:-.035em;margin-bottom:.35rem;font-size:clamp(1.55rem,2vw,1.9rem)}.teacher-dashboard-page .dashboard-header p{max-width:620px;margin:0;line-height:1.5}.teacher-dashboard-page .dashboard-section{flex-direction:column;gap:1rem;min-width:0;display:flex}.teacher-dashboard-page .dashboard-section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.teacher-dashboard-page .dashboard-section-heading h3{color:var(--text-primary);letter-spacing:-.015em;margin:0;font-size:1.05rem;font-weight:800}.teacher-dashboard-page .dashboard-section-heading p{color:var(--text-secondary);margin:.28rem 0 0;font-size:.84rem;line-height:1.45}.teacher-dashboard-page .dashboard-section-toggle{border:1px solid var(--glass-border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:var(--glass-bg);border-radius:13px;padding:1rem 1.1rem;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 5px 18px #b71c1c0f}.teacher-dashboard-page .dashboard-section-toggle:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow)}.teacher-dashboard-page .dashboard-section-toggle:focus-visible{outline-offset:2px;outline:3px solid #d4af3747}.dashboard-toggle-icon{color:#c65e20;background:#e0762f1f;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:1.25rem;font-weight:700;display:grid}.dashboard-toggle-meta{align-items:center;gap:.7rem;display:flex}.dashboard-open-icon{color:#c65e20;background:#e0762f17;border:1px solid #e0762f21;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:1.05rem;font-weight:700;transition:transform .2s,background .2s;display:grid}.dashboard-section-toggle:hover .dashboard-open-icon{background:#e0762f29;transform:translate(2px)}.teacher-dashboard-page.dashboard-full-view{gap:1rem}.dashboard-full-view-toolbar{border-bottom:1px solid #b71c1c1a;align-items:center;min-height:50px;padding-bottom:.85rem;display:flex}.dashboard-back-button{border-radius:10px;align-items:center;min-height:40px;padding:.55rem .9rem;font-weight:700;display:inline-flex}.dashboard-full-view-heading{border-bottom:1px solid #b71c1c1a;padding:.45rem 0 1rem;position:relative}.dashboard-full-view-heading:before{content:none}.dashboard-full-view-heading h2,.dashboard-full-view-heading p{margin:0}.dashboard-full-view-heading h2{color:var(--text-primary);letter-spacing:-.03em;font-size:clamp(1.5rem,2.5vw,1.9rem)}.dashboard-full-view-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.86rem}.dashboard-full-view .chart-panel,.dashboard-full-view .report-metric,.dashboard-full-view .student-table-wrap{background:#ffffffa8}.dashboard-full-view .student-behavior-toggle{background:0 0;border:0;border-radius:0;padding:.2rem 0 .65rem}.teacher-dashboard-page .behavior-report-panel>.report-panel-header.dashboard-section-toggle:not(.dashboard-launch-card){padding:.9rem 1rem}.collapsible-report-subsection{padding-top:0}.teacher-dashboard-page .student-behavior-toggle{box-shadow:none;justify-content:space-between;align-items:center;gap:1rem;display:flex}.student-behavior-toggle strong,.student-behavior-toggle small{display:block}.student-behavior-toggle strong{color:var(--text-primary);font-size:.95rem}.student-behavior-toggle small{color:var(--text-secondary);margin-top:.25rem;font-size:.78rem;font-weight:400;line-height:1.4}.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;width:100%;display:grid}.teacher-dashboard-page .stat-card{border:1px solid var(--glass-border);background:var(--glass-bg);text-align:left;border-radius:12px;flex-direction:column;justify-content:center;min-width:0;min-height:118px;padding:1.25rem 1.35rem;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 18px #b71c1c0f}.teacher-dashboard-page .stat-card-clickable{flex-direction:column;justify-content:center;display:flex}.teacher-dashboard-page .stat-card-value{font-size:clamp(1.75rem,3vw,2.15rem);font-weight:800;line-height:1;display:block}.teacher-dashboard-page .stat-card-label{color:var(--text-secondary);text-transform:uppercase;margin-top:.55rem;font-size:.72rem;font-weight:700;display:block}.outcome-overview-trigger{width:100%;color:inherit;font:inherit;cursor:pointer;background:#fff8e1e0;border:1px solid #e0762f40}.outcome-overview-trigger .stat-card-value{color:#df762f}.outcome-overview-trigger.active{box-shadow:0 0 0 3px #e0762f1a, var(--glass-shadow);border-color:#e0762f94}.outcome-trigger-hint{color:var(--text-secondary);margin-top:.55rem;font-size:.68rem;font-weight:500}.quick-overview-outcomes{border-top:1px solid var(--glass-border);margin-top:.25rem;padding-top:1rem}.quick-overview-outcomes .outcome-summary-grid{grid-template-columns:minmax(0,1fr)}.teacher-dashboard-page .charts-grid{gap:1rem}.class-outcomes-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;display:grid}.outcome-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.outcome-summary-card{min-width:0;padding:0;overflow:hidden}.outcome-summary-total{text-align:center;background:#fff8e1e0;border-bottom:1px solid #e0762f33;flex-direction:column;justify-content:center;align-items:center;min-height:118px;padding:1.25rem;display:flex}.outcome-summary-total strong{color:#df762f;font-size:clamp(2rem,5vw,2.6rem);font-weight:800;line-height:1}.outcome-summary-total span{color:#4f4943;letter-spacing:.025em;margin-top:.65rem;font-size:.82rem;font-weight:600}.outcome-class-list{padding:0 1rem 1rem;display:grid}.outcome-class-item{border-bottom:1px solid var(--glass-border)}.outcome-class-item:last-child{border-bottom:0}.outcome-class-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 0;list-style:none;display:flex}.outcome-class-item summary::-webkit-details-marker{display:none}.outcome-class-item summary>span,.outcome-class-item summary strong,.outcome-class-item summary small{display:block}.outcome-class-item summary strong{font-size:.88rem}.outcome-class-item summary small{color:var(--text-secondary);margin-top:.15rem;font-size:.72rem;font-weight:400}.outcome-class-item summary b{color:#c65e20;background:#e0762f1f;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.88rem;display:grid}.outcome-class-item ul{gap:.35rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.outcome-class-item li{background:#ffffff0d;border-radius:8px;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;font-size:.78rem;display:flex}.outcome-class-item li span{overflow-wrap:anywhere;min-width:0}.outcome-class-item>p{margin:0 0 .8rem;font-size:.76rem}.class-outcome-card{min-width:0}.class-outcome-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.class-outcome-header h4,.class-outcome-header p{margin:0}.class-outcome-header p{color:var(--text-secondary);margin-top:.25rem;font-size:.84rem}.class-outcome-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.class-outcome-count{text-align:center;background:#fff8e1d1;border:1px solid #e0762f40;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:108px;padding:1.1rem .75rem;display:flex;box-shadow:0 5px 16px #b71c1c0d}.class-outcome-count strong,.class-outcome-count span{display:block}.class-outcome-count strong{color:#df762f;font-size:clamp(1.8rem,4vw,2.25rem);font-weight:800;line-height:1}.class-outcome-count span{color:#4f4943;letter-spacing:.02em;margin-top:.65rem;font-size:.78rem;font-weight:600}.class-outcome-unassessed{color:var(--text-secondary);text-align:right;margin:.7rem 0 0;font-size:.78rem}.class-outcome-details{border-top:1px solid var(--glass-border);margin-top:.85rem}.class-outcome-details summary{color:var(--accent-color);cursor:pointer;padding:.8rem 0 0;font-size:.85rem;font-weight:700}.class-outcome-student-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:.85rem;display:grid}.class-outcome-student-columns h5{margin:0 0 .5rem;font-size:.82rem}.class-outcome-student-columns ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.class-outcome-student-columns li{background:#ffffff0a;border-radius:8px;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;font-size:.78rem;display:flex}.class-outcome-student-columns li span{overflow-wrap:anywhere;min-width:0}.class-outcome-empty{color:var(--text-secondary);margin:.85rem 0 0;font-size:.82rem}.teacher-dashboard-page .chart-panel{border-radius:14px;min-width:0;padding:1.25rem}.teacher-dashboard-page .chart-panel h3{border-bottom:1px solid var(--border-color);padding-bottom:.8rem;font-size:.96rem}.teacher-dashboard-page .behavior-report-panel{border-radius:16px;gap:1.25rem;padding:1.35rem}.teacher-dashboard-page .report-panel-header{border-bottom:1px solid var(--border-color);align-items:center;padding-bottom:1rem}.teacher-dashboard-page .report-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.teacher-dashboard-page .report-metric{min-width:0;padding:.85rem .9rem}.teacher-dashboard-page .report-subsection{border-top:1px solid var(--border-color);gap:.45rem;padding-top:1.1rem}.teacher-dashboard-page .student-table-wrap{border:1px solid var(--border-color);background:#ffffff5c;border-radius:12px}.teacher-dashboard-page .student-table{margin-top:0}.teacher-dashboard-page .student-table th{white-space:nowrap;background:#f4c5421a}.teacher-dashboard-page .student-table td{vertical-align:middle}.teacher-dashboard-page .high-risk-panel{gap:1rem;padding:1.35rem}.teacher-dashboard-page{gap:1.5rem}.teacher-dashboard-page .dashboard-header{padding:.35rem 0 1.25rem;position:relative}.teacher-dashboard-page .dashboard-header:before{content:none}.teacher-dashboard-page .dashboard-header h2{font-size:clamp(1.65rem,2.5vw,2rem);font-weight:850}.dashboard-eyebrow,.management-eyebrow{width:fit-content;color:var(--primary-red);letter-spacing:.11em;text-transform:uppercase;background:linear-gradient(135deg,#b71c1c12,#f4c5421f);border:1px solid #b71c1c1f;border-radius:999px;align-items:center;gap:.48rem;margin-bottom:.55rem;padding:.3rem .65rem .3rem .48rem;font-size:.66rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.dashboard-eyebrow:before,.management-eyebrow:before{content:"";background:var(--primary-gold);border:2px solid #b71c1cb8;border-radius:2px;flex:0 0 .48rem;width:.48rem;height:.48rem;transform:rotate(45deg);box-shadow:0 0 0 3px #f4c54229}.teacher-dashboard-page .dashboard-summary-section{background:#ffffff85;border:1px solid #b71c1c1a;border-radius:18px;padding:clamp(1rem,2vw,1.35rem);box-shadow:0 10px 30px #4a2d1c0f}.teacher-dashboard-page .dashboard-summary-section>.dashboard-section-heading{border-bottom:1px solid #b71c1c17;padding-bottom:.85rem}.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}.teacher-dashboard-page .stat-card{background:linear-gradient(145deg,#ffffffe6,#fff8e1b3);border:1px solid #b71c1c1a;border-radius:14px;min-height:116px;padding:1rem 1.05rem;position:relative;overflow:hidden;box-shadow:0 7px 18px #5b37220e}.teacher-dashboard-page .stat-card:after{content:none}.teacher-dashboard-page .stat-card-clickable:hover{border-color:#b71c1c38;transform:translateY(-2px);box-shadow:0 11px 24px #5b372217}.teacher-dashboard-page .stat-card-value{color:var(--primary-red);letter-spacing:-.04em;font-weight:850}.teacher-dashboard-page .stat-card-label{color:#504942;letter-spacing:.045em}.stat-card-action{color:#7b6d62;margin-top:.65rem;font-size:.66rem;font-weight:650;line-height:1.3;display:block}.teacher-dashboard-page .stat-card-clickable:focus-visible{outline-offset:2px;outline:3px solid #d4af374d}.teacher-dashboard-page .outcome-overview-trigger{text-align:left}.teacher-dashboard-page .outcome-overview-trigger.passing:after{background:#4caf50}.teacher-dashboard-page .outcome-overview-trigger.failing:after{background:#e53935}.teacher-dashboard-page .outcome-overview-trigger.passing .stat-card-value{color:#2e7d32}.teacher-dashboard-page .outcome-overview-trigger.failing .stat-card-value{color:#c62828}.teacher-dashboard-page .outcome-overview-trigger .stat-card-value{-webkit-text-fill-color:currentColor;background:0 0}.outcome-trigger-hint{background:#61616114;border-radius:999px;width:fit-content;margin-top:.6rem;padding:.22rem .5rem;display:inline-flex}.teacher-dashboard-page .dashboard-section-toggle{background:linear-gradient(135deg,#ffffffe0,#fff8e1b8);border-color:#b71c1c1c;border-radius:15px;min-height:82px;padding:1rem 1.15rem;box-shadow:0 7px 20px #4a2d1c0e}.teacher-dashboard-page .dashboard-section-toggle:hover{border-color:#b71c1c3d;transform:translateY(-1px);box-shadow:0 10px 25px #4a2d1c16}.dashboard-launch-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:1rem;width:100%;display:grid}.dashboard-launch-grid>.dashboard-section{height:100%}.dashboard-launch-grid .dashboard-section-toggle{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.15rem;height:100%;min-height:154px;padding:1.25rem 1.3rem 1.15rem}.teacher-dashboard-page .dashboard-launch-card{background:radial-gradient(circle at 100% 0,#f4c5421f,#0000 38%),linear-gradient(145deg,#fffffff5,#fffcf2f0);border-color:#7548291f;position:relative;overflow:hidden;box-shadow:0 10px 28px #4a2d1c11}.teacher-dashboard-page .dashboard-launch-card:before{content:none}.teacher-dashboard-page .dashboard-launch-card.is-behavior:before{background:linear-gradient(#d9683a,#b71c1c)}.teacher-dashboard-page .dashboard-launch-card.is-risk:before{background:linear-gradient(#e53935,#a91515)}.teacher-dashboard-page .dashboard-launch-card:hover{border-color:#b71c1c33;transform:translateY(-2px);box-shadow:0 16px 34px #4a2d1c1c}.teacher-dashboard-page .dashboard-launch-card:focus-visible{outline-offset:3px;outline:3px solid #e0762f40}.dashboard-launch-copy{text-align:left;min-width:0}.dashboard-launch-kicker{color:#b4551b;letter-spacing:.075em;text-transform:uppercase;margin-bottom:.45rem;font-size:.64rem;font-weight:850;line-height:1.2;display:block}.dashboard-launch-card.is-risk .dashboard-launch-kicker{color:#b71c1c}.dashboard-launch-copy h3{color:var(--text-primary);margin:0;font-size:1.03rem;line-height:1.3}.dashboard-launch-copy p,.dashboard-launch-grid .dashboard-section-heading .dashboard-launch-copy p{max-width:620px;color:var(--text-secondary);margin:.4rem 0 0;font-size:.82rem;line-height:1.5}.dashboard-launch-footer{justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.dashboard-launch-count{color:#684d3d;text-overflow:ellipsis;white-space:nowrap;background:#7548290e;border:1px solid #7548291f;border-radius:999px;align-items:center;max-width:68%;min-height:27px;padding:.32rem .65rem;font-size:.69rem;font-weight:750;line-height:1.2;display:inline-flex;overflow:hidden}.dashboard-launch-count.is-risk{color:#b71c1c;background:#e5393511;border-color:#b71c1c29}.dashboard-active-view{display:contents}.dashboard-open-label{color:#b4551b;white-space:nowrap;background:#e0762f14;border:1px solid #e0762f2e;border-radius:999px;align-items:center;min-height:28px;padding:.35rem .7rem;font-size:.68rem;font-weight:800;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.dashboard-launch-card:hover .dashboard-open-label{color:#9e4110;background:#e0762f21;border-color:#e0762f57}.dashboard-launch-grid .dashboard-toggle-meta{justify-content:space-between;width:100%}.dashboard-toggle-icon{background:#e0762f17;border:1px solid #e0762f21;flex-basis:36px;width:36px;height:36px}.teacher-dashboard-page .behavior-report-panel,.teacher-dashboard-page .high-risk-panel{box-shadow:none;background:0 0;border:0;padding:0}.teacher-dashboard-page .behavior-report-panel>.report-panel-header.dashboard-section-toggle:not(.dashboard-launch-card){border-bottom:1px solid #b71c1c1c;padding:1rem 1.15rem}.teacher-dashboard-page .behavior-report-panel>.report-metric-grid,.teacher-dashboard-page .behavior-report-panel>.behavior-charts-grid,.teacher-dashboard-page .behavior-report-panel>.report-subsection,.teacher-dashboard-page .high-risk-panel>.student-table-wrap{margin-inline:.35rem}.teacher-dashboard-page .report-metric{background:#ffffff8f;border:1px solid #b71c1c17;border-radius:11px}.teacher-dashboard-page .chart-panel{background:#ffffff94;border:1px solid #b71c1c1a;box-shadow:0 8px 22px #4a2d1c0e}.teacher-dashboard-page .quick-overview-outcomes{background:#ffffff7a;border:1px solid #b71c1c1a;border-radius:14px;padding:1rem}.teacher-dashboard-page .quick-overview-outcomes>.dashboard-section-heading{border-bottom:1px solid #b71c1c17;align-items:center;padding:0 .15rem .85rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-card{background:#ffffffad;border:1px solid #b71c1c1c;border-radius:14px;box-shadow:0 8px 22px #4a2d1c0e}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-total{text-align:left;background:linear-gradient(135deg,#fff8e1d1,#ffffffd1);flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:82px;padding:.9rem 1.1rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-total strong{color:#2e7d32;background:#4caf501f;border-radius:13px;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:1.55rem;display:grid}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-card.failing .outcome-summary-total strong{color:#c62828;background:#e539351a}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-total span{color:var(--text-primary);letter-spacing:.055em;margin:0;font-size:.88rem;font-weight:800}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-list{gap:.65rem;padding:.85rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item{background:#ffffff9e;border:1px solid #b71c1c1a;border-radius:11px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item[open]{border-color:#d4af375c;box-shadow:0 7px 18px #4a2d1c0f}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item summary{min-height:64px;padding:.75rem .9rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item summary:before{content:"+";color:#a34a1b;background:#e0762f17;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;display:grid}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item[open] summary:before{content:"−"}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item summary>span{flex:1;min-width:0}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item summary strong{color:var(--text-primary);font-size:.9rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item summary b{color:#2e7d32;background:#4caf501c}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-card.failing .outcome-class-item summary b{color:#c62828;background:#e539351a}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item ul{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;margin:0;padding:.15rem .9rem .9rem 3.4rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item li{background:#faf9f6e6;border:1px solid #b71c1c13;border-radius:9px;align-items:center;min-height:42px;padding:.55rem .7rem;font-size:.79rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item li>strong{color:#2e7d32;background:#4caf501c;border-radius:999px;flex:none;padding:.2rem .48rem;font-size:.73rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-card.failing .outcome-class-item li>strong{color:#c62828;background:#e539351a}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item>p{color:var(--text-secondary);margin:0;padding:.1rem .9rem .9rem 3.4rem}@media (width<=1350px){.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1100px){.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-page .report-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.teacher-dashboard-page .charts-grid{grid-template-columns:minmax(0,1fr)}.teacher-dashboard-page .charts-grid .span-2{grid-column:auto}}@media (width<=700px){.outcome-summary-grid{grid-template-columns:1fr}.teacher-dashboard-page{gap:1.5rem}.teacher-dashboard-page .dashboard-header{padding-bottom:.85rem}.teacher-dashboard-page .dashboard-section-heading{flex-direction:column;align-items:flex-start}.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.teacher-dashboard-page .stat-card{min-height:104px;padding:1rem}.teacher-dashboard-page .report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-page .chart-panel,.teacher-dashboard-page .behavior-report-panel,.teacher-dashboard-page .high-risk-panel{padding:1rem}.teacher-dashboard-page .chart-canvas-wrap{min-height:250px;height:260px!important}.teacher-dashboard-page .student-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.teacher-dashboard-page .high-risk-panel .student-table{min-width:600px}}@media (width<=340px){.teacher-dashboard-page .stats-grid,.teacher-dashboard-page .report-metric-grid{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:12mm}*{box-shadow:none!important;text-shadow:none!important}body{color:#000!important;background:#fff!important}.teacher-layout,.teacher-layout>.page,.class-management-page{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.class-management-page>:not(.print-container),.t-header,.btn-primary,.btn-ghost,.btn-danger-sm,.sidebar,.navbar,.class-list,.modal-actions{display:none!important}.print-only{display:block!important}.no-print{display:none!important}.print-container{color:#000;background:#fff;width:100%;max-width:100%;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;position:static;overflow:visible}.print-table{border-collapse:collapse;table-layout:fixed;color:#000;page-break-inside:auto;width:100%;max-width:100%;margin-top:1rem}.print-table th,.print-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:normal;padding:5px;color:#000!important;border:1px solid #cbd5e1!important}.print-report-table .print-student-column{width:15%}.print-report-table .print-average-column{width:7%}.print-report-table .print-result-column{width:10%}.print-report-table .print-switches-column{width:8%}.print-report-table .print-exam-column{width:auto}.print-report-table th span,.print-report-table th small,.print-report-table td{max-width:100%}.print-report-table .print-status{box-sizing:border-box;white-space:normal;max-width:100%}.print-table th{font-weight:700;background-color:#e5e7eb!important}.print-table thead{display:table-header-group}.print-table tr,.print-report-header,.print-summary-grid,.print-note{break-inside:avoid;page-break-inside:avoid}.print-exam-section-continuation{break-before:page;page-break-before:always}.print-exam-section-heading{color:#111827;border-bottom:1px solid #94a3b8;justify-content:space-between;gap:1rem;margin:0 0 .35rem;padding-bottom:.35rem;font-size:9px;display:flex}.print-exam-section:first-of-type .print-exam-section-heading{margin-top:.75rem}.print-exam-section-continuation .print-exam-section-heading{padding-top:0}.print-exam-section .print-table{margin-top:0}}.print-only{display:none}.print-report-header{color:#000;border-bottom:2px solid #111827;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.print-report-header h1{color:#000;margin:.1rem 0 .3rem;font-size:1.45rem;line-height:1.15}.print-report-header p{color:#374151;margin:0}.print-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;color:#111827!important}.print-generated{text-align:right;color:#374151;min-width:12rem}.print-generated span,.print-generated strong{display:block}.print-generated strong{color:#111827}.print-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;margin-top:.75rem;display:grid}.print-summary-item{color:#000;background:#f8fafc;border:1px solid #cbd5e1;padding:.4rem}.print-summary-item span{color:#4b5563;text-transform:uppercase;font-size:.68rem;font-weight:700;display:block}.print-summary-item strong{color:#111827;margin-top:.2rem;font-size:.95rem;display:block}.print-report-table th small{color:#4b5563;margin-top:.15rem;font-size:.68rem;font-weight:600;display:block}.print-student-name,.print-score-line{font-weight:800}.print-cell-meta{color:#4b5563;margin-top:.15rem;font-size:.76em}.print-status{color:#111827;border:1px solid #9ca3af;border-radius:999px;margin-top:.2rem;padding:.08rem .35rem;font-size:.72em;font-weight:800;display:inline-block}.print-status-passed{color:#15803d;border-color:#15803d}.print-status-failed{color:#b91c1c;border-color:#b91c1c}.print-status-pending{color:#854d0e;border-color:#a16207}.print-status-missing{color:#4b5563;border-color:#6b7280}.print-note{color:#4b5563;margin-top:.75rem;font-size:.75rem}.class-management-page{gap:1.5rem;width:100%;min-width:0;max-width:none}.class-management-page>.t-header{border-bottom:1px solid #b71c1c1a;align-items:center;padding:.35rem 0 1.25rem;position:relative}.class-management-page>.t-header:before{content:none}.class-management-page>.t-header h2{letter-spacing:-.035em;margin-bottom:.35rem;font-size:clamp(1.65rem,2.5vw,2rem);font-weight:850}.class-management-page>.t-header p{margin:0}.class-management-page>.t-header .btn-primary{border-radius:12px;min-height:46px;padding-inline:1.25rem;box-shadow:0 9px 22px #d4af373d}.class-management-page .class-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;min-height:0}.class-management-page .class-list{background:radial-gradient(circle at 100% 0,#f4c5421a,#0000 28%),linear-gradient(160deg,#ffffffd1,#fffaedad);border:1px solid #b71c1c1a;border-radius:20px;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:0;padding:0;display:grid;overflow:hidden;box-shadow:0 12px 32px #4a2d1c12}.class-management-page .class-list-header{border-bottom:1px solid #b71c1c17;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem .78rem;display:flex}.class-management-page .class-list-track{overscroll-behavior-inline:contain;scrollbar-color:#b71c1c3d transparent;scrollbar-width:thin;scroll-snap-type:inline mandatory;grid-auto-columns:minmax(245px,285px);grid-auto-flow:column;gap:.7rem;min-width:0;padding:.82rem 1rem 1rem;scroll-padding-inline:1rem;display:grid;overflow-x:auto}.class-management-page .class-list-message{scroll-snap-align:start;min-width:min(520px,100vw - 4rem);margin:0;padding:1rem}.class-management-page .class-list-kicker{color:#a36c12;letter-spacing:.075em;text-transform:uppercase;margin-bottom:.18rem;font-size:.52rem;font-weight:900;display:block}.class-management-page .class-list-header h3{color:var(--text-primary);letter-spacing:-.015em;margin:0 0 .15rem;font-size:.95rem;font-weight:800}.class-management-page .class-list-header p{color:var(--text-secondary);margin:0;font-size:.7rem;line-height:1.35}.class-management-page .class-list-count{color:#9b6512;background:#f4c54224;border:1px solid #d4af3747;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.78rem;font-weight:800;display:grid}.class-management-page .class-list-controls{flex:none;align-items:center;gap:.38rem;display:flex}.class-management-page .class-list-position{color:#776b61;text-align:right;min-width:58px;font-size:.62rem;font-weight:800}.class-management-page .class-card{scroll-snap-align:start;background:linear-gradient(145deg,#fffffff5,#fff9e6c7);border:1px solid #b71c1c1a;border-radius:16px;min-height:128px;padding:0;position:relative;overflow:hidden;box-shadow:0 6px 16px #4a2d1c0b}.class-management-page .class-card:before{content:none}.class-management-page .class-card:hover{background:#fff;border-color:#d4af376b;transform:translateY(-2px);box-shadow:0 10px 22px #4a2d1c14}.class-management-page .class-card.active{background:radial-gradient(circle at 0,#b71c1c14,#0000 36%),linear-gradient(145deg,#fffffffa,#f4c5422e);border-color:#b71c1c57;box-shadow:0 10px 24px #b71c1c1a,inset 0 0 0 1px #ffffffb8}.class-management-page .class-card.is-opening{border-color:#c48f1980;box-shadow:0 10px 25px #c48f1924}.class-management-page .class-card.is-opening:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffffb8 48%,#0000 66%);animation:.9s ease-in-out infinite class-card-opening;position:absolute;inset:0;transform:translate(-100%)}@keyframes class-card-opening{to{transform:translate(100%)}}.class-management-page .class-card-select{width:100%;min-height:128px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:.75rem;padding:.82rem 2.65rem .82rem .78rem;display:grid}.class-management-page .class-card-select:focus-visible{outline-offset:-4px;border-radius:14px;outline:3px solid #d4af3766}.class-management-page .class-card-index{color:#8c6415;background:#fffaebe6;border:1px solid #c48f192e;border-radius:13px;align-content:center;justify-items:center;gap:.1rem;width:45px;height:68px;display:grid;box-shadow:0 5px 12px #4a2d1c0b}.class-management-page .class-card-index small{letter-spacing:.07em;text-transform:uppercase;font-size:.45rem;font-weight:850}.class-management-page .class-card-index strong{font-size:1rem;font-weight:900;line-height:1}.class-management-page .class-card.active .class-card-index{background:linear-gradient(145deg, var(--primary-red), #d8473f);color:#fff8df;border-color:#b71c1c33;box-shadow:0 7px 15px #b71c1c2e}.class-management-page .class-card-content{flex-direction:column;align-self:center;min-width:0;display:flex}.class-management-page .class-card-name{min-width:0;color:var(--text-primary);letter-spacing:-.01em;padding-right:0;font-size:.98rem;font-weight:800}.class-management-page .class-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.class-management-page .class-card-selected{color:var(--primary-red);text-transform:uppercase;background:#b71c1c14;border-radius:999px;padding:.2rem .42rem;font-size:.54rem;font-weight:850;line-height:1.2}.class-management-page .class-card-context{flex-wrap:wrap;gap:.35rem;margin:.35rem 0 .75rem;display:flex}.class-management-page .class-card-context span{color:#74675d;background:#b71c1c0e;border-radius:999px;padding:.2rem .42rem;font-size:.66rem;font-weight:650;line-height:1.2}.class-management-page .class-card-sub{margin-bottom:.65rem;font-size:.76rem}.class-management-page .class-card-meta{flex-wrap:wrap;gap:.45rem}.class-management-page .class-card-meta span{color:#5f574f;white-space:nowrap;background:#ffffff94;border:1px solid #b71c1c13;border-radius:999px;align-items:center;gap:.18rem;padding:.28rem .48rem;font-size:.7rem;display:inline-flex}.class-management-page .class-card-meta strong{color:var(--primary-red);font-weight:800}.class-management-page .class-remove-button{border-radius:9px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:.65rem;right:.62rem;color:#c62828!important;opacity:.62!important;background:0 0!important;border:1px solid #0000!important;padding:0!important;font-size:1rem!important}.class-management-page .class-remove-button:hover,.class-management-page .class-remove-button:focus-visible{opacity:1!important;background:#e5393517!important;border-color:#e5393533!important}.class-management-page .class-detail{background:radial-gradient(circle at 100% 0,#f4c54213,#0000 25%),#ffffffb3;border:1px solid #b71c1c1c;border-radius:22px;width:100%;min-height:440px;padding:clamp(1rem,2.2vw,1.6rem);animation:.26s ease-out both class-workspace-reveal;box-shadow:0 14px 36px #4a2d1c13}@keyframes class-workspace-reveal{0%{opacity:0;transform:translateY(9px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.class-management-page .class-detail>.empty-state{background:radial-gradient(circle at 50% 42%,#f4c5421f,#0000 27%),linear-gradient(145deg,#ffffffb8,#fff9e68c);border:1px solid #b71c1c1f;border-radius:16px;min-height:390px;padding:2rem;position:relative;overflow:hidden}.class-management-page .class-detail>.empty-state:before{content:none}.class-empty-visual{perspective:300px;align-items:flex-end;gap:.42rem;height:72px;display:flex}.class-empty-visual span{color:#b71c1ca6;background:linear-gradient(155deg,#fffffff0,#fff1c3d1);border:1px solid #b71c1c21;border-radius:11px 11px 8px 8px;place-items:center;width:48px;height:60px;font-size:.66rem;font-weight:900;display:grid;box-shadow:0 8px 18px #4a2d1c12}.class-empty-visual span:first-child{height:50px;transform:rotate(-7deg)translate(3px)}.class-empty-visual span:last-child{height:54px;transform:rotate(7deg)translate(-3px)}.class-empty-eyebrow{color:#9b6512;letter-spacing:.08em;text-transform:uppercase;margin-top:.35rem;font-size:.58rem;font-weight:900}.class-management-page .class-detail>.empty-state p{max-width:340px;margin:0;font-size:.9rem}.class-management-page .class-detail>.empty-state strong{color:var(--text-primary);margin-top:.15rem;font-size:1rem}.class-management-page .class-detail-header{border-bottom:1px solid #b71c1c1a;padding-bottom:1rem}.class-management-page .class-detail-header h3{letter-spacing:-.025em;font-size:1.35rem}.class-management-page .class-detail-actions{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.class-management-page .class-detail-actions button{white-space:nowrap;border-radius:10px;min-height:40px}.class-management-page .class-student-section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin:.15rem 0 .75rem;display:flex}.class-management-page .class-student-section-heading h4{color:var(--text-primary);margin:0 0 .2rem;font-size:.95rem;font-weight:800}.class-management-page .class-student-section-heading p{color:var(--text-secondary);margin:0;font-size:.72rem}.class-management-page .class-student-section-heading>span{color:var(--primary-red);background:#ffffffb3;border:1px solid #b71c1c1f;border-radius:999px;flex:none;padding:.3rem .58rem;font-size:.7rem;font-weight:750}.class-management-page .class-student-table-wrap{background:#ffffff85;border:1px solid #b71c1c1a;border-radius:12px;overflow:hidden}.class-management-page .class-student-table{margin-top:0}.class-management-page .class-student-table th{background:#f4c54217;border-bottom-color:#b71c1c1a;padding-block:.7rem}.class-management-page .class-student-table td{vertical-align:middle;border-bottom-color:#b71c1c12}.class-management-page .class-student-table tr.is-directory-highlight td{border-top-color:#d4af374d;border-bottom-color:#d4af374d;background:#f4c5422e!important}.class-management-page .class-student-table tr.is-directory-highlight td:first-child{box-shadow:inset 4px 0 0 var(--primary-red)}.class-student-name-cell{justify-items:start;gap:.3rem;min-width:0;display:grid}.directory-selected-label{min-height:22px;color:var(--primary-red);white-space:nowrap;background:#ffffffb3;border:1px solid #b71c1c29;border-radius:999px;align-items:center;padding:.22rem .5rem;font-size:.61rem;font-weight:800;line-height:1.2;display:inline-flex}.class-management-page .class-student-username{overflow-wrap:anywhere;max-width:17rem}.class-student-username-value{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;display:block}.class-management-page .class-student-id{min-width:8.5rem}.class-student-id-value{color:#6f5421;letter-spacing:.02em;overflow-wrap:anywhere;background:#f4c5421a;border:1px solid #d4af374d;border-radius:999px;align-items:center;max-width:100%;padding:.24rem .5rem;font-size:.69rem;font-weight:750;display:inline-flex}.class-student-id-empty{text-align:center;min-width:1rem;display:inline-block}.class-management-page .class-student-activity-date{color:var(--text-secondary);margin-top:.3rem;font-size:.67rem;line-height:1.35}.class-student-activity-content{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.class-management-page .class-student-actions{text-align:right;min-width:270px}.class-student-action-buttons{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.class-student-action-buttons button{white-space:nowrap;border-radius:8px;min-height:36px;padding:.42rem .72rem;font-size:.72rem}.class-student-action-buttons .student-password-reset-button{color:#9a6410;background:#fff9e5b8;border-color:#d4af3761}.class-student-action-buttons .student-password-reset-button:hover{background:#fff4c9;border-color:#d4af37ad}.student-password-reset-modal{background:radial-gradient(circle at 92% 4%,#f4c54226,#0000 30%),#fffaf0;border-color:#b71c1c29;gap:.9rem;width:min(94vw,640px);max-width:640px;padding:clamp(1.05rem,2.5vw,1.55rem);overflow-x:hidden;box-shadow:0 24px 64px #3d231438}.student-password-reset-heading{border-bottom:1px solid #b71c1c1c;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.95rem;display:flex}.student-password-reset-heading span{color:#9a6b00;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:820}.student-password-reset-heading h3{max-width:440px;margin:.3rem 0 0;font-size:clamp(1.28rem,2.4vw,1.58rem);line-height:1.15}.student-password-reset-heading .btn-ghost{white-space:nowrap;flex:none;min-width:76px;min-height:38px;padding-inline:.8rem}.student-password-reset-identity{background:#ffffffad;border:1px solid #b71c1c1a;border-radius:12px;align-items:center;gap:.7rem;padding:.78rem .88rem;display:flex}.student-password-reset-identity>span{width:38px;height:38px;color:var(--primary-red);background:linear-gradient(135deg,#b71c1c1f,#f4c54240);border-radius:12px;flex:0 0 38px;place-items:center;font-size:.88rem;font-weight:850;display:grid}.student-password-reset-identity>div{gap:.1rem;min-width:0;display:grid}.student-password-reset-identity strong,.student-password-reset-identity small{overflow-wrap:anywhere}.student-password-reset-identity strong{color:var(--text-primary);font-size:.88rem}.student-password-reset-identity small{color:var(--primary-red);font-size:.72rem;font-weight:680}.student-password-reset-note{background:#4caf5012;border:1px solid #4caf503d;border-radius:12px;gap:.22rem;padding:.85rem .95rem;display:grid}.student-password-reset-note strong{color:#25772a;font-size:.8rem}.student-password-reset-note span{color:var(--text-secondary);font-size:.74rem;line-height:1.45}.student-password-reset-form{gap:.9rem}.student-password-reset-password-panel{background:radial-gradient(circle at 100% 0,#f4c5421a,#0000 36%),#ffffffa6;border:1px solid #b71c1c1f;border-radius:13px;gap:.82rem;padding:.95rem;display:grid}.student-password-reset-password-heading{border-bottom:1px solid #b71c1c17;min-width:0;padding-bottom:.75rem;display:block}.student-password-reset-password-heading>div{gap:.15rem;min-width:0;display:grid}.student-password-reset-password-heading strong{color:var(--text-primary);font-size:.82rem}.student-password-reset-password-heading span{color:var(--text-secondary);font-size:.69rem;line-height:1.35}.student-password-reset-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.student-password-visibility-control{width:fit-content;min-height:34px;color:var(--text-primary);cursor:pointer;background:#fff8e1b8;border:1px solid #b71c1c1c;border-radius:9px;align-items:center;gap:.48rem;margin-top:-.08rem;padding:.4rem .62rem;font-size:.7rem;font-weight:720;transition:background-color .15s,border-color .15s;display:inline-flex}.student-password-visibility-control:hover{background:#fff1bd;border-color:#d4af3785}.student-password-visibility-control:has(input:checked){background:#fff1bd;border-color:#d4af3785}.student-password-visibility-control:focus-within{outline-offset:2px;outline:2px solid #b71c1c6b}.student-password-visibility-control input{width:15px;height:15px;accent-color:var(--primary-red);margin:0}.student-password-visibility-control:has(input:disabled){cursor:default;opacity:.55}.student-temporary-password-field .student-password-visibility-control{background:0 0;border:0;border-radius:0;min-height:28px;padding:.15rem 0}.student-temporary-password-field .student-password-visibility-control:hover{background:0 0;border-color:#0000}.student-temporary-password-field .student-password-visibility-control:has(input:checked){background:0 0;border-color:#0000}.student-temporary-password-field .student-password-visibility-control:focus-within{box-shadow:none;outline:0}.student-password-reset-actions{border-top:1px solid #b71c1c1c;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;padding-top:.9rem;display:grid}.student-password-reset-actions button{width:100%;min-width:0;min-height:42px}@media (width<=700px){.class-management-page .class-student-table tr.is-directory-highlight{box-shadow:0 8px 22px #b71c1c1a, inset 4px 0 0 var(--primary-red);border-color:#b71c1c57}.class-management-page .class-student-table tr.is-directory-highlight td:first-child{box-shadow:none}.class-management-page .class-student-table .class-student-username{width:100%;max-width:none}.class-student-username-value{text-align:right;width:100%}.class-management-page .class-student-id{min-width:0}.class-student-id-value,.class-student-id-empty{justify-self:end}.class-student-activity-content{text-align:right;align-items:flex-end;width:100%}.class-management-page .class-student-activity-date{overflow-wrap:anywhere;max-width:100%;margin-top:.25rem}.class-management-page .class-student-actions{grid-template-columns:minmax(64px,.32fr) minmax(0,1fr);min-width:0}.class-student-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.class-student-action-buttons .student-password-reset-button{grid-area:2/1/auto/-1}.class-student-action-buttons>.btn-ghost:not(.student-password-reset-button){grid-area:1/1}.class-student-action-buttons>.btn-danger-sm{grid-area:1/2}.class-student-action-buttons button{width:100%;min-height:40px}.student-password-reset-heading{align-items:flex-start}.student-password-reset-heading .btn-ghost{align-self:flex-start}.student-password-reset-fields{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.student-password-reset-modal{width:100%;padding:.95rem}.student-password-reset-heading{grid-template-columns:minmax(0,1fr) auto;gap:.7rem;display:grid}.student-password-reset-heading h3{font-size:1.25rem}.student-password-reset-heading .btn-ghost{min-width:68px}.student-password-reset-actions{grid-template-columns:minmax(0,1fr)}}.management-mode-switch{--switch-gap:.5rem;--switch-padding:.42rem;isolation:isolate;gap:var(--switch-gap);width:min(100%,860px);padding:var(--switch-padding);background:radial-gradient(circle at 50% 0,#f4c54214,#0000 42%),#f4efe5b8;border:1px solid #7548291f;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:auto;display:grid;position:relative;box-shadow:inset 0 1px #ffffffdb,0 9px 22px #4a2d1c0e}.management-mode-switch:before{z-index:0;top:var(--switch-padding);bottom:var(--switch-padding);left:var(--switch-padding);width:calc((100% - (var(--switch-padding) * 2) - var(--switch-gap)) / 2);content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#f4c5422b,#0000 46%),linear-gradient(145deg,#fffffffc,#fff8e1f0);border:1px solid #b71c1c24;border-radius:13px;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .18s;position:absolute;transform:translate(0);box-shadow:0 8px 20px #4a2d1c17,inset 0 0 0 1px #ffffffbd}.management-mode-switch.is-students:before{transform:translateX(calc(100% + var(--switch-gap)))}.management-mode-switch label{z-index:1;min-width:0;min-height:72px;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;padding:.76rem 2.35rem .78rem 1.1rem;transition:color .17s,background .17s,border-color .17s,transform .17s;display:flex;position:relative;overflow:hidden;transform:translateY(0)scale(1)}.management-mode-switch label>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.management-mode-switch label:before{content:none}.management-mode-switch label:after{background:var(--primary-red);content:"";opacity:0;border-radius:999px;width:7px;height:7px;transition:opacity .17s,transform .22s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)scale(.35);box-shadow:0 0 0 4px #b71c1c17}.management-mode-switch label:hover:not(.is-active){color:var(--text-primary);background:#ffffff8a;border-color:#b71c1c1a;transform:translateY(-1px)}.management-mode-switch label:active{transform:translateY(0)scale(.985)}.management-mode-switch label.is-active{color:var(--text-primary);background:0 0;border-color:#0000}.management-mode-switch label.is-active:after{opacity:1;transform:translateY(-50%)scale(1)}.management-mode-switch label:has(input:focus-visible){outline-offset:2px;outline:3px solid #d4af3747}.management-mode-switch strong,.management-mode-switch span{overflow-wrap:anywhere;display:block}.management-mode-switch strong{color:inherit;letter-spacing:-.012em;font-size:.88rem;font-weight:850}.management-mode-switch span{color:#746a61;margin-top:.24rem;font-size:.67rem;line-height:1.4}.management-mode-switch label.is-active strong{color:var(--primary-red)}.management-mode-switch label.is-active span{color:#5f554d}.student-directory{gap:1rem;width:100%;min-width:0;display:grid}.student-directory-panel{background:#ffffff8c;border:1px solid #b71c1c1a;border-radius:17px;min-width:0;padding:clamp(1rem,2vw,1.4rem);box-shadow:0 10px 28px #4a2d1c0e}.student-directory-heading{border-bottom:1px solid #b71c1c17;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.student-directory-heading h3,.student-directory-heading p{margin:0}.student-directory-heading h3{color:var(--text-primary);font-size:1rem;font-weight:800}.student-directory-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.73rem;line-height:1.45}.student-directory-heading>span{color:var(--primary-red);white-space:nowrap;background:#ffffffb8;border:1px solid #b71c1c1f;border-radius:999px;flex:none;padding:.3rem .6rem;font-size:.68rem;font-weight:750}.student-directory-filters{grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(170px,.7fr));gap:.7rem;padding:1rem 0;display:grid}.student-directory-filters label{gap:.35rem;min-width:0;display:grid}.student-directory-filters label>span{color:var(--text-secondary);font-size:.67rem;font-weight:750}.student-directory-filters .input-field{background:#ffffffdb;border-radius:10px;width:100%;min-width:0;min-height:42px}.student-directory-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem;display:grid}.student-directory-grid-header{display:none}.student-directory-card{background:linear-gradient(145deg,#ffffffeb,#fffaebbd);border:1px solid #b71c1c1a;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.8rem .65rem;min-width:0;min-height:218px;padding:1rem;transition:border-color .17s,box-shadow .17s,transform .17s;display:grid;box-shadow:0 7px 18px #4a2d1c0b}.student-directory-card:hover{border-color:#d4af375c;transform:translateY(-2px);box-shadow:0 12px 25px #4a2d1c14}.student-directory-identity{grid-column:1/-1;min-width:0}.student-directory-identity h4,.student-directory-identity p{overflow-wrap:anywhere;margin:0}.student-directory-identity h4{color:var(--text-primary);font-size:.92rem;font-weight:800;line-height:1.3}.student-directory-identity p{color:var(--text-secondary);margin-top:.22rem;font-size:.69rem;line-height:1.4}.student-directory-classrooms{flex-wrap:wrap;grid-column:1/-1;gap:.35rem;min-width:0;display:flex}.student-directory-classrooms span{color:#765b39;text-overflow:ellipsis;white-space:nowrap;background:#f4c54224;border-radius:999px;max-width:100%;padding:.25rem .5rem;font-size:.64rem;font-weight:700;line-height:1.25;overflow:hidden}.student-directory-status,.student-directory-data-cell{background:#ffffff9e;border-radius:9px;align-content:center;justify-items:start;min-width:0;min-height:58px;padding:.6rem;display:grid}.student-directory-status{gap:.28rem}.student-directory-mobile-label,.student-directory-data-cell span,.student-directory-data-cell strong{overflow-wrap:anywhere;display:block}.student-directory-mobile-label,.student-directory-data-cell span{color:var(--text-secondary);text-transform:uppercase;font-size:.59rem;font-weight:700}.student-directory-data-cell strong{color:var(--text-primary);margin-top:.25rem;font-size:.7rem;line-height:1.35}.student-directory-action{grid-column:1/-1;justify-content:flex-end;align-items:center;width:100%;display:flex}.student-directory-action .btn-ghost{white-space:nowrap;border-radius:9px;min-height:38px;padding:.45rem .75rem;font-size:.7rem}@media (width>=1280px){.student-directory-grid{background:#ffffff7a;border:1px solid #b71c1c1a;border-radius:13px;display:block;overflow:hidden}.student-directory-grid-header,.student-directory-card{grid-template-columns:minmax(175px,1.35fr) minmax(105px,.78fr) minmax(135px,1fr) minmax(82px,.62fr) minmax(78px,.58fr) minmax(75px,.56fr) minmax(125px,.88fr);align-items:center;gap:.7rem;display:grid}.student-directory-grid-header{color:var(--text-secondary);letter-spacing:.035em;text-transform:uppercase;background:#f4c54217;border-bottom:1px solid #b71c1c1a;padding:.7rem 1rem;font-size:.62rem;font-weight:800}.student-directory-card{min-height:76px;box-shadow:none;background:#ffffff85;border:0;border-bottom:1px solid #b71c1c13;border-radius:0;padding:.75rem 1rem}.student-directory-card:nth-child(odd){background:#fffaeb7a}.student-directory-card:last-child{border-bottom:0}.student-directory-card:hover{box-shadow:none;background:#f4c54217;border-color:#b71c1c13;transform:none}.student-directory-identity,.student-directory-classrooms,.student-directory-action{grid-column:auto}.student-directory-classrooms{align-content:center}.student-directory-status,.student-directory-data-cell{background:0 0;min-height:0;padding:0}.student-directory-mobile-label,.student-directory-data-cell span{display:none}.student-directory-data-cell strong{margin-top:0;font-size:.73rem}.student-directory-action{justify-content:flex-end}}.student-directory-empty{text-align:center;background:#fff8e161;border:1px dashed #b71c1c2e;border-radius:13px;place-content:center;justify-items:center;min-height:240px;padding:2rem;display:grid}.student-directory-empty strong{color:var(--text-primary);font-size:.95rem}.student-directory-empty p{max-width:380px;color:var(--text-secondary);margin:.35rem 0 0;font-size:.76rem;line-height:1.5}.student-directory-empty .btn-ghost{margin-top:.85rem}@media (width<=900px){.class-management-page .class-layout{grid-template-columns:1fr}.class-management-page .class-list{grid-template-columns:minmax(0,1fr)}.class-management-page .class-list-header{grid-column:1/-1}.class-management-page .class-detail{min-height:420px}.student-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-directory-search{grid-column:1/-1}}@media (width<=1300px) and (width>=901px){.class-management-page .class-list{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.class-management-page>.t-header{align-items:stretch}.class-management-page>.t-header .btn-primary{width:100%}.class-management-page .class-list{grid-template-columns:1fr;padding:0}.class-management-page .class-list-track{grid-auto-columns:minmax(235px,86vw);padding:.72rem;scroll-padding-inline:.72rem}.class-management-page .class-list-header{flex-direction:column;align-items:flex-start}.class-management-page .class-list-controls{justify-content:flex-end;width:100%}.class-management-page .class-detail{min-height:340px;padding:.75rem}.class-management-page .class-student-section-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.management-mode-switch{--switch-gap:.35rem;--switch-padding:.32rem;gap:var(--switch-gap);width:100%;padding:var(--switch-padding);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.management-mode-switch label{border-radius:10px;min-height:58px;padding:.58rem 1.65rem .58rem .7rem}.management-mode-switch label:after{width:6px;height:6px;right:.72rem}.management-mode-switch label>span{display:none}.management-mode-switch strong{font-size:.76rem}.student-directory-panel{padding:.75rem}.student-directory-heading{flex-direction:column;align-items:flex-start;gap:.6rem}.student-directory-filters{grid-template-columns:minmax(0,1fr);padding-block:.8rem}.student-directory-search{grid-column:auto}.student-directory-grid{grid-template-columns:minmax(0,1fr)}.student-directory-card{grid-template-columns:minmax(0,1fr);min-height:0;padding:.85rem}.student-directory-identity,.student-directory-classrooms,.student-directory-action{grid-column:auto}.student-directory-action .btn-ghost{width:100%;min-height:44px}}@media (prefers-reduced-motion:reduce){.management-mode-switch:before,.management-mode-switch label,.management-mode-switch label:after{transition:none}.class-management-page .class-card.is-opening:after,.class-management-page .class-detail{animation:none}.class-management-page .class-list-track{scroll-behavior:auto}}.exam-management-page{gap:1.5rem}.exam-management-page>.t-header{border-bottom:1px solid #b71c1c1a;align-items:center;padding:.35rem 0 1.25rem;position:relative}.exam-management-page>.t-header:before{content:none}.exam-management-page>.t-header h2{letter-spacing:-.035em;margin-bottom:.35rem;font-size:clamp(1.65rem,2.5vw,2rem);font-weight:850}.exam-management-page>.t-header p{margin:0}.exam-management-page>.t-header .btn-primary{border-radius:12px;min-height:46px;padding-inline:1.25rem;box-shadow:0 9px 22px #d4af373d}.exam-management-page .exam-section-list{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.exam-management-page .exam-section{background:#ffffff73;border:1px solid #b71c1c17;border-radius:17px;flex-direction:column;gap:.85rem;min-width:0;padding:1rem;display:flex;box-shadow:0 9px 26px #4a2d1c0d}.exam-management-page .exam-section-header{border-bottom:1px solid #b71c1c1a;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:0 .2rem .8rem;display:flex}.exam-management-page .exam-section-header h3{letter-spacing:-.015em;margin:0;font-size:1rem}.exam-management-page .exam-section-header p{background:#61616112;border-radius:999px;margin-top:.35rem;padding:.2rem .48rem;font-size:.7rem;font-weight:600;display:inline-flex}.exam-management-page .exam-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:.8rem;width:100%;min-width:0;display:grid}.exam-management-page .exam-card{cursor:pointer;background:linear-gradient(145deg,#ffffffeb,#fff8e1b8);border:1px solid #b71c1c1a;border-radius:13px;flex-direction:column;min-width:0;min-height:196px;padding:1rem;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 17px #4a2d1c0d}.exam-management-page .exam-card:before{content:"";background:linear-gradient(180deg, var(--primary-red), var(--primary-gold));opacity:.48;border-radius:13px 0 0 13px;width:3px;transition:opacity .2s;position:absolute;inset:0 auto 0 0}.exam-management-page .exam-card:hover{background:#fff;border-color:#d4af376b;transform:translateY(-3px);box-shadow:0 12px 25px #4a2d1c17}.exam-management-page .exam-card:hover:before{opacity:1}.exam-management-page .exam-card-title{min-height:1.35rem;color:var(--text-primary);overflow-wrap:anywhere;margin:0 4.3rem .3rem 0;font-size:.98rem;font-weight:800;line-height:1.35}.exam-management-page .exam-card-class{color:var(--text-secondary);border-bottom:1px solid #b71c1c13;margin-bottom:.75rem;padding-bottom:.65rem;font-size:.74rem}.exam-management-page .exam-published{position:absolute;top:.85rem;right:.85rem}.exam-management-page .exam-published .badge{padding:.3rem .55rem;font-size:.68rem;font-weight:700}.exam-management-page .exam-card-meta{flex-wrap:wrap;gap:.4rem;min-width:0;margin-bottom:.35rem;display:flex}.exam-management-page .exam-card-meta span{color:#5e564e;overflow-wrap:anywhere;background:#ffffff8f;border:1px solid #b71c1c12;border-radius:999px;align-items:center;min-width:0;padding:.26rem .45rem;font-size:.69rem;display:inline-flex}.exam-management-page .exam-card-controls{justify-content:flex-end;gap:.45rem;margin-top:auto;padding-top:.75rem;display:flex}.exam-management-page .exam-card-controls button{cursor:pointer;border-radius:9px;min-height:34px;padding:.38rem .65rem;font-size:.72rem;font-weight:700;transition:border-color .2s,background .2s,transform .2s}.exam-management-page .exam-card-controls button:hover{transform:translateY(-1px)}.exam-management-page .exam-card-edit{color:var(--primary-red);background:#f4c54221;border:1px solid #d4af3766}.exam-management-page .exam-card-edit:hover{background:#f4c5423d;border-color:#d4af37ad}.exam-management-page .exam-card-delete{color:#c62828;background:#e5393512;border:1px solid #e5393540}.exam-management-page .exam-card-delete:hover{background:#e5393521;border-color:#e5393575}.exam-library-panel{background:radial-gradient(circle at 100% 0,#f4c5421c,#0000 28%),#ffffffa6;border:1px solid #b71c1c1a;border-radius:18px;min-width:0;padding:clamp(1rem,2vw,1.35rem);box-shadow:0 14px 34px #4a2d1c12}.exam-library-heading{border-bottom:1px solid #b71c1c17;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;margin-bottom:1rem;padding-bottom:.9rem;display:flex}.exam-library-heading h3,.exam-library-heading p{margin:0}.exam-library-heading h3{color:var(--text-primary);letter-spacing:-.02em;margin-top:.35rem;font-size:clamp(1.05rem,1.7vw,1.25rem);font-weight:850}.exam-library-heading p{color:var(--text-secondary);margin-top:.25rem;font-size:.74rem;line-height:1.45}.exam-library-range{min-height:30px;color:var(--text-secondary);background:#ffffffb8;border:1px solid #b71c1c1f;border-radius:999px;flex:none;align-items:center;padding:.35rem .65rem;font-size:.66rem;font-weight:750;display:inline-flex}.exam-library-toolbar{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(145px,.7fr));gap:.65rem;min-width:0;margin-bottom:1rem;display:grid}.exam-library-toolbar label{gap:.3rem;min-width:0;display:grid}.exam-library-toolbar label>span{color:#655d55;letter-spacing:.035em;font-size:.62rem;font-weight:850}.exam-library-toolbar .input-field{background:#ffffffd6;border-color:#b71c1c21;border-radius:10px;width:100%;min-width:0;min-height:42px;padding:.58rem .7rem;font-size:.72rem}.exam-library-table-heading,.exam-library-row{grid-template-columns:minmax(180px,1.3fr) minmax(180px,1.2fr) minmax(100px,.65fr) minmax(120px,.75fr) minmax(68px,.4fr) minmax(68px,.4fr) minmax(190px,auto);align-items:center;gap:.7rem;min-width:0;display:grid}.exam-library-table-heading{color:#756b61;letter-spacing:.065em;text-transform:uppercase;padding:0 .85rem .5rem;font-size:.58rem;font-weight:850}.exam-library-list{background:#fffc;border:1px solid #7454311f;border-radius:13px;overflow:hidden}.exam-library-row{border-bottom:1px solid #74543117;padding:.85rem;transition:background-color .16s}.exam-library-row:last-child{border-bottom:0}.exam-library-row:hover{background:#fff9e694}.exam-library-cell{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;font-size:.69rem;line-height:1.4}.exam-library-cell:before{content:attr(data-label);display:none}.exam-library-title{max-width:100%;color:var(--text-primary);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:850;line-height:1.3;display:block}.exam-library-title:hover{color:var(--primary-red);text-underline-offset:.15rem;text-decoration:underline}.exam-library-exam small,.exam-library-status-detail{color:var(--text-secondary);margin-top:.22rem;font-size:.62rem;line-height:1.35;display:block}.exam-library-sections{flex-wrap:wrap;gap:.3rem;display:flex}.exam-library-section-chip,.exam-library-section-more{color:#6d5722;overflow-wrap:anywhere;background:#f4c5421c;border:1px solid #c48f192e;border-radius:999px;align-items:center;max-width:100%;min-height:25px;padding:.28rem .48rem;font-size:.6rem;font-weight:750;display:inline-flex}.exam-library-section-more{background:#ffffffc7;justify-content:center;min-width:25px}.exam-library-muted{color:#8a827a;font-size:.65rem}.exam-library-status{color:#69635d;background:#61616112;border:1px solid #61616129;border-radius:999px;align-items:center;gap:.38rem;min-height:27px;padding:.32rem .62rem;font-size:.61rem;font-weight:850;display:inline-flex}.exam-library-status:before{content:"";width:.42rem;height:.42rem;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 13%, transparent);background:currentColor;border-radius:50%;flex:none}.exam-library-status.is-published{color:#2e7d32;background:#4caf501a;border-color:#388e3c38}.exam-library-status.is-scheduled{color:#1565c0;background:#2196f317;border-color:#1976d233}.exam-library-status.is-closed{color:var(--primary-red);background:#b71c1c12;border-color:#b71c1c2e}.exam-library-schedule,.exam-library-number{color:var(--text-primary);font-weight:720}.exam-library-number{text-align:center}.exam-library-actions{justify-content:flex-end;gap:.35rem;display:flex}.exam-library-actions button{cursor:pointer;border-radius:8px;min-height:34px;padding:.42rem .58rem;font-size:.63rem;font-weight:780;transition:transform .16s,border-color .16s,background-color .16s}.exam-library-actions button:hover{transform:translateY(-1px)}.exam-library-open{color:var(--primary-red);background:#b71c1c0f;border:1px solid #b71c1c33}.exam-library-empty{min-height:220px;color:var(--text-secondary);text-align:center;border:1px dashed #b71c1c2e;border-radius:13px;align-content:center;place-items:center;gap:.45rem;padding:1.5rem;font-size:.76rem;display:grid}.exam-library-empty strong{color:var(--text-primary);font-size:.95rem}.exam-library-empty p{margin:0}.exam-library-empty button{min-height:38px;margin-top:.4rem}.exam-library-pagination{border-top:1px solid #b71c1c17;justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;padding-top:.9rem;display:flex}.exam-library-pagination>div{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.exam-library-pagination button{min-width:36px;min-height:36px;color:var(--primary-red);font:inherit;cursor:pointer;background:#ffffffbd;border:1px solid #b71c1c24;border-radius:8px;padding:.4rem .6rem;font-size:.65rem;font-weight:780}.exam-library-pagination button.is-active{border-color:var(--primary-red);background:var(--primary-red);color:#fff}.exam-library-pagination button:disabled{cursor:not-allowed;opacity:.4}@media (width<=1200px){.exam-library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-library-search{grid-column:1/-1}.exam-library-table-heading{display:none}.exam-library-list{background:0 0;border:0;border-radius:0;gap:.75rem;display:grid;overflow:visible}.exam-library-row{background:#ffffffd1;border:1px solid #7454311f;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(160px,.55fr);gap:.8rem 1rem}.exam-library-cell:before{color:#756b61;letter-spacing:.055em;text-transform:uppercase;margin-bottom:.3rem;font-size:.56rem;font-weight:850;display:block}.exam-library-exam,.exam-library-sections{grid-column:1}.exam-library-actions{border-top:1px solid #74543114;grid-column:1/-1;justify-content:flex-start;padding-top:.7rem}.exam-library-number{text-align:left}}@media (width<=700px){.exam-library-panel{border-radius:14px;padding:.8rem}.exam-library-heading{flex-direction:column;align-items:flex-start}.exam-library-range{align-self:flex-start}.exam-library-toolbar{grid-template-columns:minmax(0,1fr)}.exam-library-search{grid-column:auto}.exam-library-row{grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.8rem}.exam-library-exam,.exam-library-sections,.exam-library-actions{grid-column:1}.exam-library-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.exam-library-actions button{width:100%;min-height:42px}.exam-library-pagination{flex-wrap:wrap}.exam-library-pagination>div{order:3;width:100%}}@media (width<=400px){.exam-library-actions{grid-template-columns:minmax(0,1fr)}.exam-library-pagination>.btn-ghost{flex:100px}}.exam-choice-editor{background:#ffffff85;border:1px solid #b71c1c1f;border-radius:12px;gap:.65rem;padding:.85rem;display:grid}.exam-choice-editor-row{grid-template-columns:4.6rem auto minmax(0,1fr) auto;align-items:center;gap:.6rem;display:grid}.exam-choice-editor-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.76rem;font-weight:800}.exam-choice-editor-row input[type=radio]{width:1rem;height:1rem;accent-color:var(--primary-red);cursor:pointer;margin:0}.exam-choice-editor-input{width:100%;min-width:0}.exam-choice-add-button,.exam-choice-remove-button{min-height:38px;font:inherit;cursor:pointer;border-radius:9px;font-size:.76rem;font-weight:750;transition:border-color .2s,background .2s,color .2s}.exam-choice-add-button{color:var(--primary-red);background:#f4c5421a;border:1px dashed #b71c1c4d;justify-self:start;padding:.55rem .85rem}.exam-choice-add-button:hover{background:#f4c54233;border-color:#b71c1c85}.exam-choice-remove-button{color:#c62828;background:#e539350f;border:1px solid #e5393538;padding:.45rem .7rem}.exam-choice-remove-button:hover{background:#e539351f;border-color:#e539356b}.exam-choice-editor-help{color:var(--text-secondary);margin:0;font-size:.72rem;line-height:1.45}.exam-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.exam-availability-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.exam-availability-field>label{font-size:.76rem;font-weight:700}.exam-availability-inputs{grid-template-columns:minmax(0,1.25fr) minmax(7.5rem,.75fr);gap:.5rem;display:grid}.exam-availability-inputs .input-field{width:100%;min-width:0}.exam-create-modal{width:min(94vw,720px);max-width:720px;max-height:90dvh;overflow:hidden auto}.exam-assignment-picker{background:linear-gradient(145deg,#ffffffc2,#fff8e19e);border:1px solid #b71c1c1f;border-radius:13px;padding:.9rem}.exam-assignment-picker-heading,.exam-assignment-panel-heading,.exam-assignment-row-summary{justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;display:flex}.exam-assignment-picker-heading{margin-bottom:.75rem}.exam-assignment-picker-heading h4,.exam-assignment-panel-heading h4{color:var(--text-primary);margin:0;font-size:.92rem;line-height:1.3}.exam-assignment-picker-heading p,.exam-assignment-panel-heading p{max-width:640px;color:var(--text-secondary);margin:.25rem 0 0;font-size:.73rem;line-height:1.45}.exam-assignment-picker-heading>span,.exam-assignment-count{color:#8c6500;white-space:nowrap;background:#f4c5421f;border:1px solid #d4af3752;border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.68rem;font-weight:800}.exam-assignment-picker-list{scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:230px;padding:.1rem;display:grid;overflow-y:auto}.exam-assignment-picker-option{background:#ffffff9e;border:1px solid #b71c1c17;border-radius:10px;justify-content:space-between;align-items:center;gap:.55rem;min-width:0;padding:.65rem .7rem;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.exam-assignment-picker-option.is-selected{background:#fff8e1f2;border-color:#d4af376b;box-shadow:inset 0 0 0 1px #f4c54214}.exam-assignment-picker-option>label{cursor:pointer;flex:auto;align-items:center;gap:.55rem;min-width:0;display:flex}.exam-assignment-picker-option input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-red);flex:none;margin:0}.exam-assignment-picker-option strong,.exam-assignment-picker-option small,.exam-assignment-row-summary strong,.exam-assignment-row-summary small{overflow-wrap:anywhere;display:block}.exam-assignment-picker-option strong{color:var(--text-primary);font-size:.78rem;line-height:1.25}.exam-assignment-picker-option small,.exam-assignment-row-summary small{color:var(--text-secondary);margin-top:.15rem;font-size:.66rem;line-height:1.35}.exam-assignment-publish-choice,.exam-assignment-status-button{cursor:pointer;color:#6a625b;min-height:30px;font:inherit;background:#61616112;border:1px solid #61616129;border-radius:999px;flex:none;padding:.35rem .58rem;font-size:.66rem;font-weight:800}.exam-assignment-publish-choice.is-live,.exam-assignment-status-button.is-live{color:#2e7d32;background:#4caf501f;border-color:#388e3c40}.exam-assignment-publish-choice:disabled{cursor:default;opacity:.72}.exam-assignment-picker-error{color:#c62828;margin:.65rem 0 0;font-size:.7rem;font-weight:700}.exam-default-schedule-note{color:var(--text-secondary);margin:-.15rem 0 0;font-size:.7rem;line-height:1.45}.exam-assignment-panel{background:radial-gradient(circle at 100% 0,#f4c54221,#0000 34%),linear-gradient(145deg,#fffffff5,#fffaebe0);border:1px solid #c48f193d;border-radius:18px;margin-bottom:1.4rem;padding:clamp(1rem,2vw,1.35rem);position:relative;overflow:hidden;box-shadow:0 16px 38px #4a2d1c14}.exam-assignment-panel-heading{z-index:1;border-bottom:1px solid #7454311c;margin-bottom:1rem;padding-bottom:1rem;position:relative}.exam-assignment-panel-heading .management-eyebrow{margin-bottom:.5rem;padding:.28rem .58rem;font-size:.61rem;display:inline-flex}.exam-assignment-panel-heading h4{font-size:clamp(1rem,1.8vw,1.18rem);font-weight:850}.exam-assignment-panel-heading p{max-width:680px;font-size:.76rem}.exam-assignment-list{z-index:1;gap:.8rem;display:grid;position:relative}.exam-assignment-row{background:#ffffffe0;border:1px solid #74543121;border-radius:14px;padding:1rem;transition:border-color .18s,box-shadow .18s;box-shadow:0 7px 18px #4a2d1c0b}.exam-assignment-row.is-live{background:linear-gradient(135deg,#fffffff5,#f0f9efcc);border-color:#388e3c40;box-shadow:0 8px 20px #2e7d3211}.exam-assignment-identity{align-items:flex-start;gap:.7rem;min-width:0;display:flex}.exam-assignment-identity>div{min-width:0}.exam-assignment-state-dot{background:#a9a39c;border:2px solid #fff;border-radius:999px;flex:0 0 .68rem;width:.68rem;height:.68rem;margin-top:.18rem;box-shadow:0 0 0 3px #6161611a}.exam-assignment-row.is-live .exam-assignment-state-dot{background:#43a047;box-shadow:0 0 0 3px #43a04721}.exam-assignment-row-summary strong{color:var(--text-primary);font-size:.87rem;font-weight:800;line-height:1.25}.exam-assignment-status-button{min-width:94px;min-height:34px;padding-inline:.75rem;transition:transform .16s,border-color .16s,background .16s;box-shadow:inset 0 1px #ffffffb3}.exam-assignment-status-button:hover:not(:disabled){border-color:#b71c1c40;transform:translateY(-1px)}.exam-assignment-status-button.is-live:hover:not(:disabled){border-color:#388e3c61}.exam-assignment-schedule{background:#fffcf4a8;border:1px solid #74543117;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.7rem;min-width:0;margin-top:.85rem;padding:.85rem;display:grid}.exam-assignment-schedule>label{gap:.3rem;min-width:0;display:grid}.exam-assignment-schedule>label>span,.exam-assignment-add>label{color:#5f574f;letter-spacing:.025em;font-size:.65rem;font-weight:800}.exam-assignment-schedule .input-field{background:#ffffffe6;border-color:#b71c1c24;min-width:0;min-height:42px;padding:.58rem .7rem;font-size:.73rem}.exam-assignment-row-actions{align-items:center;gap:.4rem;display:flex}.exam-assignment-row-actions button{white-space:nowrap;border-radius:9px;min-height:42px;padding:.58rem .78rem}.exam-assignment-save-button{background:#fff8e1e6;border-color:#c48f1947;font-weight:750}.exam-assignment-remove-button{background:#fff1efdb}.exam-assignment-add{z-index:1;background:#fffaeb9e;border:1px dashed #c48f194d;border-radius:12px;gap:.65rem;margin-top:1rem;padding:.9rem;display:grid;position:relative}.exam-assignment-add-copy{gap:.15rem;display:grid}.exam-assignment-add-copy label{color:var(--text-primary);font-size:.73rem;font-weight:800}.exam-assignment-add-copy small{color:var(--text-secondary);font-size:.67rem;line-height:1.4}.exam-assignment-add>div{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.exam-assignment-add .input-field,.exam-assignment-add .btn-primary{border-radius:10px;min-height:44px}.exam-assignment-empty{color:var(--text-secondary);text-align:center;border:1px dashed #b71c1c33;border-radius:10px;padding:1rem;font-size:.76rem}.exam-assignment-panel-heading{align-items:center}.exam-assignment-add-trigger{white-space:nowrap;border-radius:10px;flex:none;min-height:40px;padding:.58rem .8rem;font-size:.72rem}.exam-assignment-toolbar{z-index:1;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin-bottom:.75rem;display:flex;position:relative}.exam-assignment-filters{background:#ffffffb8;border:1px solid #7454311a;border-radius:10px;gap:.2rem;min-width:0;padding:.25rem;display:inline-flex}.exam-assignment-filters button{min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:.42rem;padding:.42rem .65rem;font-size:.69rem;font-weight:750;transition:background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.exam-assignment-filters button span{background:#74543114;border-radius:999px;place-items:center;min-width:20px;height:20px;padding-inline:.3rem;font-size:.6rem;display:inline-grid}.exam-assignment-filters button.is-active{color:var(--primary-red);background:#fff;box-shadow:0 4px 12px #4a2d1c17}.exam-assignment-filters button.is-active span{background:#b71c1c17}.exam-assignment-table-heading,.exam-assignment-row-main{grid-template-columns:minmax(190px,1.15fr) minmax(100px,.55fr) minmax(190px,1fr) minmax(270px,auto);align-items:center;gap:.75rem;min-width:0;display:grid}.exam-assignment-table-heading{z-index:1;color:#756b61;letter-spacing:.065em;text-transform:uppercase;padding:0 .85rem .45rem;font-size:.6rem;font-weight:850;position:relative}.exam-assignment-actions-heading{text-align:center;width:100%}.exam-assignment-list{background:#ffffffd1;border:1px solid #7454311f;border-radius:13px;gap:0;overflow:hidden}.exam-assignment-row,.exam-assignment-row.is-live{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #7454311a;border-radius:0;padding:0}.exam-assignment-row.is-live{background:linear-gradient(90deg,#f0f9efb3,#ffffff47 42%)}.exam-assignment-row:last-child{border-bottom:0}.exam-assignment-row-main{padding:.85rem}.exam-assignment-cell{min-width:0}.exam-assignment-cell:before{content:attr(data-label);display:none}.exam-assignment-identity{align-items:center}.exam-assignment-identity strong,.exam-assignment-identity small,.exam-assignment-schedule-summary strong,.exam-assignment-schedule-summary small{overflow-wrap:anywhere;display:block}.exam-assignment-identity small,.exam-assignment-schedule-summary small{color:var(--text-secondary);margin-top:.2rem;font-size:.64rem;line-height:1.38}.exam-assignment-schedule-summary strong{color:var(--text-primary);font-size:.72rem;font-weight:780}.exam-assignment-status-badge{color:#6d6862;background:#61616112;border:1px solid #61616129;border-radius:999px;align-items:center;gap:.35rem;min-height:28px;padding:.32rem .55rem;font-size:.64rem;font-weight:800;display:inline-flex}.exam-assignment-status-badge>span{background:#9e9e9e;border-radius:999px;width:.43rem;height:.43rem}.exam-assignment-status-badge.is-live{color:#2e7d32;background:#4caf501a;border-color:#388e3c38}.exam-assignment-status-badge.is-live>span{background:#43a047;box-shadow:0 0 0 3px #43a0471f}.exam-assignment-row-actions{justify-content:flex-end;gap:.35rem;display:flex}.exam-assignment-row-actions button{border-radius:8px;min-height:34px;padding:.42rem .58rem;font-size:.64rem}.exam-assignment-publish-button{color:var(--primary-red);font:inherit;cursor:pointer;background:#b71c1c0f;border:1px solid #b71c1c33;font-weight:800}.exam-assignment-publish-button.is-live{color:#685f56;background:#ffffffb8;border-color:#74543129}.exam-assignment-publish-button:hover:not(:disabled),.exam-assignment-edit-button:hover:not(:disabled),.exam-assignment-remove-button:hover:not(:disabled){transform:translateY(-1px)}.exam-assignment-schedule{background:#fff9e694;border:0;border-top:1px solid #74543117;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin:0;padding:.85rem}.exam-assignment-schedule-heading{grid-column:1/-1;gap:.12rem;margin-bottom:.1rem;display:grid}.exam-assignment-schedule-heading strong{color:var(--text-primary);font-size:.75rem}.exam-assignment-schedule-heading small{color:var(--text-secondary);font-size:.64rem;line-height:1.4}.exam-assignment-save-button{white-space:nowrap;align-self:end;min-height:42px;padding-inline:.8rem}.exam-assignment-add{margin:0 0 .85rem;animation:.18s ease-out exam-assignment-reveal}@keyframes exam-assignment-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.exam-results-section-filter{background:#ffffffb8;border:1px solid #b71c1c1a;border-radius:11px;justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-bottom:1rem;padding:.75rem .85rem;display:flex}.exam-results-section-filter strong,.exam-results-section-filter small{display:block}.exam-results-section-filter strong{color:var(--text-primary);font-size:.8rem}.exam-results-section-filter small{color:var(--text-secondary);margin-top:.15rem;font-size:.68rem;line-height:1.35}.exam-results-section-filter .input-field{flex:0 300px;width:min(100%,300px);min-height:40px;padding:.55rem .7rem;font-size:.74rem}.exam-retry-list{gap:.55rem;display:grid}.exam-retry-student{background:#ffffffad;border:1px solid #b71c1c1a;border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.75rem .85rem;display:flex}.exam-retry-student strong,.exam-retry-student small{display:block}.exam-retry-student strong{color:var(--text-primary);font-size:.88rem}.exam-retry-student small{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:.2rem;font-size:.72rem;line-height:1.35}.exam-retry-control{color:var(--text-secondary);flex:none;align-items:center;gap:.45rem;font-size:.76rem;font-weight:700;display:inline-flex}.exam-detail-modal{width:min(95vw,1060px);max-width:1060px;max-height:90dvh;overflow:hidden auto}.exam-detail-header{border-bottom:1px solid #7454311f;justify-content:space-between;align-items:flex-start;gap:1rem;margin:-.2rem -.2rem 1.25rem;padding:.4rem .2rem 1rem;display:flex}.exam-detail-heading{flex:auto;min-width:0}.exam-detail-heading h3{overflow-wrap:anywhere;margin:0 0 .4rem;font-size:clamp(1.2rem,2.2vw,1.55rem);font-weight:850;line-height:1.25}.exam-detail-heading .management-eyebrow{box-shadow:none;background:0 0;border:0;margin-bottom:.45rem;padding:0;font-size:.61rem}.exam-detail-heading .management-eyebrow:before{background:var(--primary-gold);border-width:0;border-radius:999px;flex-basis:.42rem;width:.42rem;height:.42rem;transform:none;box-shadow:0 0 0 3px #f4c54226}.exam-detail-meta{flex-wrap:wrap;gap:.4rem;display:flex}.exam-detail-meta span{color:var(--text-secondary);background:#fffaebb8;border:1px solid #7454311a;border-radius:999px;padding:.26rem .52rem;font-size:.66rem;font-weight:750}.exam-detail-actions{background:#ffffff94;border:1px solid #7454311a;border-radius:14px;flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.45rem;padding:.32rem;display:flex;box-shadow:0 8px 22px #5434180f}.exam-detail-actions button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.38rem;min-height:42px;padding:.66rem 1rem;font-size:.78rem;font-weight:800;line-height:1;transition:border-color .16s,background-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex}.exam-detail-results-button{color:#fff;background:linear-gradient(135deg,#d32f34 0%,#b71820 100%);border-color:#bd2026;box-shadow:0 7px 16px #b718202e}.exam-detail-results-button.is-open{color:#a91820;background:#fff8eef5;border-color:#b7182057;box-shadow:inset 0 0 0 1px #ffffffb3,0 5px 14px #54341814}.exam-detail-close-button{color:#9f1b22;background:#fffcf6f0;border-color:#b718202e}.exam-detail-close-mark{place-items:center;width:1rem;height:1rem;font-size:1.08rem;font-weight:500;line-height:1;display:inline-grid}@media (hover:hover){.exam-detail-results-button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#df383d 0%,#ac1219 100%);border-color:#a9141b;transform:translateY(-1px);box-shadow:0 9px 20px #b718203d}.exam-detail-results-button.is-open:hover:not(:disabled){color:#bd2026;background:#fff;border-color:#b718207a;box-shadow:0 7px 17px #5434181a}.exam-detail-close-button:hover:not(:disabled){color:#bd2026;background:#fff;border-color:#b7182052;transform:translateY(-1px);box-shadow:0 5px 14px #54341814}}.exam-detail-actions button:focus-visible{outline-offset:2px;outline:3px solid #f4c54261}.exam-detail-actions button:disabled{box-shadow:none;cursor:wait;opacity:.7}.exam-results-loading{min-height:150px;color:var(--text-primary);background:#fffcf4b8;border:1px solid #7454311a;border-radius:14px;justify-content:center;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.exam-results-loading div{gap:.18rem;display:grid}.exam-results-loading strong{font-size:.9rem}.exam-results-loading small{color:var(--text-secondary);font-size:.72rem}.exam-results-loading-spinner{border:2px solid #b7182026;border-top-color:#bd2026;border-radius:50%;flex:none;width:1.35rem;height:1.35rem;animation:.7s linear infinite exam-results-spin}@keyframes exam-results-spin{to{transform:rotate(360deg)}}@media (width<=960px){.exam-assignment-table-heading{display:none}.exam-assignment-list{background:0 0;border:0;border-radius:0;gap:.7rem;overflow:visible}.exam-assignment-row,.exam-assignment-row.is-live{background:#ffffffd6;border:1px solid #7454311f;border-radius:12px;overflow:hidden}.exam-assignment-row.is-live{background:linear-gradient(135deg,#f0f9efb8,#ffffffe0);border-color:#388e3c38}.exam-assignment-row-main{grid-template-columns:minmax(0,1fr) auto}.exam-assignment-schedule-summary{grid-column:1/2}.exam-assignment-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-assignment-save-button{grid-column:1/-1;justify-self:end}.exam-assignment-row-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=700px){.exam-create-modal{border-radius:15px;width:100%;max-width:100%;max-height:calc(100dvh - 1.3rem);padding:1rem}.exam-assignment-picker-list,.exam-assignment-schedule{grid-template-columns:minmax(0,1fr)}.exam-assignment-panel{border-radius:14px;margin-bottom:1rem;padding:.75rem}.exam-assignment-panel-heading{margin-bottom:.75rem;padding:.15rem .1rem .8rem}.exam-assignment-row{border-radius:12px;padding:0}.exam-assignment-identity{gap:.55rem}.exam-assignment-schedule{gap:.6rem;margin-top:0;padding:.7rem}.exam-assignment-add{margin:0 0 .75rem;padding:.75rem}.exam-assignment-picker-heading,.exam-assignment-panel-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.exam-assignment-add-trigger{width:100%}.exam-assignment-toolbar{flex-direction:column;align-items:stretch}.exam-assignment-filters{width:100%}.exam-assignment-filters button{flex:1 1 0;min-width:0;padding-inline:.35rem}.exam-assignment-count{align-self:flex-start}.exam-assignment-row-main{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:.8rem}.exam-assignment-status-cell,.exam-assignment-schedule-summary,.exam-assignment-row-actions{grid-column:1}.exam-assignment-status-cell:before,.exam-assignment-schedule-summary:before,.exam-assignment-row-actions:before{color:#756b61;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.35rem;font-size:.58rem;font-weight:850;display:block}.exam-assignment-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.exam-assignment-row-actions:before,.exam-assignment-remove-button{grid-column:1/-1}.exam-assignment-row-actions button{white-space:normal;width:100%}.exam-assignment-add>div{grid-template-columns:minmax(0,1fr)}.exam-assignment-add .btn-primary{width:100%}.exam-results-section-filter{flex-direction:column;align-items:stretch;gap:.55rem}.exam-results-section-filter .input-field{flex-basis:auto;width:100%}.exam-choice-editor-row{grid-template-columns:auto minmax(0,1fr) auto}.exam-choice-editor-label{grid-column:1/-1}.exam-management-page .exam-section{padding:.75rem}.exam-management-page .exam-grid{grid-template-columns:1fr}.exam-management-page>.t-header{align-items:stretch}.exam-management-page>.t-header .btn-primary{width:100%}.exam-availability-grid,.exam-availability-inputs{grid-template-columns:minmax(0,1fr)}.exam-retry-student{flex-direction:column;align-items:flex-start}.exam-detail-modal{border-radius:15px;width:100%;max-width:100%;max-height:calc(100dvh - 1.3rem);padding:1rem}.exam-detail-header{flex-direction:column;align-items:stretch;gap:.85rem;margin-bottom:1rem;padding-bottom:.85rem}.exam-detail-heading h3{font-size:clamp(1.1rem,6vw,1.35rem)}.exam-detail-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.45rem;width:100%;display:flex}.exam-detail-actions button{white-space:nowrap;min-width:0;min-height:44px;padding:.65rem .8rem;font-size:.78rem;line-height:1.25}.exam-detail-results-button{flex:auto}.exam-detail-close-button{flex:none}}@media (width<=360px){.exam-detail-actions{gap:.35rem;padding:.25rem}.exam-detail-actions button{padding-inline:.62rem;font-size:.72rem}}.exam-taking-root{isolation:isolate;background:radial-gradient(circle at 92% 0,#f4c54224,#0000 30%),linear-gradient(145deg,#fffffff5,#fff8e1d1);border:1px solid #b71c1c1f;border-radius:18px;flex-direction:column;width:100%;min-width:0;max-width:1280px;min-height:calc(100dvh - 8rem);margin-inline:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 46px #4a2d1c1a}body.exam-taking-active .exam-taking-root{border:0;border-radius:0;max-width:none;min-height:100dvh;margin:0}.exam-taking-root.is-locked .question-card,.exam-taking-root.is-locked .exam-navigation,.exam-taking-root.is-locked .exam-question-navigator{opacity:.62}@media (width>=1200px){.exam-taking-root{max-width:none;min-height:calc(100dvh - 8.5rem);margin-inline:0}.exam-taking-root .exam-body{max-width:1280px;padding-inline:clamp(1.5rem,3vw,3rem)}}.exam-topbar{border-bottom:1px solid #fff8e133;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1.25rem;min-height:92px;padding:1rem clamp(1.25rem,3vw,2.5rem);display:grid}.exam-topbar-copy{min-width:0}.exam-topbar-title{color:#fff;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,2vw,1.2rem);font-weight:800;overflow:hidden}.exam-topbar-progress{color:#fff8e1c7;margin-top:.3rem;font-size:.75rem;font-weight:600}.exam-timer{color:#fff;font-variant-numeric:tabular-nums;border:1px solid #fff8e138;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:132px;min-height:58px;padding:.5rem 1rem;display:flex}.exam-timer span{color:#fff8e1b8;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:700}.exam-timer strong{letter-spacing:.035em;margin-top:.12rem;font-size:1.08rem;font-weight:850}.exam-timer.urgent{animation:1.2s ease-in-out infinite exam-timer-pulse}.exam-violation-bar{color:#fff8e1d6;justify-content:flex-end;align-items:center;gap:.7rem;min-width:0;font-size:.72rem;font-weight:750;display:flex}.exam-violation-copy{text-align:right;gap:.08rem;display:grid}.exam-violation-copy span{color:#fff8e1b3;letter-spacing:.03em;text-transform:uppercase;font-size:.62rem}.exam-violation-copy strong{color:#fff;font-size:.72rem}.exam-violation-dots{gap:.38rem;display:flex}.violation-dot{border:1px solid #fff8e17a;border-radius:50%;flex:0 0 11px;width:11px;height:11px;transition:border-color .2s,background .2s,transform .2s}.violation-dot.active{transform:scale(1.08);box-shadow:0 0 0 3px #fff8e11f}.exam-question-progress{background:#b71c1c17;width:100%;height:5px;overflow:hidden}.exam-question-progress-fill{background:linear-gradient(90deg, var(--light-gold), var(--primary-gold));border-radius:0 999px 999px 0;height:100%;transition:width .4s;box-shadow:0 0 10px #d4af3773}.exam-body{flex-direction:column;flex:1;gap:1.15rem;width:100%;min-width:0;max-width:1180px;margin-inline:auto;padding:clamp(1.1rem,3vw,2.5rem);display:flex}.question-card{background:#ffffffe0;border:1px solid #b71c1c21;border-radius:16px;min-width:0;padding:clamp(1.25rem,3vw,2.15rem);box-shadow:0 14px 34px #4a2d1c13}.exam-question-meta{align-items:center;gap:.55rem;margin-bottom:.75rem;display:flex}.question-number{min-height:25px;color:var(--primary-red);letter-spacing:.055em;text-transform:uppercase;background:#b71c1c14;border-radius:999px;align-items:center;margin:0;padding:.3rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.question-points{color:var(--text-secondary);font-size:.72rem;font-weight:700}.question-text{color:var(--text-primary);overflow-wrap:anywhere;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:750;line-height:1.5}.choices-list{gap:.7rem;margin-top:1.25rem;display:grid}.choice-item{width:100%;min-width:0;min-height:58px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #b71c1c21;border-radius:12px;align-items:center;gap:.85rem;padding:.75rem .9rem;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex}.choice-item:hover{transform:translateY(-1px)}.choice-item:focus-visible{outline-offset:2px;outline:3px solid #d4af374d}.choice-item.disabled{cursor:not-allowed;pointer-events:none}.choice-letter{width:34px;height:34px;color:var(--primary-red);background:#fff8e1e6;border:1px solid #b71c1c24;border-radius:10px;flex:0 0 34px;place-items:center;font-size:.78rem;font-weight:850;display:grid}.choice-text{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.45}.choice-selected-mark{background:var(--primary-red);color:#fff;opacity:0;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:900;transition:opacity .18s,transform .18s;display:grid;transform:scale(.75)}.choice-item.selected .choice-selected-mark{opacity:1;transform:scale(1)}.exam-text-answer{margin-top:1rem}.exam-answer-help{color:var(--text-secondary);margin:0 0 .55rem;font-size:.78rem;line-height:1.45}.exam-answer-input{resize:vertical;width:100%;min-height:104px;line-height:1.55}.exam-review-panel{background:radial-gradient(circle at 100% 0,#f4c54229,#0000 35%),#fffdf7f5;border:1px solid #d4af3757;border-radius:18px;overflow:hidden;box-shadow:0 18px 42px #4a2d1c14}.exam-review-heading{border-bottom:1px solid #b71c1c1a;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.35rem 1.5rem;display:flex}.exam-review-eyebrow{color:#9b6a0b;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.28rem;font-size:.65rem;font-weight:850;display:block}.exam-review-heading h2{color:var(--text-primary);margin:0;font-size:clamp(1.15rem,2vw,1.5rem)}.exam-review-heading p{max-width:620px;color:var(--text-secondary);margin:.35rem 0 0;font-size:.82rem;line-height:1.5}.exam-review-summary{flex:none;gap:.55rem;display:flex}.exam-review-summary span{color:#417044;text-align:center;background:#2e7d3212;border:1px solid #2e7d322e;border-radius:11px;min-width:86px;padding:.58rem .7rem;font-size:.65rem;font-weight:750;display:grid}.exam-review-summary span.has-unanswered{color:#a72b2b;background:#b71c1c0e;border-color:#b71c1c29}.exam-review-summary strong{color:inherit;font-size:1.05rem}.exam-review-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.exam-review-item{min-width:0;min-height:82px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #4a2d1c1a;border-radius:13px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.exam-review-item:hover:not(:disabled),.exam-review-item:focus-visible{border-color:#d4af3794;transform:translateY(-1px);box-shadow:0 9px 22px #4a2d1c14}.exam-review-item.unanswered{background:#fff9f7f5;border-color:#b71c1c33}.exam-review-number{color:#8b6217;background:#d4af3724;border-radius:10px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:850;display:grid}.exam-review-item.unanswered .exam-review-number{color:var(--primary-red);background:#b71c1c17}.exam-review-copy{gap:.3rem;min-width:0;display:grid}.exam-review-copy strong,.exam-review-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-review-copy strong{font-size:.78rem}.exam-review-copy span{color:var(--text-secondary);font-size:.7rem}.exam-review-status{color:#2e7d32;background:#2e7d3217;border-radius:999px;padding:.34rem .55rem;font-size:.64rem;font-weight:800}.exam-review-item.unanswered .exam-review-status{color:var(--primary-red);background:#b71c1c14}.exam-controls{background:#ffffffb8;border:1px solid #b71c1c1a;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:72px;padding:.8rem 1rem;display:grid;box-shadow:0 8px 24px #4a2d1c0e}.exam-navigation{justify-content:flex-end;display:flex}.exam-review-actions{align-items:center;gap:.55rem;display:flex}.exam-back-button{min-height:44px;color:var(--primary-red);cursor:pointer;font:inherit;background:#fffc;border:1px solid #b71c1c33;border-radius:11px;padding:.65rem .9rem;font-size:.75rem;font-weight:750}.exam-back-button:hover:not(:disabled){background:#b71c1c0d;border-color:#b71c1c61}.exam-navigation>.btn-primary{white-space:nowrap;border-radius:11px;min-height:44px}.exam-answered-count{color:var(--text-secondary);white-space:nowrap;font-size:.78rem;font-weight:650}.exam-answered-count strong{color:var(--text-primary);font-size:1rem;font-weight:850}.exam-question-navigator{flex-wrap:wrap;justify-content:center;gap:.45rem;min-width:0;padding:.35rem;display:flex}.exam-question-dot{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#b71c1c0e;border:1px solid #b71c1c14;border-radius:9px;place-items:center;padding:0;font-family:inherit;font-size:.72rem;font-weight:750;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.exam-question-dot:hover:not(:disabled),.exam-question-dot:focus-visible{border-color:#d4af37a6;transform:translateY(-1px);box-shadow:0 5px 12px #4a2d1c1a}.exam-question-dot:disabled{color:#4a2d1c57;box-shadow:none;cursor:not-allowed;opacity:.72;background:#4a2d1c09;border-color:#4a2d1c12;transform:none}.exam-submit-button{color:#fff!important;background:linear-gradient(135deg,#43a047,#2e7d32)!important;border-color:#2e7d32!important;box-shadow:0 8px 18px #2e7d3238!important}.exam-question-dot.current{border-color:var(--primary-gold);color:#805817;background:#f4c5422e;box-shadow:0 0 0 2px #f4c54224}.exam-question-dot.answered{background:var(--primary-gold);color:#fff;border-color:#d4af377a}.exam-question-dot.current.answered{border-color:var(--primary-red);background:var(--primary-gold);box-shadow:0 0 0 3px #b71c1c29}.offline-banner,.exam-lockdown-banner{text-align:center;border-bottom:1px solid;padding:.8rem clamp(1rem,3vw,2rem);font-size:.78rem;font-weight:700;line-height:1.45}.exam-lockdown-banner{color:#a51f1f;background:#e539351f;border-color:#e5393547}.violation-warning{z-index:1200;color:#fff;border:1px solid #ffffff3d;border-radius:13px;width:min(92vw,520px);padding:.9rem 1rem;font-size:.82rem;font-weight:700;line-height:1.45;animation:.24s ease-out exam-warning-in;position:fixed;bottom:1rem;right:1rem}@keyframes exam-warning-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes exam-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@media (width<=768px){.exam-taking-root{border-radius:15px;min-height:calc(100dvh - 9rem)}.exam-topbar{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;min-height:0;padding:.85rem 1rem}.exam-timer{min-width:92px;min-height:44px}.exam-violation-bar{border-top:1px solid #fff8e124;grid-column:1/-1;justify-content:space-between;padding-top:.55rem}.exam-violation-copy{text-align:left}.exam-body{padding:1rem}.question-card{border-radius:13px;padding:1rem}.exam-review-heading{flex-direction:column;gap:.9rem;padding:1.1rem}.exam-review-summary{width:100%}.exam-review-summary span{flex:1 1 0}.exam-review-list{grid-template-columns:1fr;padding:.8rem}.exam-controls{grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.exam-answered-count{grid-area:1/1}.exam-navigation{grid-area:1/2}.exam-question-navigator{border-top:1px solid #b71c1c17;grid-area:2/1/auto/-1;padding-top:.75rem}.exam-controls.is-reviewing{grid-template-columns:1fr}.exam-controls.is-reviewing .exam-answered-count,.exam-controls.is-reviewing .exam-question-navigator,.exam-controls.is-reviewing .exam-navigation{grid-column:1}.exam-controls.is-reviewing .exam-answered-count{grid-row:1}.exam-controls.is-reviewing .exam-question-navigator{grid-row:2}.exam-controls.is-reviewing .exam-navigation{grid-row:3}.exam-review-actions{width:100%}.exam-review-actions>button{flex:1 1 0}}@media (width<=1024px){body.exam-taking-active{height:auto;min-height:100%;scroll-padding-top:max(.75rem, env(safe-area-inset-top));scroll-padding-bottom:max(1.25rem, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow:hidden auto}body.exam-taking-active #root{height:auto;min-height:100%;overflow:visible}body.exam-taking-active .app-container{touch-action:pan-y;height:auto;min-height:100dvh;overflow:clip visible}body.exam-taking-active .exam-taking-root{min-height:100dvh;padding-top:max(.75rem, env(safe-area-inset-top));overflow:visible}body.exam-taking-active .offline-banner,body.exam-taking-active .exam-lockdown-banner,body.exam-taking-active .exam-topbar,body.exam-taking-active .exam-question-progress{flex:none}body.exam-taking-active .exam-body{padding-bottom:max(1.25rem, env(safe-area-inset-bottom));flex:none}}@media (width<=480px){.exam-taking-root{border-radius:12px;min-height:calc(100dvh - 8rem)}.exam-topbar-title{font-size:.95rem}.exam-topbar-progress{font-size:.68rem}.exam-timer{min-width:82px;min-height:40px;padding-inline:.65rem}.exam-timer span{font-size:.54rem}.exam-timer strong{font-size:.92rem}.question-card{padding:.9rem}.choice-item{min-height:50px;padding:.62rem .7rem}.choice-letter{flex-basis:32px;width:32px;height:32px}.choice-selected-mark{flex-basis:22px;width:22px;height:22px}.exam-controls{padding:.75rem}.exam-review-item{grid-template-columns:34px minmax(0,1fr);min-height:76px;padding:.72rem}.exam-review-number{width:34px;height:34px}.exam-review-status{grid-column:2;justify-self:start}.exam-review-actions{flex-direction:column-reverse}.exam-review-actions>button{width:100%}.exam-answered-count{text-align:left}.exam-navigation>.btn-primary{min-width:110px;padding-inline:.85rem}.violation-warning{width:calc(100vw - 1.5rem);bottom:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){.exam-timer.urgent,.violation-warning{animation:none}}.t-page,.exam-taking-root{color:var(--text-primary)}.toast-success,.badge-green,.admin-banner-success,.answer-choice.is-correct{color:var(--success);background:#4caf501f;border-color:#4caf5057}.toast-error,.badge-red,.admin-banner-error,.btn-danger-sm,.login-error{color:var(--danger);background:#e539351a;border-color:#e539354d}.badge{color:var(--primary-red);background:#b71c1c14;border-color:#b71c1c38}.badge-yellow,.answer-choice.is-selected,.offline-banner{color:#8a6500;background:#ffc1072e;border-color:#ffc1076b}.modal{background:#fff8e1;border-color:#b71c1c24;box-shadow:0 32px 80px #b71c1c2e,inset 0 0 0 1px #ffffffa6}.btn-ghost{color:var(--primary-red);background:#fff8e1b8;border-color:#b71c1c2e}.btn-ghost:hover{color:var(--primary-red);background:#f4c5422e;border-color:#d4af3780}.btn-danger-sm:hover{background:#e539352e;border-color:#e5393573}.class-card,.class-detail,.answer-question-card,.exam-card,.stat-card,.report-panel,.report-metric,.behavior-charts-grid .chart-panel,.question-card,.pet-card{background:var(--card-bg);color:var(--text-primary);border-color:#b71c1c24;box-shadow:0 10px 28px #b71c1c14}.class-card:hover,.exam-card:hover,.stat-card:hover,.choice-item:hover{background:#fff;border-color:#d4af378c;box-shadow:0 14px 34px #b71c1c1f}.class-card.active,.choice-item.selected{background:#f4c5422e;border-color:#d4af37bf}.student-table th,.student-table td,.attempt-detail-toolbar,.exam-section-header,.answer-question-card,.answer-value,.answer-choice,.report-panel,.report-metric,.behavior-charts-grid .chart-panel{border-color:#b71c1c1f}.student-table tr:hover td,.student-table tr.clickable-row:hover td{background:#f4c5421a}.answer-value,.answer-choice{background:#ffffffb8}.stat-card:before,.pet-card:before,.result-hero:before{background:radial-gradient(circle at top,#f4c5422e,#0000 62%)}.stat-card-value,.result-score{background:linear-gradient(135deg, var(--secondary-red), var(--primary-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.progress-bar-track{background:#b71c1c1a}.progress-bar-fill{background:linear-gradient(90deg, var(--light-gold), var(--primary-gold));box-shadow:0 0 10px #d4af378c}.exam-topbar{background:var(--primary-red);border-bottom-color:#fff8e13d}.exam-topbar,.exam-topbar .muted,.exam-topbar [style*="var(--text-secondary)"]{color:#faf9f6db!important}.exam-topbar [style*="var(--text-primary)"],.exam-timer{color:#fff!important}.exam-timer{background:#fff8e11f;border-color:#fff8e13d}.exam-timer.urgent,.violation-dot.active{color:#fff;background:var(--danger);border-color:var(--danger)}.violation-dot{background:#fff8e14d;border-color:#fff8e180}.choice-item{color:var(--text-secondary);background:#fff;border-color:#b71c1c24}.choice-item.selected .choice-letter{background:var(--primary-red);border-color:var(--primary-red);color:#fff;box-shadow:0 0 12px #b71c1c52}.violation-warning{background:linear-gradient(135deg,#e53935f7,#b71c1cf2);box-shadow:0 12px 40px #b71c1c52}.result-hero{background:linear-gradient(135deg,#fff8e1f5,#f4c54224);border-color:#d4af3761;box-shadow:inset 0 0 40px #d4af371f}.pet-card{border:2px solid #d4af3773}.pet-card:before{background:radial-gradient(circle,#4fc3f72e,#0000 70%)}.pet-avatar,.stage-two-pet-image{filter:drop-shadow(0 12px 18px #2121212e)}.stage-one-aura{background:radial-gradient(circle at 56% 22%,#ffd7006b,#4fc3f729 28%,#0000 58%),radial-gradient(circle at 30% 68%,#f4c54238,#0000 36%)}.stage-two-shadow,.stage-one-shadow{background:radial-gradient(#2121213d,#21212100 72%)}@media (width<=1024px){.teacher-dashboard-page .dashboard-summary-section,.teacher-dashboard-page .quick-overview-outcomes,.class-management-page .class-list,.class-management-page .class-detail,.exam-management-page .exam-section{border-radius:15px}.teacher-dashboard-page .charts-grid,.teacher-dashboard-page .behavior-charts-grid{grid-template-columns:minmax(0,1fr)}.teacher-dashboard-page .charts-grid .span-2{grid-column:auto}.dashboard-full-view .student-table-wrap,.teacher-dashboard-page .student-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.dashboard-full-view .report-table{min-width:760px}.class-management-page .class-detail-actions{flex-wrap:wrap}}@media (width<=768px){.teacher-dashboard-page,.class-management-page,.exam-management-page{gap:1.15rem;width:100%;min-width:0;max-width:100%}.teacher-dashboard-page .dashboard-section-toggle,.teacher-dashboard-page .report-panel-header.dashboard-section-toggle{text-align:left;flex-direction:row;align-items:center;min-width:0;min-height:76px;padding:.85rem .9rem}.teacher-dashboard-page .dashboard-launch-grid .dashboard-launch-card,.teacher-dashboard-page .dashboard-launch-grid .report-panel-header.dashboard-launch-card{flex-direction:column;align-items:flex-start;min-height:142px;padding:1.05rem 1rem .95rem}.teacher-dashboard-page .dashboard-launch-grid .dashboard-launch-card>.dashboard-launch-copy{flex:auto;width:100%}.dashboard-launch-footer{flex:none}.teacher-dashboard-page .dashboard-section-toggle>div,.teacher-dashboard-page .dashboard-section-toggle>span:first-child{flex:1;min-width:0}.dashboard-toggle-meta{flex:0 auto;min-width:0}.dashboard-toggle-meta .badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.dashboard-open-icon,.dashboard-toggle-icon{flex-basis:34px;width:34px;height:34px}.dashboard-full-view-toolbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf9f6f0;padding:.5rem 0;position:sticky;top:0}.dashboard-back-button{min-height:44px}.dashboard-full-view-heading{padding-left:.85rem}.teacher-dashboard-page .chart-panel,.teacher-dashboard-page .behavior-report-panel,.teacher-dashboard-page .high-risk-panel{min-width:0;padding:0}.teacher-dashboard-page .chart-panel{padding:.85rem}.teacher-dashboard-page .chart-canvas-wrap{width:100%;min-width:0;min-height:240px;height:250px!important}.teacher-dashboard-page .report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.teacher-dashboard-page .report-metric{min-height:82px}.teacher-dashboard-page .quick-overview-outcomes>.dashboard-section-heading{flex-direction:column;align-items:flex-start}.class-management-page .class-layout{min-height:0}.class-management-page .class-detail-header{flex-direction:column;align-items:stretch}.class-management-page .class-detail-heading{flex:0 auto;width:100%}.class-management-page .class-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.class-management-page .class-detail-actions button:last-child{grid-column:1/-1}.class-management-page .class-detail-actions button,.class-management-page .class-student-actions button{min-height:44px}.exam-management-page .exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-management-page .exam-card{min-width:0}.modal{width:min(94vw,620px);max-height:90dvh;overflow-y:auto}}@media (width<=560px){.teacher-dashboard-page .dashboard-summary-section{padding:.8rem}.teacher-dashboard-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.teacher-dashboard-page .stat-card{min-height:102px;padding:.85rem}.teacher-dashboard-page .stat-card-value{font-size:1.55rem}.teacher-dashboard-page .stat-card-label{font-size:.66rem}.outcome-trigger-hint{padding:.18rem .38rem;font-size:.61rem}.teacher-dashboard-page .dashboard-section-toggle p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dashboard-toggle-meta .badge{display:none}.teacher-dashboard-page .quick-overview-outcomes .outcome-summary-total{min-height:72px}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item ul{grid-template-columns:minmax(0,1fr);padding:.1rem .7rem .75rem}.teacher-dashboard-page .quick-overview-outcomes .outcome-class-item>p{padding:.1rem .75rem .75rem}.teacher-dashboard-page .report-metric-grid,.class-management-page .class-list,.exam-management-page .exam-grid,.class-management-page .class-detail-actions{grid-template-columns:minmax(0,1fr)}.class-management-page .class-detail-actions button:last-child{grid-column:auto}.class-management-page .class-student-actions{flex-wrap:wrap;width:100%}.class-management-page .class-student-actions button{flex:120px}.exam-management-page .exam-card-controls{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.exam-management-page .exam-card-controls button{min-height:44px}.exam-management-page .exam-card-meta span{white-space:normal;max-width:100%}.modal-overlay{padding:max(.65rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));align-items:flex-start;overflow-y:auto}.modal{border-radius:14px;width:100%;max-width:100%;max-height:none;margin:auto 0;padding:1rem}}@media (width<=360px){.teacher-dashboard-page .stats-grid{grid-template-columns:minmax(0,1fr)}.teacher-dashboard-page .dashboard-section-toggle h3{font-size:.92rem}.class-management-page>.t-header,.exam-management-page>.t-header{padding-left:0}}.class-grade-level-control{width:min(100%,31rem);color:var(--text-secondary);background:linear-gradient(135deg,#ffffffd1,#fff8e1b8);border:1px solid #b71c1c1f;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:.9rem;padding:.7rem .75rem .7rem .9rem;display:grid;position:relative;box-shadow:0 6px 16px #4a2d1c0d}.class-detail-heading{flex:28rem;min-width:0}.class-detail-meta-row{flex-wrap:wrap;gap:.4rem;display:flex}.class-management-page .class-detail-badge{color:#8f2424;letter-spacing:.01em;background:#ffffffb8;border-color:#b71c1c24;padding:.3rem .62rem;font-size:.7rem;line-height:1.2}.class-grade-level-copy{gap:.15rem;min-width:0;display:grid}.class-grade-level-copy strong{color:var(--text-primary);font-size:.78rem;line-height:1.25}.class-grade-level-copy small{color:var(--text-secondary);font-size:.68rem;font-weight:500;line-height:1.35}.class-grade-level-control .input-field{width:8.25rem;min-height:40px;color:var(--text-primary);background-color:#fff;border-color:#d4af377a;border-radius:9px;margin:0;padding:.48rem 2rem .48rem .72rem;font-weight:700;box-shadow:0 2px 8px #4a2d1c0d}.class-grade-level-control .input-field:focus{border-color:var(--primary-gold);box-shadow:0 0 0 3px #f4c54233}.class-grade-level-saving{color:var(--text-secondary);font-size:.65rem;font-weight:600;position:absolute;bottom:-1.2rem;right:.9rem}@media (width<=560px){.class-grade-level-control{grid-template-columns:minmax(0,1fr);gap:.65rem;padding:.75rem}.class-grade-level-control .input-field{width:100%}.class-grade-level-saving{position:static}}.stage-one-idle-mascot.pet-grade-8 .stage-one-flame-shimmer-top{background:radial-gradient(at 48% 58%,#b5f7ffc7 0 14%,#4ab4ff7a 31%,#6c4cff33 55%,#0000 73%),radial-gradient(at 74% 42%,#b966ff8f 0 20%,#4f5bff33 50%,#0000 75%),radial-gradient(at 28%,#53e0ff80 0 22%,#604cff2e 54%,#0000 74%)}.stage-one-idle-mascot.pet-grade-8 .stage-one-flame-shimmer-lower{background:radial-gradient(at 58% 48%,#b2f6ff8c 0 15%,#43aeff66 39%,#704aff2b 61%,#0000 78%),radial-gradient(at 42% 66%,#8f4eff52 0 25%,#0000 70%)}.stage-two-pet-scene.pet-grade-8 .stage-two-fire-warmth{mix-blend-mode:screen;background:radial-gradient(at 62% 21%,#47ceff61,#7e54ff2e 34%,#0000 62%)}.pet-avatar-image-stage{filter:none;width:10rem;min-width:10rem;height:10rem;box-shadow:none;background:0 0;border-radius:0;overflow:visible}.pet-card-image-stage:before{display:none}.stage-pet-image-scene,.stage-pet-character,.stage-pet-image{width:100%;height:100%}.stage-pet-image-scene{isolation:isolate;transform-origin:50% 88%;will-change:transform;background:0 0;animation:6.4s ease-in-out infinite stage-three-float;display:block;position:relative}.stage-pet-aura{z-index:0;pointer-events:none;filter:blur(7px);opacity:.78;background:radial-gradient(circle at 54% 22%,#ffdc617a,#ff821638 28%,#0000 58%),radial-gradient(circle at 30% 66%,#ff66002e,#0000 36%);animation:3.8s ease-in-out infinite stage-three-aura;position:absolute;inset:-16%}.stage-pet-shadow{z-index:1;pointer-events:none;filter:blur(2px);background:radial-gradient(#0000005c,#0000 72%);border-radius:50%;height:10%;animation:6.4s ease-in-out infinite stage-three-shadow;position:absolute;bottom:3%;left:24%;right:20%}.stage-pet-spark{z-index:4;pointer-events:none;opacity:0;will-change:transform, opacity;background:radial-gradient(circle,#fff8b9 0 18%,#ffd447 42%,#ff58097a 68%,#0000 74%);border-radius:50%;width:.24rem;height:.24rem;animation:3.8s linear infinite stage-three-spark;position:absolute;transform:translate(0,0)scale(.4);box-shadow:0 0 .4rem #ffba25cc}.stage-pet-spark-1{--spark-x:-1rem;--spark-y:-3rem;--spark-scale:.7;animation-delay:-.1s;top:15%;left:48%}.stage-pet-spark-2{--spark-x:.8rem;--spark-y:-3.4rem;--spark-scale:.58;animation-delay:-.7s;top:11%;left:58%}.stage-pet-spark-3{--spark-x:1.2rem;--spark-y:-2.8rem;--spark-scale:.62;animation-delay:-1.2s;top:20%;left:70%}.stage-pet-spark-4{--spark-x:-1.3rem;--spark-y:-2.4rem;--spark-scale:.54;animation-delay:-1.8s;top:28%;left:34%}.stage-pet-spark-5{--spark-x:.95rem;--spark-y:-2.6rem;--spark-scale:.56;animation-delay:-2.3s;top:26%;left:73%}.stage-pet-image-scene:before{content:"";z-index:0;pointer-events:none;filter:drop-shadow(0 0 4px #f4c54280);background:radial-gradient(circle at 17% 27%,#f4c542f2 0 1.5px,#0000 2.7px),radial-gradient(circle at 84% 22%,#e53e3eb8 0 1.7px,#0000 3px),radial-gradient(circle at 91% 60%,#f4c542d1 0 1.3px,#0000 2.5px),radial-gradient(circle at 14% 68%,#e53e3e99 0 1.4px,#0000 2.7px),radial-gradient(#ffbe2e1f 0 32%,#0000 67%);animation:3.4s ease-in-out infinite stage-three-sparkle;position:absolute;inset:-7%}.stage-pet-image-scene:after{content:"";z-index:1;pointer-events:none;filter:blur(2px);transform-origin:50%;background:radial-gradient(#5c331a4d 0,#5c331a1f 46%,#0000 74%);border-radius:50%;height:7%;animation:6.4s ease-in-out infinite stage-three-shadow;position:absolute;bottom:3%;left:25%;right:25%}.stage-pet-character{z-index:2;transform-origin:50% 82%;filter:drop-shadow(0 .65rem .58rem #5b2d1838)drop-shadow(0 0 .28rem #ffb92640);will-change:transform;animation:3.6s cubic-bezier(.45,0,.25,1) infinite stage-three-character-idle;position:relative}.stage-pet-image,.stage-pet-hand-layer{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;background:0 0;display:block}.stage-pet-image{z-index:2;-webkit-mask-image:var(--stage-three-hand-cutout);-webkit-mask-image:var(--stage-three-hand-cutout);mask-image:var(--stage-three-hand-cutout);position:relative}.stage-pet-hand-layer{z-index:3;width:100%;height:100%;clip-path:var(--stage-three-hand-clip);transform-origin:var(--stage-three-hand-origin);will-change:transform;animation:3.6s cubic-bezier(.45,0,.25,1) infinite stage-three-hand-wave;position:absolute;inset:0}.stage-pet-wave-accent{left:var(--stage-three-wave-left);top:var(--stage-three-wave-top);z-index:4;pointer-events:none;opacity:0;transform-origin:70% 72%;width:17%;height:22%;animation:3.6s ease-in-out infinite stage-three-wave-accent;position:absolute}.stage-pet-wave-accent:before,.stage-pet-wave-accent:after{content:"";filter:drop-shadow(0 0 3px #f4c54261);border:2px solid #0000;border-color:#e53e3eb8 #0000 #0000 #f4c542e6;border-radius:50%;position:absolute;bottom:0;right:0;transform:rotate(-28deg)}.stage-pet-wave-accent:before{width:42%;height:50%}.stage-pet-wave-accent:after{opacity:.72;width:72%;height:82%}.stage-pet-shine{z-index:5;pointer-events:none;opacity:0;-webkit-mask:var(--stage-pet-image-source) center / contain no-repeat;-webkit-mask:var(--stage-pet-image-source) center / contain no-repeat;mask:var(--stage-pet-image-source) center / contain no-repeat;mix-blend-mode:screen;background:linear-gradient(110deg,#0000 28%,#ffffff14 42%,#ffffff6b 50%,#fff4c31f 58%,#0000 70%);animation:7.2s ease-in-out infinite stage-three-shine;position:absolute;inset:0;transform:translate(-72%)}.stage-pet-image-scene.pet-gender-male{--stage-three-hand-cutout:radial-gradient(ellipse 5.8% 8.6% at 25% 40.2%, transparent 0 76%, #000000c2 90%, #000 100%);--stage-three-hand-clip:polygon(18% 31%, 31% 30.5%, 31.5% 47%, 27.5% 49.5%, 18% 44%);--stage-three-hand-origin:30.8% 44.5%;--stage-three-wave-left:10%;--stage-three-wave-top:22%}.stage-pet-image-scene.pet-gender-female{--stage-three-hand-cutout:radial-gradient(ellipse 5.8% 8.6% at 25% 38.1%, transparent 0 76%, #000000c2 90%, #000 100%);--stage-three-hand-clip:polygon(18% 28%, 31% 27.5%, 31.5% 45%, 27.5% 47.5%, 18% 42%);--stage-three-hand-origin:30.8% 42.5%;--stage-three-wave-left:10%;--stage-three-wave-top:19%}.stage-pet-image-scene.pet-grade-7.pet-stage-5.pet-gender-female .stage-pet-image{-webkit-mask-image:none;mask-image:none}.stage-pet-image-scene.pet-grade-7.pet-stage-5.pet-gender-female .stage-pet-hand-layer,.stage-pet-image-scene.pet-grade-7.pet-stage-5.pet-gender-female .stage-pet-wave-accent{display:none}.stage-four-victory-ring,.stage-four-flare{pointer-events:none;display:none;position:absolute}.stage-pet-image-scene.pet-grade-7.pet-stage-4{--stage-four-aura-primary:#ff97186b;--stage-four-aura-secondary:#ffd3434d;--stage-four-ring-primary:#ffe06fe6;--stage-four-ring-secondary:#e740239e;width:112%;height:112%;margin:-6%;animation:6.8s cubic-bezier(.45,0,.22,1) infinite stage-four-float}.stage-pet-image-scene.pet-grade-7.pet-stage-4.pet-gender-female{--stage-four-aura-primary:#ff6f6961;--stage-four-aura-secondary:#ffca5957;--stage-four-ring-primary:#ffe180eb;--stage-four-ring-secondary:#e0485c94}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-image{-webkit-mask-image:none;mask-image:none}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-hand-layer,.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-wave-accent{display:none}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-aura{background:radial-gradient(circle at 51% 35%, #fff8c194 0 8%, var(--stage-four-aura-secondary) 27%, transparent 57%), radial-gradient(circle at 48% 62%, var(--stage-four-aura-primary), transparent 62%);filter:blur(8px)saturate(1.12);opacity:.76;border-radius:50%;animation:4.4s ease-in-out infinite stage-four-aura;inset:-12%}.stage-pet-image-scene.pet-grade-7.pet-stage-4:before{filter:drop-shadow(0 0 .34rem #ff9f1cad);background:radial-gradient(circle at 12% 34%,#fff7b1 0 1.5px,#ffad1fc2 2px,#0000 3.4px),radial-gradient(circle at 29% 12%,#fff8c9 0 1.2px,#ff741fa8 2px,#0000 3.2px),radial-gradient(circle at 77% 13%,#fffbe0 0 1.6px,#ffc62eb8 2.2px,#0000 3.6px),radial-gradient(circle at 92% 43%,#fff4a6 0 1.4px,#ed4b28a8 2px,#0000 3.3px),radial-gradient(circle at 83% 79%,#fff9cb 0 1.3px,#ff9a18b8 2.1px,#0000 3.4px),radial-gradient(circle at 17% 76%,#fff7bd 0 1.4px,#ffc932b3 2px,#0000 3.2px);animation:4.8s ease-in-out infinite stage-four-star-field;inset:-8%}.stage-pet-image-scene.pet-grade-7.pet-stage-4:after,.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-shadow{filter:blur(3px);background:radial-gradient(#742e1261 0,#bb5a182b 47%,#0000 74%);height:9%;animation:6.8s ease-in-out infinite stage-four-shadow;bottom:1.5%;left:20%;right:20%}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-character{filter:drop-shadow(0 .78rem .72rem #5c291142)drop-shadow(0 0 .34rem #ffc03757);animation:5.2s cubic-bezier(.45,0,.2,1) infinite stage-four-character-idle}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-shine{background:linear-gradient(108deg,#0000 30%,#fff4bc0f 41%,#ffffff7a 49%,#ffc96029 57%,#0000 69%);animation:7.6s ease-in-out infinite stage-four-shine}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-pet-spark{background:radial-gradient(circle,#fff 0 14%,#fff3a4 30%,#ff971bd1 58%,#0000 75%);animation-duration:4.6s;box-shadow:0 0 .46rem #ffbe2de6,0 0 .75rem #e5442447}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-four-victory-ring{z-index:1;background:conic-gradient(from 15deg, transparent 0 13%, var(--stage-four-ring-primary) 22%, transparent 34% 55%, var(--stage-four-ring-secondary) 65%, transparent 78% 100%);filter:drop-shadow(0 0 .3rem #ffb92ab8);opacity:.66;border-radius:50%;height:37%;animation:11s linear infinite stage-four-ring;display:block;bottom:7%;left:4%;right:4%;-webkit-mask:radial-gradient(#0000 0 62%,#000 64% 66%,#0000 68%);mask:radial-gradient(#0000 0 62%,#000 64% 66%,#0000 68%)}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-four-flare{z-index:4;opacity:0;background:linear-gradient(135deg,#fffbd6 0 15%,#ffd244 35%,#ff741d 70%);border-radius:50% 50% 50% 12%;width:.32rem;height:.32rem;animation:4.4s ease-out infinite stage-four-flare-rise;display:block;box-shadow:0 0 .42rem #ffae24e6}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-four-flare-one{animation-delay:-.4s;bottom:25%;left:17%}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-four-flare-two{width:.26rem;height:.26rem;animation-delay:-1.9s;bottom:31%;right:16%}.stage-pet-image-scene.pet-grade-7.pet-stage-4 .stage-four-flare-three{width:.22rem;height:.22rem;animation-delay:-3.1s;bottom:18%;right:27%}.stage-pet-image-scene.pet-grade-8 .stage-pet-image{-webkit-mask-image:none;mask-image:none}.stage-pet-image-scene.pet-grade-8{width:120%;height:120%;margin:-10%;animation-name:grade-eight-stage-three-float;animation-duration:5.8s}.stage-pet-image-scene.pet-grade-8 .stage-pet-hand-layer,.stage-pet-image-scene.pet-grade-8 .stage-pet-wave-accent{display:none}.stage-pet-grade-eight-core,.stage-pet-grade-eight-ring,.stage-pet-grade-eight-ripple,.stage-pet-grade-eight-orb{pointer-events:none;display:none;position:absolute}.stage-pet-image-scene.pet-grade-8 .stage-pet-aura{filter:blur(8px)saturate(1.18);opacity:.82;background:radial-gradient(circle at 52% 28%,#9bf6ffb8 0 10%,#3ac5ff6b 28%,#6050ff38 47%,#0000 69%),radial-gradient(circle at 28% 69%,#43daff57,#0000 38%),radial-gradient(circle at 78% 65%,#a755ff4d,#0000 40%);animation:4.2s ease-in-out infinite grade-eight-aura-pulse;inset:-19%}.stage-pet-image-scene.pet-grade-8:before{filter:drop-shadow(0 0 5px #53d5ffb8);background:radial-gradient(circle at 13% 31%,#9ef8fffa 0 1.4px,#0000 2.8px),radial-gradient(circle at 29% 12%,#6fd6ffeb 0 1.7px,#0000 3.1px),radial-gradient(circle at 78% 16%,#c18dffeb 0 1.5px,#0000 3px),radial-gradient(circle at 91% 47%,#74eeffdb 0 1.3px,#0000 2.7px),radial-gradient(circle at 81% 78%,#9567ffc7 0 1.6px,#0000 3px),radial-gradient(circle at 16% 76%,#4bceffd1 0 1.4px,#0000 2.8px);animation:4.8s ease-in-out infinite grade-eight-star-field;inset:-12%}.stage-pet-image-scene.pet-grade-8:after,.stage-pet-image-scene.pet-grade-8 .stage-pet-shadow{filter:blur(3px);background:radial-gradient(#263f7761 0,#3b6bba2b 48%,#0000 74%);animation:5.8s ease-in-out infinite grade-eight-shadow;bottom:3%;left:24%;right:24%}.stage-pet-image-scene.pet-grade-8 .stage-pet-character{filter:drop-shadow(0 .72rem .65rem #2230603d)drop-shadow(0 0 .34rem #49d2ff57)drop-shadow(0 0 .62rem #6d4fff29);animation:4.6s cubic-bezier(.45,0,.2,1) infinite grade-eight-character-idle}.stage-pet-image-scene.pet-grade-8 .stage-pet-shine{background:linear-gradient(108deg,#0000 30%,#a5f6ff14 40%,#ffffff85 49%,#b098ff33 57%,#0000 69%);animation:6.8s ease-in-out infinite grade-eight-shine}.stage-pet-image-scene.pet-grade-8 .stage-pet-spark{background:radial-gradient(circle,#fff 0 16%,#91efff 37%,#7e59ffb8 62%,#0000 76%);animation-duration:4.2s;box-shadow:0 0 .46rem #4ddaffeb,0 0 .8rem #7b50ff52}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-core{z-index:1;filter:blur(3px);background:radial-gradient(at 52% 48%,#6ce6ff2e 0 30%,#6253ff14 48%,#0000 70%);border-radius:50%;animation:3.6s ease-in-out infinite grade-eight-core-glow;display:block;inset:9% 8% 5%}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-ring{z-index:1;background:conic-gradient(from 20deg, transparent 0 15%, #75ebffc7 23%, transparent 36% 56%, #8b67ffa8 67%, transparent 80% 100%);filter:drop-shadow(0 0 4px #50d5ffb3);opacity:.72;border-radius:50%;height:38%;animation:9s linear infinite grade-eight-ring-spin;display:block;bottom:11%;left:4%;right:4%;-webkit-mask:radial-gradient(#0000 0 61%,#000 63% 66%,#0000 68%);mask:radial-gradient(#0000 0 61%,#000 63% 66%,#0000 68%)}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-ripple{z-index:1;border:1px solid #69e1ff8a;border-radius:50%;height:25%;animation:3.3s ease-out infinite grade-eight-ripple;display:block;bottom:12%;left:15%;right:15%;box-shadow:0 0 .55rem #59d4ff3d,inset 0 0 .45rem #815cff21}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-orb{z-index:4;background:radial-gradient(circle at 36% 31%,#fff 0 14%,#8cecff 38%,#7661ff 68%,#0000 73%);border-radius:50%;width:.34rem;height:.34rem;animation:4.6s ease-in-out infinite grade-eight-orb-drift;display:block;box-shadow:0 0 .42rem #5cdfffeb,0 0 .75rem #734dff5c}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-orb-one{animation-delay:-.7s;top:43%;left:11%}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-orb-two{width:.28rem;height:.28rem;animation-delay:-2.1s;top:31%;right:12%}.stage-pet-image-scene.pet-grade-8 .stage-pet-grade-eight-orb-three{width:.24rem;height:.24rem;animation-delay:-3.35s;bottom:22%;right:19%}@keyframes grade-eight-stage-three-float{0%,to{transform:translateY(.08rem)rotate(-.45deg)}22%{transform:translate(-.07rem,-.16rem)rotate(.2deg)}48%{transform:translate(.06rem,-.42rem)rotate(.58deg)}72%{transform:translate(-.03rem,-.22rem)rotate(-.2deg)}88%{transform:translate(.03rem,-.31rem)rotate(.1deg)}}@keyframes grade-eight-character-idle{0%,17%,68%,to{transform:translate(0,0)scale(1)rotate(0)}27%{transform:translate(.02rem,-.02rem)scale(1.012,1.007)rotate(.34deg)}39%{transform:translate(-.02rem,-.05rem)scale(1.018,1.012)rotate(-.32deg)}52%{transform:translate(.01rem,-.02rem)scale(1.011,1.006)rotate(.18deg)}76%{transform:translateY(.07rem)scale(1.014,.991)rotate(-.1deg)}84%{transform:translateY(-.11rem)scale(.997,1.016)rotate(.16deg)}92%{transform:translate(0,0)scale(1.005,.998)rotate(-.08deg)}}@keyframes grade-eight-aura-pulse{0%,to{opacity:.62;transform:scale(.94)rotate(-1deg)}36%{opacity:.94;transform:scale(1.06)rotate(1deg)}68%{opacity:.75;transform:scale(1.01)rotate(0)}}@keyframes grade-eight-star-field{0%,to{opacity:.42;transform:scale(.96)rotate(-1.5deg)}34%{opacity:.94;transform:scale(1.035)rotate(.8deg)}63%{opacity:.6;transform:scale(1.01)rotate(-.2deg)}}@keyframes grade-eight-shadow{0%,to{opacity:.46;transform:scaleX(1)}22%{opacity:.36;transform:scaleX(.94)}48%{opacity:.23;transform:scaleX(.81)}72%{opacity:.31;transform:scaleX(.89)}88%{opacity:.26;transform:scaleX(.85)}}@keyframes grade-eight-core-glow{0%,to{opacity:.42;transform:scale(.94)}50%{opacity:.88;transform:scale(1.06)}}@keyframes grade-eight-ring-spin{0%{opacity:.45;transform:rotate(0)scaleX(.98)}50%{opacity:.82;transform:rotate(180deg)scaleX(1.04)}to{opacity:.45;transform:rotate(360deg)scaleX(.98)}}@keyframes grade-eight-ripple{0%{opacity:0;transform:scale(.74)}24%{opacity:.62}72%,to{opacity:0;transform:scale(1.24)}}@keyframes grade-eight-orb-drift{0%,to{opacity:.18;transform:translateY(.36rem)scale(.65)}26%{opacity:.92;transform:translate(.16rem,-.22rem)scale(1)}58%{opacity:.64;transform:translate(-.12rem,-.72rem)scale(.82)}82%{opacity:.12;transform:translate(.1rem,-1.05rem)scale(.48)}}@keyframes grade-eight-shine{0%,56%{opacity:0;transform:translate(-76%)}63%{opacity:.58}75%{opacity:.34}84%,to{opacity:0;transform:translate(76%)}}@keyframes stage-four-float{0%,to{transform:translateY(.08rem)rotate(-.22deg)}24%{transform:translate(-.04rem,-.13rem)rotate(.12deg)}50%{transform:translate(.04rem,-.34rem)rotate(.28deg)}76%{transform:translate(-.02rem,-.16rem)rotate(-.1deg)}}@keyframes stage-four-character-idle{0%,16%,67%,to{transform:translate(0,0)scale(1)rotate(0)}27%{transform:translate(.015rem,-.025rem)scale(1.008,1.005)rotate(.16deg)}39%{transform:translate(-.015rem,-.045rem)scale(1.013,1.009)rotate(-.18deg)}52%{transform:translate(.01rem,-.02rem)scale(1.007,1.004)rotate(.1deg)}76%{transform:translateY(.055rem)scale(1.009,.994)}84%{transform:translateY(-.08rem)scale(.997,1.011)rotate(.09deg)}92%{transform:translate(0,0)scale(1.003,.999)}}@keyframes stage-four-aura{0%,to{opacity:.58;transform:scale(.95)}40%{opacity:.9;transform:scale(1.055)}70%{opacity:.72;transform:scale(1.01)}}@keyframes stage-four-star-field{0%,to{opacity:.38;transform:scale(.97)rotate(-.8deg)}42%{opacity:.94;transform:scale(1.025)rotate(.55deg)}70%{opacity:.57;transform:scale(1)rotate(0)}}@keyframes stage-four-shadow{0%,to{opacity:.46;transform:scaleX(1)}24%{opacity:.36;transform:scaleX(.95)}50%{opacity:.24;transform:scaleX(.84)}76%{opacity:.32;transform:scaleX(.91)}}@keyframes stage-four-ring{0%{opacity:.42;transform:rotate(0)scaleX(.98)}50%{opacity:.76;transform:rotate(180deg)scaleX(1.035)}to{opacity:.42;transform:rotate(360deg)scaleX(.98)}}@keyframes stage-four-flare-rise{0%,12%,to{opacity:0;transform:translateY(.25rem)rotate(36deg)scale(.45)}27%{opacity:.92;transform:translate(.08rem,-.12rem)rotate(42deg)scale(1)}62%{opacity:.55;transform:translate(-.1rem,-.72rem)rotate(54deg)scale(.76)}84%{opacity:0;transform:translate(.08rem,-1.2rem)rotate(66deg)scale(.42)}}@keyframes stage-four-shine{0%,60%{opacity:0;transform:translate(-78%)}66%{opacity:.5}76%{opacity:.3}86%,to{opacity:0;transform:translate(78%)}}@keyframes stage-three-float{0%,to{transform:translateY(.1rem)rotate(-.4deg)}18%{transform:translate(-.06rem,-.08rem)rotate(.15deg)}46%{transform:translate(.07rem,-.38rem)rotate(.5deg)}68%{transform:translate(-.04rem,-.18rem)rotate(-.22deg)}84%{transform:translate(.03rem,-.29rem)rotate(.12deg)}}@keyframes stage-three-character-idle{0%,18%,70%,to{transform:scale(1)rotate(0)}28%{transform:scale(1.012,1.008)rotate(.3deg)}39%{transform:scale(1.019,1.012)rotate(-.35deg)}50%{transform:scale(1.014,1.008)rotate(.22deg)}60%{transform:scale(1.008,1.004)rotate(-.12deg)}78%{transform:translateY(.08rem)scale(1.012,.992)rotate(0)}84%{transform:translateY(-.1rem)scale(.996,1.015)rotate(.18deg)}91%{transform:translateY(0)scale(1.005,.998)rotate(-.1deg)}}@keyframes stage-three-aura{0%,to{opacity:.58;transform:scale(.96)}28%{opacity:.9;transform:scale(1.04)}58%{opacity:.74;transform:scale(1.01)}}@keyframes stage-three-shadow{0%,to{opacity:.42;transform:scaleX(1)}18%{opacity:.36;transform:scaleX(.95)}46%{opacity:.23;transform:scaleX(.82)}68%{opacity:.31;transform:scaleX(.9)}84%{opacity:.26;transform:scaleX(.86)}}@keyframes stage-three-spark{0%,10%{opacity:0;transform:translate(0,0)scale(.32)}15%{opacity:.95}45%{opacity:.66}66%,to{opacity:0;transform:translate3d(var(--spark-x), var(--spark-y), 0) scale(var(--spark-scale))}}@keyframes stage-three-sparkle{0%,to{opacity:.32;transform:scale(.96)rotate(-1deg)}45%{opacity:.9;transform:scale(1.03)rotate(1deg)}70%{opacity:.5;transform:scale(.99)rotate(0)}}@keyframes stage-three-hand-wave{0%,18%,70%,to{transform:rotate(0)}26%{transform:rotate(-6deg)}34%{transform:rotate(6.5deg)}42%{transform:rotate(-5.5deg)}50%{transform:rotate(5deg)}58%{transform:rotate(-3deg)}65%{transform:rotate(1.5deg)}}@keyframes stage-three-wave-accent{0%,20%,66%,to{opacity:0;transform:scale(.76)rotate(-4deg)}28%,36%,44%,52%{opacity:.9}32%,40%,48%,58%{opacity:.3}60%{opacity:0;transform:scale(1.08)rotate(3deg)}}@keyframes stage-three-shine{0%,58%{opacity:0;transform:translate(-72%)}64%{opacity:.5}76%{opacity:.32}84%,to{opacity:0;transform:translate(72%)}}@media (hover:hover) and (pointer:fine){.pet-avatar-image-stage:hover .stage-pet-image-scene{animation-duration:3.4s}.pet-avatar-image-stage:hover .stage-pet-character,.pet-avatar-image-stage:hover .stage-pet-hand-layer,.pet-avatar-image-stage:hover .stage-pet-wave-accent{animation-duration:2.35s}.pet-avatar-image-stage:hover .stage-pet-shine{animation-duration:3.8s}}@media (prefers-reduced-motion:reduce){.stage-pet-image-scene,.stage-pet-character,.stage-pet-image,.stage-pet-hand-layer,.stage-pet-wave-accent,.stage-pet-shine,.stage-pet-aura,.stage-pet-shadow,.stage-pet-spark,.stage-pet-grade-eight-core,.stage-pet-grade-eight-ring,.stage-pet-grade-eight-ripple,.stage-pet-grade-eight-orb,.stage-four-victory-ring,.stage-four-flare,.stage-pet-image-scene:before,.stage-pet-image-scene:after{animation:none!important;transform:none!important}}@media (width<=560px){.pet-avatar-image-stage{width:8.5rem;min-width:8.5rem;height:8.5rem}}.student-dashboard-loading,.student-dashboard-error{text-align:center;width:min(100%,720px);margin:1rem auto}.student-dashboard-error p{color:var(--text-secondary);margin:.5rem 0 1rem}.student-dashboard-page{gap:1.5rem;width:min(100%,1240px);min-width:0;margin-inline:auto}@media (width>=1200px){.student-dashboard-page{width:100%;max-width:none;margin-inline:0}}.student-dashboard-page>.glass-panel,.student-dashboard-page>.pet-card{width:100%;min-width:0}.student-dashboard-page .pet-card{border-radius:16px;grid-template-columns:10rem minmax(220px,1fr) minmax(300px,auto);align-items:center;gap:1.5rem;padding:1.5rem;display:grid}.student-dashboard-page .pet-avatar{justify-self:center}.student-dashboard-page .pet-info{width:100%;min-width:0}.student-dashboard-page .pet-name,.student-dashboard-page .pet-stage{overflow-wrap:anywhere}.student-dashboard-page .pet-xp-bar-wrap>div:first-child{flex-wrap:wrap;gap:.75rem}.student-dashboard-page .progress-bar-track{background:linear-gradient(#fffaedf0,#efd9bfb3),linear-gradient(90deg,#b71c1c14,#d4af3721);border:1px solid #d4af3726;border-radius:999px;width:100%;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #5b181814,0 3px 10px #d4af3714}.student-dashboard-page .pet-xp-fill:before{content:"";z-index:2;border-radius:inherit;pointer-events:none;filter:blur(.4px);background:linear-gradient(90deg,#0000,#ffffffeb,#ffdc66b8,#0000);width:30%;animation:2.8s ease-in-out infinite pet-xp-progress-sweep;position:absolute;top:1px;bottom:1px;left:-30%}.student-dashboard-page .progress-bar-fill{border-radius:inherit;max-width:100%;height:100%;transition:width .35s}.student-dashboard-page .pet-xp-fill{z-index:1;background:linear-gradient(90deg,#f4c542 0%,#e6b72f 48%,#d4af37 100%);position:relative;overflow:visible;box-shadow:0 0 12px #d4af376b}.student-dashboard-page .pet-xp-fill.has-progress:after{content:"";z-index:3;background:#d4af37;border:2px solid #fff5cc;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 0 0 4px #d4af3724,0 0 10px #d4af378c}@keyframes pet-xp-progress-sweep{0%{opacity:0;left:-30%}12%{opacity:1}78%{opacity:1;left:64%}92%{opacity:.85;left:70%}to{opacity:0;left:70%}}.student-pet-stats{text-align:center;width:100%;min-width:0}.student-dashboard-page .student-pet-stats .stats-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.65rem!important}.student-dashboard-page .student-pet-stats .stat-card{min-width:0;min-height:88px;box-shadow:none;background:#ffffffb3;border:1px solid #b71c1c1a;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;padding:.85rem!important}.student-dashboard-page .student-pet-stats .stat-card-value{max-width:100%;color:var(--primary-red);overflow-wrap:anywhere;font-weight:800;line-height:1.05;display:block;font-size:1.35rem!important}.student-dashboard-page .student-pet-stats .stat-card-label{max-width:100%;color:var(--text-secondary);text-transform:uppercase;overflow-wrap:anywhere;margin-top:.45rem;font-size:.65rem;font-weight:700;line-height:1.25;display:block}.student-progress-panel{padding:1.4rem}.student-progress-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.student-progress-heading h3,.student-progress-heading p{margin:0}.student-progress-heading h3{color:var(--text-primary);font-size:1.05rem}.student-progress-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.82rem;line-height:1.45}.student-progress-chart{width:100%;height:280px;min-height:240px;position:relative}.student-progress-chart canvas{max-width:100%!important;max-height:100%!important}.student-progress-empty{min-height:150px}.student-exams-panel,.student-history-panel{padding:1.4rem}.student-exams-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.student-exams-heading h3{color:var(--text-primary);margin:0;font-size:1.05rem}.student-exams-heading span{min-height:30px;color:var(--text-secondary);white-space:nowrap;background:#ffffffa3;border:1px solid #b71c1c1f;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.student-dashboard-page .exam-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;width:100%;min-width:0;display:grid}.student-exam-pagination{border-top:1px solid #b71c1c1a;justify-content:center;align-items:center;gap:.7rem;width:100%;margin-top:1.25rem;padding-top:1rem;display:flex}.student-exam-page-numbers{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;min-width:0;display:flex}.student-exam-page-button{min-width:38px;min-height:38px;color:var(--primary-red);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #b71c1c29;border-radius:9px;justify-content:center;align-items:center;padding:.45rem .65rem;font-size:.72rem;font-weight:750;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 4px 12px #4a2d1c0d}.student-exam-page-navigation{min-width:84px}.student-exam-page-button:hover:not(:disabled){background:#fffaf0;border-color:#b71c1c57;transform:translateY(-1px);box-shadow:0 7px 16px #4a2d1c17}.student-dashboard-page .student-exam-page-button.is-active,.student-dashboard-page .student-exam-page-button[aria-current=page],.student-dashboard-page .student-exam-page-button[aria-current=page]:hover,.student-dashboard-page .student-exam-page-button[aria-current=page]:focus,.student-dashboard-page .student-exam-page-button[aria-current=page]:active{-webkit-text-fill-color:#fff;opacity:1;box-shadow:0 7px 16px #b71c1c2e;color:#fff!important;background:#b71c1c!important;border-color:#b71c1c!important}.student-exam-page-button:focus-visible{outline-offset:2px;outline:3px solid #d4af3766}.student-exam-page-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.student-dashboard-page .exam-card{background:#ffffffc2;border:1px solid #b71c1c1f;border-radius:12px;flex-direction:column;min-width:0;min-height:190px;padding:1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 7px 18px #4a2d1c0f}.student-dashboard-page .exam-card-title{color:var(--text-primary);overflow-wrap:anywhere;font-size:1rem;font-weight:800;line-height:1.35}.student-dashboard-page .exam-card-assignment{border-bottom:1px solid #b71c1c17;gap:.22rem;min-width:0;margin:.25rem 0 .75rem;padding-bottom:.65rem;display:grid}.student-dashboard-page .exam-card-class,.student-dashboard-page .exam-card-teacher{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.76rem;line-height:1.35}.student-dashboard-page .exam-card-teacher{color:#5f554b}.student-dashboard-page .exam-card-teacher strong{color:var(--text-primary);font-weight:700}.student-dashboard-page .exam-card-meta{flex-wrap:wrap;gap:.4rem;min-width:0;margin-bottom:.45rem;display:flex}.student-dashboard-page .exam-card-meta span{max-width:100%;color:var(--text-secondary);overflow-wrap:anywhere;white-space:normal;background:#f4c5421f;border-radius:999px;align-items:center;padding:.25rem .45rem;font-size:.7rem;line-height:1.35;display:inline-flex}.student-dashboard-page .exam-card-actions{flex-direction:column;gap:.55rem;width:100%;margin-top:auto;padding-top:.75rem;display:flex}.exam-completion-panel{gap:.55rem;width:100%;display:grid}.exam-completion-summary{background:#4caf5014;border:1px solid #4caf502e;border-radius:8px;align-items:center;gap:.65rem;min-width:0;padding:.65rem;display:flex}.exam-completion-summary.pending{background:#ffc1071a;border-color:#ffc10740}.exam-completion-icon{color:#2e7d32;background:#4caf5029;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.exam-completion-summary.pending .exam-completion-icon{color:#8a6500;background:#ffc1072e}.exam-completion-summary strong,.exam-completion-summary small{display:block}.exam-completion-summary strong{color:var(--text-primary);font-size:.8rem}.exam-completion-summary small,.exam-retake-unavailable{color:var(--text-secondary);font-size:.7rem;line-height:1.4}.exam-completion-summary small{margin-top:.18rem}.exam-retake-unavailable{text-align:center;margin:0}.student-dashboard-page .student-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.student-history-heading{border-bottom:1px solid #b71c1c1a;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.9rem;display:flex}.student-history-heading h3,.student-history-heading p{margin:0}.student-history-heading h3{color:var(--text-primary);font-size:1.05rem}.student-history-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.74rem;line-height:1.4}.student-history-toggle{min-width:86px;min-height:38px;color:var(--primary-red);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #b71c1c2e;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:.5rem .8rem;font-size:.72rem;font-weight:750;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 5px 14px #4a2d1c0f}.student-history-toggle:hover{background:#fffaf0;border-color:#b71c1c5c;transform:translateY(-1px);box-shadow:0 8px 18px #4a2d1c1a}.student-history-toggle:focus-visible{outline-offset:2px;outline:3px solid #d4af3766}.student-history-mobile-actions{display:none}.student-history-table{table-layout:fixed;min-width:660px;margin-top:0}.student-history-table th,.student-history-table td{vertical-align:middle;white-space:nowrap}.student-history-table .student-history-exam-column{width:30%}.student-history-table .student-history-score-column{width:20%}.student-history-table .student-history-percentage-column{width:18%}.student-history-table .student-history-date-column{width:22%}.student-history-table .student-history-feedback-column{width:10%}.student-history-table .student-history-percentage{text-align:center}.student-history-exam-details{align-items:center;gap:.55rem;min-width:0;display:flex}.student-attempt-kind{min-height:28px;color:var(--text-secondary);background:#ffffffad;border:1px solid #74543129;border-radius:999px;align-items:center;padding:.32rem .62rem;font-size:.68rem;font-weight:750;line-height:1;display:inline-flex}.student-attempt-kind.is-retake{color:#805817;background:#f4c54226;border-color:#d4971c57}.feedback-table-button{min-height:36px;padding:.4rem .7rem;font-size:.74rem}.student-result-page{gap:1.2rem;width:min(100%,760px);min-width:0;margin-inline:auto}.student-result-page .result-hero{text-align:center;border:1px solid #d4af3757;border-radius:18px;padding:clamp(1.4rem,4vw,2rem);position:relative;overflow:hidden}.student-result-page .result-hero:before{content:"";pointer-events:none;position:absolute;inset:0}.student-result-page .result-score{letter-spacing:-.045em;margin-top:.65rem;font-size:clamp(2.5rem,8vw,3.5rem);font-weight:850;line-height:1;position:relative}.student-result-page .result-label{color:var(--text-secondary);margin-top:.55rem;font-size:.9rem;line-height:1.45;position:relative}.result-status-badge{letter-spacing:.035em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;min-height:28px;padding:.35rem .75rem;font-size:.7rem;font-weight:800;display:inline-flex;position:relative}.result-status-badge.is-passed{color:#2e7d32;background:#4caf501a;border-color:#2e7d3238}.result-status-badge.is-improvement{color:var(--primary-red);background:#b71c1c12;border-color:#b71c1c33}.result-status-badge.is-pending{color:#805817;background:#f4c54224;border-color:#d4af374d}.result-review-note{color:#805817;max-width:460px;margin:.65rem auto 0;font-size:.78rem;line-height:1.45;position:relative}.result-reward-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;width:min(100%,390px);margin:1.15rem auto 0;display:grid;position:relative}.result-reward-item{background:#ffffff94;border:1px solid #b71c1c1a;border-radius:12px;padding:.75rem .85rem}.result-reward-item span,.result-reward-item strong{display:block}.result-reward-item span{color:var(--text-secondary);letter-spacing:.025em;text-transform:uppercase;font-size:.68rem;font-weight:700}.result-reward-item strong{color:#a56b00;margin-top:.25rem;font-size:1.05rem;font-weight:850}.result-xp-panel{border-radius:16px;margin-bottom:1.25rem;padding:1.25rem}.result-xp-panel-heading h3,.result-xp-panel-heading p{margin:0}.result-xp-panel-heading h3{font-size:1rem;font-weight:800}.result-xp-panel-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.76rem;line-height:1.45}.result-xp-table-wrap{border:1px solid #b71c1c1a;border-radius:12px;margin-top:1rem;overflow-x:auto}.result-xp-table{border-collapse:collapse;width:100%;min-width:430px;font-size:.82rem}.result-xp-table th,.result-xp-table td{border-bottom:1px solid #b71c1c14;padding:.7rem .85rem}.result-xp-table th{color:var(--text-secondary);letter-spacing:.035em;text-transform:uppercase;background:#ffffff7a;font-size:.68rem;font-weight:800}.result-xp-table th:first-child,.result-xp-table td:first-child{text-align:left}.result-xp-table th:not(:first-child),.result-xp-table td:not(:first-child){text-align:center}.result-xp-table tbody tr:last-child td{border-bottom:0}.result-xp-table td{color:var(--text-secondary)}.result-xp-table tr.is-current-tier td{color:var(--text-primary);background:#f4c54229;font-weight:750}.result-current-tier{color:#805817;background:#ffffff9e;border:1px solid #d4af3759;border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.feedback-view-heading{border-bottom:1px solid #b71c1c1a;padding-bottom:.9rem}.feedback-view-heading h2,.feedback-view-heading p{margin:0}.feedback-view-heading h2{overflow-wrap:anywhere;margin-top:.55rem;font-size:1.25rem}.feedback-view-heading p{color:var(--text-secondary);margin-top:.3rem;font-size:.78rem}.feedback-question-row{border-bottom:1px solid #b71c1c17;grid-template-columns:minmax(0,1fr);align-items:start;gap:.7rem;padding:.9rem 0;display:grid}.feedback-question-row:last-child{border-bottom:0}.feedback-question-copy{min-width:0}.feedback-question-number{color:var(--text-secondary);text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.feedback-question-copy p{color:var(--text-primary);overflow-wrap:anywhere;margin:.3rem 0 0;line-height:1.45}.feedback-answer-grid{grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:.5rem;min-width:0;display:grid}.feedback-answer-grid>div{background:#ffffffad;border-radius:8px;min-width:0;padding:.65rem}.feedback-answer-grid small{color:var(--text-secondary);text-transform:uppercase;font-size:.68rem;font-weight:700}.feedback-answer-grid p{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0 0;line-height:1.45}@media (hover:hover) and (pointer:fine){.student-dashboard-page .exam-card:hover{background:#fff;border-color:#d4af3780;transform:translateY(-2px);box-shadow:0 12px 25px #4a2d1c1a}}@media (width<=1024px){.student-dashboard-page .pet-card{grid-template-columns:9rem minmax(0,1fr)}.student-pet-stats{grid-column:1/-1}.student-dashboard-page .exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.student-dashboard-page .student-history-panel .student-table-wrap{overflow:visible}.student-history-table{min-width:0;display:block}.student-history-table colgroup,.student-history-table thead{display:none}.student-history-table tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-history-table tbody tr{background:#ffffff94;border:1px solid #b71c1c1f;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-width:0;padding:.85rem;display:grid;box-shadow:0 7px 18px #4a2d1c0b}.student-history-table tbody td{white-space:normal;overflow-wrap:anywhere;border:0;flex-direction:column;align-items:flex-start;gap:.32rem;min-width:0;padding:.62rem;display:flex}.student-history-table tbody td:before{content:attr(data-label);color:var(--text-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem;font-weight:800}.student-history-table tbody td:first-child{border-bottom:1px solid #b71c1c1a;grid-column:1/-1;padding-top:.15rem;padding-bottom:.8rem}.student-history-table tbody td:first-child:before{display:none}.student-history-table .student-history-exam-details{flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%}.student-history-table .student-history-exam-details>span:first-child{overflow-wrap:anywhere;min-width:0;font-weight:750}.student-history-table .student-history-percentage{text-align:left}.student-history-table .feedback-table-button{width:auto;min-width:78px}.student-history-table tr:hover td{background:0 0}}@media (width<=600px){.student-history-table tbody{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.student-dashboard-page,.student-result-page{gap:1rem;width:100%;max-width:100%}.student-dashboard-page .pet-card{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1rem;padding:1.15rem}.student-dashboard-page .pet-avatar{width:8.5rem;min-width:8.5rem;height:8.5rem}.student-dashboard-page .pet-info{text-align:left}.student-pet-stats{grid-column:auto}.student-dashboard-page .exam-grid{grid-template-columns:minmax(0,1fr)}.student-exam-pagination{flex-wrap:wrap}.student-exam-page-numbers{order:3;width:100%}.student-progress-panel,.student-exams-panel,.student-history-panel,.student-result-page .glass-panel{padding:1rem}.student-progress-chart{height:240px;min-height:220px}.student-dashboard-page .btn-primary,.student-dashboard-page .btn-ghost,.student-result-page>.btn-primary{min-height:44px}.student-dashboard-page .modal{width:min(100%,520px);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto}}@media (width<=480px){.student-history-heading{display:block}.student-history-toggle-top{display:none}.student-history-mobile-actions{justify-content:flex-start;padding-top:.7rem;display:flex}.student-history-toggle-bottom{border-radius:8px;width:auto;min-width:66px;min-height:30px;padding:.34rem .58rem;font-size:.64rem}.student-exams-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.student-exams-heading span{align-self:flex-start}.student-exam-page-navigation{flex:110px}.student-progress-heading{flex-direction:column;align-items:flex-start}.student-progress-heading .badge{align-self:flex-start}.student-dashboard-page .student-pet-stats .stats-grid{gap:.4rem!important}.student-dashboard-page .student-pet-stats .stat-card{min-height:82px;padding:.6rem!important}.student-dashboard-page .student-pet-stats .stat-card-value{font-size:1.15rem!important}.student-dashboard-page .student-pet-stats .stat-card-label{font-size:.58rem}.student-result-page .result-hero{padding:1.15rem .85rem}.student-result-page .result-score{font-size:2rem}.result-reward-grid{gap:.45rem;margin-top:.9rem}.result-reward-item{padding:.65rem .55rem}.result-xp-panel{padding:.9rem}.result-xp-table{table-layout:fixed;min-width:0;font-size:.74rem}.result-xp-table th,.result-xp-table td{padding:.6rem .4rem}.result-xp-table th{font-size:.6rem}.result-current-tier{white-space:nowrap;padding-inline:.4rem;font-size:.6rem}.feedback-question-row{grid-template-columns:minmax(0,1fr)}.feedback-answer-grid{grid-column:1/-1}}@media (width<=360px){.student-dashboard-page .student-pet-stats .stats-grid{grid-template-columns:minmax(0,1fr)!important}.student-dashboard-page .student-pet-stats .stat-card{min-height:68px}}@media (prefers-reduced-motion:reduce){.student-dashboard-page .progress-bar-fill,.student-dashboard-page .exam-card{transition:none}.student-dashboard-page .pet-xp-fill:before{animation:none}}@media (width>=700px) and (width<=1099px){.policy-modal-overlay{padding:max(.85rem, env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) max(.85rem, env(safe-area-inset-bottom)) max(.85rem, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;touch-action:pan-y;justify-content:center;align-items:flex-start;overflow:hidden auto}.policy-modal-overlay .policy-modal{overscroll-behavior:auto;flex:none;max-height:none;margin:0 auto;overflow:clip}.policy-modal-overlay .policy-modal:before{border-radius:20px 0 0}.policy-modal-overlay .policy-modal:after{border-radius:20px 20px 0 0}}.exam-workspace-layout{grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:start;gap:1rem;width:100%;min-width:0;display:grid}.exam-section-sidebar{background:radial-gradient(circle at 100% 0,#f4c5421a,#0000 36%),#ffffffc7;border:1px solid #7454311c;border-radius:18px;min-width:0;padding:1rem;box-shadow:0 14px 32px #4a2d1c11}.exam-section-sidebar-heading{min-height:44px;color:var(--text-primary);letter-spacing:.025em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.6rem;padding:.3rem .35rem .75rem;font-size:.73rem;font-weight:850;display:flex}.exam-section-sidebar-heading>strong{min-width:29px;height:29px;color:var(--primary-red);background:#fff7ebe6;border:1px solid #b71c1c1a;border-radius:999px;place-items:center;padding-inline:.4rem;font-size:.65rem;display:inline-grid}.exam-section-sidebar-list{gap:.6rem;margin-top:.35rem;display:grid}.exam-section-sidebar-list>button{width:100%;min-width:0;min-height:76px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:#ffffff94;border:1px solid #74543117;border-radius:13px;justify-content:space-between;align-items:center;gap:.65rem;padding:.78rem .82rem;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:flex}.exam-section-sidebar-list>button:hover{background:#fff9e6db;border-color:#c48f1947;transform:translateY(-1px);box-shadow:0 7px 16px #4a2d1c0e}.exam-section-sidebar-list>button.is-active{background:linear-gradient(135deg,#fff6f2fa,#fff8def0);border-color:#b71c1c3b;box-shadow:0 9px 20px #87422217}.exam-section-sidebar-list>button>span:first-child{min-width:0}.exam-section-sidebar-list strong,.exam-section-sidebar-list small{display:block}.exam-section-sidebar-list>button>span:first-child strong{overflow-wrap:anywhere;font-size:.81rem;font-weight:820;line-height:1.3}.exam-section-sidebar-list>button>span:first-child small{color:var(--text-secondary);margin-top:.24rem;font-size:.64rem}.exam-section-sidebar-stats{text-align:right;flex:none}.exam-section-sidebar-stats strong{min-width:30px;height:30px;color:var(--primary-red);background:#b71c1c0f;border:1px solid #b71c1c1a;border-radius:999px;place-items:center;padding-inline:.35rem;font-size:.8rem;font-weight:850;display:inline-grid}.exam-section-sidebar-list>button.is-active .exam-section-sidebar-stats strong{border-color:var(--primary-red);background:var(--primary-red);color:#fff;box-shadow:0 4px 10px #b71c1c2e}.exam-section-sidebar-stats small{color:var(--text-secondary);white-space:nowrap;margin-top:.22rem;font-size:.56rem}.exam-workspace-layout .exam-library-panel{min-width:0}.exam-workspace-layout .exam-library-toolbar{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(140px,.7fr))}.exam-workspace-mobile-section{display:none}@media (width<=1000px){.exam-workspace-layout{grid-template-columns:minmax(0,1fr)}.exam-section-sidebar{display:none}.exam-workspace-mobile-section{background:#fff9e6ad;border:1px solid #c48f1933;border-radius:11px;gap:.35rem;margin-bottom:.9rem;padding:.75rem;display:grid}.exam-workspace-mobile-section>span{color:#655d55;letter-spacing:.035em;text-transform:uppercase;font-size:.62rem;font-weight:850}.exam-workspace-mobile-section .input-field{background:#ffffffe0;width:100%;min-height:44px}.exam-workspace-layout .exam-library-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-workspace-layout .exam-library-search{grid-column:1/-1}}@media (width<=700px){.exam-workspace-layout{gap:.75rem}.exam-workspace-layout .exam-library-toolbar{grid-template-columns:minmax(0,1fr)}.exam-workspace-layout .exam-library-search{grid-column:auto}}.exam-workspace-layout .exam-library-panel{isolation:isolate;position:relative;overflow:hidden}.exam-workspace-layout .exam-library-panel:before{content:"";z-index:-1;aspect-ratio:1;pointer-events:none;opacity:.025;filter:grayscale()sepia(.35);background:url(/assets/School%20Logo-qETwDasu.png) 50%/contain no-repeat;width:min(38vw,420px);position:absolute;top:2.25rem;right:-2rem}.exam-section-sidebar-list>button{position:relative;overflow:visible}.exam-section-sidebar-list>button:before{content:none}.exam-section-sidebar-list>button:focus-visible{outline-offset:2px;outline:3px solid #f4c5427a}.exam-section-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:-.1rem 0 1rem;display:grid}.exam-section-overview>div{background:linear-gradient(145deg,#ffffffe0,#fff9e6ad);border:1px solid #7454311a;border-radius:12px;min-width:0;min-height:68px;padding:.75rem .85rem;position:relative;overflow:hidden}.exam-section-overview>div:after{content:"";border:1rem solid #f4c54212;border-radius:50%;width:4rem;height:4rem;position:absolute;bottom:-1.5rem;right:-1rem}.exam-section-overview strong,.exam-section-overview span{z-index:1;display:block;position:relative}.exam-section-overview strong{color:var(--primary-red);font-size:1.15rem;font-weight:900;line-height:1}.exam-section-overview span{color:var(--text-secondary);letter-spacing:.025em;text-transform:uppercase;margin-top:.3rem;font-size:.62rem;font-weight:750}.exam-workspace-layout .exam-library-list{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.9rem;display:grid;overflow:visible}.exam-library-row.exam-sheet-card{background:radial-gradient(circle at 96% 6%,#f4c5421c,#0000 31%),linear-gradient(145deg,#fffffffc,#fffbeff0);border:1px solid #74543126;border-radius:18px;flex-direction:column;align-items:stretch;gap:.85rem;min-width:0;min-height:0;padding:1.15rem;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.24s ease-out both exam-sheet-enter;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 32px #4a2d1c14}.exam-library-row.exam-sheet-card:before{content:none}.exam-library-row.exam-sheet-card.is-published:before{background:linear-gradient(90deg,#43a047,#8bc34a)}.exam-library-row.exam-sheet-card.is-scheduled:before{background:linear-gradient(90deg,#1976d2,#64b5f6)}.exam-library-row.exam-sheet-card.is-closed:before{background:linear-gradient(90deg, var(--primary-red), #e57373)}.exam-library-row.exam-sheet-card:after{content:"";clip-path:polygon(0 0,100% 100%,0 100%);background:linear-gradient(225deg,#f4c54238 49%,#fffffff0 50%);border-bottom:1px solid #7454311f;border-left:1px solid #7454311f;width:1.65rem;height:1.65rem;position:absolute;top:-1px;right:-1px}.exam-library-row.exam-sheet-card:hover{border-color:#c48f1957;transform:translateY(-4px);box-shadow:0 19px 38px #4a2d1c1f}@keyframes exam-sheet-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.exam-sheet-heading{flex-wrap:wrap;place-content:flex-start space-between;align-items:flex-start;gap:.55rem 1rem;width:100%;min-width:0;min-height:0;padding:.05rem 1.25rem .1rem .1rem;display:flex}.exam-sheet-heading .exam-library-exam{flex:180px;min-width:0}.exam-sheet-heading .exam-library-title{font-size:1.13rem;font-weight:900;line-height:1.2;text-decoration:none}.exam-sheet-heading .exam-library-title:hover{text-decoration:none}.exam-sheet-heading .exam-library-exam small{color:#756b61;margin-top:.38rem;font-size:.67rem;font-weight:650}.exam-sheet-badges{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.35rem;display:flex}.exam-sheet-card .exam-library-status{background:#ffffffc2;min-height:30px;padding:.35rem .67rem;box-shadow:0 3px 9px #4a2d1c0b}.exam-sheet-card .exam-library-status.is-published{color:#26752b;letter-spacing:.01em;background:linear-gradient(135deg,#f8fff7,#e8f7e7);border-color:#2e7d323d;box-shadow:0 4px 12px #2e7d3214}.exam-sheet-card .exam-library-status.is-closed{color:#a81717;letter-spacing:.01em;background:linear-gradient(135deg,#fff9f7,#ffe9e5);border-color:#b71c1c3d;box-shadow:0 4px 12px #b71c1c14}.exam-shared-badge{color:#76591c;white-space:nowrap;background:#fff7dbe6;border:1px solid #c48f1938;border-radius:999px;align-items:center;min-height:29px;padding:.34rem .62rem;font-size:.61rem;font-weight:820;display:inline-flex}.exam-sheet-card .exam-library-sections{background:linear-gradient(135deg,#fffaebdb,#fff7da7a);border:1px solid #c48f1929;border-radius:12px;width:100%;min-height:0;padding:0;display:block;overflow:hidden}.exam-library-sections-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:58px;padding:.68rem .78rem;list-style:none;transition:background-color .16s;display:flex}.exam-library-sections-summary::-webkit-details-marker{display:none}.exam-library-sections-summary-copy{gap:.18rem;min-width:0;display:grid}.exam-library-sections-summary-copy strong{color:#5f554b;letter-spacing:.045em;text-transform:uppercase;font-size:.61rem;font-weight:880}.exam-library-sections-summary-copy small{color:#81766b;font-size:.6rem;font-weight:650}.exam-library-sections-toggle{color:#8a5b06;background:#ffffffd1;border:1px solid #c48f1933;border-radius:9px;flex:none;align-items:center;gap:.45rem;min-height:32px;padding:.38rem .62rem;font-size:.6rem;font-weight:820;display:inline-flex;box-shadow:0 3px 8px #4a2d1c0a}.exam-library-sections-toggle i{border-bottom:1.5px solid;border-right:1.5px solid;width:.45rem;height:.45rem;transition:transform .16s;transform:rotate(45deg)translate(-1px,-1px)}.exam-library-sections-toggle .when-open,.exam-library-sections[open] .exam-library-sections-toggle .when-closed{display:none}.exam-library-sections[open] .exam-library-sections-toggle .when-open{display:inline}.exam-library-sections[open] .exam-library-sections-toggle i{transform:rotate(225deg)translate(-1px,-1px)}.exam-library-section-list{padding:0 .78rem .75rem;border-top:1px solid #c48f191a;flex-wrap:wrap;gap:.38rem;padding-top:.7rem;display:flex}@media (hover:hover){.exam-library-sections-summary:hover{background:#fff7da70}.exam-library-sections-summary:hover .exam-library-sections-toggle{background:#fff;border-color:#c48f1961}}.exam-sheet-card .exam-library-section-chip{color:#5f4c24;background:#ffffffe6;border-color:#7454311f;min-height:29px;padding:.32rem .58rem .32rem 1.18rem;font-size:.61rem;position:relative}.exam-sheet-card .exam-library-section-chip:before{content:"";background:#aaa39b;border-radius:50%;width:.42rem;height:.42rem;position:absolute;left:.55rem}.exam-sheet-card .exam-library-section-chip.is-published:before{background:#43a047;box-shadow:0 0 0 3px #43a0471a}.exam-sheet-card .exam-library-section-chip.is-current{background:#fff7e7;border-color:#b71c1c3b;box-shadow:0 3px 9px #74543112}.exam-sheet-card .exam-library-section-more{color:#71685f;background:#7454310e;min-height:29px;padding-inline:.55rem;font-size:.58rem}.exam-sheet-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%;display:grid}.exam-sheet-meta>div{background:linear-gradient(145deg,#ffffffed,#fffcf4cc);border:1px solid #7454311a;border-radius:12px;min-width:0;min-height:68px;padding:.72rem .76rem;box-shadow:0 5px 14px #4a2d1c0a}.exam-sheet-meta span,.exam-sheet-meta strong{display:block}.exam-sheet-meta span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.56rem;font-weight:820}.exam-sheet-meta strong{color:var(--text-primary);overflow-wrap:anywhere;margin-top:.32rem;font-size:.78rem;font-weight:850;line-height:1.35}.exam-sheet-card .exam-library-actions{border-top:1px solid #74543117;grid-template-columns:minmax(140px,1.45fr) minmax(120px,1fr) auto auto;gap:.5rem;width:100%;margin-top:auto;padding-top:.82rem;display:grid}.exam-sheet-card .exam-library-open{background:linear-gradient(135deg, var(--primary-red), #cf3030);color:#fff;border-radius:11px;min-height:45px;box-shadow:0 8px 18px #b71c1c33}.exam-sheet-card .exam-library-sections-button{color:#925f00;background:linear-gradient(#fffaf0,#fff2c9);border-color:#be890d4d;border-radius:11px;min-height:45px}.exam-sheet-card .exam-library-sections-button:hover{color:#744b00;background:#ffefb6;border-color:#be890d85}.exam-sheet-card .exam-card-edit,.exam-sheet-card .exam-card-delete{border-radius:11px;min-height:45px;padding-inline:.78rem}.exam-sheet-card .exam-library-actions button:focus-visible,.exam-sheet-heading .exam-library-title:focus-visible{outline-offset:2px;outline:3px solid #f4c54280}.exam-assignment-panel-standalone{margin-bottom:0}.exam-mobile-folder-nav{display:none}@media (width<=1350px){.exam-workspace-layout .exam-library-list{grid-template-columns:minmax(0,1fr)}}@media (width<=1000px){.exam-mobile-folder-nav{gap:.45rem;margin-bottom:.9rem;display:grid}.exam-mobile-folder-nav>span{color:#655d55;letter-spacing:.05em;text-transform:uppercase;font-size:.61rem;font-weight:850}.exam-mobile-folder-nav>div{overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x proximity;gap:.45rem;min-width:0;padding:.2rem 0 .45rem;display:flex;overflow-x:auto}.exam-mobile-folder-nav button{scroll-snap-align:start;min-width:145px;min-height:62px;color:var(--text-primary);font:inherit;text-align:left;background:#ffffffc2;border:1px solid #7454311f;border-radius:11px;flex:none;padding:.65rem .75rem;position:relative}.exam-mobile-folder-nav button.is-active{box-shadow:inset 0 -3px 0 var(--primary-red);background:linear-gradient(135deg,#b71c1c17,#f4c54224);border-color:#b71c1c38}.exam-mobile-folder-nav strong,.exam-mobile-folder-nav small{display:block}.exam-mobile-folder-nav strong{font-size:.72rem;font-weight:830}.exam-mobile-folder-nav small{color:var(--text-secondary);margin-top:.2rem;font-size:.58rem}}@media (width<=700px){.exam-section-overview{gap:.4rem}.exam-section-overview>div{min-height:62px;padding:.65rem}.exam-section-overview strong{font-size:1rem}.exam-section-overview span{font-size:.53rem}.exam-library-row.exam-sheet-card{border-radius:13px;align-items:stretch;gap:.75rem;min-height:0;padding:.85rem}.exam-sheet-heading{flex-direction:column;align-items:flex-start;padding-right:1rem}.exam-sheet-heading .exam-library-exam{flex:none;width:100%}.exam-sheet-badges{justify-content:flex-start}.exam-sheet-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-sheet-card .exam-library-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-sheet-card .exam-library-open{grid-column:1/-1}}@media (width<=420px){.exam-section-overview{grid-template-columns:minmax(0,1fr)}.exam-section-overview>div{min-height:54px}.exam-sheet-card .exam-library-actions{grid-template-columns:minmax(0,1fr)}.exam-sheet-card .exam-library-open{grid-column:auto}.exam-sheet-meta{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.exam-library-row.exam-sheet-card{transition:none;animation:none}}.class-management-page .class-detail-header{background:radial-gradient(circle at 93% 12%,#f4c54224,#0000 32%),linear-gradient(135deg,#fffffff5,#fffaebd1);border:1px solid #7454311c;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(330px,.42fr);align-items:stretch;gap:1rem;margin-bottom:1.45rem;padding:1.15rem;display:grid;box-shadow:0 13px 30px #4a2d1c12}.class-management-page .class-detail-heading{grid-template-columns:minmax(230px,.8fr) minmax(300px,1fr);align-items:center;gap:1.25rem;min-width:0;display:grid}.class-detail-identity{align-items:center;min-width:0;display:flex}.class-detail-eyebrow{color:#98650a;letter-spacing:.075em;text-transform:uppercase;margin-bottom:.22rem;font-size:.59rem;font-weight:850;display:block}.class-management-page .class-detail-header h3{margin:0 0 .45rem;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.12}.class-detail-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-width:0;display:grid}.class-detail-snapshot>div{background:#ffffffb3;border:1px solid #74543117;border-radius:12px;min-width:0;min-height:64px;padding:.72rem}.class-detail-snapshot strong,.class-detail-snapshot span{display:block}.class-detail-snapshot strong{color:var(--primary-red);overflow-wrap:anywhere;font-size:.92rem;font-weight:900;line-height:1.2}.class-detail-snapshot span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem;font-size:.58rem;font-weight:800}.class-detail-tools{border-left:1px solid #7454311a;align-content:center;gap:.7rem;min-width:0;padding-left:1rem;display:grid}.class-management-page .class-grade-level-control{width:100%;box-shadow:none;background:#ffffffad;border-color:#c48f1933;margin-top:0;padding:.62rem .65rem .62rem .75rem}.class-management-page .class-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.class-management-page .class-detail-actions button{border-radius:10px;width:100%;min-height:42px;padding-inline:.7rem}.class-management-page .class-detail-actions .btn-primary{background:linear-gradient(135deg,#f5c43b,#ddb322);box-shadow:0 7px 16px #c48f192e}.class-management-page .class-student-section-heading{align-items:center;margin:0 0 .78rem;padding-inline:.2rem}.class-management-page .class-student-section-heading h4{font-size:1.02rem}.class-management-page .class-student-section-heading>span{text-align:center;min-width:76px;box-shadow:0 3px 9px #4a2d1c09}.class-management-page .class-student-table-wrap{background:#ffffffc2;border-color:#7454311f;border-radius:16px;box-shadow:0 12px 28px #4a2d1c0e}.class-management-page .class-student-table th{color:#6b6259;letter-spacing:.07em;background:linear-gradient(#fff9e7f5,#fff6dab3);padding:.82rem .9rem;font-size:.68rem}.class-management-page .class-student-table td{background:#ffffff61;padding:.82rem .9rem;transition:background-color .15s}.class-management-page .class-student-table tbody tr:nth-child(2n) td{background:#fffbf085}.class-management-page .class-student-table tr:hover td{background:#fff6d7b8}.class-student-name-cell{align-items:center;justify-items:initial;gap:.65rem;display:flex}.class-student-avatar{width:34px;height:34px;color:var(--primary-red);background:linear-gradient(145deg,#fff6df,#fbe8d8);border:1px solid #b71c1c1f;border-radius:10px;flex:0 0 34px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.class-student-name-copy{justify-items:start;gap:.28rem;min-width:0;display:grid}.class-management-page .class-student-table .student-name{color:#29241f;font-size:.78rem;font-weight:780;line-height:1.3}.class-management-page .class-student-id-value{font-variant-numeric:tabular-nums;background:#fff9e5d1;border-radius:7px}.class-management-page .class-student-pet,.class-management-page .class-student-xp{color:#453d35;white-space:nowrap;font-size:.76rem;font-weight:700}.class-management-page .class-student-xp{color:#8c5a08;font-variant-numeric:tabular-nums}.class-management-page .class-student-action-buttons button{background:#ffffffb8;border-radius:9px;min-height:35px}.class-management-page .class-student-action-buttons .student-password-reset-button{background:#fff7dbcc}.class-management-page .class-student-action-buttons .btn-danger-sm{background:#ffeeeabf}@media (width<=1250px){.class-management-page .class-detail-header{grid-template-columns:minmax(0,1fr)}.class-detail-tools{border-top:1px solid #7454311a;border-left:0;grid-template-columns:minmax(290px,.7fr) minmax(300px,1fr);align-items:center;padding:.85rem 0 0}}@media (width<=860px){.class-management-page .class-detail-heading,.class-detail-tools{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.class-management-page .class-detail-header{border-radius:14px;gap:.8rem;padding:.85rem}.class-detail-snapshot{gap:.38rem}.class-detail-snapshot>div{min-height:58px;padding:.6rem}.class-detail-snapshot strong{font-size:.8rem}.class-detail-tools{padding-top:.72rem}.class-management-page .class-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.class-management-page .class-student-table-wrap{box-shadow:none;background:0 0;border:0;border-radius:0}.class-management-page .class-student-table tr{background:#ffffffc2;border-radius:14px;box-shadow:0 8px 20px #4a2d1c0e}.class-management-page .class-student-table td,.class-management-page .class-student-table tbody tr:nth-child(2n) td{background:0 0}.class-management-page .class-student-table td:first-child{background:linear-gradient(135deg,#fff7dccc,#ffffffb3)}.class-management-page .class-student-table .student-name{font-size:.82rem}}@media (width<=430px){.class-detail-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-snapshot>div:last-child{grid-column:1/-1}.class-management-page .class-detail-actions{grid-template-columns:minmax(0,1fr)}}.login-root{background:radial-gradient(at 12% 18%,#b418182e 0%,#0000 35%),radial-gradient(at 88% 82%,#8c0a0a24 0%,#0000 32%),linear-gradient(160deg,#080406 0%,#110809 50%,#180708 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1.5rem 4rem;animation:.7s ease-out pageFade;display:flex;position:relative;overflow-x:hidden}.login-root:before{content:"";pointer-events:none;filter:blur(8px);background:radial-gradient(circle,#b91c1c24 0%,#0000 72%);border-radius:50%;width:520px;height:520px;animation:10s ease-in-out infinite floatOrbOne;position:absolute;top:-140px;right:-140px}.login-root:after{content:"";pointer-events:none;filter:blur(10px);background:radial-gradient(circle,#ef444414 0%,#0000 72%);border-radius:50%;width:420px;height:420px;animation:12s ease-in-out infinite floatOrbTwo;position:absolute;bottom:-80px;left:-80px}.login-container{z-index:10;flex-direction:column;align-items:center;gap:2.5rem;width:100%;max-width:940px;padding-top:1rem;display:flex}.login-brand-centered{text-align:center;flex-direction:column;align-items:center;animation:.8s ease-out both fadeUp;display:flex}.login-kicker{color:#f8fafcd1;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0e;border:1px solid #ffffff1a;border-radius:999px;align-items:center;margin-bottom:1rem;padding:.5rem .85rem;font-size:.76rem;font-weight:700;animation:4s ease-in-out infinite softPulse;display:inline-flex}.login-logo{margin-bottom:1rem;font-size:4rem;animation:3s ease-in-out infinite float}.login-brand h1{background:linear-gradient(135deg,#fff5f5 0%,#fca5a5 35%,#ef4444 70%,#b91c1c 100%);-webkit-text-fill-color:transparent;letter-spacing:-.04em;-webkit-background-clip:text;background-clip:text;margin:0 0 .85rem;font-size:clamp(2.8rem,6vw,4.25rem);font-weight:900;line-height:.98;animation:.9s ease-out both fadeUp}.login-brand-centered p{color:#e2e8f0e0;text-align:center;max-width:560px;margin:0;font-size:1.06rem;line-height:1.75;animation:1s ease-out both fadeUp}.horizontal-features{flex-flow:wrap;justify-content:center;gap:.9rem;margin-top:.25rem;display:flex}.horizontal-features .login-feature-item{color:#e2e8f0e0;cursor:default;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;align-items:center;gap:.75rem;padding:.5rem 1rem .5rem .5rem;font-size:.92rem;font-weight:500;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s,box-shadow .35s;animation:.7s ease-out forwards chipFadeUp;display:flex}.horizontal-features .login-feature-item:first-child{animation-delay:.15s}.horizontal-features .login-feature-item:nth-child(2){animation-delay:.25s}.horizontal-features .login-feature-item:nth-child(3){animation-delay:.35s}.horizontal-features .login-feature-item:nth-child(4){animation-delay:.45s}.horizontal-features .login-feature-item:hover{background:#ffffff0e;border-color:#ffffff1a;transform:translateY(-4px)scale(1.01);box-shadow:0 12px 24px #0000002e}.feature-icon{background:#ffffff08;border:1px solid #ffffff14;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .35s cubic-bezier(.22,1,.36,1);display:flex}.feature-icon svg{width:20px;height:20px}.login-feature-item:hover .feature-icon{transform:scale(1.08)rotate(-3deg)}.login-card-centered{margin:0 auto}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#180b0bb8 0%,#1108089e 100%);border:1px solid #ffffff14;border-radius:26px;width:100%;max-width:460px;padding:2.4rem;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .35s;animation:.85s cubic-bezier(.22,1,.36,1) both cardEnter;box-shadow:0 20px 60px #0000006b,inset 0 0 0 1px #ffffff05}.login-card:hover{border-color:#f8717138;transform:translateY(-4px);box-shadow:0 24px 70px #0000007a,0 0 26px #e060600f}.login-card-wide{max-width:560px}.login-card-header{margin-bottom:2rem}.login-card-header h2{color:#fff;letter-spacing:-.04em;margin:0 0 .65rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;line-height:1.02}.login-card-header p{color:#cbd5e1c7;margin:0;font-size:1rem;line-height:1.65}.login-form{flex-direction:column;gap:1.15rem;display:flex}.form-group{flex-direction:column;gap:.55rem;display:flex}.form-group label{color:#e2e8f0d6;letter-spacing:.01em;font-size:.9rem;font-weight:600}.input-field,.input-textarea{color:#fff;box-sizing:border-box;background:#ffffff06;border:1px solid #ffffff14;border-radius:14px;outline:none;width:100%;min-height:54px;padding:.95rem 1rem;font-size:.98rem;line-height:1.4;transition:border-color .28s,background .28s,box-shadow .28s,transform .28s}.input-field::placeholder,.input-textarea::placeholder{color:#94a3b8e0;transition:opacity .25s,transform .25s}.input-field:focus::placeholder,.input-textarea:focus::placeholder{opacity:.72;transform:translate(2px)}.input-field:hover,.input-textarea:hover{background:#ffffff09;border-color:#ffffff21}.input-field:focus,.input-textarea:focus{background:#ffffff0d;border-color:#ef444480;box-shadow:0 0 0 4px #ef44441c,0 8px 24px #0000002e}.password-toggle-btn{color:#cbd5e1bd;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;transition:background .28s,border-color .28s,color .28s,transform .28s,box-shadow .28s;display:inline-flex;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.password-toggle-btn svg{width:1.05rem;height:1.05rem;transition:transform .28s,opacity .25s}.password-toggle-btn:hover{color:#fff;background:#ffffff12;border-color:#ffffff1f}.password-toggle-btn:hover svg{transform:scale(1.08)}.password-toggle-btn:focus-visible{color:#fff;border-color:#ef444473;outline:none;box-shadow:0 0 0 4px #ef44441f}.login-error{color:#fecaca;background:#ef44441f;border:1px solid #ef444447;border-radius:14px;padding:.95rem 1rem;font-size:.94rem;animation:.4s ease-in-out shake;box-shadow:0 6px 16px #ef444414}.login-success{color:#a7f3d0;background:#10b98124;border:1px solid #10b98152;border-radius:14px;padding:.95rem 1rem;font-size:.94rem}.login-btn{color:#fff;letter-spacing:-.02em;background:linear-gradient(#ef4444 0%,#c81e1e 100%);border:none;border-radius:14px;width:100%;min-height:56px;margin-top:.35rem;padding:1rem 1.1rem;font-size:1.06rem;font-weight:800;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,filter .3s,background .3s;box-shadow:0 14px 28px #ef44443d,0 3px 10px #0003}.login-btn:hover{background:linear-gradient(#f05252 0%,#dc2626 100%);transform:translateY(-2px)scale(1.01);box-shadow:0 18px 36px #ef444452,0 6px 16px #00000038}.login-btn:active{transform:translateY(0)scale(.995)}.login-btn:disabled{opacity:.78;cursor:not-allowed}.btn-loading{justify-content:center;align-items:center;gap:.7rem;display:flex}.spinner{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.login-note{text-align:center;color:#94a3b8d1;margin-top:1.5rem;font-size:.84rem;line-height:1.6;animation:1s ease-out both fadeUp}.login-admin-entry{flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.login-admin-button{color:#e2e8f0;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;padding:.62rem .95rem;font-size:.82rem;font-weight:600;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,background .25s}.login-admin-button:hover{background:#8000001a;border-color:#e0606059;transform:translateY(-1px)}.login-admin-panel{background:#ffffff09;border:1px solid #ffffff12;border-radius:16px;width:100%;padding:1rem;animation:.45s fadeInUp}.login-admin-panel.is-visible{margin-top:1rem}.login-admin-title{color:#e2e8f0;margin-bottom:.65rem;font-size:.92rem;font-weight:700}.login-admin-panel p{color:#e2e8f0d1;margin:.35rem 0;font-size:.86rem}.login-admin-link{color:#f3b3b3;margin-top:.95rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .25s,transform .25s;display:inline-flex}.login-admin-link:hover{color:#fff;transform:translate(2px)}.login-footer-links-spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.login-text-link{color:#cbd5e1d6;font-size:.93rem;text-decoration:none;transition:color .25s,opacity .25s,transform .25s}.login-text-link:hover{color:#fff;transform:translate(2px)}.login-text-link:focus-visible{outline:none;text-decoration:underline}.login-inline-note{color:#94a3b8d1;font-size:.84rem;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.login-card-wide .form-grid{grid-template-columns:1fr}.form-group-full{grid-column:1/-1}.teacher-invite-state{justify-content:center;align-items:center;min-height:calc(100dvh - 7rem)}.teacher-invite-state-card{text-align:center;width:min(100%,520px)}.teacher-invite-state-card h2,.teacher-invite-state-card p{margin:0}.teacher-invite-state-card h2{color:var(--text-primary);margin-top:.5rem;font-size:clamp(1.55rem,4vw,2rem)}.teacher-invite-state-card>p{color:var(--text-secondary);margin-top:.65rem;line-height:1.55}.teacher-invite-state-action{justify-content:center;align-items:center;width:min(100%,240px);min-height:46px;margin:.4rem auto 0;text-decoration:none;display:inline-flex}.teacher-invite-verified{background:#4caf5012;border:1px solid #4caf5047;border-radius:11px;gap:.18rem;padding:.8rem .9rem;display:grid}.teacher-invite-verified strong{color:#25772a;font-size:.8rem}.teacher-invite-verified span{color:var(--text-secondary);font-size:.72rem;line-height:1.4}.teacher-registration-footer{border-top:1px solid #b71c1c1a;justify-content:center;margin-top:1.1rem;padding-top:1rem}.teacher-registration-back-link{min-height:42px;color:var(--primary-red);background:#ffffffad;border:1px solid #b71c1c29;border-radius:10px;justify-content:center;align-items:center;padding:.58rem 1rem;font-size:.78rem;font-weight:720;display:inline-flex}.teacher-registration-back-link:hover{color:var(--primary-red);background:#fff8e6;border-color:#b71c1c57;transform:translateY(-1px);box-shadow:0 7px 16px #6f321c17}.teacher-registration-back-link:focus-visible{outline-offset:2px;outline:3px solid #d4af3752;text-decoration:none}.input-textarea{resize:vertical;min-height:120px}@keyframes pageFade{0%{opacity:0}to{opacity:1}}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes chipFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes softPulse{0%,to{box-shadow:0 0 #ef444414}50%{box-shadow:0 0 0 10px #ef444400}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatOrbOne{0%,to{transform:translate(0,0)}50%{transform:translate(-12px,10px)}}@keyframes floatOrbTwo{0%,to{transform:translate(0,0)}50%{transform:translate(12px,-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.login-root{padding:1.25rem}.login-container{gap:1.8rem}.login-brand-centered h1{font-size:2.3rem}.login-brand-centered p{max-width:92%;font-size:.98rem}.login-card{border-radius:20px;max-width:100%;padding:1.5rem 1.2rem}.login-card-header{margin-bottom:1.5rem}.login-card-header h2{font-size:1.8rem}.form-grid{grid-template-columns:1fr}.horizontal-features{gap:.75rem}.horizontal-features .login-feature-item{justify-content:flex-start;width:calc(50% - .4rem)}.login-footer-links-spread{flex-direction:column;align-items:flex-start}}@media (width<=520px){.login-root{padding:1rem}.login-brand h1{font-size:2rem}.login-brand-centered p{font-size:.92rem}.horizontal-features{flex-direction:column;width:100%}.horizontal-features .login-feature-item{width:100%}.login-card-header h2{font-size:1.65rem}.input-field,.input-textarea{min-height:50px}.login-btn{min-height:52px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-root{background:radial-gradient(at 12% 18%,#f4c54233 0%,#0000 35%),radial-gradient(at 88% 82%,#b71c1c1a 0%,#0000 32%),linear-gradient(160deg,#faf9f6 0%,#fff8e1 55%,#faf9f6 100%)}.login-root:before{background:radial-gradient(circle,#f4c54238 0%,#0000 72%)}.login-root:after{background:radial-gradient(circle,#b71c1c17 0%,#0000 72%)}.login-kicker,.horizontal-features .login-feature-item,.feature-icon,.login-admin-button,.login-admin-panel{color:var(--text-primary);background:#fff8e1db;border-color:#b71c1c24}.login-kicker{color:var(--primary-red);border-color:#d4af376b}.login-brand h1{background:linear-gradient(135deg, var(--primary-red) 0%, var(--secondary-red) 42%, var(--primary-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-brand-centered p,.login-card-header p,.login-note,.login-inline-note,.login-admin-panel p{color:var(--text-secondary)}.horizontal-features .login-feature-item:hover,.login-card:hover{background:#fff;border-color:#d4af3780;box-shadow:0 18px 36px #b71c1c1f}.glow-icon-red{color:var(--secondary-red);background:radial-gradient(circle at 0 0,#d32f2f29,#0000 70%);border-color:#d32f2f59}.glow-icon-yellow{color:var(--primary-gold);background:radial-gradient(circle at 0 0,#f4c54252,#0000 70%);border-color:#d4af3766}.glow-icon-blue{color:var(--pet-highlight);background:radial-gradient(circle at 0 0,#4fc3f733,#0000 70%);border-color:#4fc3f76b}.glow-icon-green{color:var(--success);background:radial-gradient(circle at 0 0,#4caf502e,#0000 70%);border-color:#4caf505c}.glow-icon-purple{color:var(--primary-red);background:radial-gradient(circle at 0 0,#b71c1c1f,#0000 70%);border-color:#b71c1c4d}.login-card{background:linear-gradient(#fff8e1f5 0%,#ffffffeb 100%);border-color:#b71c1c24;box-shadow:0 20px 60px #b71c1c21,inset 0 0 0 1px #ffffffa6}.login-card-header h2,.form-group label,.login-admin-title{color:var(--text-primary)}.input-field,.input-textarea{color:var(--text-primary);background:#fff;border-color:#b71c1c29}.input-field::placeholder,.input-textarea::placeholder{color:#616161b3}.input-field:hover,.input-textarea:hover,.input-field:focus,.input-textarea:focus{background:#fff;border-color:#d4af379e;box-shadow:0 0 0 4px #f4c54238,0 8px 24px #b71c1c1a}.password-toggle-btn{color:var(--text-secondary);background:#fff8e1b8;border-color:#b71c1c24}.password-toggle-btn:hover,.password-toggle-btn:focus-visible,.password-toggle-btn[aria-pressed=true]{color:var(--primary-red);background:#f4c54233;border-color:#d4af3780}.login-error{color:var(--danger);background:#e539351a;border-color:#e5393547}.login-success{color:var(--success);background:#4caf501f;border-color:#4caf5052}.login-btn{background:linear-gradient(180deg, var(--light-gold) 0%, var(--primary-gold) 100%);color:var(--primary-red);box-shadow:0 14px 28px #d4af374d,0 3px 10px #b71c1c1f}.login-btn:hover{background:linear-gradient(180deg, gold 0%, var(--primary-gold) 100%);box-shadow:0 18px 36px #d4af375c,0 6px 16px #b71c1c24}.spinner{border-color:#b71c1c38;border-top-color:var(--primary-red)}.login-admin-button:hover{background:#f4c5422e;border-color:#d4af3773}.login-admin-link,.login-text-link{color:var(--primary-red)}.login-admin-link:hover,.login-text-link:hover{color:var(--secondary-red)}.login-card-centered{background:radial-gradient(circle at 100% 0,#f4c5421f,#0000 28%),linear-gradient(#fffaebfa,#fffffff2);border-radius:24px;width:min(100%,490px);max-width:490px;padding:2.35rem;position:relative;overflow:hidden;box-shadow:0 24px 64px #59302421,inset 0 0 0 1px #ffffffc7}.login-card-centered:hover{background:radial-gradient(circle at 100% 0,#f4c5421f,#0000 28%),linear-gradient(#fffaebfa,#fffffff2);border-color:#b71c1c29;transform:none;box-shadow:0 24px 64px #59302421,inset 0 0 0 1px #ffffffc7}.login-card-centered .login-card-header{border-bottom:1px solid #b71c1c17;margin-bottom:1.8rem;padding-bottom:1.35rem}.login-card-eyebrow{color:#8a6500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.55rem;font-size:.66rem;font-weight:800;display:block}.login-card-centered .login-card-header h2{text-align:center;margin-bottom:.55rem;font-size:clamp(2rem,5vw,2.55rem);line-height:1.04}.login-card-centered .login-card-header p{max-width:390px;font-size:.92rem;line-height:1.58}.login-card-centered .form-group label{font-size:.78rem;font-weight:750}.login-remember-option{color:#4f4944;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;width:fit-content;min-height:32px;padding:.25rem .2rem;font-size:.78rem;font-weight:700;line-height:1.3;display:inline-flex}.login-remember-option input{width:18px;height:18px;accent-color:var(--primary-red);cursor:pointer;flex:0 0 18px;margin:0}.login-remember-option:hover{color:var(--primary-red)}.login-remember-option:focus-within{outline:none}.login-remember-option input:focus,.login-remember-option input:focus-visible{box-shadow:none;outline:none}.login-card-centered .input-field{border-radius:12px;min-height:54px;font-size:.9rem}.login-card-centered .password-toggle-btn{touch-action:manipulation;padding:0;line-height:0;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;top:50%;bottom:auto;right:.7rem}.login-card-centered .password-toggle-btn svg{flex:0 0 1.05rem;width:1.05rem;height:1.05rem;transition:none;display:block;transform:none}.password-eye-slash{opacity:1;transition:opacity .16s}.password-eye-icon.is-open .password-eye-slash{opacity:0}.login-card-centered .password-toggle-btn:hover svg,.login-card-centered .password-toggle-btn:active svg{transform:none}.login-card-centered .password-toggle-btn:hover{color:var(--text-secondary);box-shadow:none;background:#fff8e1b8;border-color:#b71c1c24}.login-card-centered .password-toggle-btn:active{transform:translateY(-50%)}.login-card.login-card-centered:hover{transform:none}.login-card-centered .password-toggle-btn,.login-card-centered .password-toggle-btn:hover,.login-card-centered .password-toggle-btn:active,.login-card-centered .password-toggle-btn[aria-pressed=true]{color:var(--text-secondary);box-shadow:none;background:#fff8e1b8;border-color:#b71c1c24;transition:none!important;animation:none!important;transform:translateY(-50%)!important}.login-card-centered .password-toggle-btn svg,.login-card-centered .password-toggle-btn:hover svg,.login-card-centered .password-toggle-btn:active svg,.login-card-centered .password-eye-slash{transition:none!important;animation:none!important;transform:none!important}.login-card-centered .password-toggle-btn:focus-visible{outline-offset:2px;color:var(--text-secondary);box-shadow:none;background:#fff8e1b8;border-color:#b71c1c24;outline:2px solid #b71c1c7a;transform:translateY(-50%)!important}.login-card-centered .login-btn{border-radius:12px;min-height:54px;margin-top:.25rem;font-size:.94rem;font-weight:800}.login-access-help{border-top:1px solid #b71c1c17;gap:.75rem;margin-top:1.1rem;padding-top:1rem;display:grid}.login-note-panel{text-align:left;background:#f4c54214;border-radius:9px;margin:0;padding:.75rem .85rem;font-size:.72rem;line-height:1.5}.login-teacher-cta{background:#ffffffb3;border:1px solid #b71c1c1c;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.85rem;display:grid}.login-teacher-cta strong,.login-teacher-cta span{display:block}.login-teacher-cta strong{color:var(--text-primary);font-size:.76rem}.login-teacher-cta span{color:var(--text-secondary);margin-top:.2rem;font-size:.66rem;line-height:1.4}.login-teacher-link{white-space:nowrap;background:#fff8e1d1;border:1px solid #b71c1c29;border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:.5rem .7rem;font-size:.72rem;font-weight:750;display:inline-flex}.login-teacher-link:hover{background:#f4c54229;border-color:#d4af377a;transform:none}@media (width<=560px){.login-card-centered{border-radius:18px;padding:1.4rem 1.15rem}.login-card-centered .login-card-header{margin-bottom:1.25rem;padding-bottom:1rem}.login-card-centered .login-card-header h2{font-size:1.85rem}.login-teacher-cta{grid-template-columns:minmax(0,1fr)}.login-teacher-link{width:100%;min-height:42px}}.login-card.login-card-centered{isolation:isolate;background:radial-gradient(circle at 92% 5%,#f4c54229,#0000 30%),linear-gradient(155deg,#fffcf2fc,#fffffff7);border:1px solid #b71c1c24;border-radius:28px;width:min(100%,520px);max-width:520px;padding:clamp(2rem,4vw,2.75rem);overflow:hidden;transform:none;box-shadow:0 26px 70px #522f1f21,0 8px 24px #b71c1c0d,inset 0 1px #ffffffeb}.login-card.login-card-centered:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#f4c5422b,#f4c54200 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-105px;right:-90px}.login-card.login-card-centered:hover{background:radial-gradient(circle at 92% 5%,#f4c54229,#0000 30%),linear-gradient(155deg,#fffcf2fc,#fffffff7);border-color:#b71c1c24;transform:none;box-shadow:0 26px 70px #522f1f21,0 8px 24px #b71c1c0d,inset 0 1px #ffffffeb}.login-card-centered .login-card-header{text-align:center;border-bottom:0;flex-direction:column;align-items:center;margin-bottom:1.8rem;padding-bottom:1.55rem;display:flex;position:relative}.login-card-centered .login-card-header:after{content:"";background:linear-gradient(90deg,#0000,#b71c1c33,#0000);width:min(100%,350px);height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.login-card-centered .login-card-eyebrow{color:#855f00;letter-spacing:.11em;text-align:center;text-transform:uppercase;background:#f4c5421f;border:1px solid #d4af3740;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:27px;margin:0 0 .9rem;padding:.4rem .75rem;font-size:.66rem;font-weight:850;line-height:1;display:inline-flex}.login-card-centered .login-card-header h2{color:#1f1b19;letter-spacing:-.045em;text-align:center;margin:0 0 .65rem;font-size:clamp(2.15rem,4vw,2.75rem);font-weight:900;line-height:1}.login-card-centered .login-card-header p{color:#68615e;text-align:center;max-width:410px;margin:0;font-size:.94rem;line-height:1.55}.login-card-centered .login-form{gap:1.15rem}.login-card-centered .form-group{gap:.5rem}.login-card-centered .form-group label{color:#312b28;letter-spacing:-.005em;padding-left:.1rem;font-size:.79rem;font-weight:800;line-height:1.2}.login-card-centered .input-field{color:#211d1b;background:#ffffffe6;border:1px solid #b71c1c2b;border-radius:15px;min-height:58px;padding:.95rem 1rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background-color .18s;transform:none;box-shadow:inset 0 1px 2px #44281c06}.login-card-centered .input-field:hover{background:#fff;border-color:#b71c1c45;transform:none;box-shadow:inset 0 1px 2px #44281c06}.login-card-centered .input-field:focus{background:#fff;border-color:#c99919c7;transform:none;box-shadow:0 0 0 4px #f4c54233,0 8px 20px #633f2a12}.login-card-centered .input-field::placeholder{color:#908a86;opacity:1;transform:none}.login-card-centered .input-field:focus::placeholder{opacity:.7;transform:none}.login-card-centered .password-input{padding-right:4.1rem}.login-card-centered .password-toggle-btn,.login-card-centered .password-toggle-btn:hover,.login-card-centered .password-toggle-btn:active,.login-card-centered .password-toggle-btn[aria-pressed=true]{color:#6d6662;width:2.5rem;height:2.5rem;box-shadow:none;background:#fff9e9;border-color:#b71c1c21;right:.72rem;transform:translateY(-50%)!important}.login-card-centered .password-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #b71c1c73;transform:translateY(-50%)!important}.login-card-centered .login-error,.login-card-centered .login-success{box-shadow:none;border-radius:13px;padding:.85rem .95rem;font-size:.83rem;line-height:1.45}.login-card-centered .login-lockout-status{color:#7c2d12;background:#fff7edeb;border:1px solid #c2410c33;border-radius:13px;justify-content:space-between;align-items:center;gap:.8rem;min-height:48px;margin-top:-.25rem;padding:.7rem .85rem;font-size:.78rem;display:flex}.login-card-centered .login-lockout-status span{font-weight:700}.login-card-centered .login-lockout-status strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem}.login-card-centered .login-contact-admin-note{color:#625651;background:#fffaeef2;border:1px solid #b71c1c29;border-radius:13px;gap:.18rem;margin-top:-.3rem;padding:.8rem .9rem;font-size:.78rem;line-height:1.4;display:grid}.login-card-centered .login-contact-admin-note strong{color:#a51d1d;font-size:.8rem}.login-card-centered .login-btn{color:#ad1919;letter-spacing:.005em;background:linear-gradient(135deg,#f8c940 0%,#e2b52d 100%);border:1px solid #b9870638;border-radius:15px;min-height:58px;margin-top:.25rem;font-size:.95rem;font-weight:850;transition:background .18s,border-color .18s,box-shadow .18s;transform:none;box-shadow:0 12px 24px #c8991d3b,inset 0 1px #ffffff61}.login-card-centered .login-btn:hover{background:linear-gradient(135deg,#ffd252 0%,#e9bb31 100%);border-color:#b71c1c33;transform:none;box-shadow:0 14px 28px #c8991d47,inset 0 1px #ffffff6b}.login-card-centered .login-btn:active{background:linear-gradient(135deg,#efbd31 0%,#d9aa24 100%);transform:none;box-shadow:0 7px 16px #c8991d33}.login-card-centered .login-btn:focus-visible{outline-offset:3px;outline:3px solid #b71c1c42}.login-card-centered .login-btn:disabled,.login-card-centered .login-btn:disabled:hover,.login-card-centered .login-btn:disabled:active{color:#75684b;box-shadow:none;cursor:not-allowed;opacity:.82;background:linear-gradient(135deg,#eadcae 0%,#d8c68c 100%);border-color:#806a4229;transform:none}@media (width<=720px){.login-card.login-card-centered{border-radius:24px;width:min(100%,500px);padding:2rem}}@media (width<=560px){.login-card.login-card-centered{border-radius:21px;width:100%;padding:1.55rem 1.2rem 1.35rem;box-shadow:0 18px 44px #522f1f1f,inset 0 1px #ffffffe6}.login-card-centered .login-card-header{margin-bottom:1.4rem;padding-bottom:1.25rem}.login-card-centered .login-card-eyebrow{margin-bottom:.75rem;font-size:.61rem}.login-card-centered .login-card-header h2{font-size:clamp(2rem,10vw,2.3rem)}.login-card-centered .login-card-header p{font-size:.88rem}.login-card-centered .input-field,.login-card-centered .login-btn{min-height:54px}}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input{padding-right:3.5rem}.password-toggle-btn{width:2.2rem;height:2.2rem;color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex;position:absolute;right:.7rem}.password-toggle-btn svg{width:1rem;height:1rem}.password-toggle-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff24;transform:translateY(-1px)}.password-toggle-btn:active{transform:scale(.96)}.login-admin-title h3{margin:0 0 .35rem}.login-admin-title p{margin:0}.login-admin-list{flex-direction:column;gap:.5rem;display:flex}.login-admin-list p{margin:0}.login-footer-links{justify-content:flex-end;margin-top:.75rem;display:flex}.login-text-link{color:var(--text-secondary);text-decoration:none;transition:color .2s}.login-text-link:hover{color:#fff}.admin-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;display:grid}.admin-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;gap:1.25rem;padding:2rem;display:flex;box-shadow:0 4px 30px #0000001a}.admin-panel-head{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;padding-bottom:1rem;display:flex}.admin-panel-head h3{color:#fff;margin:0 0 .35rem;font-size:1.4rem}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.admin-sync-meta{text-align:right;color:var(--text-secondary);flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.admin-banner{border:1px solid #0000;border-radius:12px;padding:1.25rem 1.5rem;font-weight:500;animation:.3s ease-out fadeSlide;box-shadow:0 4px 6px #0000001a}.admin-banner-success{color:#a7f3d0;background:#10b9811f;border-color:#10b9814d}.admin-banner-error{color:#fca5a5;background:#ef44441f;border-color:#ef44444d}.admin-account-list{flex-direction:column;gap:1.25rem;display:flex}.admin-account-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s;display:flex}.admin-account-card:hover{background:#ffffff0a;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.admin-account-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-account-head h4{color:#f8fafc;margin:0 0 .25rem;font-size:1.15rem}.admin-account-head p{color:var(--text-secondary);margin:0}.admin-status{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .85rem;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 0 10px #0000001a}.admin-status-pending{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b4d;box-shadow:0 0 15px #f59e0b1a}.admin-status-approved{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d;box-shadow:0 0 15px #10b9811a}.admin-status-rejected{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d;box-shadow:0 0 15px #ef44441a}.admin-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:.5rem;display:grid}.admin-info-grid div,.admin-note-block{flex-direction:column;gap:.4rem;display:flex}.admin-info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.admin-note-block{background:#0003;border:1px solid #ffffff05;border-radius:10px;padding:1rem}.admin-note-block p{color:#cbd5e1;margin:0;line-height:1.5}.admin-card-actions{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.admin-card-actions>*{flex:none}.admin-empty{text-align:center;min-height:220px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.admin-table-primary{color:#fff;font-weight:600}@media (width<=1100px){.admin-layout{grid-template-columns:1fr}}@media (width<=700px){.admin-account-head,.admin-panel-head,.admin-header-actions{flex-direction:column}.admin-info-grid{grid-template-columns:1fr}.admin-sync-meta{text-align:left}}.password-toggle-btn,.admin-panel,.admin-account-card,.admin-note-block{background:var(--card-bg);color:var(--text-primary);border-color:#b71c1c24;box-shadow:0 10px 28px #b71c1c14}.password-toggle-btn:hover,.admin-account-card:hover{color:var(--primary-red);background:#fff;border-color:#d4af3780;box-shadow:0 14px 34px #b71c1c1f}.password-toggle-btn[aria-pressed=true]{color:var(--primary-red);background:#f4c54233;border-color:#d4af3773}.admin-panel-head{border-bottom-color:#b71c1c1f}.admin-panel-head h3,.admin-account-head h4,.admin-table-primary{color:var(--text-primary)}.admin-banner-success,.admin-status-approved{color:var(--success);background:#4caf501f;border-color:#4caf5057}.admin-banner-error,.admin-status-rejected{color:var(--danger);background:#e539351a;border-color:#e539354d}.admin-status-pending{color:#8a6500;background:#ffc1072e;border-color:#ffc1076b}.admin-note-block p{color:var(--text-secondary)}.admin-access-settings{border:1px solid var(--glass-border);background:#ffffff06;border-radius:12px;margin-bottom:1.25rem}.admin-access-settings summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;list-style:none;display:flex}.admin-access-settings summary::-webkit-details-marker{display:none}.admin-access-settings summary:after{content:"+";color:var(--text-secondary);margin-left:auto;font-size:1.15rem}.admin-access-settings[open] summary:after{content:"−"}.admin-access-settings summary span{font-size:.9rem;font-weight:600}.admin-access-settings summary small{opacity:.7;font-size:.78rem}.admin-access-settings-content{border-top:1px solid var(--glass-border);padding:0 1rem 1rem}.admin-access-settings-content>.muted{margin:.85rem 0}.admin-permission-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.admin-permission-card{border:1px solid var(--glass-border);background:#ffffff08;border-radius:14px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.admin-permission-list{flex:1;gap:.7rem;display:grid}.admin-permission-option{cursor:pointer;align-items:flex-start;gap:.65rem;line-height:1.4;display:flex}.admin-permission-option input{width:18px;height:18px;accent-color:var(--accent,#d4af37);margin-top:.1rem}.admin-permission-option:has(input:disabled){cursor:default;opacity:.75}.admin-dashboard-shell{width:100%;min-width:0;padding:clamp(.75rem,1.25vw,1.25rem);position:relative}.admin-dashboard-loading{text-align:center;width:min(100%,720px);margin-inline:auto}.admin-dashboard-page{gap:1rem;width:min(100%,1680px);min-width:0;margin-inline:auto}@media (width>=1200px){.admin-dashboard-page{width:min(100%,1680px);margin-inline:auto}.admin-dashboard-page .admin-layout,.admin-dashboard-page #admin-account-directory{width:100%;max-width:none}}.admin-dashboard-page>*{min-width:0}.admin-dashboard-page>.t-header{background:radial-gradient(circle at 92% 5%,#f4c5422e,#0000 30%),linear-gradient(135deg,#fffffff0,#fffaeedb);border:1px solid #b71c1c1f;border-radius:18px;align-items:center;gap:clamp(1rem,2vw,1.75rem);padding:clamp(1rem,1.6vw,1.3rem) clamp(1.1rem,2vw,1.5rem);position:relative;overflow:hidden;box-shadow:0 12px 32px #4a2d1c12}.admin-dashboard-page>.t-header h2,.admin-dashboard-page>.t-header p{margin:0}.admin-dashboard-page>.t-header h2{color:var(--text-primary);letter-spacing:-.045em;font-size:clamp(1.65rem,2.4vw,2rem);font-weight:850;line-height:1.08}.admin-dashboard-page>.t-header p{max-width:680px;color:var(--text-secondary);margin-top:.38rem;font-size:.86rem;line-height:1.5}.admin-dashboard-page .admin-header-actions{background:#ffffffa8;border:1px solid #b71c1c1a;border-radius:13px;flex-wrap:nowrap;gap:.55rem;padding:.38rem}.admin-dashboard-page .admin-sync-meta{min-width:170px;font-size:.7rem}.admin-dashboard-page .admin-header-actions .btn-ghost{white-space:nowrap;background:#fff8e6d1;border-radius:10px;min-height:40px;padding-inline:.9rem;font-weight:750}.admin-dashboard-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%;display:grid}.admin-dashboard-page .stat-card{background:#ffffffc7;border:1px solid #b71c1c1f;border-radius:15px;flex-direction:column;justify-content:center;min-width:0;min-height:108px;padding:1.05rem 1.2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #4a2d1c12}.admin-dashboard-page .stat-card:after{content:none}.admin-dashboard-page .stat-card-value{color:var(--primary-red);overflow-wrap:anywhere;font-size:2rem;font-weight:850;line-height:1;display:block}.admin-dashboard-page .stat-card-label{color:var(--text-secondary);text-transform:uppercase;overflow-wrap:anywhere;margin-top:.5rem;font-size:.67rem;font-weight:750;line-height:1.3;display:block}.admin-dashboard-page .admin-summary-card-pending{--summary-accent:#c68a00;--summary-border:#c68a0061;--summary-glow:#f4c54233;--summary-shadow:#c68a0024}.admin-dashboard-page .admin-summary-card-approved{--summary-accent:#3f9148;--summary-border:#3f914857;--summary-glow:#4caf5026;--summary-shadow:#3f914821}.admin-dashboard-page .admin-summary-card-rejected{--summary-accent:#d83232;--summary-border:#d8323257;--summary-glow:#e5393524;--summary-shadow:#d8323221}.admin-dashboard-page .admin-summary-card-approved .stat-card-value{color:#33823c}.admin-dashboard-page .admin-summary-card-rejected .stat-card-value{color:#c92b2b}.admin-dashboard-page .admin-summary-card{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;isolation:isolate;transition:transform .22s,border-color .22s,background-color .22s,box-shadow .22s}.admin-dashboard-page .admin-summary-card:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle at 88% 18%, var(--summary-glow,#f4c54238), transparent 38%), linear-gradient(135deg, #ffffffeb, #fff8e6b8);opacity:0;transition:opacity .22s,transform .22s;position:absolute;inset:0;transform:scale(.97)}.admin-dashboard-page .admin-summary-card>*{z-index:1;position:relative}.admin-dashboard-page .admin-summary-card .stat-card-value{transition:color .22s,transform .22s}.admin-dashboard-page .admin-summary-card:hover{z-index:1;border-color:#b71c1c4d;transform:translateY(-2px);box-shadow:0 16px 32px #6f321c24}.admin-dashboard-page .admin-summary-card:hover:before,.admin-dashboard-page .admin-summary-card:focus-visible:before{opacity:1;transform:scale(1)}.admin-dashboard-page .admin-summary-card:hover .stat-card-value{transform:translate(3px)scale(1.04)}.admin-dashboard-page .admin-summary-card:active{transform:translateY(-1px)scale(.992);box-shadow:0 8px 18px #6f321c1c}.admin-dashboard-page .admin-summary-card:focus-visible{outline-offset:3px;outline:3px solid #d4af3761}.admin-dashboard-page .admin-summary-card.is-active{border-color:var(--summary-border,#b71c1c52);box-shadow:0 14px 32px var(--summary-shadow,#b71c1c1f);background:linear-gradient(135deg,#fff,#fff8e6)}.admin-dashboard-page .admin-summary-card.is-active:before{opacity:.72;transform:scale(1)}#admin-pending-accounts,#admin-account-directory{scroll-margin-top:6rem}.admin-dashboard-page .admin-layout,.admin-dashboard-page .admin-permission-grid,.admin-dashboard-page .form-grid,.admin-dashboard-page .admin-info-grid{min-width:0}.admin-dashboard-page .admin-layout{flex-direction:column;align-items:stretch;gap:1rem;width:100%;margin-inline:auto;display:flex}.admin-dashboard-page #admin-pending-accounts{background:radial-gradient(circle at 96% 0,#f4c54221,#0000 28%),#fffbefe0;border-color:#d4af3766;order:1;align-self:stretch;width:100%;min-height:0;padding:1.25rem 1.35rem;box-shadow:0 18px 42px #5a341d17}.admin-dashboard-page #admin-pending-accounts .admin-empty{background:#ffffff61;border:1px dashed #b71c1c24;border-radius:13px;min-height:132px;font-size:.88rem}.admin-dashboard-page .admin-create-account-panel{scroll-margin-top:6rem;transition:width .24s,box-shadow .24s,border-color .24s}.admin-dashboard-page .admin-create-account-panel.is-compact{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff94;border:1px solid #b71c1c1a;border-radius:15px;order:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-self:stretch;gap:.6rem;width:100%;padding:.55rem;display:grid;box-shadow:0 10px 28px #4a2d1c0f}.admin-dashboard-page .admin-create-trigger{width:100%;min-height:60px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:linear-gradient(135deg,#fff,#fff8e6);border:1px solid #b71c1c2e;border-radius:12px;justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem .8rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.admin-dashboard-page .admin-create-trigger>span:first-child{gap:.12rem;min-width:0;display:grid}.admin-dashboard-page .admin-create-trigger strong{color:var(--primary-red);font-size:.84rem;line-height:1.2}.admin-dashboard-page .admin-create-trigger small{color:var(--text-secondary);font-size:.66rem;line-height:1.3}.admin-dashboard-page .admin-create-trigger-action{color:#9f1d1d;white-space:nowrap;background:#f4c54233;border-radius:999px;flex:none;min-width:64px;padding:.38rem .58rem;font-size:.66rem;font-weight:750}.admin-dashboard-page .admin-create-trigger:hover{border-color:#b71c1c61;transform:translateY(-2px);box-shadow:0 13px 26px #6f321c21}.admin-dashboard-page .admin-create-trigger:active{transform:translateY(0)scale(.992)}.admin-dashboard-page .admin-create-trigger:disabled{cursor:wait;opacity:.7;transform:none}.admin-dashboard-page .admin-invite-trigger{background:linear-gradient(135deg,#fffdf7,#fff4cf);border-color:#d4af3757}.admin-dashboard-page .admin-invite-trigger strong{color:#8b6100}.admin-dashboard-page .admin-invite-trigger .admin-create-trigger-action{background:#b71c1c17}.admin-dashboard-page .admin-create-trigger:focus-visible,.admin-dashboard-page .admin-create-close:focus-visible{outline-offset:3px;outline:3px solid #d4af3761}.admin-dashboard-page .admin-create-account-panel.is-open{border-color:#b71c1c38;order:2;align-self:center;width:min(100%,880px);animation:.26s ease-out adminCreateFormIn;box-shadow:0 18px 42px #6f321c1c}.admin-dashboard-shell.admin-create-mode .admin-dashboard-page>.t-header,.admin-dashboard-shell.admin-create-mode .admin-dashboard-page>.stats-grid,.admin-dashboard-shell.admin-create-mode #admin-pending-accounts,.admin-dashboard-shell.admin-create-mode #admin-account-directory{display:none}.admin-dashboard-shell.admin-create-mode .admin-dashboard-page{justify-content:flex-start;min-height:calc(100dvh - 2rem)}.admin-dashboard-shell.admin-create-mode .admin-layout{justify-content:center;width:100%;min-height:calc(100dvh - 4rem)}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel.is-open{background:radial-gradient(circle at 92% 8%,#f4c54221,#0000 26%),#ffffffe0;border-color:#b71c1c38;order:0;width:min(100%,980px);padding:clamp(1.25rem,2vw,2rem)}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .admin-panel-head{align-items:center;margin-bottom:.25rem}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .admin-panel-head h3{font-size:clamp(1.35rem,2vw,1.75rem)}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .admin-panel-head p{max-width:620px;font-size:.86rem}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .login-form{gap:1rem}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .form-grid{gap:.85rem 1rem}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .form-group-full{grid-column:auto}.admin-dashboard-page .admin-create-password-visibility{grid-column:1/-1;justify-content:flex-end;margin-top:-.35rem;display:flex}.admin-dashboard-page .admin-create-password-visibility button{min-height:34px;color:var(--primary-red);font:inherit;cursor:pointer;background:#fffbefe0;border:1px solid #b71c1c2e;border-radius:9px;padding:.42rem .72rem;font-size:.7rem;font-weight:750;transition:border-color .16s,background-color .16s,box-shadow .16s}.admin-dashboard-page .admin-create-password-visibility button:hover,.admin-dashboard-page .admin-create-password-visibility button[aria-pressed=true]{background:#fff3d2;border-color:#b71c1c57;box-shadow:0 4px 12px #6f321c14}.admin-dashboard-page .admin-create-password-visibility button:focus-visible{outline-offset:2px;outline:3px solid #d4af3761}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .input-field{min-height:46px}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .input-textarea{min-height:88px}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .btn-primary[type=submit]{align-self:flex-end;width:min(100%,260px);min-height:46px}.admin-dashboard-page .admin-create-close{min-height:38px;color:var(--primary-red);font:inherit;cursor:pointer;background:#ffffffbd;border:1px solid #b71c1c2e;border-radius:10px;flex:none;padding:.55rem .8rem;font-size:.75rem;font-weight:700;transition:background-color .2s,border-color .2s}.admin-dashboard-page .admin-create-close:hover{background:#fff;border-color:#b71c1c57}.admin-dashboard-page .admin-queue-count{color:#9f1d1d;background:#f4c54229;border:1px solid #b71c1c29;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:28px;padding:.32rem .62rem;font-size:.66rem;font-weight:750;display:inline-flex}@keyframes adminCreateFormIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-dashboard-page .admin-panel{border-radius:16px;min-width:0;padding:1.25rem}.admin-dashboard-page .admin-panel-head{align-items:center;margin-bottom:.15rem;padding-bottom:.85rem}.admin-dashboard-page .admin-panel-head h3,.admin-dashboard-page .admin-panel-head p{margin:0}.admin-dashboard-page .admin-panel-head h3{letter-spacing:-.025em;font-size:1.18rem;font-weight:820}.admin-dashboard-page .admin-panel-head p{color:var(--text-secondary);margin-top:.35rem;font-size:.82rem;line-height:1.45}.admin-dashboard-page .admin-account-card,.admin-dashboard-page .admin-permission-card{border-radius:11px;min-width:0;padding:1rem}.admin-dashboard-page .admin-account-head>div,.admin-dashboard-page .admin-info-grid>div{min-width:0}.admin-dashboard-page .admin-account-head h4,.admin-dashboard-page .admin-account-head p,.admin-dashboard-page .admin-info-grid span,.admin-dashboard-page .admin-note-block p{overflow-wrap:anywhere}.admin-dashboard-page .admin-status{text-align:center;flex:none;max-width:100%;padding:.32rem .65rem;font-size:.66rem;line-height:1.2}.admin-dashboard-page .admin-card-actions .btn-primary,.admin-dashboard-page .admin-card-actions .btn-ghost,.admin-dashboard-page .admin-permission-card .btn-primary{min-height:40px}.admin-dashboard-page .admin-access-settings{background:#ffffff85;min-width:0;overflow:hidden}.admin-dashboard-page .admin-access-settings summary{min-height:48px}.admin-dashboard-page .admin-access-settings-content{min-width:0}.admin-directory-table-wrap{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.admin-directory-table{min-width:1080px;margin-top:0}.admin-directory-table.admin-directory-table-compact{min-width:880px}.admin-directory-table th,.admin-directory-table td{vertical-align:middle}.admin-employee-id{color:#5f554c;white-space:nowrap;background:#fff8e1b8;border:1px solid #d4af373d;border-radius:8px;align-items:center;min-height:28px;padding:.28rem .55rem;font-size:.76rem;font-weight:700;display:inline-flex}.admin-dashboard-page .admin-table-action,.admin-dashboard-page .admin-manage-login-button{min-height:38px;color:var(--primary-red);font:inherit;white-space:nowrap;cursor:pointer;background:#ffffffc2;border:1px solid #b71c1c33;border-radius:9px;padding:.5rem .72rem;font-size:.72rem;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s}.admin-dashboard-page .admin-table-action:hover,.admin-dashboard-page .admin-manage-login-button:hover{background:#fff8e6;border-color:#b71c1c61;transform:translateY(-1px);box-shadow:0 7px 16px #6f321c1a}.admin-dashboard-page .admin-table-action:focus-visible,.admin-dashboard-page .admin-manage-login-button:focus-visible{outline-offset:2px;outline:3px solid #d4af3757}.admin-dashboard-shell .modal.admin-credentials-modal{background:radial-gradient(circle at 92% 4%,#f4c54224,#0000 28%),#fffaf0;border-color:#b71c1c2e;gap:1rem;width:min(100%,680px);padding:clamp(1.15rem,2.4vw,1.65rem);overflow-x:hidden;box-shadow:0 24px 64px #3d231438}.admin-credentials-heading{border-bottom:1px solid #b71c1c1f;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.admin-credentials-heading h3,.admin-credentials-heading p{margin:0}.admin-credentials-heading h3{color:var(--text-primary);margin-top:.28rem;font-size:clamp(1.3rem,2.5vw,1.55rem);line-height:1.15}.admin-credentials-eyebrow{color:#9a6b00;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:800}.admin-credentials-identity{background:#ffffffa3;border:1px solid #b71c1c1a;border-radius:12px;align-items:center;gap:.58rem;width:fit-content;max-width:100%;margin-top:.65rem;padding:.48rem .62rem .48rem .48rem;display:flex}.admin-credentials-avatar{width:34px;height:34px;color:var(--primary-red);background:linear-gradient(135deg,#b71c1c1f,#f4c54238);border:1px solid #b71c1c2e;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;font-size:.82rem;font-weight:850;display:inline-flex}.admin-credentials-identity>span:last-child{gap:.08rem;min-width:0;display:grid}.admin-credentials-identity strong,.admin-credentials-identity small{overflow-wrap:anywhere}.admin-credentials-identity strong{color:var(--text-primary);font-size:.8rem}.admin-credentials-identity small{color:var(--primary-red);font-size:.7rem;font-weight:650}.admin-password-required-badge{color:#b71c1c;text-align:center;background:#e5393514;border:1px solid #e539353d;border-radius:999px;flex:none;padding:.38rem .62rem;font-size:.66rem;font-weight:750;line-height:1.25}.admin-credentials-security-note{background:linear-gradient(135deg,#4caf5017,#ffffff94);border:1px solid #4caf503d;border-radius:14px;align-items:flex-start;gap:.72rem;padding:.86rem .95rem;display:flex;box-shadow:0 6px 18px #25772a0d}.admin-credentials-security-icon{color:#25772a;background:#4caf5021;border-radius:10px;flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.admin-credentials-security-icon svg{width:1rem;height:1rem}.admin-credentials-security-copy{gap:.2rem;min-width:0;display:grid}.admin-credentials-security-copy strong{color:#25772a;font-size:.8rem}.admin-credentials-security-copy>span{color:var(--text-secondary);font-size:.75rem;line-height:1.45}.admin-credentials-form{gap:.9rem}.admin-credentials-form .form-group{gap:.38rem}.admin-credentials-form .form-group>small{color:var(--text-secondary);font-size:.7rem;line-height:1.35}.admin-credentials-username-panel{background:#ffffffa8;border:1px solid #b71c1c1f;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:end;gap:.9rem;padding:.9rem;display:grid}.admin-credentials-section-intro{align-items:flex-start;gap:.62rem;display:flex}.admin-credentials-section-intro>span:last-child{align-self:center;gap:.2rem;display:grid}.admin-credentials-step{color:#8b5d00;background:#f4c5422e;border:1px solid #d4af376b;border-radius:999px;flex:0 0 1.65rem;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.68rem;font-weight:850;display:inline-flex}.admin-credentials-section-label{color:var(--text-primary);font-size:.82rem;font-weight:780}.admin-credentials-username-panel small{color:var(--text-secondary);font-size:.68rem;line-height:1.4}.admin-temporary-password-panel{background:linear-gradient(135deg,#ffffffbd,#fff8e6ad);border:1px solid #b71c1c21;border-radius:12px;gap:.85rem;padding:.95rem;display:grid}.admin-temporary-password-panel h4,.admin-temporary-password-panel p{margin:0}.admin-temporary-password-panel h4{color:var(--text-primary);font-size:.92rem}.admin-temporary-password-panel .admin-credentials-section-intro p{color:var(--text-secondary);margin-top:.22rem;font-size:.72rem}.admin-credentials-password-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.8rem;display:grid}.admin-credential-password-field{align-items:center;display:flex;position:relative}.admin-credential-password-field .input-field{width:100%;padding-right:3.75rem}.admin-credential-password-toggle{color:#8b5d00;cursor:pointer;background:#fff8e4f0;border:1px solid #b71c1c29;border-radius:11px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.admin-credential-password-toggle svg{width:1.18rem;height:1.18rem}.admin-credential-password-toggle:hover{color:var(--primary-red);background:#fff1c9;border-color:#b71c1c52;box-shadow:0 4px 12px #6f321c1a}.admin-credential-password-toggle:active{transform:translateY(-50%)scale(.94)}.admin-credential-password-toggle:focus-visible{outline-offset:2px;outline:3px solid #d4af3761}.admin-credential-password-toggle[aria-pressed=true]{color:var(--primary-red);background:#b71c1c1a;border-color:#b71c1c61;box-shadow:0 4px 14px #b71c1c1a}.admin-credential-password-status{flex-wrap:wrap;gap:.45rem;display:flex}.admin-credential-password-status>span{color:#8b5d00;background:#fff8e4c7;border:1px solid #8b5d0029;border-radius:999px;align-items:center;gap:.4rem;min-height:28px;padding:.3rem .58rem;font-size:.65rem;font-weight:700;display:inline-flex}.admin-credential-password-status>span>span{background:currentColor;border-radius:999px;flex:0 0 .48rem;width:.48rem;height:.48rem}.admin-credential-password-status .is-valid{color:#25772a;background:#4caf5017;border-color:#2e7d3233}.admin-credential-password-status .is-error{color:var(--primary-red);background:#b71c1c12;border-color:#b71c1c33}.admin-temporary-password-reminder{color:#8b5d00;border-top:1px solid #b71c1c1a;padding-top:.7rem;font-size:.7rem;line-height:1.45}.admin-credentials-actions{border-top:1px solid #b71c1c1f;margin-top:.1rem;padding-top:.9rem}.admin-credentials-actions .btn-ghost,.admin-credentials-actions .btn-primary{min-width:132px;min-height:42px}.admin-dashboard-shell .modal.admin-invite-modal{background:radial-gradient(circle at 90% 4%,#f4c54233,#0000 28%),#fffaf0;border-color:#d4af3757;gap:1rem;width:min(100%,620px);padding:clamp(1.2rem,2.5vw,1.7rem);box-shadow:0 24px 64px #3d231438}.admin-invite-modal-heading span{color:#936500;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:800}.admin-invite-modal-heading h3,.admin-invite-modal-heading p{margin:0}.admin-invite-modal-heading h3{color:var(--text-primary);margin-top:.3rem;font-size:clamp(1.35rem,2.5vw,1.65rem)}.admin-invite-modal-heading p{color:var(--text-secondary);margin-top:.35rem;font-size:.78rem;line-height:1.45}.admin-invite-validity{background:#4caf5012;border:1px solid #4caf503d;border-radius:11px;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .85rem;display:flex}.admin-invite-validity strong{color:#25772a;font-size:.78rem}.admin-invite-validity span{color:var(--text-secondary);text-align:right;font-size:.7rem}.admin-invite-link-field{gap:.45rem;display:grid}.admin-invite-link-field>label{color:var(--text-primary);font-size:.76rem;font-weight:750}.admin-invite-link-field>div{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.admin-invite-link-field .input-field{min-width:0;font-size:.75rem}.admin-invite-link-field .btn-primary{white-space:nowrap;min-width:104px}.admin-invite-warning{color:#735200;background:#f4c5421f;border-radius:9px;padding:.78rem .85rem;font-size:.72rem;line-height:1.5}.admin-invite-actions{border-top:1px solid #b71c1c1a;padding-top:.85rem}.admin-dashboard-shell .modal{width:min(100%,560px);max-height:calc(100dvh - 2rem);overflow-y:auto}@media (width<=640px){.admin-dashboard-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.admin-dashboard-shell{padding:1rem}.admin-dashboard-page{gap:1rem;width:100%;max-width:100%}.admin-dashboard-page>.t-header,.admin-dashboard-page .admin-header-actions,.admin-dashboard-page .admin-panel-head{flex-direction:column;align-items:stretch;width:100%}.admin-dashboard-page .admin-header-actions{gap:.7rem}.admin-dashboard-page .admin-sync-meta{text-align:left;width:100%}.admin-dashboard-page .admin-header-actions .btn-ghost{align-self:flex-start;min-height:44px}.admin-dashboard-page .admin-panel{padding:1rem}.admin-dashboard-page .admin-create-account-panel.is-compact{width:100%}.admin-dashboard-page #admin-pending-accounts{padding:1rem}.admin-dashboard-shell.admin-create-mode .admin-layout{justify-content:flex-start;min-height:0}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel.is-open{width:100%;padding:1rem}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .admin-panel-head{align-items:stretch}.admin-dashboard-shell.admin-create-mode .admin-create-account-panel .btn-primary[type=submit]{width:100%}.admin-dashboard-page .admin-queue-count{align-self:flex-start}.admin-dashboard-page .form-grid,.admin-dashboard-page .admin-info-grid,.admin-dashboard-page .admin-permission-grid{grid-template-columns:minmax(0,1fr)}.admin-dashboard-page .form-group-full{grid-column:auto}.admin-dashboard-page .admin-account-head{align-items:flex-start}.admin-dashboard-page .admin-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.admin-dashboard-page .admin-card-actions>*{width:100%;min-height:44px}.admin-dashboard-page .admin-access-settings summary{flex-wrap:wrap;align-items:flex-start}.admin-dashboard-page .admin-access-settings summary small{flex:100%}.admin-dashboard-shell .modal{width:min(100%,520px);padding:1.25rem}.admin-dashboard-shell .modal-actions{flex-wrap:wrap}.admin-dashboard-shell .modal-actions button{min-height:44px}.admin-credentials-heading{flex-direction:column;align-items:stretch}.admin-password-required-badge{align-self:flex-start}.admin-credentials-password-grid,.admin-invite-link-field>div{grid-template-columns:minmax(0,1fr)}.admin-invite-link-field .btn-primary{width:100%}.admin-invite-validity{flex-direction:column;align-items:flex-start}.admin-invite-validity span{text-align:left}}@media (width<=480px){.admin-dashboard-shell{padding:.75rem}.admin-dashboard-page>.t-header h2{font-size:1.45rem}.admin-dashboard-page .stats-grid{gap:.55rem}.admin-dashboard-page .stat-card{min-height:96px;padding:.85rem}.admin-dashboard-page .stat-card-value{font-size:1.55rem}.admin-dashboard-page .stat-card-label{font-size:.62rem}.admin-dashboard-page .admin-create-account-panel.is-compact{width:100%}.admin-dashboard-page .admin-account-head{flex-direction:column}.admin-dashboard-page .admin-card-actions{grid-template-columns:minmax(0,1fr)}.admin-dashboard-page .admin-header-actions .btn-ghost{width:100%}.admin-dashboard-page .admin-banner{padding:.85rem}.admin-dashboard-shell .modal-actions{flex-direction:column-reverse}.admin-dashboard-shell .modal-actions button{width:100%}}@media (width<=360px){.admin-dashboard-page .stats-grid{grid-template-columns:minmax(0,1fr)}}@media (hover:none){.admin-dashboard-page .admin-account-card:hover,.admin-dashboard-page .stat-card:hover,.admin-dashboard-page .admin-create-trigger:hover{transform:none}}@media (prefers-reduced-motion:reduce){.admin-dashboard-page .admin-account-card,.admin-dashboard-page .admin-banner,.admin-dashboard-page .admin-create-account-panel,.admin-dashboard-page .admin-create-trigger{transition:none;animation:none}}.new-home{scroll-behavior:smooth;background-color:#0000;background-image:linear-gradient(#b71c1c0b 1px,#0000 1px),linear-gradient(90deg,#b71c1c0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;align-items:center;gap:3.5rem;min-height:calc(100vh - 64px);padding:4rem 5% 3.5rem;display:flex;overflow-x:hidden}.home-hero-new{text-align:center;justify-content:center;width:100%;max-width:860px;animation:.7s ease-out both homeFadeIn;display:flex}.home-hero-content{flex-direction:column;align-items:center;gap:1.4rem;max-width:780px;display:flex}.home-hero-content h1{color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:clamp(3rem,5vw,4.9rem);font-weight:900;line-height:1.04;animation:.75s ease-out 50ms both homeSlideUp}.highlight-text{background:linear-gradient(135deg, var(--light-gold) 0%, var(--primary-gold) 42%, var(--primary-red) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-lead{max-width:660px;color:var(--text-secondary);margin:0;font-size:1.14rem;line-height:1.75;animation:.75s ease-out .16s both homeSlideUp}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:.25rem;animation:.75s ease-out .27s both homeSlideUp;display:flex}.btn-glow{background:linear-gradient(135deg, var(--light-gold), var(--primary-gold));min-height:52px;color:var(--primary-red);letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;gap:.7rem;padding:.95rem 1.35rem;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #d4af3752}.btn-glow:before{content:"";background:linear-gradient(110deg,#0000 0%,#ffffff2e 45%,#0000 62%);transition:transform .55s;position:absolute;inset:0;transform:translate(-120%)}.btn-glow:hover{background:linear-gradient(135deg, gold, var(--primary-gold));color:var(--primary-red);transform:translateY(-2px);box-shadow:0 18px 34px #d4af376b}.btn-glow:hover:before{transform:translate(120%)}.btn-glow:active{transform:translateY(0)}.btn-glow:focus-visible{outline:none;box-shadow:0 18px 34px #d4af375c,0 0 0 4px #f4c5423d}.btn-icon{flex-shrink:0;width:20px;height:20px;transition:transform .25s}.btn-glow:hover .btn-icon{transform:translate(3px)}.home-summary-strip{border:1px solid var(--glass-border);background:var(--card-bg);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:1180px;animation:.7s ease-out .36s both homeSlideUp;display:grid;overflow:hidden}.home-summary-strip div{border-right:1px solid #b71c1c1f;padding:1.15rem 1.25rem;transition:background .25s,transform .25s}.home-summary-strip div:hover{background:#f4c5421f;transform:translateY(-2px)}.home-summary-strip div:last-child{border-right:0}.home-summary-strip strong{color:var(--primary-red);margin-bottom:.3rem;font-size:.95rem;display:block}.home-summary-strip span{color:var(--text-secondary);font-size:.86rem;line-height:1.5;display:block}.features-section{width:100%;max-width:1180px;padding-bottom:2.5rem;animation:.75s ease-out .45s both homeSlideUp}.features-header{text-align:left;margin-bottom:1.5rem}.features-header h2{color:var(--text-primary);letter-spacing:-.03em;margin:0 0 .45rem;font-size:clamp(2rem,3vw,2.6rem);font-weight:900}.features-header p{color:var(--text-secondary);margin:0;font-size:1rem}.features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.feature-bento-card{border-radius:8px;flex-direction:column;gap:.9rem;min-height:210px;padding:1.35rem;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden}.feature-bento-card:hover{background:#fff;border-color:#d4af378c;transform:translateY(-4px);box-shadow:0 18px 34px #b71c1c1f}.feature-icon-wrap{width:44px;height:44px;color:var(--primary-red);background:#f4c5422e;border:1px solid #d4af378c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .25s,background .25s,color .25s;display:flex}.feature-bento-card:hover .feature-icon-wrap{background:var(--light-gold);color:var(--primary-red);transform:translateY(-2px)}.feature-icon-wrap svg{width:22px;height:22px}.feature-bento-card h3{color:var(--text-primary);margin:0;font-size:1.12rem;font-weight:800}.feature-bento-card p{color:var(--text-secondary);margin:0;font-size:.93rem;line-height:1.65}@keyframes homeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes homeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.new-home{padding-top:2.5rem}.home-hero-new{gap:2.5rem}.home-hero-content{text-align:center;align-items:center;max-width:100%}.hero-lead{max-width:680px}.hero-actions{justify-content:center}.home-summary-strip,.features-grid{grid-template-columns:1fr}.home-summary-strip div{border-bottom:1px solid #b71c1c1f;border-right:0}.home-summary-strip div:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){.home-hero-new,.home-hero-content h1,.hero-lead,.hero-actions,.home-summary-strip,.features-section,.feature-bento-card{animation:none!important}.btn-glow,.btn-icon,.home-summary-strip div,.feature-bento-card,.feature-icon-wrap{transition:none!important}.btn-glow:hover,.home-summary-strip div:hover,.feature-bento-card:hover,.feature-bento-card:hover .feature-icon-wrap{transform:none}}@media (width<=560px){.new-home{gap:2.5rem;padding:2rem 1rem 2.5rem}.home-hero-content h1{font-size:2.45rem}.hero-lead{font-size:1rem}.btn-glow{width:100%}}:root{--primary-red:#b71c1c;--secondary-red:#d32f2f;--primary-gold:#d4af37;--light-gold:#f4c542;--bg-primary:#faf9f6;--bg-secondary:#fff8e1;--card-bg:#fff8e1;--text-primary:#212121;--text-secondary:#616161;--accent-color:#b71c1c;--accent-hover:#d32f2f;--accent-dim:#b71c1c1f;--success:#4caf50;--danger:#e53935;--warning:#ffc107;--pet-highlight:#4fc3f7;--achievement-gold:gold;--border-color:#b71c1c29;--glass-bg:#fff8e1eb;--glass-border:#b71c1c24;--glass-border-hover:#d4af3780;--glass-shadow:0 8px 28px #b71c1c1f;--glass-blur:blur(14px);--border-radius:16px;--transition-speed:.3s}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#b71c1c59 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#b71c1c4d;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#b71c1c8c}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;background-image:radial-gradient(at 100% 0,#f4c5422e 0%,#0000 55%),radial-gradient(at 0 100%,#b71c1c14 0%,#0000 50%);background-attachment:fixed;min-height:100vh;margin:0;font-family:Inter,sans-serif}h1,h2,h3,h4{color:var(--text-primary);margin-top:0}p{color:var(--text-secondary);line-height:1.65}a{color:var(--accent-color);transition:color var(--transition-speed);text-decoration:none}a:hover{color:var(--accent-hover)}.app-container{flex-direction:column;width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:clip}.browser-requirement-page{background:radial-gradient(circle at 85% 12%,#f4c54238,#0000 34%),radial-gradient(circle at 10% 90%,#b71c1c1a,#0000 38%),#faf9f6;place-items:center;width:100%;max-width:100vw;min-height:100dvh;padding:clamp(1rem,4vw,2.5rem);display:grid;overflow-x:hidden}.browser-requirement-card{text-align:center;background:#fff8e1f5;border:1px solid #b71c1c29;border-radius:22px;width:min(100%,620px);min-width:0;max-width:100%;padding:clamp(1.4rem,5vw,2.2rem);box-shadow:0 22px 60px #4a2d1c24}.browser-requirement-mark{background:linear-gradient(145deg,#c62828,#9d1515);border:1px solid #b71c1c29;border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 1rem;display:grid;box-shadow:0 12px 24px #b71c1c33}.browser-requirement-mark span{border:3px solid #fff8e1;border-radius:6px;width:34px;height:27px;display:block;position:relative}.browser-requirement-mark span:before{content:"";border-top:3px solid #fff8e1;position:absolute;top:5px;left:-3px;right:-3px}.browser-requirement-eyebrow{color:#9b6b00;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:800}.browser-requirement-card h1{letter-spacing:-.04em;margin-bottom:.75rem;font-size:clamp(1.65rem,6vw,2.25rem)}.browser-requirement-message{max-width:46ch;margin:0 auto;font-size:.92rem;line-height:1.65}.browser-requirement-steps{color:var(--text-secondary);text-align:left;background:#ffffff85;border:1px solid #d4af3747;border-radius:14px;gap:.5rem;margin:1.3rem 0;padding:1rem 1rem 1rem 2.7rem;font-size:.84rem;line-height:1.45;display:grid}.browser-requirement-actions{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:.7rem;min-width:0;display:grid}.browser-requirement-actions button{width:100%;min-width:0;min-height:48px;font:inherit;cursor:pointer;border-radius:12px;padding:.75rem 1rem;font-size:.88rem;font-weight:750}.browser-requirement-primary{color:#fff;background:#b71c1c;border:1px solid #b71c1c;box-shadow:0 9px 20px #b71c1c2e}.browser-requirement-secondary{color:#b71c1c;background:#ffffffb3;border:1px solid #b71c1c2e}.browser-requirement-url{width:100%;min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;white-space:normal;background:#2121210e;border-radius:9px;margin-top:1rem;padding:.7rem;font-size:.68rem;line-height:1.4;overflow:hidden}.browser-requirement-status{color:#8c5d00;margin:.75rem 0 0;font-size:.76rem;line-height:1.45}@media (width<=768px){.browser-requirement-page{padding:clamp(.9rem,3vw,1.5rem)}.browser-requirement-card{width:min(100%,580px)}}@media (width<=480px){.browser-requirement-page{min-height:100svh;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));align-items:start}.browser-requirement-card{border-radius:18px;width:100%;padding:1.25rem}.browser-requirement-actions{grid-template-columns:minmax(0,1fr)}}@media (width<=380px),(height<=680px){.browser-requirement-card{padding:1rem}.browser-requirement-mark{border-radius:15px;width:54px;height:54px;margin-bottom:.75rem}.browser-requirement-card h1{margin-bottom:.55rem;font-size:1.5rem}.browser-requirement-message{font-size:.84rem;line-height:1.55}.browser-requirement-steps{margin-block:.9rem;padding-block:.8rem}.browser-requirement-actions button{min-height:44px}}.teacher-layout{flex:1;min-width:0;display:flex}.navbar{background:var(--primary-red);-webkit-backdrop-filter:blur(18px);z-index:100;border-bottom:1px solid #fff8e138;flex:none;justify-content:space-between;align-items:center;width:100%;padding:1rem 2rem;animation:none;display:flex;position:sticky;top:0}.navbar-brand{color:#faf9f6;letter-spacing:-.5px;align-items:center;gap:.75rem;font-size:1.3rem;font-weight:800;display:inline-flex}.navbar-brand:hover{color:#faf9f6}.navbar-brand-text{flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1;display:flex}.navbar-brand-name{background:linear-gradient(135deg,#faf9f6,#f4c542);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar-school-name{color:#faf9f6e6;letter-spacing:0;white-space:nowrap;font-size:.52rem;font-weight:500;line-height:1.2}.navbar-logo{object-fit:cover;border:1px solid #fff8e173;border-radius:50%;flex-shrink:0;width:42px;height:42px;transition:none;animation:none;transform:none;box-shadow:0 6px 18px #2121212e}.navbar-brand:hover .navbar-logo{transform:none}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-links a,.nav-links button{color:#faf9f6d1;cursor:pointer;font:inherit;transition:color var(--transition-speed), transform .22s ease;background:0 0;border:none;font-size:.95rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:after,.nav-links button:after{content:"";background:var(--light-gold);transform-origin:50%;border-radius:999px;height:2px;transition:transform .22s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.nav-links button:hover{color:#fff;transform:translateY(-1px)}.nav-links a:hover:after,.nav-links button:hover:after,.nav-links a:focus-visible:after,.nav-links button:focus-visible:after{transform:scaleX(1)}.admin-settings-menu{position:relative}.admin-settings-menu summary{color:#faf9f6d1;cursor:pointer;font-size:.95rem;font-weight:600;list-style:none;transition:color .2s,transform .2s;position:relative}.admin-settings-menu summary::-webkit-details-marker{display:none}.admin-settings-menu summary:hover,.admin-settings-menu summary:focus-visible,.admin-settings-menu[open] summary{color:#fff}.admin-settings-menu summary:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #fff8e1}.admin-settings-dropdown{z-index:1000;background:#fffdf7;border:1px solid #b71c1c29;border-radius:12px;width:max-content;min-width:190px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .9rem);right:0;overflow:hidden;box-shadow:0 14px 34px #5b18182e}.nav-links .admin-settings-dropdown a,.nav-links .admin-settings-dropdown button{color:#5a1919;text-align:left;white-space:nowrap;border-radius:8px;width:100%;padding:.7rem .8rem}.nav-links .admin-settings-dropdown a:after,.nav-links .admin-settings-dropdown button:after{display:none}.nav-links .admin-settings-dropdown a:hover,.nav-links .admin-settings-dropdown button:hover{color:#b71c1c;background:#fff3d6;transform:none}.student-nav-actions{width:auto;box-shadow:none;background:0 0;border:0;gap:.55rem;padding:0}.student-account-menu{align-items:center;display:flex;position:relative}.student-nav-actions .student-account-trigger{color:#991717;background:linear-gradient(145deg,#ffd65e 0%,#e7b72c 100%);border:2px solid #ffe39a;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:0;transition:background-color .18s,border-color .18s,box-shadow .18s;display:inline-flex;transform:none;box-shadow:0 7px 18px #48180b3d,inset 0 1px #ffffff6b}.student-nav-actions .student-account-trigger:after{display:none}.student-nav-actions .student-account-trigger svg{fill:currentColor;width:28px;height:28px}.student-nav-actions .student-account-trigger:hover,.student-nav-actions .student-account-trigger:focus-visible,.student-nav-actions .student-account-trigger[aria-expanded=true]{color:#7f1010;background:linear-gradient(145deg,#ffe17c 0%,#f2c43d 100%);border-color:#fff1bd;transform:none;box-shadow:0 8px 20px #48180b40}.student-nav-actions .student-account-trigger[aria-expanded=true]{animation:.28s ease-out student-profile-pop}.student-nav-actions .student-account-trigger[aria-expanded=true] svg{animation:.34s ease-out student-profile-nod}.student-nav-actions .student-account-trigger:focus-visible{outline-offset:3px;outline:2px solid #fff8e1}.student-account-dropdown{z-index:1000;transform-origin:100% 0;background:#b71c1c;border:1px solid #ffe2846b;border-radius:14px;gap:.45rem;width:max-content;padding:.4rem;animation:.2s ease-out both student-menu-open;display:flex;position:absolute;top:calc(100% + .7rem);right:0;box-shadow:0 16px 34px #4810104d}@keyframes student-profile-pop{0%{transform:scale(1)}45%{transform:scale(.91)}75%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes student-profile-nod{0%{transform:rotate(0)}45%{transform:rotate(-8deg)}75%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes student-menu-open{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.student-nav-actions .student-account-trigger[aria-expanded=true],.student-nav-actions .student-account-trigger[aria-expanded=true] svg,.student-account-dropdown{animation:none}}.student-nav-actions .student-nav-button{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:.68rem 1rem;font-size:.84rem;font-weight:750;line-height:1;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex;transform:none}.student-nav-actions .student-nav-button:after{display:none}.student-nav-actions .student-password-button{color:#fffaf0;background:#ffffff14;border-color:#fff8e140}.student-nav-actions .student-password-button:hover,.student-nav-actions .student-password-button:focus-visible{color:#fff;box-shadow:none;background:#ffffff24;border-color:#fff8e17a;transform:none}.student-nav-actions .student-logout-button{color:#9f1515;background:linear-gradient(135deg,#f8c940,#e4b62d);border-color:#d4af3780;box-shadow:0 6px 14px #48180b29}.student-nav-actions .student-logout-button:hover,.student-nav-actions .student-logout-button:focus-visible{color:#8e1111;background:linear-gradient(135deg,#ffd65e,#edbf39);border-color:#ffe284cc;transform:none;box-shadow:0 7px 16px #48180b33}.student-nav-actions .student-nav-button:focus-visible{outline-offset:2px;outline:2px solid #fff8e1}.sidebar{z-index:20;width:268px;height:calc(100dvh - 75px);-webkit-backdrop-filter:var(--glass-blur);background:linear-gradient(#ffffff09,#0000 28%),linear-gradient(165deg,#bd1e1e 0%,#a91515 58%,#921010 100%);border-right:1px solid #fff8e133;flex-direction:column;align-self:flex-start;gap:0;padding:1.25rem 1rem 1rem;display:flex;position:sticky;top:75px;overflow-y:auto;box-shadow:10px 0 30px #5c0a0a14}.sidebar-header{border-bottom:1px solid #fff8e12e;margin-bottom:.9rem;padding:.45rem .65rem 1.15rem}.sidebar-mobile-header,.sidebar-current-page,.sidebar-menu-backdrop,.sidebar-drawer-header{display:none}.sidebar-menu-toggle{color:#9f1515;cursor:pointer;width:44px;height:44px;min-height:44px;font:inherit;background:#f4c542;border:1px solid #fff8e1b8;border-radius:9px;justify-content:center;align-items:center;gap:0;padding:0;font-size:.86rem;font-weight:800;transition:background .2s,box-shadow .2s,transform .2s;display:inline-flex}.sidebar-menu-toggle:hover{background:#ffda62;box-shadow:0 6px 14px #48180b29}.sidebar-menu-toggle:active{transform:translateY(1px)}.sidebar-menu-toggle:focus-visible{outline-offset:2px;outline:3px solid #fff8e1b8}.sidebar-menu-icon{gap:4px;width:18px;display:grid}.sidebar-menu-icon span{transform-origin:50%;background:currentColor;border-radius:2px;width:100%;height:2px;transition:opacity .2s,transform .25s;display:block}.sidebar-menu-toggle[aria-expanded=true] .sidebar-menu-icon span:first-child{transform:translateY(6px)rotate(45deg)}.sidebar-menu-toggle[aria-expanded=true] .sidebar-menu-icon span:nth-child(2){opacity:0}.sidebar-menu-toggle[aria-expanded=true] .sidebar-menu-icon span:last-child{transform:translateY(-6px)rotate(-45deg)}.sidebar-menu-panel{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-kicker,.sidebar-section-label{color:#faf9f6ad;letter-spacing:.11em;text-transform:uppercase;font-size:.64rem;font-weight:750;display:block}.sidebar-title{color:#fff;letter-spacing:-.02em;margin-top:.45rem;font-size:1rem;font-weight:800}.sidebar-nav{background:#4c05051a;border:1px solid #fff8e11f;border-radius:16px;flex-direction:column;gap:.3rem;min-width:0;padding:.55rem;display:flex;box-shadow:inset 0 1px #ffffff09}.sidebar-nav>.sidebar-section-label{align-items:center;gap:.65rem;margin:.1rem .55rem .45rem;display:flex}.sidebar-nav>.sidebar-section-label:after{content:"";background:linear-gradient(90deg,#fff8e133,#0000);flex:1;height:1px}.sidebar-link{color:#ffffffd6;cursor:pointer;letter-spacing:.005em;border:1px solid #0000;border-radius:11px;align-items:center;min-height:48px;padding:.78rem 2.1rem .78rem .85rem;font-size:.88rem;font-weight:700;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.sidebar-link:after{content:"";opacity:0;background:#ffe17a;border-radius:50%;width:7px;height:7px;transition:opacity .2s,transform .2s,background .2s,box-shadow .2s;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)scale(.35);box-shadow:0 0 #ffe17a00}.sidebar-link:hover{color:#fff;background:linear-gradient(90deg,#ffe2842b,#fff8e112);border-color:#ffe2844d;transform:translate(3px);box-shadow:0 8px 18px #5c0a0a24}.sidebar-link:hover:after,.sidebar-link:focus-visible:after{opacity:1;transform:translateY(-50%)scale(1)}.sidebar-link:active{transform:translate(2px)scale(.985)}.sidebar-link:focus-visible{outline-offset:2px;outline:3px solid #f4c5424d}.sidebar-link.active{background:linear-gradient(135deg, #ffe17a, var(--light-gold));color:var(--primary-red);border-color:#fff8e1ad;font-weight:800;box-shadow:0 10px 22px #5b080833,inset 0 1px #ffffffa6}.sidebar-link.active:after{background:var(--primary-red);opacity:1;transform:translateY(-50%)scale(1);box-shadow:0 0 0 4px #b71c1c1a}.sidebar-link.active:hover{color:#9f1515;background:linear-gradient(135deg,#ffe98f,#f8c940);border-color:#fff0ad;transform:translateY(-1px);box-shadow:0 13px 26px #5b08083d,inset 0 1px #ffffffb8}.sidebar-link.active:active{transform:translateY(0)scale(.985)}.sidebar-account-actions{border-top:1px solid #fff8e12e;gap:.5rem;margin-top:auto;padding:1rem .15rem 0;display:grid}.sidebar-account-label{margin:0 .45rem .05rem}.sidebar-profile{background:#4704041f;border:1px solid #fff8e11a;border-radius:11px;min-width:0;margin-bottom:.15rem;padding:.7rem .75rem}.sidebar-profile span,.sidebar-profile strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-profile span{color:#fff8e194;font-size:.64rem}.sidebar-profile strong{color:#fff;margin-top:.18rem;font-size:.78rem;font-weight:750}.sidebar-account-button{color:#ffffffe6;cursor:pointer;width:100%;min-height:44px;font:inherit;text-align:center;background:#fff8e117;border:1px solid #fff8e12e;border-radius:11px;justify-content:center;align-items:center;padding:.7rem .85rem;font-size:.82rem;font-weight:650;transition:background .2s,border-color .2s,transform .2s;display:flex}.sidebar-account-button:hover,.sidebar-account-button:focus-visible{background:#f4c54229;border-color:#f4c54280;outline:none;transform:translateY(-1px)}.sidebar-logout-button{color:#fff4f4;background:#50000024;border-color:#ffdcdc38}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), inset 0 1px 0 #ffffffa6;border-radius:var(--border-radius);padding:2rem;transition:border-color .25s,box-shadow .25s}.glass-panel:hover{border-color:var(--glass-border-hover)}.page{z-index:auto;flex-direction:column;flex:1;gap:1.5rem;min-width:0;padding:2rem;display:flex;position:relative}@media (width>=769px){.app-container{padding-top:75px}.navbar{min-height:75px;position:fixed;inset:0 0 auto}}body.exam-taking-active .navbar{display:none}body.exam-taking-active .app-container{padding-top:0}body.exam-taking-active .page{gap:0;padding:0}.password-change-required-page{justify-content:center;align-items:center;min-height:calc(100dvh - 75px)}.password-change-card{background:#fff8e1f7;border:1px solid #b71c1c24;border-radius:18px;width:min(100%,760px);min-width:0;padding:clamp(1.15rem,3vw,2rem);box-shadow:0 22px 58px #4a2d1c2e}.password-change-card.is-forced{border-top:4px solid var(--primary-gold)}.password-change-header{align-items:flex-start;gap:.9rem;display:flex}.password-change-header h2,.password-change-header p{margin:0}.password-change-header h2{letter-spacing:-.025em;font-size:clamp(1.25rem,3vw,1.65rem)}.password-change-header p{margin-top:.35rem;font-size:.86rem;line-height:1.55}.password-change-icon{background:#f4c5422e;border-radius:13px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:1.35rem;display:grid}.password-required-notice,.password-change-message{border:1px solid;border-radius:10px;margin-top:1rem;padding:.75rem .85rem;font-size:.78rem;font-weight:650;line-height:1.45}.password-required-notice{color:#805817;background:#f4c54221;border-color:#d4af3752}.password-change-message.is-error{color:#b42323;background:#e539351a;border-color:#e539354d}.password-change-message.is-success{color:#267a2a;background:#4caf501a;border-color:#4caf504d}.password-change-form{gap:.9rem;margin-top:1.15rem;display:grid}.password-change-form label:not(.password-visibility-control){gap:.4rem;display:grid}.password-change-form label>span{color:var(--text-primary);font-size:.76rem;font-weight:750}.password-change-new-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.password-visibility-control{width:fit-content;color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.76rem;font-weight:650;display:inline-flex}.password-visibility-control input{width:17px;height:17px;accent-color:var(--primary-red)}.password-change-help{margin:-.2rem 0 0;font-size:.72rem;line-height:1.45}.password-change-actions{justify-content:flex-end;gap:.65rem;padding-top:.25rem;display:flex}.password-change-actions button{min-height:44px}.password-change-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#211814ad;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.password-change-modal{width:min(94vw,760px);max-height:calc(100dvh - 2rem);overflow-y:auto}@media (width<=600px){.password-change-required-page{justify-content:flex-start;padding:.85rem}.password-change-card{border-radius:14px;padding:1rem}.password-change-new-grid{grid-template-columns:minmax(0,1fr)}.password-change-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.password-change-card.is-forced .password-change-actions{grid-template-columns:minmax(0,1fr)}.password-change-actions button{width:100%}}.input-field{color:var(--text-primary);transition:all var(--transition-speed);background:#fff;border:1px solid #b71c1c2e;border-radius:10px;outline:none;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.95rem}.input-field::placeholder{color:var(--text-secondary)}.input-field:focus{background:#fff;border-color:#d4af37bf;box-shadow:0 0 0 3px #f4c5423d}.btn-primary{background:linear-gradient(135deg, var(--light-gold), var(--primary-gold));color:var(--primary-red);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .25s;display:inline-flex;box-shadow:0 4px 16px #d4af3759}.btn-primary:hover{background:linear-gradient(135deg, gold, var(--primary-gold));color:var(--primary-red);transform:translateY(-2px);box-shadow:0 8px 24px #d4af3773}.btn-primary:active{transform:scale(.98)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes navDropIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.sidebar{width:210px;padding:1.5rem .75rem}.page{padding:1.5rem}}@media (width<=768px){.navbar{flex-direction:column;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem}.nav-links{flex-wrap:wrap;gap:1rem;width:100%}.admin-settings-dropdown{width:min(260px,100vw - 2.5rem);min-width:0;max-width:calc(100vw - 2.5rem);top:calc(100% + .65rem);left:0;right:auto}.student-navbar{flex-direction:row;align-items:center;gap:.75rem}.student-navbar .student-nav-actions{border-radius:12px;flex-wrap:nowrap;gap:.35rem;width:auto;margin-left:auto;padding:0}.student-navbar .student-nav-button{border-radius:9px;min-height:38px;padding:.58rem .8rem;font-size:.78rem}.teacher-layout{flex-direction:column}.sidebar{border-bottom:1px solid #fff8e138;border-right:0;align-self:stretch;width:100%;height:auto;padding:.65rem 1rem;position:static;top:auto;overflow:visible}.sidebar.mobile-menu-open{z-index:140}.sidebar-mobile-header{justify-content:flex-start;align-items:center;gap:.75rem;width:100%;min-height:44px;display:flex}.sidebar-current-page{flex-direction:column;justify-content:center;min-width:0;display:flex}.sidebar-current-page strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.92rem;font-weight:800;display:block;overflow:hidden}.sidebar-menu-panel{z-index:151;overscroll-behavior:contain;opacity:1;visibility:hidden;pointer-events:none;background:linear-gradient(165deg,#bd1e1e 0%,#a91515 58%,#921010 100%);border:0;border-radius:0;width:min(320px,86vw);height:100dvh;max-height:none;margin:0;padding:1rem;transition:transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto;transform:translate(-102%);box-shadow:18px 0 42px #2d0c0c42}.sidebar-menu-panel.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.sidebar-menu-backdrop{z-index:150;opacity:0;visibility:hidden;pointer-events:none;background:#230f0f7a;border:0;width:100%;height:100%;padding:0;transition:opacity .25s,visibility 0s linear .25s;display:block;position:fixed;inset:0}.sidebar-menu-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.sidebar-drawer-header{border-bottom:1px solid #fff8e133;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;margin-bottom:1rem;padding:.15rem 0 .9rem;display:flex}.sidebar-drawer-header span,.sidebar-drawer-header strong{display:block}.sidebar-drawer-header>div>span{color:#fff8e1ad;text-transform:uppercase;font-size:.68rem;font-weight:750}.sidebar-drawer-header strong{color:#fff;margin-top:.2rem;font-size:1.1rem}.sidebar-drawer-close{color:#fff;cursor:pointer;background:#fff8e11a;border:1px solid #fff8e13d;border-radius:8px;flex:0 0 42px;width:42px;height:42px;padding:0;position:relative}.sidebar-drawer-close:hover,.sidebar-drawer-close:focus-visible{background:#f4c54229;border-color:#f4c542b8;outline:none}.sidebar-drawer-close span:before,.sidebar-drawer-close span:after{content:"";background:currentColor;border-radius:2px;width:18px;height:2px;position:absolute;top:19px;left:11px}.sidebar-drawer-close span:before{transform:rotate(45deg)}.sidebar-drawer-close span:after{transform:rotate(-45deg)}.sidebar-header{display:none}.sidebar-menu-panel .sidebar-section-label{color:#fff8e1ad;display:block}.sidebar-nav{flex-direction:column;gap:.5rem;width:100%}.sidebar-link{color:#ffffffe0;white-space:nowrap;border-radius:8px;flex:none;justify-content:flex-start;width:100%;min-height:44px;padding:.7rem 1rem}.sidebar-link:hover{color:#fff;background:#fff8e11a;border-color:#fff8e12e;transform:none}.sidebar-link.active{color:#8f1414;box-shadow:none;background:#f8cf55;border-color:#fff8e1ad}.sidebar-account-actions{padding-top:1rem;width:100%;padding-inline:0;padding-bottom:max(.25rem, env(safe-area-inset-bottom));border-top-color:#fff8e133;gap:.5rem;margin-top:1rem;display:grid}.sidebar-menu-panel .sidebar-profile{background:#47040429;border-color:#fff8e129;min-height:58px;margin-bottom:.25rem;padding:.65rem .75rem;display:block}.sidebar-profile-copy{min-width:0}.sidebar-menu-panel .sidebar-profile span{color:#fff8e19e}.sidebar-menu-panel .sidebar-profile strong{color:#fff}.sidebar-account-button{color:#fff;white-space:nowrap;background:#fff8e117;border-color:#fff8e133;border-radius:8px;justify-content:flex-start;width:100%;min-width:0;padding-inline:1rem}.sidebar-account-button:hover,.sidebar-account-button:focus-visible{color:#fff;background:#f4c54229;border-color:#f4c54294;transform:none}.sidebar-logout-button{color:#fff4f4;background:#50000033;border-color:#ffdcdc3d}.page{width:100%;padding:1rem}}@media (width<=480px){.navbar{padding:.85rem 1rem}.navbar-logo{width:38px;height:38px}.navbar-brand{gap:.6rem;font-size:1.15rem}.navbar-school-name{font-size:.48rem}.nav-links{gap:.75rem 1rem}.student-navbar{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.student-navbar .navbar-brand{width:fit-content}.student-navbar .student-nav-actions{border-radius:11px;grid-area:1/2;justify-self:end;gap:.3rem;width:fit-content;margin-left:auto;padding:0;display:flex}.student-nav-actions .student-nav-button{border-radius:8px;width:auto;min-height:36px;padding:.52rem .68rem;font-size:.71rem}.student-nav-actions .student-account-trigger{width:40px;height:40px}.student-nav-actions .student-account-trigger svg{width:24px;height:24px}.sidebar{padding-inline:.75rem}.sidebar-link{font-size:.85rem}.sidebar-account-button{font-size:.72rem}.page{padding:.85rem}}@media (prefers-reduced-motion:reduce){body{scroll-behavior:auto}.navbar{animation:none}.nav-links a,.nav-links button,.nav-links a:after,.nav-links button:after{transition:none}.nav-links a:hover,.nav-links button:hover{transform:none}.sidebar-menu-toggle,.sidebar-menu-icon span,.sidebar-menu-panel,.sidebar-menu-backdrop{transition:none}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}#root{flex-direction:column;display:flex}
