:root{--primary: #004B87;--dark: #56585B;--light-bg-1: #B9C8DC;--light-bg-2: #DCE1E6;--fs-xs: 10px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.05), 0 4px 16px rgba(0,0,0,.04);--shadow-md: 0 4px 20px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);--ops-surface: rgba(255,255,255,.78);--ops-surface-solid: #FFFFFF;--ops-surface-muted: rgba(248,250,252,.76);--ops-text: #172033;--ops-text-secondary: #64748B;--ops-border: rgba(255,255,255,.68);--ops-radius-card: 22px;--ops-radius-control: 12px;--ops-shadow: 0 18px 46px rgba(71,85,105,.1), inset 0 1px 0 rgba(255,255,255,.72);--subject-english: #910028;--subject-korean: #D79628;--subject-math: #00645A;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font-family:inherit}html{overflow-y:scroll}body{margin:0;min-width:320px;min-height:100vh;background:#d6e4f4}@keyframes breathingGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes appWaterDrift{0%{transform:translateZ(0) scale(1);opacity:.85}25%{transform:translate3d(7%,-6%,0) scale(1.14);opacity:1}50%{transform:translate3d(-6%,7%,0) scale(1.22);opacity:.95}75%{transform:translate3d(4%,4%,0) scale(1.16);opacity:1}to{transform:translateZ(0) scale(1);opacity:.85}}@keyframes appWaterWave{0%{transform:translateZ(0) scale(1.06);opacity:.7}35%{transform:translate3d(-8%,6%,0) scale(1.22);opacity:.92}70%{transform:translate3d(7%,-5%,0) scale(1.18);opacity:.85}to{transform:translateZ(0) scale(1.06);opacity:.7}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .45s cubic-bezier(.2,.8,.2,1) both}@keyframes warmBreath{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes coolBreath{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes liveWaterFlow{0%{background-position:0% 50%,95% 42%,0% 58%}50%{background-position:120% 48%,35% 55%,100% 44%}to{background-position:240% 50%,-25% 42%,200% 58%}}@keyframes liveWaterEdge{0%,to{transform:translate(-22px) scaleY(.92);opacity:.26}50%{transform:translate(14px) scaleY(1.08);opacity:.48}}.action-warm{background:linear-gradient(135deg,#ffefe8b8,#ffd8ca70,#fff7f3c7);background-size:400% 400%;animation:warmBreath 4s ease infinite;border:1px solid rgba(255,255,255,.58)}.action-cool{background:linear-gradient(135deg,#e8faf7bd,#c2f0ea6b,#f7fffdc7);background-size:400% 400%;animation:coolBreath 4s ease infinite;border:1px solid rgba(255,255,255,.58)}.teacher-action-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px #506e9614,inset 0 1px #ffffff7a!important}.teacher-live-card{border-radius:22px!important}.teacher-live-list{display:flex;flex-direction:column;gap:11px}.teacher-live-class{position:relative;display:grid;grid-template-columns:1fr auto;border-radius:16px;overflow:hidden;background:#ffffff6b;box-shadow:0 8px 24px #5569870f,inset 0 1px #ffffff73;transform:scale(1);transition:opacity .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.2,.8,.2,1),background .35s ease}.teacher-live-class:before{content:"";position:absolute;inset:0 auto 0 0;width:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,#ffd9be70,#fff3ea38 42%,#ffcaa642 62%,#ffeee000),radial-gradient(ellipse at 68% 28%,rgba(255,255,255,.34),transparent 46%),radial-gradient(ellipse at 88% 70%,rgba(255,187,140,.26),transparent 56%);background-size:230% 100%,140% 115%,160% 120%;mask-image:linear-gradient(90deg,#000 0%,#000 54%,rgba(0,0,0,.68) 72%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 54%,rgba(0,0,0,.68) 72%,transparent 100%);transition:width .8s cubic-bezier(.2,.8,.2,1),opacity .35s ease;will-change:width,opacity,background-position}.teacher-live-class:after{content:"";position:absolute;top:-18%;bottom:-18%;left:calc(var(--progress, 0%) - 18px);width:34px;border-radius:50%;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);filter:blur(12px);transition:left .8s cubic-bezier(.2,.8,.2,1),opacity .35s ease;will-change:left,opacity,transform}.teacher-live-class>*{position:relative;z-index:1}.teacher-live-class.is-done{background:#f0fdf46b}.teacher-live-class.is-pending{background:#fffcf475}.teacher-live-class.is-live{background:radial-gradient(circle at 18% 0%,#ffe1cdb8,#ffffff7a 52%,#ffffff6b);box-shadow:0 18px 44px #c57e5a24,0 8px 20px #55698712,inset 0 1px #ffffff94;transform:scale(1.01)}.teacher-live-class.is-live:before{width:calc(var(--progress, 0%) + 58px);opacity:.94;animation:liveWaterFlow 5.8s ease-in-out infinite}.teacher-live-class.is-live:after{opacity:1;animation:liveWaterEdge 3.8s ease-in-out infinite}.teacher-live-class.is-past{opacity:.42}.teacher-side-widget{border-radius:18px!important;padding:16px!important;background:#ffffff7a!important;border:1px solid rgba(255,255,255,.66)!important;box-shadow:0 10px 30px #5a70961c,inset 0 1px #ffffff73!important}.teacher-absence-strip{background:#ffffff70!important;border:1px solid rgba(255,255,255,.66)!important;box-shadow:0 10px 30px #5a709617,inset 0 1px #ffffff6b!important}.teacher-widget-column,.teacher-widget-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.teacher-priority-strip{background:linear-gradient(180deg,#ffffffa3,#ffffff70)!important;border:1px solid rgba(255,255,255,.66)!important;box-shadow:0 10px 30px #5a709617,inset 0 1px #ffffff80!important}.teacher-priority-strip.all-clear{background:radial-gradient(circle at 12% 0%,rgba(15,118,110,.08),transparent 42%),linear-gradient(180deg,#ffffffa8,#ffffff75)!important}.teacher-priority-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.teacher-priority-strip-head span{font-size:12px;font-weight:700;color:#1a2332}.teacher-priority-strip-head em{font-size:10.5px;font-style:normal;font-weight:500;color:#94a3b8}.teacher-smart-summary-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.teacher-smart-summary{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:#ffffff8a;color:#64748b;box-shadow:inset 0 1px #ffffffb8}.teacher-smart-summary b{color:#475569;font-size:10px;font-weight:650}.teacher-smart-summary em{color:#64748b;font-size:10px;font-style:normal;font-weight:500}.teacher-smart-summary.done{background:#f0fdfa8a}.teacher-smart-summary.done b,.teacher-smart-summary.done em{color:#0f766e}.teacher-priority-chip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.teacher-priority-chip{width:100%;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:10px 12px;border:0;border-radius:16px;font-family:inherit;text-align:left;cursor:pointer;background:#ffffff80;color:#475569;box-shadow:inset 0 1px #ffffffc7,0 6px 16px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease}.teacher-priority-chip.featured{grid-column:span 1;min-height:72px;padding:13px 14px;background:radial-gradient(circle at 10% 0%,rgba(0,75,135,.18),transparent 48%),linear-gradient(145deg,#ffffffc7,#eff6ff94);box-shadow:0 14px 34px #004b871c,inset 0 1px #ffffffd6}.teacher-priority-chip:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffd6,0 10px 22px #0f172a11}.teacher-priority-chip.featured:hover{box-shadow:0 18px 42px #004b8726,inset 0 1px #ffffffe6}.teacher-priority-chip-icon{width:28px;height:28px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff9e;box-shadow:inset 0 1px #ffffffbd}.teacher-priority-chip.featured .teacher-priority-chip-icon{width:34px;height:34px;color:#fff;background:linear-gradient(145deg,#004b87f5,#1f6faadb);box-shadow:inset 0 1px #ffffff47,0 8px 18px #004b872e}.teacher-priority-chip-text{min-width:0;display:grid;gap:3px}.teacher-priority-chip-text b{color:#1a2332;font-size:11.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-priority-chip-text em{color:#64748b;font-size:10px;font-style:normal;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-priority-chip>strong{color:#004b87;font-size:10px;font-weight:650;white-space:nowrap}.teacher-priority-chip.featured>strong{min-height:30px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#004b87f0,#1f6faadb);color:#fff;box-shadow:inset 0 1px #ffffff38,0 7px 16px #004b8729}.teacher-priority-chip.featured .teacher-priority-chip-text b{color:#004b87;font-size:12.5px}.teacher-priority-chip.featured .teacher-priority-chip-text em{color:#475569;font-size:10.5px}.teacher-priority-chip.danger{background:linear-gradient(145deg,#ffffff9e,#fef2f275);color:#b91c1c}.teacher-priority-chip.warm{background:linear-gradient(145deg,#ffffff9e,#fff7ed7a);color:#9a3412}.teacher-priority-chip.cool{background:linear-gradient(145deg,#ffffff9e,#eff6ff7a);color:#004b87}.teacher-smart-clear{padding:10px 12px;border-radius:15px;background:#ffffff75;color:#64748b;font-size:11.5px;font-weight:500;line-height:1.45;box-shadow:inset 0 1px #ffffffad}@media(max-width:920px){.teacher-priority-chip-row{grid-template-columns:1fr}.teacher-priority-strip-head{align-items:flex-start;flex-direction:column;gap:3px}}.dashboard-widget-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;margin-bottom:16px}.dashboard-widget-card{min-width:0;display:flex;flex-direction:column;overflow:hidden}.teacher-event-list{display:flex;flex-direction:column;gap:8px}.teacher-event-item{padding:10px 11px;border-radius:14px;background:linear-gradient(180deg,#ffffffad,#f8fafc80);border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 1px #ffffffc7,0 8px 18px #0f172a0a}.teacher-event-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.teacher-event-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#dbeafecc;color:#1d4ed8;font-size:10px;font-weight:800;box-shadow:inset 0 1px #ffffffc7}.teacher-event-pill.holiday{background:#fee2e2d1;color:#dc2626}.teacher-event-date{font-size:10px;font-weight:700;color:#94a3b8;flex-shrink:0}.teacher-event-title{font-size:12px;font-weight:800;color:#1a2332;line-height:1.45}.admin-dashboard .dash-stats>div{border-radius:24px!important;background:linear-gradient(180deg,#ffffffb3,#ffffff7a)!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:0 14px 34px #5a709617,inset 0 1px #ffffff80!important}.admin-operations-home{color:var(--ops-text)}.admin-operations-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-operations-header h2{margin:0;color:var(--ops-text);font-size:clamp(27px,3vw,38px);font-weight:850;line-height:1.08;letter-spacing:-.045em}.admin-operations-header p{margin:9px 0 0;color:var(--ops-text-secondary);font-size:11px;font-weight:650}.admin-operations-quick-actions{display:flex;align-items:center;gap:7px;padding:4px;border:0;border-radius:14px;background:#f2f2f7;box-shadow:inset 0 0 0 1px #00000009}.admin-operations-quick-actions button{min-height:38px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#515154;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:10.5px;font-weight:680;letter-spacing:-.012em;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .1s ease}.admin-operations-quick-actions button>svg{flex:0 0 auto;color:#6e6e73}.admin-operations-quick-actions button:hover{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001a}.admin-operations-quick-actions button:hover>svg,.admin-operations-quick-actions .admin-operations-utility-action:hover>svg{color:#0071e3}.admin-operations-quick-actions button:active{transform:scale(.97)}.admin-operations-action-divider{width:1px;height:22px;margin:0 2px;flex:0 0 auto;background:#d2d2d7}.admin-operations-quick-actions button:focus-visible,.admin-task-row:focus-visible{outline:3px solid rgba(0,75,135,.2);outline-offset:2px}.admin-briefing{position:relative;min-height:150px;margin-bottom:30px;padding:30px 32px;border:1px solid rgba(255,255,255,.74);border-radius:28px;background:linear-gradient(135deg,#ffffffe6,#f0f7ffb8);box-shadow:0 24px 60px #3341551f,inset 0 1px #ffffffe6;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden}.admin-briefing:after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.16),transparent 68%);pointer-events:none}.admin-briefing.is-clear:after{background:radial-gradient(circle,rgba(52,211,153,.15),transparent 68%)}.admin-briefing-copy{display:flex;align-items:flex-start;gap:16px;min-width:0;position:relative;z-index:1}.admin-briefing-icon{width:46px;height:46px;border-radius:15px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center;flex-shrink:0;box-shadow:inset 0 1px #fff}.admin-briefing.is-clear .admin-briefing-icon{background:#ecfdf5;color:#059669}.admin-briefing-copy>div>span{color:#64748b;font-size:10px;font-weight:800}.admin-briefing-copy h3{margin:7px 0 5px;color:var(--ops-text);font-size:clamp(18px,2vw,25px);line-height:1.25;letter-spacing:-.025em}.admin-briefing-copy p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.admin-briefing-count{width:82px;height:82px;border-radius:24px;background:#ffffffad;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #fff,0 12px 28px #33415512;position:relative;z-index:1}.admin-briefing-count strong{color:#1e3a5f;font-size:29px;line-height:1;letter-spacing:-.04em}.admin-briefing-count span{margin-top:6px;color:#94a3b8;font-size:8px;font-weight:800}.admin-task-section{margin-bottom:32px}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px;padding:0 3px}.admin-section-heading h3{margin:0;color:var(--ops-text);font-size:17px;line-height:1.2;letter-spacing:-.025em}.admin-section-heading em{color:#94a3b8;font-size:10px;font-style:normal;font-weight:650}.admin-live-heading{margin-top:4px}.admin-task-list{border:1px solid rgba(255,255,255,.72);border-radius:var(--ops-radius-card);overflow:hidden;background:#ffffff9e;box-shadow:var(--ops-shadow)}.admin-task-row{width:100%;min-height:70px;padding:13px 16px;border:0;border-bottom:1px solid rgba(203,213,225,.42);background:transparent;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;font-family:inherit;text-align:left;cursor:pointer;transition:background .16s ease,transform .1s ease}.admin-task-row:last-child{border-bottom:0}.admin-task-row:hover{background:#ffffffb8}.admin-task-row:active{transform:scale(.995);background:#f8fafce6}.admin-task-icon{width:40px;height:40px;border-radius:13px;background:#f1f5f9;color:#64748b;display:grid;place-items:center}.admin-task-row.warm .admin-task-icon{background:#fff7ed;color:#d97706}.admin-task-row.danger .admin-task-icon{background:#fff1f2;color:#e11d48}.admin-task-row.pink .admin-task-icon{background:#fdf2f8;color:#db2777}.admin-task-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-task-copy strong{color:#253247;font-size:12px;line-height:1.35}.admin-task-copy small{color:#94a3b8;font-size:10px;line-height:1.45}.admin-task-row.is-class-assignment .admin-task-copy strong{font-size:14px;overflow-wrap:anywhere}.admin-task-row.is-class-assignment .admin-task-copy small{display:block;color:var(--text-secondary, #64748B)}.admin-task-issues{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.admin-task-issues>span{padding:3px 7px;border-radius:6px;background:#fff7ed;color:#9a4c08;font-size:10px;line-height:1.4;font-weight:650}.admin-task-action{min-height:32px;padding:0 10px;border-radius:9px;background:#f8fafcd1;color:#64748b;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:780;white-space:nowrap}.admin-task-row:hover .admin-task-action{color:#004b87;background:#eff6ff}.admin-monthly-summary{margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.56)}.admin-subsection-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:2px 3px 0}.admin-subsection-label span{color:var(--ops-text);font-size:13px;font-weight:820}.admin-subsection-label em{color:#94a3b8;font-size:9px;font-style:normal;font-weight:650}.admin-notice-overview{padding:18px;border:1px solid var(--ops-border);border-radius:var(--ops-radius-card);background:#ffffffad;box-shadow:var(--ops-shadow)}.admin-notice-overview-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}.admin-notice-overview-icon{width:42px;height:42px;border-radius:14px;background:#eff6ff;color:#2563eb;display:grid;place-items:center}.admin-notice-overview h3{margin:0;color:var(--ops-text);font-size:13px}.admin-notice-overview p{margin:4px 0 0;color:#94a3b8;font-size:9.5px;line-height:1.45}.admin-notice-overview-head>button{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:#eff6ff;color:#004b87;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:9px;font-weight:780;cursor:pointer;transition:transform .1s ease,background .16s ease}.admin-notice-overview-head>button:hover{background:#dbeafe}.admin-notice-overview-head>button:active{transform:scale(.97)}.admin-notice-latest{width:100%;margin-top:14px;padding:12px 13px;border:1px solid rgba(226,232,240,.72);border-radius:13px;background:#f8fafcb8;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:inherit;text-align:left;cursor:pointer}.admin-notice-latest span{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-notice-latest b{color:#94a3b8;font-size:8px}.admin-notice-latest strong{overflow:hidden;color:#334155;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-notice-latest em{flex-shrink:0;color:#64748b;font-size:9px;font-style:normal}.admin-notice-empty{margin-top:14px;padding:14px;border-radius:12px;background:#f8fafc;color:#94a3b8;font-size:10px;text-align:center}.admin-notice-manager-modal{padding:0!important;overflow:hidden!important}.admin-notice-manager-head{padding:24px 26px 20px;border-bottom:1px solid #E2E8F0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(145deg,#f8fbff,#fff)}.admin-notice-manager-head h2{margin:0;color:var(--ops-text);font-size:22px;letter-spacing:-.035em}.admin-notice-manager-head p{margin:6px 0 0;color:#94a3b8;font-size:10px}.admin-notice-manager-head button{width:36px;height:36px;border:0;border-radius:50%;background:#eceef1;color:#64748b;display:grid;place-items:center;cursor:pointer}.admin-notice-manager-modal>.admin-panel-card{max-height:min(70vh,720px);margin:20px;overflow:auto!important}.admin-header-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border-radius:999px;background:#ffffff9e;color:#004b87;font-size:11px;font-weight:800;box-shadow:inset 0 1px #ffffffd1,0 8px 20px #0f172a0d}.dashboard-section-header .dashboard-section-icon{box-shadow:inset 0 1px #fff9,0 10px 22px #5a709612}.admin-panel-card{background:linear-gradient(180deg,#ffffffad,#ffffff7a)!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:0 14px 34px #5a70961a,inset 0 1px #ffffff80!important}.admin-panel-card-soft{box-shadow:0 12px 28px #5a709614,inset 0 1px #ffffff85!important}.admin-panel-card-pink{background:linear-gradient(180deg,#ffffffb3,#fce7f333)!important}.admin-list-card{background:linear-gradient(180deg,#ffffffad,#f8fafc7a)!important;border:1px solid rgba(255,255,255,.56)!important;box-shadow:inset 0 1px #ffffffc2,0 10px 22px #5a70960f}.admin-dashboard-main-grid,.admin-dashboard-middle-grid,.admin-dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start}.admin-dashboard-main-grid,.admin-dashboard-middle-grid{margin-bottom:16px}.admin-dashboard-right-stack{display:grid;gap:16px;align-content:start}.admin-absence-card{min-height:100%}.admin-priority-strip{background:linear-gradient(180deg,#ffffffb8,#ffffff80)!important;border:1px solid rgba(255,255,255,.62)!important;box-shadow:0 14px 34px #5a709617,inset 0 1px #ffffff8f!important}.admin-priority-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.admin-priority-strip-head span{color:#1a2332;font-size:13px;font-weight:800;line-height:1.2}.admin-priority-strip-head em{color:#94a3b8;font-size:10px;font-style:normal;font-weight:600}.admin-priority-chip-row{display:flex;flex-wrap:wrap;gap:8px}.admin-priority-chip{min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.68);border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:#ffffffc7;color:#475569;font-family:inherit;font-size:11px;font-weight:700;line-height:1;box-shadow:inset 0 1px #ffffffd6,0 8px 18px #0f172a0a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.admin-priority-chip:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 10px 20px #0f172a14}.admin-priority-chip.danger{color:#b91c1c;background:#fff1f2d1}.admin-priority-chip.warm{color:#b45309;background:#fff7edd6}.admin-priority-chip.pink{color:#db2777;background:#fce7f3c2}.admin-priority-chip.slate{color:#475569;background:#f8fafcd1}.admin-room-status-shell .room-status-widget{background:linear-gradient(180deg,#ffffff8f,#ffffff6b)!important;border:1px solid rgba(255,255,255,.48)!important;box-shadow:0 10px 26px #5a709612,inset 0 1px #ffffff70!important}.admin-soft-button,.admin-primary-button,.admin-icon-button,.admin-pill-toggle,.admin-inline-action{font-family:inherit;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.admin-soft-button{border:1px solid rgba(255,255,255,.62)!important;background:#ffffffb8!important;color:#475569!important;box-shadow:inset 0 1px #ffffffd6,0 8px 18px #0f172a0a}.admin-soft-button:hover,.admin-pill-toggle:hover,.admin-icon-button:hover,.admin-inline-action:hover{transform:translateY(-1px)}.admin-primary-button{border:0!important;background:linear-gradient(135deg,#004b87,#2b79b9)!important;color:#fff!important;box-shadow:0 12px 26px #004b873d,inset 0 1px #ffffff3d}.admin-icon-button{border:1px solid rgba(255,255,255,.62)!important;background:#ffffffbd!important;color:#64748b!important;box-shadow:inset 0 1px #ffffffd6,0 6px 14px #0f172a0a}.admin-icon-button.danger{color:#dc2626!important;border-color:#fee2e2eb!important}.admin-pill-toggle{background:#ffffffb3!important;box-shadow:inset 0 1px #ffffffd1,0 6px 14px #0f172a08}.admin-inline-action{box-shadow:inset 0 1px #ffffffb8,0 6px 14px #0f172a09}.admin-inline-action-pink{border-color:#f472b62e!important;background:#fce7f37a!important}.admin-text-link{transition:color .2s ease,transform .2s ease}.admin-text-link:hover{color:#be185d!important;transform:translate(1px)}.admin-soft-input{border:1px solid rgba(255,255,255,.68)!important;background:#ffffff9e!important;box-shadow:inset 0 1px #ffffffd6,0 8px 20px #0f172a09}.admin-soft-input:focus{box-shadow:0 0 0 3px #8fd8ff2e,inset 0 1px #ffffffe0,0 12px 26px #0f172a0d}.admin-soft-textarea{min-height:112px}.admin-consult-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:linear-gradient(180deg,#ffffffb8,#ffffff75);box-shadow:inset 0 1px #ffffffd1,0 8px 18px #ec48990d}.admin-consult-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:10px;color:#94a3b8;font-weight:700;line-height:1}.admin-consult-author{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#ffffffbd;color:#db2777;box-shadow:inset 0 1px #ffffffdb,0 6px 14px #ec48990f;font-size:10px;font-weight:800;flex-shrink:0}.admin-consult-body{font-size:11px;line-height:1.62;color:#475569;white-space:pre-wrap;padding:10px 11px;border-radius:12px;background:#ffffff8f;box-shadow:inset 0 1px #ffffffb8}.admin-consult-actions{display:flex;justify-content:flex-end}.enroll-warning-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,#ffffffb8,#fef9c342);border:1px solid rgba(255,255,255,.62);box-shadow:0 14px 30px #d9770614,inset 0 1px #ffffffc2}.enroll-warning-head{display:flex;flex-direction:column;gap:4px;min-width:0}.enroll-warning-head b{font-size:13px;color:#1a2332;font-weight:800;line-height:1.2}.enroll-warning-head span{font-size:11px;color:#64748b;line-height:1.55}.enroll-warning-chips{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.enroll-warning-chips button,.enroll-warning-chips span{min-height:32px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;white-space:nowrap}.enroll-warning-chips button{border:1px solid rgba(255,255,255,.68);background:#ffffffc2;color:#9a3412;box-shadow:inset 0 1px #ffffffdb,0 8px 18px #d9770614;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.enroll-warning-chips button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 10px 20px #d977061f}.enroll-warning-chips span{background:#ffffff8a;color:#475569;box-shadow:inset 0 1px #ffffffb3}.room-status-widget .room-status-summary.compact{grid-template-columns:repeat(4,minmax(0,1fr))!important}.room-status-widget .room-status-summary.compact>div{padding:10px 12px!important;border-radius:14px!important}.room-status-widget .room-status-summary.compact>div>div:first-child{margin-bottom:3px!important}.room-status-widget .room-status-summary.compact>div>div:last-child{font-size:20px!important}.dashboard-widget-scroll{flex:1;min-height:0;overflow:visible;padding-right:2px}.dashboard-widget-scroll::-webkit-scrollbar{width:4px}.dashboard-widget-scroll::-webkit-scrollbar-thumb{background:#94a3b847;border-radius:999px}.teacher-notice-item{border-radius:12px;background:#ffffff6b;overflow:hidden;border:none;box-shadow:inset 0 1px #ffffff6b}.teacher-notice-trigger{width:100%;padding:9px 11px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.teacher-notice-trigger:focus-visible{outline:2px solid rgba(0,75,135,.35);outline-offset:-2px;border-radius:10px}.teacher-notice-open-label{color:#64748b;font-size:9px;font-weight:750;padding:3px 7px;border:1px solid #e2e8f0;border-radius:999px;background:#ffffffb8}@keyframes noticeDetailIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.modal-overlay:has(.notice-detail-modal){padding:28px;background:#181b207a!important;backdrop-filter:blur(14px) saturate(82%)!important;-webkit-backdrop-filter:blur(14px) saturate(82%)!important}.notice-detail-modal{width:min(1120px,calc(100vw - 56px))!important;max-width:none!important;max-height:calc(100vh - 56px)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.82);border-radius:34px!important;box-shadow:0 36px 90px #00000047!important;animation:noticeDetailIn .42s cubic-bezier(.22,1,.36,1) both!important}.notice-detail-head{min-height:250px;padding:62px 72px 48px;display:flex;justify-content:space-between;gap:32px;box-sizing:border-box;background:#fff}.notice-detail-head span{display:block;margin-bottom:22px;color:#202124;font-size:14px;font-weight:760;letter-spacing:-.01em}.notice-detail-head h2{max-width:880px;margin:0;color:#17181a;font-size:clamp(32px,4vw,52px);font-weight:850;line-height:1.16;letter-spacing:-.045em}.notice-detail-head time{display:block;margin-top:20px;color:#8b8d93;font-size:12px;font-weight:600}.notice-detail-head button{width:38px;height:38px;margin-top:-38px;margin-right:-46px;border:0;border-radius:50%;background:#eceef1;color:#686b70;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .18s ease,transform .18s ease}.notice-detail-head button:hover{background:#e1e3e7;transform:scale(1.05)}.notice-detail-head button:focus-visible{outline:3px solid rgba(0,75,135,.24);outline-offset:3px}.notice-detail-body{max-height:calc(100vh - 362px);margin:0 64px 58px;padding:48px 54px 54px;overflow:auto;border-radius:26px;background:#f4f4f6;color:#55575c;font-size:15px;font-weight:520;box-sizing:border-box}.mini-md{line-height:1.72;overflow-wrap:anywhere}.mini-md>:first-child{margin-top:0}.mini-md>:last-child{margin-bottom:0}.mini-md h1,.mini-md h2,.mini-md h3,.mini-md h4{margin:1.35em 0 .55em;color:#1a2332;line-height:1.35}.mini-md h1{font-size:1.65em;border-bottom:1px solid #e2e8f0;padding-bottom:.35em}.mini-md h2{font-size:1.4em;border-bottom:1px solid #e2e8f0;padding-bottom:.3em}.mini-md h3{font-size:1.18em}.mini-md p{margin:.65em 0}.mini-md ul,.mini-md ol{margin:.65em 0;padding-left:1.65em}.mini-md li+li{margin-top:.25em}.mini-md blockquote{margin:.8em 0;padding:.3em 1em;border-left:4px solid #93c5fd;background:#f8fafc;color:#64748b}.mini-md code{padding:.15em .38em;border-radius:5px;background:#f1f5f9;color:#be123c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.mini-md pre{overflow:auto;padding:14px 16px;border-radius:10px;background:#172033;color:#e2e8f0}.mini-md pre code{padding:0;background:transparent;color:inherit}.mini-md a{color:#0369a1;text-decoration:underline;text-underline-offset:2px}.mini-md hr{margin:1.4em 0;border:0;border-top:1px solid #e2e8f0}.mini-md table{width:100%;margin:1em 0;border-collapse:collapse;display:block;overflow-x:auto}.mini-md th,.mini-md td{min-width:90px;padding:8px 10px;border:1px solid #cbd5e1;text-align:left}.mini-md th{background:#f1f5f9;color:#334155;font-weight:800}.mini-md tr:nth-child(2n) td{background:#f8fafc}.mini-md input[type=checkbox]{accent-color:#004b87}.notice-markdown-help{margin-top:-4px;color:#94a3b8;font-size:10px}.notice-editor-preview{max-height:280px;overflow:auto;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafcb8;color:#475569;font-size:12px}.notice-editor-preview>b{display:block;margin-bottom:8px;color:#64748b;font-size:9px;letter-spacing:.08em}@media(max-width:640px){.modal-overlay:has(.notice-detail-modal){padding:12px;align-items:flex-end!important}.notice-detail-modal{width:100%!important;max-height:calc(100vh - 24px)!important;border-radius:26px 26px 20px 20px!important}.notice-detail-head{min-height:200px;padding:42px 24px 30px}.notice-detail-head span{margin-bottom:16px;font-size:12px}.notice-detail-head h2{font-size:30px;line-height:1.2}.notice-detail-head time{margin-top:14px}.notice-detail-head button{width:36px;height:36px;margin-top:-27px;margin-right:-10px}.notice-detail-body{max-height:calc(100vh - 285px);margin:0 14px 14px;padding:28px 24px 34px;border-radius:20px;font-size:14px}}@media(prefers-reduced-motion:reduce){.notice-detail-modal{animation-duration:.01ms!important}}@media(max-width:1180px){.admin-dashboard-main-grid,.admin-dashboard-middle-grid,.admin-dashboard-bottom-grid,.admin-dashboard-right-stack{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.admin-operations-header{align-items:flex-start;flex-direction:column}.admin-operations-quick-actions{width:100%}.admin-operations-quick-actions button{flex:1;justify-content:center}.admin-briefing{padding:24px}.enroll-warning-banner{flex-direction:column;align-items:stretch}.enroll-warning-chips{justify-content:flex-start}.day-chip-selector{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:560px){.admin-operations-header{margin-bottom:18px}.admin-operations-header h2{font-size:29px}.admin-operations-quick-actions{gap:2px;padding:3px}.admin-operations-quick-actions button{min-width:0;min-height:46px;padding:4px 3px;flex-direction:column;justify-content:center;gap:2px;font-size:8.5px;line-height:1.05}.admin-operations-quick-actions button>svg{width:15px;height:15px}.admin-operations-action-divider{height:30px;margin:0 1px}.admin-briefing{min-height:0;padding:22px 19px;border-radius:23px;align-items:flex-start}.admin-briefing-icon{width:40px;height:40px;border-radius:13px}.admin-briefing-count{width:58px;height:58px;border-radius:18px}.admin-briefing-count strong{font-size:22px}.admin-briefing-count span{font-size:7px}.admin-briefing-copy{gap:11px}.admin-briefing-copy h3{font-size:17px}.admin-briefing-copy p{display:none}.admin-task-row{min-height:66px;padding:12px;grid-template-columns:38px minmax(0,1fr) auto;gap:10px}.admin-task-icon{width:38px;height:38px}.admin-task-copy small{display:none}.admin-task-action{width:32px;padding:0;justify-content:center;font-size:0}.admin-notice-overview-head{grid-template-columns:38px minmax(0,1fr)}.admin-notice-overview-icon{width:38px;height:38px}.admin-notice-overview-head>button{grid-column:1 / -1;justify-content:center}.admin-notice-latest{align-items:flex-start;flex-direction:column}.admin-notice-manager-head{padding:20px 18px 16px}.admin-notice-manager-modal>.admin-panel-card{margin:12px}}@media(prefers-reduced-transparency:reduce){.admin-operations-quick-actions,.admin-briefing,.admin-task-list,.admin-notice-overview{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.admin-operations-quick-actions,.admin-briefing,.admin-task-list,.admin-notice-overview{border-color:#64748b}.admin-task-row{border-bottom-color:#94a3b8}.admin-task-copy small,.admin-section-heading em{color:#475569}}.class-log-page{max-width:1440px;margin:0 auto}.log-entry-list{display:grid;gap:10px}.class-log-page .log-entry-card{position:relative;border:1px solid #EAECF0!important;background:#fff!important;box-shadow:0 5px 18px #0f172a0b!important}.class-log-page .log-entry-card:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:3px;background:var(--teacher);opacity:.72}.class-log-page .log-entry-card:hover{transform:none;border-color:#d0d5dd!important;box-shadow:0 8px 24px #0f172a11!important}.class-log-page .log-entry-card.is-open{transform:none;border-color:color-mix(in srgb,var(--teacher) 26%,#D0D5DD)!important;box-shadow:0 14px 34px #0f172a14!important}.class-log-page .log-entry-head{min-height:68px;padding:12px 18px!important;grid-template-columns:86px minmax(0,1fr) auto!important;background:#fff!important}.class-log-page .log-entry-card.is-open .log-entry-head{border-bottom:1px solid #EAECF0!important}.class-log-page .log-detail-grid{grid-template-columns:minmax(300px,4fr) minmax(430px,6fr)!important;gap:12px!important;padding:16px!important;background:#f9fafb!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{padding:15px!important;border:1px solid #EAECF0;border-radius:14px!important;background:#fff!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2{grid-column:2!important}.class-log-page .log-s3{grid-column:1!important;grid-row:1 / span 3!important}.class-log-page .log-s4{padding:3px 2px 0!important}.class-log-page .log-input{padding:12px 14px!important;border:1px solid #EAECF0!important;border-radius:10px!important;background:#f9fafb!important;box-shadow:none!important}.class-log-page .log-input:focus{border-color:#84adff!important;background:#fff!important;box-shadow:0 0 0 3px #007aff1a!important}.class-log-page .pending-log-card{border:1px solid #EAECF0!important;background:#fff!important;box-shadow:0 5px 18px #0f172a0b!important}.class-log-page .pending-log-item{border:1px solid #EAECF0;background:#f9fafb;box-shadow:none}.acm-makeup-reason{display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:14px;background:#fff8ed;border:1px solid #FEDF89}.acm-makeup-reason-options{display:flex;flex-wrap:wrap;gap:6px}.acm-makeup-reason-options button{min-height:28px;padding:0 9px;border:1px solid #FEDF89;border-radius:999px;background:#fff;color:#b54708;cursor:pointer;font-family:inherit;font-size:10px;font-weight:650;line-height:1}.acm-makeup-reason-options button.active{border-color:#f79009;background:#f79009;color:#fff}.acm-makeup-clear{justify-self:start;padding:0;border:0;background:transparent;color:#98a2b3;cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;line-height:1;text-decoration:underline}@media(max-width:960px){.class-log-page .log-detail-grid{grid-template-columns:1fr!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{grid-column:1!important;grid-row:auto!important}.class-log-page .log-s3{order:-1}}@media(max-width:767px){.class-log-page .log-entry-head{grid-template-columns:62px minmax(0,1fr)!important;padding:12px 13px!important}.class-log-page .log-entry-head>div:last-child{grid-column:1 / -1;justify-content:flex-end}.class-log-page .log-detail-grid{padding:10px!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{padding:12px!important}}.teacher-schedule-block{position:relative;overflow:hidden;padding:9px 10px 25px 13px;border:1px solid #E4E7EC;border-radius:11px;background:#f9fafb;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .19s ease,transform .19s cubic-bezier(.25,1,.5,1),border-color .19s ease,background .19s ease,box-shadow .19s ease,filter .19s ease}.teacher-schedule-block:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.teacher-schedule-block.is-linked:before{width:4px}.class-workspace-modal{padding:0!important;overflow:hidden!important}.class-workspace-head{min-height:76px;padding:20px 24px 16px;border-bottom:1px solid #EAECF0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.class-workspace-head>div>span{color:#007aff;font-size:9.5px;font-weight:800;letter-spacing:.07em}.class-workspace-head h3{margin:4px 0 0;color:#101828;font-size:22px;font-weight:760;letter-spacing:-.025em}.class-workspace-head p{margin:4px 0 0;color:#667085;font-size:11px}.class-workspace-head>em{min-width:58px;height:29px;border-radius:999px;background:#f2f4f7;color:#475467;display:grid;place-items:center;font-size:10.5px;font-style:normal;font-weight:700}.class-workspace-layout{height:min(680px,calc(90vh - 112px));display:grid;grid-template-columns:270px minmax(0,1fr)}.class-workspace-sidebar{min-width:0;padding:12px;border-right:1px solid #EAECF0;background:#f9fafb;overflow:hidden;display:flex;flex-direction:column}.class-workspace-sidebar>label,.class-roster-add>label{min-height:36px;padding:0 10px;border:1px solid #D0D5DD;border-radius:10px;background:#fff;color:#98a2b3;display:flex;align-items:center;gap:7px}.class-workspace-sidebar input,.class-roster-add input{width:100%;border:0;outline:0;background:transparent;color:#344054;font-family:inherit;font-size:11px;font-weight:550;line-height:1}.class-workspace-sidebar>div{margin-top:9px;overflow:auto;display:grid;gap:4px}.class-workspace-sidebar>div>button{width:100%;padding:10px;border:0;border-radius:11px;background:transparent;color:inherit;cursor:pointer;display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:center;text-align:left;font-family:inherit}.class-workspace-sidebar>div>button:hover{background:#f2f4f7}.class-workspace-sidebar>div>button.active{background:#fff;box-shadow:0 2px 10px #0f172a12}.class-workspace-sidebar>div>button>span:first-child{width:7px;height:7px;border-radius:50%;background:var(--teacher)}.class-workspace-sidebar strong,.class-workspace-sidebar small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-workspace-sidebar strong{color:#344054;font-size:11.5px}.class-workspace-sidebar small{margin-top:3px;color:#98a2b3;font-size:9.5px}.class-workspace-main{min-width:0;padding:20px 22px;overflow:auto;background:#fff}.class-workspace-main>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.class-workspace-main>header>div>span{color:#007aff;font-size:10px;font-weight:700}.class-workspace-main>header h4{margin:4px 0 0;color:#101828;font-size:20px;letter-spacing:-.02em}.class-workspace-main>header p{margin:4px 0 0;color:#667085;font-size:11px}.class-workspace-main>header>button,.class-info-panel-head>button,.class-info-actions button{min-height:33px;padding:0 12px;border:1px solid #D0D5DD;border-radius:999px;background:#fff;color:#475467;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:10.5px;font-weight:650;line-height:1}.class-workspace-tabs{display:inline-flex;gap:3px;margin-top:18px;padding:3px;border-radius:11px;background:#f2f4f7}.class-workspace-tabs button{min-height:31px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:#667085;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:10.5px;font-weight:650;line-height:1}.class-workspace-tabs button.active{background:#fff;color:#101828;box-shadow:0 1px 4px #0f172a14}.class-roster-panel,.class-info-panel{margin-top:16px}.class-roster-add{position:relative}.class-roster-results{position:absolute;z-index:5;top:calc(100% + 5px);left:0;right:0;max-height:260px;padding:6px;border:1px solid #EAECF0;border-radius:12px;background:#fff;box-shadow:0 14px 30px #0f172a21;overflow:auto}.class-roster-results>button{width:100%;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-family:inherit}.class-roster-results>button:hover{background:#f9fafb}.class-roster-results strong,.class-roster-results small{display:block}.class-roster-results strong{color:#344054;font-size:11px}.class-roster-results small{margin-top:2px;color:#98a2b3;font-size:9px}.class-roster-results>p{margin:0;padding:12px;color:#98a2b3;font-size:10.5px;text-align:center}.class-roster-list{margin-top:12px;border:1px solid #EAECF0;border-radius:14px;overflow:hidden}.class-roster-list>div{min-height:54px;padding:8px 12px;border-top:1px solid #EAECF0;display:grid;grid-template-columns:32px minmax(0,1fr) auto 28px;align-items:center;gap:9px}.class-roster-list>div:first-child{border-top:0}.class-roster-avatar{width:30px;height:30px;border-radius:10px;background:#f2f4f7;color:#475467;display:grid;place-items:center;font-size:11px;font-weight:750}.class-roster-list strong,.class-roster-list small{display:block}.class-roster-list strong{color:#344054;font-size:11.5px}.class-roster-list small{margin-top:2px;color:#98a2b3;font-size:9.5px}.class-roster-list em{color:#667085;font-size:9.5px;font-style:normal}.class-roster-list>div>button{width:27px;height:27px;border:0;border-radius:50%;background:transparent;color:#98a2b3;cursor:pointer;display:grid;place-items:center}.class-roster-list>div>button:hover{background:#fef3f2;color:#d92d20}.class-roster-empty{margin:0;padding:30px;color:#98a2b3;font-size:11px;text-align:center}.class-info-panel{padding:15px;border:1px solid #EAECF0;border-radius:14px;background:#f9fafb}.class-info-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-info-panel-head>span{color:#344054;font-size:12px;font-weight:750}.class-info-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.class-info-fields label{display:grid;gap:5px}.class-info-fields label.wide{grid-column:1 / -1}.class-info-fields label>span{color:#667085;font-size:9.5px;font-weight:700}.class-info-fields input,.class-info-fields select{width:100%;height:37px;box-sizing:border-box;padding:0 10px;border:1px solid #D0D5DD;border-radius:9px;background:#fff;color:#344054;outline:0;font-family:inherit;font-size:11px;font-weight:550;line-height:1}.class-info-fields :disabled{border-color:transparent;background:#fff;color:#475467;opacity:1}.class-info-fields input:focus,.class-info-fields select:focus{border-color:#84adff;box-shadow:0 0 0 3px #007aff1a}.class-info-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.class-info-actions button.primary{border-color:#007aff;background:#007aff;color:#fff}.class-info-actions button:disabled{opacity:.45}.class-schedule-summary{margin-top:18px}.class-schedule-summary h5{margin:0 0 7px;color:#344054;font-size:11px}.class-schedule-summary>div{min-height:39px;padding:0 10px;border-top:1px solid #EAECF0;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px}.class-schedule-summary>div span{color:#475467;font-size:10px;font-weight:700}.class-schedule-summary>div strong{color:#344054;font-size:10.5px}.class-schedule-summary>div em{color:#98a2b3;font-size:9px;font-style:normal}.class-workspace-empty{display:grid;place-items:center;color:#98a2b3;font-size:12px}@media(max-width:767px){.schedule-control-cluster.right{width:100%;justify-content:flex-start}.teacher-schedule-head{align-items:flex-start}.teacher-schedule-stats{justify-content:flex-start}.class-workspace-layout{height:auto;max-height:calc(90vh - 102px);display:block;overflow:auto}.class-workspace-sidebar{max-height:180px;border-right:0;border-bottom:1px solid #EAECF0}.class-workspace-sidebar>div{display:flex;overflow-x:auto}.class-workspace-sidebar>div>button{flex:0 0 180px}.class-workspace-main{padding:17px}.class-workspace-main>header{align-items:flex-start}.class-workspace-main>header>button{padding:0 9px}.class-info-fields{grid-template-columns:1fr}.class-info-fields label.wide{grid-column:auto}.class-roster-list>div{grid-template-columns:32px minmax(0,1fr) 26px}.class-roster-list em{grid-column:2}}.confirm-danger .confirm-icon{color:#c9342f;background:#ffebe9}.confirm-warning .confirm-icon{color:#a35d00;background:#fff1d6}.confirm-info .confirm-icon{color:#06c;background:#e7f2ff}.confirm-copy{text-align:center}.confirm-copy h2{margin:0;color:#1d1d1f;font-family:inherit;font-size:17px;font-weight:700;letter-spacing:-.025em;line-height:1.36;overflow-wrap:anywhere}.confirm-copy p{max-width:32ch;margin:8px auto 0;color:#6e6e73;font-family:inherit;font-size:11.5px;font-weight:500;letter-spacing:-.01em;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.confirm-actions .confirm-cancel{color:#1d1d1f;background:#e9e9ee}.confirm-actions .confirm-submit{color:#fff;background:#0071e3}.confirm-danger .confirm-submit{background:#c9342f}.confirm-actions .confirm-cancel:hover{background:#dedee4}.confirm-actions .confirm-submit:hover{background:#0077ed}.confirm-danger .confirm-submit:hover{background:#b72f2b}.confirm-actions button:active{transform:scale(.97)}.confirm-actions button:focus-visible{outline:3px solid rgba(0,113,227,.28);outline-offset:2px}.confirm-danger .confirm-submit:focus-visible{outline-color:#c9342f47}@keyframes confirmOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes confirmCardIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:420px){.confirm-card{padding:20px;border-radius:20px}.confirm-copy h2{font-size:16px}.confirm-actions{margin-top:18px}}.admin-home-metrics{margin-bottom:18px;overflow:hidden;border:1px solid #dedfe3;border-radius:18px;background:#fff;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 4px 18px #00000009}.admin-home-metric{min-width:0;min-height:88px;padding:16px 18px;border-right:1px solid #e5e5ea;display:flex;align-items:center;gap:12px}.admin-home-metric:last-child{border-right:0}.admin-home-metric>span{width:34px;height:34px;border-radius:11px;background:#f2f2f7;color:#515154;display:grid;place-items:center;flex:0 0 auto}.admin-home-metric>div{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:7px}.admin-home-metric small{grid-column:1 / -1;margin-bottom:3px;color:#86868b;font-size:9.5px;font-weight:650}.admin-home-metric strong{color:#1d1d1f;font-size:19px;line-height:1;letter-spacing:-.025em;white-space:nowrap}.admin-home-metric em{min-width:0;overflow:hidden;color:#86868b;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-operations-home .admin-briefing{min-height:0;margin-bottom:20px;padding:18px 20px;border-radius:18px}.admin-operations-home .admin-briefing-icon{width:38px;height:38px;border-radius:12px}.admin-operations-home .admin-briefing-copy h3{margin:4px 0 2px;font-size:17px}.admin-operations-home .admin-briefing-count{width:auto;height:44px;padding:0 14px;border-radius:12px;flex-direction:row;gap:6px}.admin-operations-home .admin-briefing-count strong{font-size:18px}.admin-operations-home .admin-briefing-count span{font-size:9px}.limited-operations-home{max-width:1280px}.limited-operations-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:16px;align-items:start}.limited-operations-grid .admin-dashboard-right-stack{display:block}.limited-operations-grid .admin-subsection-label{min-height:31px;margin:0 0 8px}.limited-operations-grid .admin-materials-card{box-shadow:none!important}.admin-ops-schedule-card{min-width:0;overflow:hidden;border:1px solid #dedfe3;border-radius:20px;background:#fff;box-shadow:0 8px 24px #0f172a0d}.admin-ops-schedule-card>header{min-height:74px;padding:16px 18px;border-bottom:1px solid #e5e5ea;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-ops-schedule-card>header span{color:#86868b;font-size:9.5px;font-weight:700}.admin-ops-schedule-card>header h3{margin:4px 0 0;color:#1d1d1f;font-size:15px;letter-spacing:-.02em}.admin-ops-schedule-card>header button{min-height:34px;padding:0 11px;border:0;border-radius:10px;background:#f2f2f7;color:#515154;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.admin-ops-schedule-card>header button:hover{background:#e8e8ed;color:#0071e3}.admin-ops-schedule-list{padding:0 16px}.admin-ops-schedule-list>button{width:100%;min-height:62px;padding:11px 2px;border:0;border-bottom:1px solid #eeeeF0;background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr) auto 16px;align-items:center;gap:11px;font-family:inherit;text-align:left;cursor:pointer}.admin-ops-schedule-list>button:hover{background:#fafafa}.admin-ops-schedule-list time{color:#1d1d1f;font-size:12px;font-weight:750}.admin-ops-schedule-list>button>span{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-ops-schedule-list strong{overflow:hidden;color:#1d1d1f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-ops-schedule-list small{overflow:hidden;color:#86868b;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.admin-ops-schedule-list em{padding:5px 8px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}.admin-ops-schedule-list svg{color:#a1a1a6}.admin-ops-schedule-more{padding:12px 2px 14px;color:#86868b;font-size:9.5px;text-align:center}.admin-ops-schedule-empty{min-height:170px;color:#86868b;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px}.admin-ops-schedule-empty svg{color:#34a853}.teacher-room-status-modal{max-width:900px!important}.teacher-room-status-modal-inner{padding:26px}.teacher-room-status-modal-inner>header{margin-bottom:14px}.room-status-widget{padding:0!important;min-width:0;overflow:hidden;border:1px solid #dedfe3!important;border-radius:20px!important;background:#fff!important;box-shadow:none!important}.room-status-head{min-height:68px;padding:15px 17px;border-bottom:1px solid #e5e5ea;display:flex;align-items:center;gap:11px}.room-status-head-icon{width:36px;height:36px;border-radius:11px;background:#edf5ff;color:#0071e3;display:grid;place-items:center;flex:0 0 auto}.room-status-head h3{margin:0;color:#1d1d1f;font-size:14px;letter-spacing:-.015em}.room-status-head p{margin:3px 0 0;color:#86868b;font-size:9.5px}.room-status-summary{margin:14px 16px;border-color:#e5e5ea;border-radius:12px;background:#f7f7f8}.admin-operations-home .room-status-stat,.room-status-stat{min-width:0;min-height:46px;padding:10px 12px!important;border:0!important;border-right:1px solid #e5e5ea!important;background:transparent!important;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px}.room-status-stat:last-child{border-right:0!important}.room-status-stat>span{background:#a1a1a6}.room-status-stat.is-active>span{background:#ff3b30}.room-status-stat.is-soon>span{background:#ff9f0a}.room-status-stat.is-free>span{background:#34c759}.room-status-stat>div{color:#6e6e73!important}.room-status-floors{border-top:1px solid #e5e5ea}.room-status-floor{padding:0 16px;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important}.admin-operations-home .room-status-floor{padding:0 16px!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important}.room-status-floor+.room-status-floor{border-top:8px solid #f5f5f7!important}.room-status-floor-head{min-height:42px;border-bottom:1px solid #eeeeF0;display:flex;align-items:center;gap:7px}.room-status-floor-head strong{color:#1d1d1f;font-size:11px}.room-status-floor-head span{color:#a1a1a6;font-size:9px}.room-status-room-list{display:grid}.room-status-room{min-height:72px;padding:12px 2px;border-bottom:1px solid #eeeeF0;display:grid;grid-template-columns:86px minmax(150px,1.25fr) minmax(150px,1fr) auto;align-items:center;gap:14px}.room-status-room:last-child{border-bottom:0}.room-status-room-name,.room-status-room-current,.room-status-room-next{min-width:0;display:flex;flex-direction:column;gap:3px}.room-status-room-name strong{color:#1d1d1f;font-size:14px}.room-status-room-name small,.room-status-room-current small,.room-status-room-next small{overflow:hidden;color:#86868b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.room-status-room-current strong,.room-status-room-next strong{overflow:hidden;color:#1d1d1f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.room-status-room-next>span{color:#86868b;display:flex;align-items:center;gap:4px;font-size:9px;font-weight:650}.room-status-state{padding:5px 8px;border-radius:999px;background:#f2f2f7;color:#6e6e73;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750;white-space:nowrap}.room-status-state i{width:6px;height:6px;border-radius:50%;background:#a1a1a6}.room-status-room.is-active .room-status-state{color:#c9342d;background:#fff1f0}.room-status-room.is-active .room-status-state i{background:#ff3b30}.room-status-room.is-soon .room-status-state{color:#a86300;background:#fff7e8}.room-status-room.is-soon .room-status-state i{background:#ff9f0a}.room-status-room.is-free .room-status-state{color:#248a3d;background:#eefaf1}.room-status-room.is-free .room-status-state i{background:#34c759}.room-status-room.is-disabled{opacity:.58}.room-status-empty{margin:0 16px 16px;padding:28px 12px;border-radius:13px;background:#f7f7f8;color:#86868b;font-size:11px;text-align:center}.student-page-header{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.student-page-header .page-title-row{display:flex;align-items:center;gap:9px}.student-page-header .page-title-row h2{margin:0;color:#1d1d1f;font-size:clamp(26px,3vw,34px);line-height:1.08;letter-spacing:-.04em}.student-page-header .page-subtitle{margin:7px 0 0;color:#86868b;font-size:11px}.student-count-pill{min-height:26px;padding:0 9px;background:#f2f2f7;color:#6e6e73;box-shadow:none}.student-page-header .glass-action-btn{min-height:36px!important;border:0!important;border-radius:10px!important;box-shadow:none!important}.student-page-header .student-export-btn{background:#f2f2f7!important;color:#515154!important}.student-page-header .student-add-btn{background:#0071e3!important;color:#fff!important}.student-control-shell{z-index:35;margin-bottom:12px;padding:12px;border:1px solid #dedfe3;border-radius:18px;background:#fff;box-shadow:0 4px 18px #00000009;backdrop-filter:none;-webkit-backdrop-filter:none;display:grid;gap:10px}.student-search-box{width:100%;min-width:0;height:40px;padding:0 12px;border:0;border-radius:11px;background:#f2f2f7;box-shadow:none}.student-search-box input{width:100%;font-size:12px}.student-filter-row{gap:7px}.student-filter-select,.student-floor-tabs,.student-issue-chip,.student-control-shell .enroll-filter-trigger{height:34px;border:1px solid #dedfe3;border-radius:10px;background:#fff;box-shadow:none;color:#515154;font-family:inherit;font-size:10.5px;font-weight:650}.student-filter-select{padding:0 28px 0 10px;cursor:pointer}.student-floor-tabs{padding:2px;border:0;background:#f2f2f7}.student-floor-tabs button{height:30px;border-radius:8px}.student-floor-tabs button.active{background:#fff;color:#0071e3;box-shadow:0 1px 4px #0000001a}.student-issue-chip{padding:0 10px}.student-issue-chip:not(.quiet):hover{transform:none;background:#fff7e8}.student-control-shell .enroll-filter-wrap{margin-left:auto}.student-control-shell .enroll-filter-trigger{min-width:128px;padding:0 9px 0 11px}.student-table-card{overflow:auto;border:1px solid #dedfe3;border-radius:18px;background:#fff;box-shadow:0 8px 24px #0f172a0b;backdrop-filter:none;-webkit-backdrop-filter:none}.student-table{min-width:960px;font-size:11px}.student-table thead tr{background:#f7f7f8}.student-table th{height:42px;padding:0 14px;border-color:#e5e5ea;color:#86868b;font-size:9.5px;font-weight:700}.student-table td{height:64px;padding:10px 14px;color:#515154;font-size:10.5px}.student-table tbody tr+tr td{border-top-color:#eeeef0}.student-table tbody tr:hover{background:#fafafa;box-shadow:none}.student-table tbody tr:active{background:#f5f5f7}.student-table tbody tr.inactive{opacity:.48}.student-identity{min-width:190px;display:flex;align-items:center;gap:10px}.student-avatar{width:34px;height:34px;border-radius:50%;background:#edf5ff;color:#0071e3;display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:800}.student-identity-copy,.student-class-stack,.student-contact-stack,.student-date-stack{min-width:0;display:flex;flex-direction:column;gap:3px}.student-identity-copy strong,.student-class-stack strong,.student-contact-stack strong,.student-date-stack strong{overflow:hidden;color:#1d1d1f;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.student-identity-copy small,.student-class-stack small,.student-contact-stack small,.student-date-stack small{overflow:hidden;color:#86868b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.student-alert-dots{margin-left:auto;display:inline-flex;gap:5px}.student-status-stack{display:flex;align-items:center;gap:4px}.student-class-stack{max-width:230px}.student-class-stack>span{color:#a1a1a6;font-size:10px}.student-subject-badges{display:flex;flex-wrap:wrap;gap:4px}.student-row-disclosure{width:28px;padding-left:0!important;color:#a1a1a6!important}.student-detail-view{max-width:1240px;color:#1d1d1f}.student-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.78fr);gap:16px}.student-detail-main,.student-detail-side{gap:12px}.student-detail-view>div[style*="background: white"],.student-detail-view>div>div[style*="background: white"],.student-detail-main>div[style*="background: white"],.student-detail-side>div[style*="background: white"],.student-detail-side>div>div[style*="background: white"]{border:1px solid #dedfe3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 6px 20px #0000000a!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.student-detail-view>div:first-of-type button:first-child{min-height:34px;padding:0 11px!important;border-radius:10px;background:#f2f2f7!important;color:#515154!important;box-shadow:none}.student-profile-copy h3{color:#1d1d1f!important;font-size:24px!important;letter-spacing:-.03em}.student-profile-actions button,.student-subject-add{min-height:34px;border:0!important;border-radius:10px!important;background:#f2f2f7!important;color:#515154!important;box-shadow:none!important}.student-profile-actions button:first-child,.student-subject-add{background:#0071e3!important;color:#fff!important}.student-stat-strip{overflow:hidden;gap:0!important;border:1px solid #e5e5ea;border-radius:14px;background:#f7f7f8}.student-stat-strip .student-stat-card{min-width:76px;padding:12px 14px!important;border:0!important;border-right:1px solid #e5e5ea!important;border-radius:0!important;background:transparent!important}.student-stat-strip .student-stat-card:last-child{border-right:0!important}.student-stat-strip .student-stat-card>div:first-child{color:#1d1d1f!important;font-size:19px!important}.student-subject-section,.student-history-card{padding:18px!important}.student-subject-item{border:1px solid #e5e5ea!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}.student-subject-item.inactive{background:#f7f7f8!important}.student-history-card>h3,.student-subject-head>h3{color:#1d1d1f!important;font-size:14px!important}@media(max-width:1040px){.admin-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-home-metric:nth-child(2){border-right:0}.admin-home-metric:nth-child(-n+2){border-bottom:1px solid #e5e5ea}.limited-operations-grid,.student-detail-layout{grid-template-columns:1fr}}@media(max-width:760px){.admin-home-metric{min-height:76px;padding:13px;gap:9px}.admin-home-metric>span{width:31px;height:31px}.admin-home-metric strong{font-size:16px}.admin-home-metric em{display:none}.room-status-room{grid-template-columns:72px minmax(0,1fr) auto;gap:10px}.room-status-room-next{grid-column:2 / -1;padding-top:7px;border-top:1px solid #eeeeF0}.room-status-state{grid-column:3;grid-row:1}.student-page-header{align-items:flex-start}.student-page-header .page-subtitle,.student-page-header .student-export-btn{display:none}.student-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.student-filter-row::-webkit-scrollbar{display:none}.student-filter-select,.student-floor-tabs,.student-issue-chip,.student-control-shell .enroll-filter-wrap{flex:0 0 auto}.student-control-shell .enroll-filter-wrap{margin-left:0}.student-table-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.student-table{min-width:0;border-collapse:separate;display:block}.student-table thead{display:none}.student-table tbody{display:grid;gap:9px}.student-table tbody tr{padding:14px;border:1px solid #dedfe3;border-radius:16px;background:#fff;box-shadow:0 4px 16px #00000009;display:grid;grid-template-columns:1fr auto;gap:11px 12px}.student-table tbody tr+tr td{border-top:0}.student-table td{width:auto;height:auto;padding:0;border:0;display:block}.student-table td[data-label=학생]{grid-column:1 / -1}.student-table td[data-label="담당 반"],.student-table td[data-label="수강 과목"],.student-table td[data-label=연락처],.student-table td[data-label="등록 정보"]{padding-top:10px;border-top:1px solid #eeeeF0}.student-table td[data-label="담당 반"],.student-table td[data-label=연락처]{grid-column:1}.student-table td[data-label="수강 과목"],.student-table td[data-label="등록 정보"]{grid-column:2;text-align:right}.student-table td[data-label=상태]{grid-column:1}.student-row-disclosure{position:absolute;display:none!important}.student-identity{min-width:0}.student-class-stack{max-width:58vw}.student-subject-badges{justify-content:flex-end}}@media(max-width:520px){.teacher-room-status-modal-inner{padding:18px 14px}.room-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.room-status-stat:nth-child(2){border-right:0!important}.room-status-stat:nth-child(-n+2){border-bottom:1px solid #e5e5ea!important}.room-status-room{grid-template-columns:minmax(62px,.45fr) minmax(0,1fr)}.room-status-state{grid-column:1;grid-row:2;justify-self:start}.room-status-room-next{grid-column:2}.admin-ops-schedule-card>header{align-items:flex-start}.admin-ops-schedule-list>button{grid-template-columns:46px minmax(0,1fr) 15px}.admin-ops-schedule-list em{display:none}.student-page-header .page-title-row h2{font-size:27px}.student-page-header .student-add-btn{min-width:38px;padding:0 10px!important;font-size:0!important}.student-page-header .student-add-btn svg{width:17px;height:17px}}.class-log-page .log-entry-overview .log-entry-card{--journal-a: #364152;--journal-b: #758195;position:relative;height:auto!important;min-height:286px;overflow:hidden;border:0!important;border-radius:24px!important;background:linear-gradient(145deg,var(--journal-a),var(--journal-b))!important;box-shadow:0 14px 34px #0f172a24!important;isolation:isolate}.class-log-page .log-entry-overview .editorial-korean{--journal-a: #6f2834;--journal-b: #c66d60}.class-log-page .log-entry-overview .editorial-english{--journal-a: #174e7b;--journal-b: #58a1c7}.class-log-page .log-entry-overview .editorial-math{--journal-a: #45356f;--journal-b: #8976bd}.class-log-page .log-entry-overview .log-entry-card:before,.class-log-page .log-entry-overview .log-entry-card:after{content:"";position:absolute;z-index:-1;display:block;border-radius:50%;pointer-events:none}.class-log-page .log-entry-overview .log-entry-card:before{width:220px;height:220px;top:-78px;right:-54px;background:#ffffff24}.class-log-page .log-entry-overview .log-entry-card:after{width:170px;height:170px;bottom:22px;left:-74px;background:#ffffff14}.class-log-page .log-entry-overview .log-entry-head{position:relative;z-index:1;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(120px,1fr) auto!important;gap:0!important;width:100%;height:auto!important;min-height:286px!important;padding:20px!important;align-items:start!important;background:transparent!important}.class-log-page .log-entry-overview .log-card-time{grid-column:1!important;color:#ffffffe6!important}.class-log-page .log-entry-overview .log-card-time>div>div:first-child{color:#fff!important}.class-log-page .log-entry-overview .log-card-time>div>div:last-child{color:#ffffff9e!important}.class-log-page .log-entry-overview .log-card-main{grid-column:1!important;align-self:start;margin-top:22px!important}.class-log-page .log-entry-overview .log-card-main>div:first-of-type{color:#fff!important;font-size:23px!important;font-weight:730!important;line-height:1.16!important;letter-spacing:-.035em}.class-log-page .log-entry-overview .log-card-main>div:nth-of-type(2),.class-log-page .log-entry-overview .log-card-main>div:nth-of-type(2) span{color:#ffffffb8!important}.class-log-page .log-entry-overview .log-card-status{grid-column:1!important;align-self:end!important;justify-content:flex-start!important;min-width:0;margin:18px -8px -8px!important;padding:12px 13px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:15px!important;background:#ffffff29!important;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);flex-wrap:wrap}.class-log-page .log-entry-overview .log-card-status>svg{margin-left:auto;color:#ffffffc2!important}.class-log-page .log-entry-overview .log-card-eyebrow{color:#ffffffbd!important}.class-log-page .log-entry-overview .log-card-story-preview{color:#ffffffe6!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:translateY(-2px)!important;box-shadow:0 18px 42px #0f172a30!important}@media(max-width:620px){.class-log-page .log-entry-overview{grid-template-columns:1fr}.class-log-page .log-entry-overview .log-entry-card,.class-log-page .log-entry-overview .log-entry-head{min-height:238px!important}.class-log-page .log-entry-overview .log-entry-head{grid-template-rows:auto minmax(92px,1fr) auto!important;padding:17px!important}.class-log-page .log-entry-overview .log-card-main{margin-top:17px!important}.class-log-page .log-entry-overview .log-card-main>div:first-of-type{font-size:20px!important}}@media(prefers-reduced-motion:reduce){.class-log-page .log-entry-overview .log-entry-card{transition:none!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:none!important}}@media(prefers-reduced-transparency:reduce){.class-log-page .log-entry-overview .log-card-status{background:#ffffff42!important;backdrop-filter:none;-webkit-backdrop-filter:none}}.teacher-profile-modal{overflow:hidden;padding:0!important;border-radius:26px!important;background:#fbfbfd!important}.teacher-profile-sheet{color:#1d1d1f}.teacher-profile-hero{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:17px;padding:26px 28px 22px;border-bottom:1px solid #e5e5ea;background:linear-gradient(180deg,#fff,#f7f7f9)}.teacher-profile-avatar{width:70px;height:70px;display:grid;place-items:center;border-radius:22px;color:var(--teacher-color);background:color-mix(in srgb,var(--teacher-color) 10%,white);font-size:26px;font-weight:760}.teacher-profile-heading>span{color:#0071e3;font-size:11px;font-weight:700}.teacher-profile-heading h2{margin:4px 0 5px;font-size:25px;line-height:1.12;letter-spacing:-.035em}.teacher-profile-heading p{margin:0;color:#6e6e73;font-size:12px}.teacher-profile-edit{min-height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 15px;border:1px solid #d2d2d7;border-radius:999px;background:#fff;color:#1d1d1f;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.teacher-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 28px 0}.teacher-profile-facts.is-admin{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-profile-facts>span{min-width:0;min-height:78px;display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;gap:3px 9px;align-content:center;padding:12px 14px;border-radius:16px;background:#f2f2f7}.teacher-profile-facts svg{grid-row:1 / 3;align-self:center;color:#86868b;font-size:20px}.teacher-profile-facts small{color:#86868b;font-size:10px;font-weight:600}.teacher-profile-facts strong{min-width:0;overflow:hidden;color:#1d1d1f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-profile-section{padding:21px 28px 0}.teacher-profile-section-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:#3a3a3c;font-size:12px;font-weight:700}.teacher-profile-section-title svg{color:#86868b}.teacher-profile-section-title small{margin-left:auto;color:#86868b}.teacher-profile-definition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow:hidden;border:1px solid #e5e5ea;border-radius:16px;background:#fff}.teacher-profile-definition>div{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #efeff4}.teacher-profile-definition>div:nth-last-child(-n+2){border-bottom:0}.teacher-profile-definition dt{color:#86868b;font-size:11px}.teacher-profile-definition dd{margin:0;color:#1d1d1f;font-size:11px;font-weight:650}.teacher-profile-class-list{display:grid;gap:8px}.teacher-profile-class-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) auto;align-items:center;gap:14px;padding:13px 15px;border:1px solid #e5e5ea;border-radius:15px;background:#fff}.teacher-profile-class-list article div{display:grid;gap:3px}.teacher-profile-class-list strong{font-size:12px}.teacher-profile-class-list span,.teacher-profile-class-list p,.teacher-profile-class-list em{margin:0;color:#86868b;font-size:10px;font-style:normal}.teacher-profile-class-list p{color:#3a3a3c}.teacher-profile-class-list em{padding:4px 8px;border-radius:999px;background:#f2f2f7}.teacher-profile-empty{padding:22px;border-radius:15px;background:#f2f2f7;color:#86868b;text-align:center;font-size:11px}.teacher-profile-sheet>footer{display:flex;justify-content:flex-end;padding:22px 28px 26px}.teacher-profile-sheet>footer button{min-width:76px;min-height:38px;border:0;border-radius:999px;background:#0071e3;color:#fff;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.teacher-staff-code{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 13px;border-radius:12px;background:#f2f2f7}.teacher-staff-code strong{color:#1d1d1f;font-size:13px;letter-spacing:.04em}.teacher-staff-code small{color:#86868b;font-size:9px;text-align:right}.teacher-fixed-role{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:13px;background:#f2f2f7;color:#6e6e73}.teacher-fixed-role span{display:grid;gap:2px}.teacher-fixed-role b{color:#1d1d1f;font-size:11px}.teacher-fixed-role small{font-size:9px}.app-sidebar-profile-trigger{grid-column:1 / 3;min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.app-sidebar-profile-trigger:hover .app-sidebar-user-avatar{transform:scale(1.04)}.app-sidebar-footer-compact{display:grid;gap:7px}.app-sidebar-compact-profile,.app-sidebar-compact-logout{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(60,60,67,.1);border-radius:999px;background:#ffffffad;color:#64748b;cursor:pointer}.app-sidebar-compact-logout{color:#dc2626;background:#ef444412}.notice-ai-help{position:relative}.notice-ai-help>button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:999px;background:#f2f2f7;color:#6e6e73;cursor:pointer}.notice-ai-help>div{position:absolute;z-index:30;top:calc(100% + 9px);right:0;width:min(330px,80vw);padding:14px 15px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:#fafafcf0;box-shadow:0 18px 44px #00000024;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.notice-ai-help.open>div,.notice-ai-help:hover>div,.notice-ai-help:focus-within>div{opacity:1;visibility:visible;transform:translateY(0)}.notice-ai-help strong{display:block;color:#1d1d1f;font-size:12px}.notice-ai-help p{margin:7px 0;color:#3a3a3c;font-size:11px;line-height:1.55}.notice-ai-help small{color:#b45309;font-size:9px;line-height:1.45}.teacher-room-status-button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #dedfe3;border-radius:999px;background:#fff;color:#3a3a3c;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.teacher-room-status-modal{border-radius:26px!important;background:#f5f5f7!important}.teacher-room-status-modal-inner{padding:24px}.teacher-room-status-modal-inner>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.teacher-room-status-modal-inner>header span{color:#0071e3;font-size:10px;font-weight:700}.teacher-room-status-modal-inner h2{margin:4px 0;color:#1d1d1f;font-size:24px;letter-spacing:-.035em}.teacher-room-status-modal-inner p{margin:0;color:#86868b;font-size:11px}.limited-operations-home{max-width:1120px;margin:0 auto}.limited-operations-intro{margin:0 0 16px;padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,#eef6ff,#fff)}.limited-operations-intro span{color:#0071e3;font-size:10px;font-weight:700}.limited-operations-intro h3{margin:5px 0;font-size:20px;letter-spacing:-.03em}.limited-operations-intro p{margin:0;color:#6e6e73;font-size:11px}.class-log-page .log-entry-overview{grid-template-columns:repeat(auto-fill,minmax(286px,1fr));gap:14px}.class-log-page .log-entry-overview .log-entry-card{--journal-a:#364152;--journal-b:#758195;position:relative;min-height:320px;border:0!important;border-radius:24px!important;background:linear-gradient(145deg,var(--journal-a),var(--journal-b))!important;box-shadow:0 14px 34px #0f172a24!important;isolation:isolate}.class-log-page .log-entry-overview .editorial-korean{--journal-a:#6f2834;--journal-b:#c66d60}.class-log-page .log-entry-overview .editorial-english{--journal-a:#174e7b;--journal-b:#58a1c7}.class-log-page .log-entry-overview .editorial-math{--journal-a:#45356f;--journal-b:#8976bd}.class-log-page .log-entry-overview .log-entry-card:before,.class-log-page .log-entry-overview .log-entry-card:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.class-log-page .log-entry-overview .log-entry-card:before{width:220px;height:220px;top:-72px;right:-52px;background:#ffffff24}.class-log-page .log-entry-overview .log-entry-card:after{width:170px;height:170px;bottom:28px;left:-70px;background:#ffffff14}.class-log-page .log-entry-overview .log-entry-head{position:relative;z-index:1;min-height:320px;padding:22px!important;background:transparent!important;color:#fff}.class-log-page .log-entry-overview .log-entry-head>div:first-child{color:#ffffffe0!important}.class-log-page .log-entry-overview .log-entry-head>div:first-child div div:first-child{color:#fff!important;font-size:15px!important}.class-log-page .log-entry-overview .log-entry-head>div:first-child div div:last-child{color:#ffffff9e!important}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2){margin-top:24px}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:first-of-type{color:#fff!important;font-size:24px!important;font-weight:730!important;line-height:1.12!important;letter-spacing:-.035em}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:nth-of-type(2),.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:nth-of-type(2) span{color:#ffffffb8!important}.log-card-eyebrow{display:block;margin-bottom:8px;color:#ffffffc2;font-size:10px;font-weight:720;letter-spacing:.02em}.log-card-story-preview{display:-webkit-box;margin:15px 0 0;overflow:hidden;color:#ffffffe0;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3){margin:18px -10px -10px!important;padding:13px 14px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:16px!important;background:#ffffff26!important;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3)>svg{color:#ffffffbd!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px #0f172a30!important}@media(max-width:760px){.teacher-profile-hero{grid-template-columns:56px minmax(0,1fr);padding:21px 19px 18px}.teacher-profile-avatar{width:56px;height:56px;border-radius:18px}.teacher-profile-edit{grid-column:1 / -1;justify-self:stretch;justify-content:center}.teacher-profile-facts{grid-template-columns:1fr;padding:14px 18px 0}.teacher-profile-section{padding:18px 18px 0}.teacher-profile-definition{grid-template-columns:1fr}.teacher-profile-definition>div:nth-last-child(-n+2){border-bottom:1px solid #efeff4}.teacher-profile-definition>div:last-child{border-bottom:0}.teacher-profile-class-list article{grid-template-columns:1fr auto}.teacher-profile-class-list article p{grid-column:1 / -1}.teacher-profile-sheet>footer{padding:20px 18px}.teacher-home-utilities{flex-wrap:wrap}.teacher-room-status-button span{display:none}.class-log-page .log-entry-overview .log-entry-card,.class-log-page .log-entry-overview .log-entry-head{min-height:250px}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:first-of-type{font-size:21px!important}}@media(prefers-reduced-motion:reduce){.notice-ai-help>div,.class-log-page .log-entry-overview .log-entry-card,.app-sidebar-user-avatar{transition:none!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:none}}@media(prefers-reduced-transparency:reduce){.notice-ai-help>div,.teacher-room-status-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3){backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffff40!important}}.operational-alert-modal{padding:0!important;overflow:hidden}.operational-alert-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:28px 30px 22px;border-bottom:1px solid #e5e5ea}.operational-alert-head>div:first-child>span{display:block;margin-bottom:6px;color:#0071e3;font-size:12px;font-weight:700}.operational-alert-head h2{margin:0;color:#1d1d1f;font-size:24px;line-height:1.15;letter-spacing:-.025em}.operational-alert-head p{margin:8px 0 0;color:#6e6e73;font-size:13px}.operational-alert-list{display:grid;max-height:min(58vh,520px);overflow:auto;padding:8px 20px}.operational-alert-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 8px;border-bottom:1px solid #eeeeF0}.operational-alert-list article:last-child{border-bottom:0}.operational-alert-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%}.operational-alert-icon.add{color:#007a6c;background:#eaf8f5}.operational-alert-icon.remove{color:#a45100;background:#fff4e5}.operational-alert-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.operational-alert-copy small{color:#86868b;font-size:10px;font-weight:650}.operational-alert-copy strong{color:#1d1d1f;font-size:13px;line-height:1.4}.operational-alert-copy em{color:#6e6e73;font-size:11px;font-style:normal}.operational-alert-list article>button,.operational-alert-modal>footer button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:0 12px;border:0;border-radius:999px;color:#06c;background:#f2f2f7;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.operational-alert-modal>footer{display:flex;justify-content:flex-end;padding:14px 28px 20px;border-top:1px solid #e5e5ea}.operational-alert-modal>footer button{color:#fff;background:#0071e3}@media(max-width:620px){.operational-alert-head{padding:22px 20px 18px}.operational-alert-list{padding:6px 14px}.operational-alert-list article{grid-template-columns:38px minmax(0,1fr)}.operational-alert-icon{width:38px;height:38px}.operational-alert-list article>button{grid-column:2;justify-self:start}}.calendar-exam-tag-strip{display:inline-flex;align-items:center;gap:3px;min-width:0}.calendar-exam-tag-strip em,.calendar-exam-tag-strip i{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;box-sizing:border-box;padding:0 4px;border-radius:6px;background:var(--subject-tint);color:var(--subject-color);font-size:8px;font-style:normal;font-weight:760;line-height:1}.calendar-event-chip.has-exam-tags{padding-left:4px}.calendar-event-chip.has-exam-tags>i{display:none}.calendar-event-chip .calendar-exam-tag-strip{flex:0 0 auto}.calendar-agenda-copy>em,.calendar-inspector-event em{display:flex;align-items:center;gap:6px}.calendar-agenda-copy .calendar-exam-tag-strip i,.calendar-inspector-event .calendar-exam-tag-strip i{width:auto;background:var(--subject-tint)}.calendar-exam-subject-detail{padding:17px 6px 4px}.calendar-exam-subject-detail h4{margin:0 0 8px;color:#3a3a3c;font-size:10px;font-weight:700}.calendar-exam-subject-detail>div{overflow:hidden;border:1px solid #e5e5e7;border-radius:14px;background:#fff}.calendar-exam-subject-detail article{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-top:1px solid #f0f0f2}.calendar-exam-subject-detail article:first-child{border-top:0}.calendar-exam-major{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border-radius:9px;background:var(--subject-tint);color:var(--subject-color);font-size:10px;font-weight:760}.calendar-exam-subject-detail article>span:last-child{display:flex;flex-direction:column;min-width:0}.calendar-exam-subject-detail strong{color:#1d1d1f;font-size:11px;font-weight:680}.calendar-exam-subject-detail small{margin-top:3px;color:#86868b;font-size:9px}.calendar-exam-subject-editor>header{margin-bottom:12px}.calendar-exam-subject-rows{display:grid;gap:7px}.calendar-exam-subject-row{display:grid;grid-template-columns:32px 96px minmax(180px,1fr) 150px 30px;align-items:end;gap:8px;padding:11px;border:1px solid #e5e5e7;border-radius:14px;background:#fafafa}.calendar-exam-subject-row>label{display:grid;gap:5px;min-width:0}.calendar-exam-subject-row>label>span{color:#6e6e73;font-size:8.5px;font-weight:650}.calendar-exam-subject-row input,.calendar-exam-subject-row select{width:100%;height:38px;box-sizing:border-box;padding:0 10px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit;font-size:10.5px;outline:none}.calendar-exam-subject-row input:focus,.calendar-exam-subject-row select:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.calendar-exam-subject-row .fancy-date-trigger{width:100%;min-height:38px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;box-shadow:none;font-size:9.5px}.calendar-exam-subject-row .fancy-date-popover{z-index:40}.calendar-exam-subject-remove{display:grid;place-items:center;width:30px;height:30px;margin-bottom:4px;padding:0;border:0;border-radius:50%;background:transparent;color:#aeaeb2;cursor:pointer}.calendar-exam-subject-remove:hover{background:#f2f2f7;color:#c9342f}.calendar-exam-subject-empty{padding:22px;border:1px dashed #d2d2d7;border-radius:14px;color:#86868b;text-align:center;font-size:10.5px}.calendar-exam-subject-adds{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.calendar-exam-subject-adds button{display:inline-flex;align-items:center;gap:4px;min-height:31px;padding:0 10px;border:1px solid color-mix(in srgb,var(--subject-color) 24%,#d2d2d7);border-radius:999px;background:var(--subject-tint);color:var(--subject-color);font:inherit;font-size:9.5px;font-weight:680;cursor:pointer}.calendar-exam-subject-adds button:active{transform:scale(.97)}.calendar-exam-period-note{margin:9px 2px 0;color:#86868b;font-size:9px;line-height:1.45}@media(max-width:820px){.calendar-exam-subject-row{grid-template-columns:32px 88px minmax(150px,1fr) 142px 30px}}@media(max-width:620px){.calendar-exam-subject-row{grid-template-columns:32px minmax(0,1fr) 30px;align-items:center}.calendar-exam-subject-row>.calendar-exam-major{grid-column:1;grid-row:1}.calendar-exam-subject-row>label{grid-column:1 / -1}.calendar-exam-subject-row>label:nth-of-type(1){grid-row:2}.calendar-exam-subject-row>label:nth-of-type(2){grid-row:3}.calendar-exam-subject-row>label:nth-of-type(3){grid-row:4}.calendar-exam-subject-remove{grid-column:3;grid-row:1;margin:0}}.class-log-page .log-teacher-select{position:relative;display:grid;grid-template-columns:auto minmax(90px,1fr) 16px;align-items:center;gap:7px;min-width:170px;min-height:36px;padding:0 10px 0 12px;border:1px solid #d2d2d7;border-radius:11px;background:#fff;color:#6e6e73}.class-log-page .log-teacher-select>span{font-size:9px;font-weight:650}.class-log-page .log-teacher-select select{min-width:0;border:0;outline:0;appearance:none;background:transparent;color:#1d1d1f;font:inherit;font-size:11px;font-weight:680;cursor:pointer}.class-log-page .log-teacher-select>svg{color:#8e8e93;pointer-events:none}.class-log-page .log-entry-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:start}.class-log-page .log-entry-overview .log-entry-card{min-width:0;border:1px solid #e5e5ea!important;border-radius:18px!important;background:#fff!important;box-shadow:0 4px 16px #00000009!important;transform:none!important}.class-log-page .log-entry-overview .log-entry-card:hover{border-color:#d2d2d7!important;box-shadow:0 7px 20px #0000000e!important}.class-log-page .log-entry-overview .log-entry-head{grid-template-columns:58px minmax(0,1fr)!important;gap:10px!important;min-height:106px;box-sizing:border-box;padding:14px!important;background:#fff!important}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3){grid-column:1 / -1;justify-content:flex-start!important;min-width:0;padding-top:9px;border-top:1px solid #f0f0f2}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3)>span{max-width:100%}.class-log-page .pending-log-card{margin-bottom:14px;overflow:hidden;border:1px solid #e5e5ea!important;border-radius:20px!important;background:#fff!important;box-shadow:0 5px 20px #0000000a!important}.class-log-page .pending-log-head{min-height:72px;box-sizing:border-box;padding:14px 17px;gap:11px;background:#fff}.class-log-page .pending-log-head:active{background:#fafafa}.class-log-page .pending-log-icon{width:35px;height:35px;border:0;border-radius:11px;background:#f2f2f7;color:#0071e3;box-shadow:none}.class-log-page .pending-log-card.is-missing .pending-log-icon{background:#fff1f0;color:#c9342f}.class-log-page .pending-log-title h3{color:#1d1d1f;font-size:14px;font-weight:700;letter-spacing:-.02em}.class-log-page .pending-log-title p{color:#8e8e93;font-size:10px;font-weight:500}.class-log-page .pending-log-count{min-height:24px;border:0;background:#f2f2f7;color:#6e6e73;font-size:10px;font-weight:680;box-shadow:none}.class-log-page .pending-log-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-top:1px solid #f0f0f2;background:#f7f7f9}.class-log-page .pending-log-item{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"time info" "actions actions";gap:9px 11px;min-width:0;padding:13px;border:1px solid #e5e5ea!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;transition:border-color .15s ease,background .15s ease}.class-log-page .pending-log-item:hover{transform:none;border-color:#c7c7cc!important;background:#fff!important;box-shadow:none!important}.class-log-page .pending-log-time>span{width:7px;height:7px;box-shadow:none}.class-log-page .pending-log-time b{color:#1d1d1f;font-size:12px;font-weight:700}.class-log-page .pending-log-time small{color:#8e8e93;font-size:8px}.class-log-page .pending-log-info strong{color:#1d1d1f;font-size:12.5px;font-weight:680}.class-log-page .pending-log-info p{color:#8e8e93;font-size:9px;font-weight:520}.class-log-page .pending-log-info p span:first-child{color:#6e6e73;font-weight:650}.class-log-page .pending-log-actions{padding-top:8px;border-top:1px solid #f0f0f2}.class-log-page .log-start-btn,.class-log-page .pending-bulk-cancel-trigger,.class-log-page .pending-confirm-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 13px;border:0;border-radius:10px;background:#0071e3;color:#fff;font:inherit;font-size:10px;font-weight:680;cursor:pointer;box-shadow:none;transition:background .14s ease,transform .1s ease}.class-log-page .log-start-btn:hover{background:#0077ed}.class-log-page .log-start-btn.secondary{border:1px solid #d2d2d7;background:#fff;color:#6e6e73}.class-log-page .log-start-btn.secondary:hover{background:#f5f5f7;color:#3a3a3c}.class-log-page .log-start-btn:active,.class-log-page .pending-bulk-cancel-trigger:active,.class-log-page .pending-confirm-actions button:active{transform:scale(.97)}.class-log-page .log-start-btn:disabled{border-color:transparent;background:#e5e5ea;color:#aeaeb2;cursor:default}.class-log-page .pending-bulk-cancel-trigger{grid-column:1 / -1;justify-self:end;border:1px solid #e7c7c4;background:#fff;color:#a12824}.class-log-page .pending-bulk-cancel-trigger:hover{background:#fff1f0}.class-log-page .pending-bulk-cancel-panel{grid-column:1 / -1;padding:15px;border:1px solid #e7c7c4;border-radius:15px;background:#fff}.class-log-page .pending-confirm-actions{display:flex;justify-content:flex-end;gap:7px}.class-log-page .pending-confirm-actions button{border:1px solid #d2d2d7;background:#fff;color:#3a3a3c}.class-log-page .pending-confirm-actions button.danger{border-color:transparent;background:#c9342f;color:#fff}.class-log-page .pending-confirm-actions button.danger:hover{background:#b72f2b}.class-log-page .attendance-board{gap:12px}.class-log-page .att-summary-grid{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(3,minmax(100px,.7fr));gap:8px}.class-log-page .att-summary-card,.class-log-page .att-summary-card.main{min-width:0;padding:13px 14px;border:1px solid #e5e5ea;border-radius:15px;background:#fff;box-shadow:none}.class-log-page .att-summary-card span{color:#8e8e93;font-size:9px;font-weight:620}.class-log-page .att-summary-card strong{color:#1d1d1f;font-size:20px;font-weight:720;letter-spacing:-.03em}.class-log-page .att-summary-card small{color:#8e8e93;font-size:9px;font-weight:520}.class-log-page .att-filter-row{gap:5px;padding:7px;border:1px solid #e5e5ea;border-radius:14px;background:#fff;box-shadow:none}.class-log-page .att-filter-row>button{height:30px;padding:0 10px;color:#6e6e73;font-size:9.5px;font-weight:620}.class-log-page .att-filter-row>button:hover{background:#f5f5f7}.class-log-page .att-filter-row>button.active{background:#1d1d1f;color:#fff;box-shadow:none}.class-log-page .att-filter-row>button.att-ended-toggle{margin-left:2px;border-left:1px solid #e5e5ea;border-radius:0 9px 9px 0}.class-log-page .att-legend{gap:8px;color:#8e8e93;font-size:9px;font-weight:560}.class-log-page .att-class-card{overflow:hidden;border:1px solid #e5e5ea;border-radius:18px;background:#fff;box-shadow:0 3px 14px #00000008}.class-log-page .att-class-head{min-height:55px;box-sizing:border-box;padding:11px 14px;border-bottom:1px solid #e5e5ea;background:#fafafa}.class-log-page .att-class-head>div{min-width:0}.class-log-page .att-table{background:#fff}.class-log-page .att-table th{height:40px;box-sizing:border-box;border-bottom:1px solid #e5e5ea;background:#f7f7f8;color:#8e8e93;backdrop-filter:none;-webkit-backdrop-filter:none}.class-log-page .att-table td{height:38px;box-sizing:border-box;border-bottom:1px solid #f0f0f2;background:#fff}.class-log-page .att-table tr.soft td{background:#fafafa}.class-log-page .att-sticky-col{min-width:124px!important;padding:7px 11px!important;border-right:1px solid #e5e5ea;background:#f7f7f8!important;box-shadow:none!important}.class-log-page .att-table tbody .att-sticky-col{background:#fff!important}.class-log-page .att-table tbody tr.soft .att-sticky-col{background:#fafafa!important}.class-log-page .att-sticky-col.student{gap:6px}.class-log-page .att-sticky-col.student button{color:#1d1d1f;font-size:10.5px;font-weight:660}.class-log-page .att-sticky-col.student span{color:#8e8e93;font-size:8.5px;font-weight:540}.schedule-page .schedule-command-surface{margin-bottom:14px;overflow:visible;border:1px solid #e5e5ea;border-radius:20px;background:#fff;box-shadow:0 5px 20px #0000000a}.schedule-page .schedule-command-surface .schedule-control-shell{min-height:64px;margin:0;padding:11px 12px;border:0;border-radius:20px 20px 0 0;background:#fff;box-shadow:none}.schedule-page .schedule-context-row{min-height:62px;box-sizing:border-box;margin:0;padding:11px 14px;border-top:1px solid #e5e5ea;border-radius:0 0 20px 20px;background:#fafafa}.schedule-page .schedule-month-pill,.schedule-page .schedule-segmented-control{box-shadow:none}.schedule-page .exam-progress-section{margin-top:0;margin-bottom:18px}.app-sidebar-user-avatar{border-radius:50%!important;box-shadow:inset 0 1px #ffffffb3}@media(max-width:1120px){.class-log-page .log-entry-overview,.class-log-page .pending-log-grid{grid-template-columns:1fr}.class-log-page .att-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.class-log-page .log-control-shell{align-items:stretch}.class-log-page .log-teacher-select{width:100%;box-sizing:border-box}.class-log-page .log-entry-overview .log-entry-head{min-height:98px}.class-log-page .pending-log-grid{padding:8px}.class-log-page .pending-log-item{grid-template-columns:52px minmax(0,1fr);padding:12px}.class-log-page .att-summary-grid{grid-template-columns:1fr 1fr}.class-log-page .att-summary-card.main{grid-column:1 / -1}.class-log-page .att-filter-row{align-items:flex-start}.class-log-page .att-legend{width:100%;margin:5px 2px 0;padding-top:8px;border-top:1px solid #f0f0f2}.schedule-page .schedule-command-surface .schedule-control-shell{padding:10px}.schedule-page .schedule-context-row{align-items:flex-start;gap:10px}}@media(max-width:520px){.class-log-page .log-entry-overview .log-entry-head{grid-template-columns:51px minmax(0,1fr)!important;padding:12px!important}.class-log-page .pending-log-actions{justify-content:stretch}.class-log-page .pending-log-actions .log-start-btn{flex:1}.class-log-page .att-summary-grid{grid-template-columns:1fr}.class-log-page .att-summary-card.main{grid-column:auto}.class-log-page .att-filter-row>button{flex:1 1 auto}.class-log-page .att-filter-row>button.att-ended-toggle{width:100%;margin:0;border-left:0;border-top:1px solid #e5e5ea;border-radius:8px}}@media(prefers-reduced-motion:reduce){.class-log-page .log-start-btn,.class-log-page .pending-log-item,.class-log-page .pending-bulk-cancel-trigger{transition:none}}.calendar-operations-page{width:min(100%,1480px);margin:0 auto;padding-bottom:max(64px,env(safe-area-inset-bottom));color:#1d1d1f;font-family:inherit}.calendar-operations-page button,.calendar-editor-modal button,.calendar-editor-modal input,.calendar-editor-modal textarea{font:inherit}.calendar-operations-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.calendar-operations-head>div>span,.calendar-editor-head>div>span{display:block;margin-bottom:7px;color:#0071e3;font-size:10px;font-weight:760;letter-spacing:.11em}.calendar-operations-head h2{margin:0;color:#1d1d1f;font-size:clamp(28px,3vw,38px);font-weight:760;letter-spacing:-.045em;line-height:1.08}.calendar-operations-head p{margin:8px 0 0;color:#6e6e73;font-size:13px;line-height:1.55}.calendar-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border:0;border-radius:999px;background:#0071e3;color:#fff;font-size:12px;font-weight:680;cursor:pointer;transition:background .16s ease,transform .16s ease}.calendar-primary-action:hover{background:#0077ed}.calendar-primary-action:active{transform:scale(.97)}.calendar-command-bar{display:flex;align-items:center;gap:12px;min-height:58px;margin-bottom:14px;padding:9px 10px;border:1px solid #e5e5e7;border-radius:18px;background:#fff;box-shadow:0 4px 16px #00000009}.calendar-month-control{display:flex;align-items:center;gap:3px;flex:0 0 auto}.calendar-month-control>button,.calendar-inspector-head>button,.calendar-mobile-day-list>header>button,.calendar-editor-head>button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#f5f5f7;color:#3a3a3c;cursor:pointer}.calendar-month-control>button:hover,.calendar-inspector-head>button:hover,.calendar-mobile-day-list>header>button:hover,.calendar-editor-head>button:hover{background:#e8e8ed}.calendar-month-control strong{min-width:104px;padding:0 5px;color:#1d1d1f;font-size:14px;font-weight:720;text-align:center;letter-spacing:-.02em}.calendar-month-control>button.today{width:auto;margin-left:4px;padding:0 12px;border-radius:999px;color:#424245;font-size:11px;font-weight:650}.calendar-view-toggle,.calendar-time-mode{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:10px;background:#f2f2f7}.calendar-view-toggle button,.calendar-time-mode button{min-width:48px;min-height:28px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:11px;font-weight:650;cursor:pointer}.calendar-view-toggle button.active,.calendar-time-mode button.selected{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001a}.calendar-filter-strip{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.calendar-filter-strip::-webkit-scrollbar,.calendar-mobile-date-strip::-webkit-scrollbar{display:none}.calendar-filter-strip button{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:#6e6e73;font-size:10.5px;font-weight:650;cursor:pointer}.calendar-filter-strip button:hover{background:#f5f5f7}.calendar-filter-strip button.selected{border-color:#d2d2d7;background:#fff;color:#1d1d1f}.calendar-month-count{flex:0 0 auto;margin-left:auto;padding-right:6px;color:#8e8e93;font-size:10.5px;font-weight:620}.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.calendar-canvas{min-width:0}.calendar-month-board,.calendar-agenda-board,.calendar-mobile-day-list,.calendar-inspector{overflow:hidden;border:1px solid #e5e5e7;border-radius:22px;background:#fff;box-shadow:0 5px 22px #0000000a}.calendar-weekday-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:38px;border-bottom:1px solid #ededf0;background:#fafafa}.calendar-weekday-head span{display:flex;align-items:center;justify-content:center;color:#8e8e93;font-size:10px;font-weight:650}.calendar-weekday-head .sun{color:#c9342f}.calendar-weekday-head .sat{color:#2463c5}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day-cell,.calendar-day-cell.empty{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:116px;margin:0;padding:9px;border:0;border-right:1px solid #ededf0;border-bottom:1px solid #ededf0;border-radius:0;background:#fff;color:#1d1d1f;text-align:left;cursor:pointer;box-shadow:none;isolation:isolate}.calendar-day-cell:nth-child(7n){border-right:0}.calendar-day-cell.empty{background:#fafafa;cursor:default}.calendar-day-cell:hover:not(.selected):not(.empty){background:#fafafa!important}.calendar-day-cell.selected{background:#f5f9ff;box-shadow:inset 0 0 0 2px #0071e3;z-index:1}.calendar-day-cell:before,.calendar-day-cell:after{content:none!important}.calendar-date-number{display:flex;align-items:center;gap:6px;min-width:0;min-height:24px}.calendar-date-number b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;color:#3a3a3c;font-size:11px;font-weight:690}.calendar-day-cell.today .calendar-date-number b{background:#0071e3;color:#fff}.calendar-date-number em{overflow:hidden;color:#c9342f;font-size:8.5px;font-style:normal;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.calendar-day-events{display:flex;flex-direction:column;gap:3px;min-width:0}.calendar-event-chip{display:flex;align-items:center;gap:4px;min-width:0;min-height:21px;padding:0 6px;border-radius:6px;background:var(--event-tint);color:#3a3a3c;cursor:pointer}.calendar-event-chip i,.calendar-inspector-event>i{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:var(--event-color)}.calendar-event-chip small{flex:0 0 auto;color:var(--event-color);font-size:7.5px;font-weight:740}.calendar-event-chip strong{overflow:hidden;font-size:8.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.calendar-more-count{padding:2px 5px;color:#8e8e93;font-size:8.5px;font-weight:620}.calendar-agenda-board>header,.calendar-mobile-day-list>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #ededf0}.calendar-agenda-board>header span,.calendar-mobile-day-list>header span,.calendar-inspector-head span{color:#8e8e93;font-size:9px;font-weight:680;letter-spacing:.04em}.calendar-agenda-board>header h3,.calendar-mobile-day-list>header h3,.calendar-inspector-head h3{margin:3px 0 0;color:#1d1d1f;font-size:17px;font-weight:710;letter-spacing:-.025em}.calendar-agenda-board>header em{color:#8e8e93;font-size:11px;font-style:normal;font-weight:620}.calendar-agenda-list{display:grid;padding:8px}.calendar-agenda-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:11px 10px;border:0;border-bottom:1px solid #f0f0f2;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.calendar-agenda-row:last-child{border-bottom-color:transparent}.calendar-agenda-row:hover,.calendar-agenda-row.selected{background:var(--event-tint)}.calendar-agenda-row>time{display:grid;place-items:center;align-content:center;width:42px;height:42px;border-radius:12px;background:#f5f5f7}.calendar-agenda-row>time strong{font-size:15px;line-height:1}.calendar-agenda-row>time small{margin-top:2px;color:#8e8e93;font-size:8px}.calendar-agenda-copy{display:flex;flex-direction:column;min-width:0}.calendar-agenda-copy em{margin-bottom:2px;color:var(--event-color);font-size:9px;font-style:normal;font-weight:720}.calendar-agenda-copy b{overflow:hidden;color:#1d1d1f;font-size:12px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.calendar-agenda-copy small{margin-top:3px;overflow:hidden;color:#8e8e93;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.calendar-agenda-row>svg{color:#c7c7cc}.calendar-inspector{position:sticky;top:12px}.calendar-inspector-inner{padding:18px}.calendar-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-inspector-section{margin-top:22px}.calendar-inspector-section.upcoming{padding-top:18px;border-top:1px solid #ededf0}.calendar-inspector-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-inspector-label span{color:#3a3a3c;font-size:11px;font-weight:680}.calendar-inspector-label em{color:#8e8e93;font-size:9px;font-style:normal}.calendar-inspector-events{display:grid;gap:4px}.calendar-inspector-event{display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px 8px;border:0;border-radius:11px;background:transparent;text-align:left;cursor:pointer}.calendar-inspector-event:hover{background:var(--event-tint)}.calendar-inspector-event>span{display:flex;flex-direction:column;min-width:0}.calendar-inspector-event em{color:var(--event-color);font-size:8px;font-style:normal;font-weight:700}.calendar-inspector-event strong{overflow:hidden;margin-top:1px;color:#1d1d1f;font-size:11px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.calendar-inspector-event small{margin-top:2px;color:#8e8e93;font-size:8.5px}.calendar-inspector-event>svg{color:#c7c7cc}.calendar-inspector-muted{margin:8px 0 0;color:#8e8e93;font-size:10px}.calendar-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:104px;color:#aeaeb2;font-size:10.5px}.calendar-public-holiday{display:flex;align-items:center;gap:6px;margin-top:14px;padding:9px 10px;border-radius:10px;background:#fff1f0;color:#a12824;font-size:10px;font-weight:650}.calendar-mobile-date-strip,.calendar-mobile-day-list{display:none}.calendar-event-detail{padding:12px}.calendar-event-detail>header{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 11px}.calendar-event-detail>header button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border:0;border-radius:999px;background:transparent;color:#6e6e73;font-size:10px;font-weight:650;cursor:pointer}.calendar-event-detail>header button:hover{background:#f5f5f7}.calendar-event-detail>header .edit{background:#f5f5f7;color:#0071e3}.calendar-event-detail-hero{padding:18px;border-radius:16px;background:var(--event-tint)}.calendar-event-detail-hero>span{color:var(--event-color);font-size:9px;font-weight:720}.calendar-event-detail-hero h3{margin:5px 0 7px;color:#1d1d1f;font-size:22px;font-weight:730;letter-spacing:-.035em;line-height:1.18}.calendar-event-detail-hero p{margin:0;color:#6e6e73;font-size:9.5px;line-height:1.5}.calendar-event-facts{display:grid;gap:1px;margin-top:12px;overflow:hidden;border-radius:14px;background:#ededf0}.calendar-event-facts article{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px;min-height:54px;padding:8px 12px;background:#fafafa}.calendar-event-facts article>svg{color:#8e8e93;font-size:17px}.calendar-event-facts article>span{display:flex;flex-direction:column;min-width:0}.calendar-event-facts small{color:#8e8e93;font-size:8px}.calendar-event-facts strong{margin-top:2px;color:#3a3a3c;font-size:10.5px;font-weight:650;overflow-wrap:anywhere}.calendar-event-targets,.calendar-event-memo{padding:17px 6px 4px}.calendar-event-targets h4,.calendar-event-memo h4{margin:0 0 8px;color:#3a3a3c;font-size:10px;font-weight:700}.calendar-event-targets>div{display:flex;flex-wrap:wrap;gap:5px}.calendar-event-targets span{padding:5px 8px;border-radius:999px;background:#f2f2f7;color:#3a3a3c;font-size:9px;font-weight:620}.calendar-event-memo p{margin:0;color:#6e6e73;font-size:10.5px;line-height:1.65;white-space:pre-wrap}.calendar-event-impact{margin-top:12px;padding:13px;border-radius:14px;background:#fff7e8}.calendar-event-impact>div{display:flex;align-items:center;gap:8px;color:#a55a00}.calendar-event-impact>div>span{display:flex;flex-direction:column}.calendar-event-impact small{font-size:8px}.calendar-event-impact strong{margin-top:1px;color:#6a3900;font-size:10.5px}.calendar-event-impact p{margin:7px 0 0 26px;color:#8a5a20;font-size:9px;line-height:1.5}.calendar-event-detail>footer{display:flex;align-items:flex-start;gap:5px;margin:16px 5px 4px;color:#8e8e93;font-size:8.5px;line-height:1.45}.calendar-editor-modal{max-height:min(92vh,860px);padding:0!important;overflow:hidden;border:1px solid rgba(0,0,0,.08)!important;border-radius:24px!important;background:#f5f5f7!important;box-shadow:0 28px 80px #00000038!important}.calendar-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #e5e5e7;background:#fff}.calendar-editor-head h2{margin:0;color:#1d1d1f;font-size:25px;font-weight:740;letter-spacing:-.04em}.calendar-editor-head p{margin:6px 0 0;color:#8e8e93;font-size:10.5px}.calendar-editor-body{display:grid;gap:12px;max-height:calc(min(92vh,860px) - 154px);padding:14px;overflow-y:auto}.calendar-editor-section{padding:17px;border:1px solid #e5e5e7;border-radius:18px;background:#fff}.calendar-editor-section>header{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px}.calendar-editor-section>header>svg{margin-top:1px;color:#8e8e93;font-size:18px}.calendar-editor-section>header h3{margin:0;color:#1d1d1f;font-size:13px;font-weight:700}.calendar-editor-section>header p{margin:3px 0 0;color:#8e8e93;font-size:9.5px;line-height:1.45}.calendar-editor-title{display:flex;flex-direction:column;gap:7px}.calendar-editor-title>span,.calendar-date-fields label>span,.calendar-time-fields label>span,.calendar-detail-fields label>span{color:#6e6e73;font-size:9px;font-weight:670}.calendar-editor-title input,.calendar-detail-fields input,.calendar-detail-fields select,.calendar-detail-fields textarea{width:100%;box-sizing:border-box;border:1px solid #d2d2d7;border-radius:12px;background:#fff;color:#1d1d1f;outline:none}.calendar-editor-title input{height:47px;padding:0 13px;font-size:15px;font-weight:650}.calendar-detail-fields input{height:42px;padding:0 12px;font-size:11px}.calendar-detail-fields select{height:42px;padding:0 34px 0 12px;font-size:11px;appearance:auto}.calendar-detail-fields textarea{min-height:78px;padding:11px 12px;resize:vertical;font-size:11px;line-height:1.55}.calendar-editor-title input:focus,.calendar-detail-fields input:focus,.calendar-detail-fields select:focus,.calendar-detail-fields textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}.calendar-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.calendar-type-picker button{display:grid;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid #e5e5e7;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.calendar-type-picker button:hover{background:#fafafa}.calendar-type-picker button.selected{border-color:var(--event-color);background:var(--event-tint);box-shadow:0 0 0 1px var(--event-color)}.calendar-type-picker button>i{width:7px;height:7px;border-radius:50%;background:var(--event-color)}.calendar-type-picker button>span{display:flex;flex-direction:column;min-width:0}.calendar-type-picker strong{color:#3a3a3c;font-size:10.5px;font-weight:690}.calendar-type-picker small{margin-top:2px;color:#8e8e93;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-editor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.calendar-date-fields,.calendar-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-date-fields label,.calendar-time-fields label,.calendar-detail-fields label{display:flex;flex-direction:column;gap:6px;min-width:0}.calendar-date-fields .fancy-date-trigger{width:100%;min-height:42px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;box-shadow:none;font-size:10.5px}.calendar-date-fields .fancy-date-popover{z-index:30}.calendar-time-mode{margin-top:10px}.calendar-time-fields{margin-top:9px}.calendar-time-fields .time-input{min-height:42px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;box-shadow:none}.calendar-audience-picker{display:flex;flex-wrap:wrap;gap:5px}.calendar-audience-picker button{min-height:31px;padding:0 10px;border:1px solid #d2d2d7;border-radius:999px;background:#fff;color:#6e6e73;font-size:9.5px;font-weight:650;cursor:pointer}.calendar-audience-picker button.selected{border-color:#0071e3;background:#eef6ff;color:#06c}.calendar-target-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:152px;margin-top:10px;overflow-y:auto}.calendar-target-list button{position:relative;display:flex;flex-direction:column;min-width:0;padding:8px 27px 8px 9px;border:1px solid #e5e5e7;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.calendar-target-list button:hover{background:#fafafa}.calendar-target-list button.selected{border-color:#0071e3;background:#eef6ff}.calendar-target-list button span{overflow:hidden;color:#3a3a3c;font-size:9.5px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.calendar-target-list button small{margin-top:2px;overflow:hidden;color:#8e8e93;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.calendar-target-list button svg{position:absolute;top:50%;right:8px;color:#d2d2d7;transform:translateY(-50%)}.calendar-target-list button.selected svg{color:#0071e3}.calendar-impact-preview{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:10px;border-radius:11px;background:#fff7e8;color:#a55a00}.calendar-impact-preview>div{min-width:0}.calendar-impact-preview strong{display:block;color:#6a3900;font-size:10px}.calendar-impact-preview p{margin:3px 0 0;overflow:hidden;color:#8a5a20;font-size:8.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.calendar-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.calendar-detail-fields .wide{grid-column:1 / -1}.calendar-editor-foot{display:flex;align-items:center;gap:7px;min-height:68px;padding:10px 16px;border-top:1px solid #e5e5e7;background:#fff}.calendar-editor-foot>span{flex:1}.calendar-editor-foot button{min-height:38px;padding:0 14px;border:0;border-radius:999px;background:#f2f2f7;color:#3a3a3c;font-size:10.5px;font-weight:680;cursor:pointer}.calendar-editor-foot button:hover{background:#e8e8ed}.calendar-editor-foot button.primary{background:#0071e3;color:#fff}.calendar-editor-foot button.primary:hover{background:#0077ed}.calendar-editor-foot button.danger{background:transparent;color:#c9342f}.calendar-editor-foot button:disabled{opacity:.5;cursor:default}@media(max-width:1120px){.calendar-workspace{grid-template-columns:minmax(0,1fr) 286px}.calendar-day-cell{min-height:104px;padding:7px}.calendar-event-chip small{display:none}.calendar-command-bar{flex-wrap:wrap}.calendar-filter-strip{order:3;width:calc(100% - 80px)}.calendar-month-count{order:4}}@media(max-width:820px){.calendar-operations-page{padding-bottom:max(44px,env(safe-area-inset-bottom))}.calendar-operations-head{align-items:center;margin-bottom:15px}.calendar-operations-head p{display:none}.calendar-primary-action{min-width:40px;width:40px;padding:0;font-size:0}.calendar-primary-action svg{width:19px;height:19px}.calendar-command-bar{gap:8px;padding:8px;border-radius:16px}.calendar-view-toggle{display:none}.calendar-month-control{width:100%}.calendar-month-control strong{flex:1}.calendar-filter-strip{order:initial;width:calc(100% - 58px)}.calendar-month-count{padding-right:4px}.calendar-mobile-date-strip{display:flex;gap:6px;margin:0 -2px 12px;padding:2px 2px 5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.calendar-mobile-date-strip button{position:relative;display:grid;place-items:center;align-content:center;width:44px;height:59px;flex:0 0 44px;padding:0;border:1px solid #e5e5e7;border-radius:15px;background:#fff;color:#6e6e73;scroll-snap-align:center;cursor:pointer}.calendar-mobile-date-strip button small{font-size:8px}.calendar-mobile-date-strip button strong{margin-top:3px;font-size:13px}.calendar-mobile-date-strip button i{position:absolute;top:5px;right:5px;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:7px;font-style:normal;line-height:13px}.calendar-mobile-date-strip button.today{color:#0071e3}.calendar-mobile-date-strip button.selected{border-color:#0071e3;background:#0071e3;color:#fff;box-shadow:0 5px 13px #0071e333}.calendar-mobile-date-strip button.selected i{background:#ffffff38;color:#fff}.calendar-workspace{grid-template-columns:1fr}.calendar-month-board,.calendar-agenda-board{display:none}.calendar-mobile-day-list{display:block}.calendar-inspector{position:static;display:none}.calendar-inspector.showing-detail{display:block}.calendar-workspace:has(.calendar-inspector.showing-detail) .calendar-canvas{display:none}.calendar-agenda-row{border-radius:0;padding:12px 14px}.calendar-mobile-day-list .calendar-public-holiday{margin:12px 14px 2px}.calendar-event-detail{padding:12px}.calendar-editor-modal{max-height:94dvh;border-radius:24px 24px 0 0!important}.calendar-editor-body{max-height:calc(94dvh - 150px);padding:10px}.calendar-editor-columns{grid-template-columns:1fr}.calendar-editor-head{padding:20px 18px 16px}}@media(max-width:520px){.calendar-operations-head>div>span{font-size:8px}.calendar-operations-head h2{font-size:27px}.calendar-filter-strip{width:100%}.calendar-month-count{display:none}.calendar-type-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-date-fields,.calendar-time-fields,.calendar-detail-fields{grid-template-columns:1fr}.calendar-detail-fields .wide{grid-column:auto}.calendar-target-list{grid-template-columns:1fr}.calendar-editor-section{padding:15px;border-radius:16px}.calendar-editor-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}.calendar-editor-foot button{padding:0 12px}}@media(prefers-reduced-motion:reduce){.calendar-primary-action,.calendar-day-cell,.calendar-mobile-date-strip button{transition:none}}.class-log-editor-detail .log-student-note input:not([type]){min-width:0;min-height:34px;padding:7px 10px!important;border:1px solid transparent!important;border-radius:9px!important;background:#f5f5f7!important}.class-log-editor-detail .log-student-note input:not([type]):focus{border-color:#0071e3!important;background:#fff!important}@media(max-width:767px){.app-main{box-sizing:border-box;min-width:0;padding-top:calc(64px + env(safe-area-inset-top,0px));padding-right:max(20px,calc(env(safe-area-inset-right,0px) + 14px));padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));padding-left:max(20px,calc(env(safe-area-inset-left,0px) + 14px));scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.app-page-frame{box-sizing:border-box;width:100%;max-width:100%}.mobile-sidebar-trigger{top:calc(14px + env(safe-area-inset-top,0px))!important;left:max(14px,calc(env(safe-area-inset-left,0px) + 10px))!important}}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column{min-width:0;grid-column:2!important;grid-row:1!important;align-self:start;overflow:hidden;border:1px solid #dedfe3;border-radius:18px;background:#fff;box-shadow:0 1px 2px #00000005}.class-log-editor-detail .log-entry-card.is-editor .log-s3{grid-column:1!important;grid-row:1!important;align-self:start;padding:17px 18px!important;border:1px solid #dedfe3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 1px 2px #00000005!important}.class-log-editor-detail .log-attendance-list{gap:0!important;overflow:hidden;border-top:1px solid #e5e5ea}.class-log-editor-detail .log-student-row{position:relative;padding:13px 0!important;border:0!important;border-bottom:1px solid #eceef1!important;border-radius:0!important;background:#fff!important}.class-log-editor-detail .log-student-row:hover{background:#fbfbfd!important}.class-log-editor-detail .log-student-toolbar{min-height:30px;margin-bottom:0!important;gap:10px}.class-log-editor-detail .log-student-identity{min-width:0}.class-log-editor-detail .log-student-identity>span:first-child{overflow:hidden;color:#1d1d1f!important;font-size:12px!important;font-weight:680!important;text-decoration:none!important;text-overflow:ellipsis;white-space:nowrap}.class-log-editor-detail .log-student-identity>span:first-child:hover{color:#0071e3!important}.class-log-editor-detail .log-attendance-picker{flex:0 0 auto;padding:3px!important;border-radius:10px!important;background:#f2f2f7!important}.class-log-editor-detail .log-attendance-picker button{min-width:40px!important;min-height:28px;border-radius:8px!important;box-shadow:none!important;font-family:inherit!important;font-size:9.5px!important}.class-log-editor-detail .log-score-item{min-width:0;display:grid!important;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:8px!important}.class-log-editor-detail .log-score-item>span{color:#6e6e73!important;font-size:9.5px!important;font-weight:650!important}.class-log-editor-detail .log-score-panel button{width:28px!important;height:28px!important;border:1px solid #d2d2d7!important;border-radius:8px!important;background:#fff!important;color:#86868b!important;box-shadow:none!important;font-family:inherit!important}.class-log-editor-detail .log-student-note input[type=text],.class-log-editor-detail .log-student-note input:not([type]){min-width:0;min-height:34px;padding:7px 10px!important;border:1px solid transparent!important;border-radius:9px!important;background:#f5f5f7!important}.class-log-editor-detail .log-student-note input[type=text]:focus,.class-log-editor-detail .log-student-note input:not([type]):focus{border-color:#0071e3!important;background:#fff!important}.class-log-editor-detail .log-upcoming-student{padding:11px 0!important;border:0!important;border-bottom:1px solid #eceef1!important;border-radius:0!important;background:#fff!important}.class-log-editor-detail .log-journal-column .log-input{border-color:transparent!important;background:#f5f5f7!important}.class-log-editor-detail .log-journal-column .log-input:focus{border-color:#0071e3!important;background:#fff!important}.class-log-editor-detail .log-journal-column .log-s1 textarea.log-input{min-height:126px!important}.class-log-editor-detail .log-journal-column .log-s2 textarea.log-input{min-height:88px!important}@media(max-width:520px){.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{padding:10px!important;gap:10px!important}.class-log-editor-detail .log-entry-card.is-editor .log-s3,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s0,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s2{padding:14px!important}.class-log-editor-detail .log-student-toolbar{align-items:flex-start!important;flex-direction:column}.class-log-editor-detail .log-attendance-picker{width:100%;grid-template-columns:repeat(3,1fr)!important}.class-log-editor-detail .log-attendance-picker button{width:100%}.class-log-editor-detail .log-score-item,.class-log-editor-detail .log-student-note{grid-template-columns:1fr;gap:5px!important}.class-log-editor-detail .log-score-values{grid-template-columns:repeat(5,minmax(28px,1fr))}.class-log-editor-detail .log-score-panel button{width:100%!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{margin:0 -10px -10px}}.admin-operations-home .admin-materials-group{background:#fff!important}.admin-materials-browser{min-height:240px;display:grid;grid-template-columns:148px minmax(0,1fr);gap:14px}.admin-materials-subjects{padding-right:14px;border-right:1px solid #e5e5ea;display:flex;flex-direction:column;align-items:stretch;gap:7px}.admin-materials-subjects button{min-height:34px;padding:0 10px;border:1px solid #d2d2d7;border-radius:999px;background:transparent;color:#515154;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;font-family:inherit;font-size:10.5px;font-weight:700;text-align:left;cursor:pointer}.admin-materials-subjects button>span{width:7px;height:7px;border-radius:50%}.admin-materials-subjects button>small{color:#86868b;font-size:9px}.admin-materials-subjects button:hover{border-color:#aeb4bc;background:#f7f7f8}.admin-materials-subjects button.active{border-color:#0071e3;background:#f0f7ff;color:#005fb8}.admin-materials-class-list{min-width:0}.admin-materials-class-head{min-height:38px;padding:0 2px 9px;border-bottom:1px solid #e5e5ea;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-materials-class-head>div{display:flex;flex-direction:column;gap:2px}.admin-materials-class-head strong{color:#1d1d1f;font-size:12px}.admin-materials-class-head span,.admin-materials-class-head em{color:#86868b;font-size:9px;font-style:normal}.admin-materials-class-row{min-height:54px;padding:9px 2px;border-bottom:1px solid #ececf0;display:grid;grid-template-columns:minmax(110px,.82fr) minmax(140px,1.18fr);align-items:center;gap:14px}.admin-materials-class-row:last-child{border-bottom:0}.admin-materials-class-row>div{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-materials-class-row strong,.admin-materials-class-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-materials-class-row strong{color:#1d1d1f;font-size:11px}.admin-materials-class-row small{color:#86868b;font-size:9px}.admin-materials-class-row>span{color:#515154;font-size:11px;font-weight:650}.consultation-review-modal{padding:0!important;border-radius:26px!important;background:#f7f7f8!important;overflow:hidden!important}.consultation-review-head{padding:30px 34px 24px;border-bottom:1px solid #dedfe3;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.consultation-review-head>div>span{color:#86868b;font-size:10px;font-weight:700}.consultation-review-head h2{margin:7px 0 6px;color:#1d1d1f;font-size:27px;letter-spacing:-.04em}.consultation-review-head p{margin:0;color:#6e6e73;font-size:11px}.consultation-review-list{max-height:min(64vh,640px);padding:16px 24px 24px;overflow-y:auto}.consultation-review-person{padding:16px;border:1px solid #dedfe3;border-radius:18px;background:#fff}.consultation-review-person+.consultation-review-person{margin-top:12px}.consultation-review-person-head{padding:0 2px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.consultation-review-person-head>div{display:flex;flex-direction:column;gap:3px}.consultation-review-person-head strong{color:#1d1d1f;font-size:14px}.consultation-review-person-head span{color:#86868b;font-size:9.5px}.consultation-review-person-head em{padding:4px 8px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:9px;font-style:normal;font-weight:750}.consultation-review-memos{border-top:1px solid #e5e5ea}.consultation-review-memos article{padding:13px 2px;border-bottom:1px solid #ececf0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px}.consultation-review-memos article:last-child{border-bottom:0}.consultation-review-memos article>div{display:flex;align-items:center;gap:7px}.consultation-review-memos time{color:#6e6e73;font-size:9.5px;font-weight:700}.consultation-review-memos article>div span{color:#86868b;font-size:9px}.consultation-review-memos p{grid-column:1;margin:0;color:#333336;font-size:12px;line-height:1.6;white-space:pre-wrap}.consultation-review-memos button{grid-column:2;grid-row:1 / span 2;align-self:center;min-height:32px;padding:0 11px;border:0;border-radius:999px;background:#e8e8ed;color:#1d1d1f;font-family:inherit;font-size:10px;font-weight:750;cursor:pointer}.consultation-review-memos button:hover{background:#0071e3;color:#fff}.consultation-review-empty{min-height:220px;color:#6e6e73;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}@media(max-width:640px){.admin-materials-browser{grid-template-columns:1fr}.admin-materials-subjects{padding:0 0 12px;border-right:0;border-bottom:1px solid #e5e5ea;flex-direction:row;overflow-x:auto}.admin-materials-subjects button{flex:0 0 auto;min-width:112px}.admin-materials-class-row{grid-template-columns:1fr;gap:5px}.consultation-review-head{padding:24px 20px 19px}.consultation-review-list{padding:12px}.consultation-review-memos article{grid-template-columns:minmax(0,1fr)}.consultation-review-memos button{grid-column:1;grid-row:auto;justify-self:start}}.app-sidebar-attendance{margin-top:0}.app-sidebar-attendance .attendance-chip-card{min-height:66px;padding:10px;border:1px solid rgba(60,60,67,.12);border-radius:16px;background:#ffffffc7;box-shadow:none;gap:9px}.app-sidebar-attendance .attendance-chip-card.pending{border-color:#0071e33d;background:#f2f8ff}.app-sidebar-attendance .attendance-chip-card.in{border-color:#00645a2e;background:#f2f8f6}.app-sidebar-attendance .attendance-chip-card.done{background:#ffffff94}.app-sidebar-attendance .attendance-chip-card:hover,.app-sidebar-attendance .attendance-chip-card.open{transform:none;border-color:#3c3c4333;background:#fff;box-shadow:0 6px 16px #0f172a0e}.app-sidebar-attendance .attendance-chip-icon{width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #3c3c431a}.app-sidebar-attendance .attendance-chip-copy{gap:1px}.app-sidebar-attendance .attendance-chip-copy small{color:#86868b;font-size:8px;font-weight:650}.app-sidebar-attendance .attendance-chip-copy div{color:#1d1d1f;font-size:11.5px;font-weight:720}.app-sidebar-attendance .attendance-chip-copy span{color:#86868b;font-size:8.5px}.attendance-chip-action{color:#0071e3;display:inline-flex;align-items:center;gap:2px;font-size:9px;font-weight:750;white-space:nowrap}.attendance-chip-card.in .attendance-chip-action{color:#00645a}.attendance-chip-card.done .attendance-chip-action{color:#6e6e73}.app-sidebar-attendance .attendance-chip-compact{border:1px solid rgba(60,60,67,.12);border-radius:50%;background:#ffffffc2;box-shadow:none}.attendance-popover-panel{border:1px solid #dedfe3;border-radius:22px;background:#f7f7f8;box-shadow:0 24px 64px #0f172a2e;backdrop-filter:none;-webkit-backdrop-filter:none}.attendance-popover-head{padding:18px 18px 13px;border-bottom:1px solid #e5e5ea;background:#fff}.attendance-popover-body{padding:14px 18px}.attendance-popover-actions{padding:12px 18px 16px;border-top:1px solid #e5e5ea;background:#fff;box-shadow:none}.attendance-popover-cancel{background:#e8e8ed;box-shadow:none}.attendance-popover-submit.checkin,.attendance-popover-submit.checkout{background:#0071e3;box-shadow:none}.teacher-home-utilities{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.teacher-featured-notice{max-width:340px;min-height:38px;padding:0 11px;border:1px solid var(--teacher-border, #e3e5e8);border-radius:999px;background:#fff;color:#515154;display:grid;grid-template-columns:auto minmax(70px,1fr) auto auto;align-items:center;gap:7px;font-family:inherit;cursor:pointer}.teacher-featured-notice:hover{border-color:#b8bec6;background:#f8f8fa}.teacher-featured-notice>span{color:#0071e3;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:750}.teacher-featured-notice>strong{overflow:hidden;color:#2c2c2e;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.teacher-featured-notice>em{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-style:normal;font-weight:800}.teacher-featured-notice>svg{color:#a1a1a6}.teacher-featured-notice.unread{border-color:#0071e333;background:#f2f8ff}.teacher-homework-preview{width:100%;padding:0;border:1px solid #e5e5ea;border-radius:14px;background:#fff;color:#1d1d1f;overflow:hidden;font-family:inherit;text-align:left;cursor:pointer}.teacher-homework-preview:hover{border-color:#c7c7cc}.teacher-homework-preview-head{min-height:48px;padding:9px 11px;border-bottom:1px solid #e5e5ea;background:#f7f7f8;display:flex;flex-direction:column;justify-content:center;gap:2px}.teacher-homework-preview-head span{color:#0071e3;font-size:8.5px;font-weight:750}.teacher-homework-preview-head strong{overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.teacher-homework-preview-section{padding:10px 11px}.teacher-homework-preview-section+.teacher-homework-preview-section{border-top:1px solid #ececf0}.teacher-homework-preview-section small{display:block;margin-bottom:5px;color:#86868b;font-size:8.5px;font-weight:700}.teacher-homework-preview-section p{margin:0;color:#6e6e73;font-size:10.5px;line-height:1.55}.teacher-homework-preview-section .mini-md{color:#333336;font-size:10.5px;line-height:1.55}.teacher-homework-preview-section.today small{color:#a55200}@media(max-width:900px){.teacher-home-head{align-items:flex-start}.teacher-home-utilities{width:min(100%,520px)}.teacher-featured-notice{flex:1;max-width:none}}@media(max-width:640px){.teacher-home-utilities{width:100%;align-items:stretch;flex-direction:column}.teacher-attendance-status{align-self:flex-start}.teacher-featured-notice{width:100%;max-width:none}}.class-log-page .teacher-attendance-reminder-card.log-context.is-checkout{border-color:#d7e7df!important;background:#f4faf7!important}.class-log-page .teacher-attendance-reminder-card.log-context.is-checkout .teacher-attendance-reminder-copy span{color:#00645a}.class-log-page .teacher-attendance-reminder-card.log-context.is-checkout button{background:#00645a}body .extra-session-modal .acm-body>.acm-section{display:none}body .extra-session-modal-step-1 .acm-body>.acm-flow-basics,body .extra-session-modal-step-1 .acm-body>.acm-flow-target,body .extra-session-modal-step-1 .acm-body>.acm-cancelled-suggestions{display:block}body .extra-session-modal-step-2 .acm-body>.acm-flow-students{display:block}body .extra-session-modal-step-3 .acm-body>.acm-flow-operations{display:block}body .extra-session-modal .acm-body{min-height:390px;align-content:start}body .extra-session-modal .extra-session-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}body .extra-session-modal .extra-session-flow li{min-width:0;padding:0}body .extra-session-modal .extra-session-flow li:after{display:none}body .extra-session-modal .extra-session-flow button{width:100%;min-height:36px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#86868b;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:11px;font-weight:600;cursor:default}body .extra-session-modal .extra-session-flow li.complete button{color:#0071e3;cursor:pointer}body .extra-session-modal .extra-session-flow li.active button{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001f}body .extra-session-modal .extra-session-flow li b{width:18px;height:18px;border-radius:50%;background:#d1d1d6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px}body .extra-session-modal .extra-session-flow li.active b,body .extra-session-modal .extra-session-flow li.complete b{background:#0071e3}body .temporary-schedule-modal{width:min(720px,94vw)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}.temporary-schedule-wrap{max-height:90vh;display:flex;flex-direction:column}.temporary-schedule-wrap>header{padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fff}.temporary-schedule-wrap>header>span{color:#86868b;font-size:11px;font-weight:650}.temporary-schedule-wrap>header h3{margin:6px 0;color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}.temporary-schedule-wrap>header p{max-width:600px;margin:0;color:#6e6e73;font-size:12px;line-height:1.5}.temporary-schedule-body{min-height:0;padding:18px 20px 22px;overflow-y:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.temporary-schedule-body>section{padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff}.temporary-section-title{min-height:32px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.temporary-section-title>div{display:flex;align-items:center;gap:8px;color:#1d1d1f}.temporary-section-title span{display:grid;gap:2px}.temporary-section-title b{font-size:13px;font-weight:680}.temporary-section-title small,.temporary-section-title em{color:#86868b;font-size:10px;font-style:normal;font-weight:550}.temporary-class-list{max-height:310px;overflow-y:auto;display:grid;gap:5px}.temporary-class-list button{width:100%;min-height:48px;padding:8px 10px;border:0;border-radius:11px;background:#f5f5f7;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;text-align:left;cursor:pointer}.temporary-class-list button.selected{background:#eaf4ff}.temporary-class-list i{width:22px;height:22px;border:1px solid #C7C7CC;border-radius:7px;color:#fff;display:inline-flex;align-items:center;justify-content:center}.temporary-class-list button.selected i{border-color:var(--teacher);background:var(--teacher)}.temporary-class-list span{min-width:0;display:grid;gap:2px}.temporary-class-list strong{overflow:hidden;color:#1d1d1f;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.temporary-class-list small{overflow:hidden;color:#86868b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.temporary-merge-note{margin:10px 0 0;padding:10px;border-radius:10px;background:#f2f2f7;color:#6e6e73;font-size:10.5px;line-height:1.5}.temporary-type-control{margin-bottom:14px;padding:3px;border-radius:10px;background:#f2f2f7;display:grid;grid-template-columns:1fr 1fr;gap:3px}.temporary-type-control button{min-height:34px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font:inherit;font-size:11px;font-weight:620;cursor:pointer}.temporary-type-control button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001f}.temporary-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.temporary-schedule-grid label{display:grid;gap:6px;color:#3a3a3c;font-size:11px;font-weight:620}.temporary-schedule-grid label.wide{grid-column:1 / -1}.temporary-schedule-grid .day-chip-selector,.temporary-schedule-grid .time-input,.temporary-schedule-grid .fancy-date-trigger{min-height:42px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none}.temporary-schedule-wrap>footer{padding:14px 20px 18px;border-top:1px solid #E5E5EA;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:8px}.temporary-schedule-wrap>footer span{margin-right:auto;color:#86868b;font-size:10.5px}.temporary-schedule-wrap>footer span.error{color:#c9342f}.temporary-schedule-wrap>footer button{min-height:40px;padding:0 16px;border:0;border-radius:11px;background:#e9e9ee;color:#1d1d1f;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.temporary-schedule-wrap>footer button.primary{background:#0071e3;color:#fff}.class-unified-detail{min-height:0;padding:14px;overflow-y:auto;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(330px,1.15fr);gap:12px}.class-unified-detail .class-info-panel,.class-unified-detail .class-roster-panel{margin:0;align-self:start;border:1px solid #E5E5EA;border-radius:17px;background:#fff;box-shadow:none}.class-schedule-summary-head,.class-roster-heading{min-height:38px;margin-top:14px;padding-top:13px;border-top:1px solid #EFEFF4;display:flex;align-items:center;justify-content:space-between}.class-schedule-summary-head h5{margin:0;color:#1d1d1f;font-size:12px}.class-schedule-summary-head button{min-height:30px;padding:0 9px;border:0;border-radius:8px;background:#eaf4ff;color:#0071e3;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:10.5px;font-weight:650;cursor:pointer}.class-unified-detail .class-schedule-summary{margin-top:6px;padding-top:0;border-top:0}.class-roster-heading{margin:0 0 11px;padding:0 0 11px}.class-roster-heading>div{display:flex;align-items:center;gap:7px;color:#1d1d1f}.class-roster-heading span{display:flex;align-items:baseline;gap:5px}.class-roster-heading strong{font-size:13px}.class-roster-heading small{color:#86868b;font-size:10px}.class-workspace-main>header>em{color:#86868b;font-size:11px;font-style:normal}.class-workspace-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.class-workspace-header-actions em{color:var(--text-secondary, #86868B);font-size:11px;font-style:normal;white-space:nowrap}.class-workspace-header-actions>button{min-height:44px;padding:0 12px;border:1px solid var(--surface-border, #E5E5EA);border-radius:12px;background:var(--surface-card, #FFF);color:#b42318;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.class-workspace-header-actions>button:hover{background:#fff1f0}.class-workspace-header-actions>button:active{background:#ffe4e1}.class-workspace-header-actions>button:focus-visible{outline:3px solid #007AFF;outline-offset:2px}.class-workspace-header-actions>button:disabled{opacity:.5;cursor:default}.class-workspace-schedule-panel{margin:0 14px 18px;padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff}.class-workspace-schedule-head{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}.class-workspace-schedule-head>div{display:flex;align-items:center;gap:8px;color:#1d1d1f}.class-workspace-schedule-head>div>span{display:flex;align-items:baseline;gap:6px}.class-workspace-schedule-head strong{font-size:13px}.class-workspace-schedule-head small{color:#86868b;font-size:10px}.class-workspace-schedule-head>button{min-height:30px;padding:0 10px;border:0;border-radius:9px;background:#eaf4ff;color:#0071e3;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:10.5px;font-weight:680;cursor:pointer}.class-workspace-schedule-panel .class-schedule-summary{margin-top:10px;overflow:hidden;border:1px solid #EFEFF4;border-radius:12px}.class-workspace-schedule-panel .class-schedule-summary>div:first-child{border-top:0}.class-workspace-schedule-panel .class-schedule-summary>p{margin:0;padding:22px;color:#86868b;font-size:11px;text-align:center}.class-schedule-conflicts{margin-top:10px;padding:11px 12px;border-radius:12px;background:#fff9ed;color:#8a5a00}.class-schedule-conflicts>div{display:flex;align-items:center;gap:6px}.class-schedule-conflicts strong{font-size:11px}.class-schedule-conflicts p{margin:6px 0 0 21px;color:#9a6700;font-size:10px;line-height:1.55}.class-schedule-editor{margin-top:12px}.class-schedule-editor-list{display:grid;gap:8px}.class-schedule-editor-list>article{padding:12px;border:1px solid #E5E5EA;border-radius:13px;background:#f9fafb}.class-schedule-editor-row{display:grid;grid-template-columns:112px minmax(190px,1.4fr) minmax(110px,.75fr) minmax(110px,.75fr) 34px;align-items:end;gap:8px}.class-schedule-editor-row label,.class-schedule-editor-range label{min-width:0;display:grid;gap:5px;color:#6e6e73;font-size:9.5px;font-weight:650}.class-schedule-editor-row select{width:100%;min-height:40px;padding:0 9px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit;font-size:10.5px;outline:0}.class-schedule-editor-row .day-chip-selector,.class-schedule-editor-row .time-input,.class-schedule-editor-row .fancy-date-trigger,.class-schedule-editor-range .fancy-date-trigger{min-height:40px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none}.class-schedule-editor-row button.remove{width:34px;height:34px;margin-bottom:3px;border:0;border-radius:50%;background:#fff1f0;color:#c9342f;display:grid;place-items:center;cursor:pointer}.class-schedule-editor-range{margin-top:9px;padding-top:9px;border-top:1px solid #E9EAEC;display:grid;grid-template-columns:160px 160px minmax(0,1fr);align-items:end;gap:8px}.class-schedule-editor-range p{margin:0 0 7px;color:#86868b;font-size:9.5px;line-height:1.45}.class-schedule-editor-empty{padding:22px;border:1px dashed #D2D2D7;border-radius:12px;color:#86868b;font-size:10.5px;text-align:center}.class-schedule-editor-toolbar{margin-top:12px;padding-top:12px;border-top:1px solid #EFEFF4;display:flex;align-items:center;justify-content:space-between;gap:12px}.class-schedule-editor-toolbar>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.class-schedule-editor-toolbar button{min-height:34px;padding:0 11px;border:0;border-radius:9px;background:#f2f2f7;color:#3a3a3c;font:inherit;font-size:10px;font-weight:650;cursor:pointer}.class-schedule-editor-toolbar button.primary{background:#0071e3;color:#fff}.class-schedule-editor-toolbar button:disabled{cursor:wait;opacity:.58}body .teacher-detail-modal{width:min(700px,94vw)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}.teacher-detail-wrap>header{padding:26px;background:#fff;display:flex;align-items:center;gap:15px}.teacher-detail-avatar{width:54px;height:54px;border-radius:50%;background:color-mix(in srgb,var(--teacher) 12%,#F2F2F7);color:var(--teacher);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:720}.teacher-detail-wrap>header span{color:#86868b;font-size:10.5px;font-weight:620}.teacher-detail-wrap>header h3{margin:3px 0;color:#1d1d1f;font-size:24px;font-weight:720;letter-spacing:-.03em}.teacher-detail-wrap>header p{margin:0;color:#6e6e73;font-size:12px}.teacher-detail-summary{margin:16px 18px 0;overflow:hidden;border:1px solid #E5E5EA;border-radius:15px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr)}.teacher-detail-summary span{min-height:70px;display:grid;place-content:center;gap:4px;text-align:center}.teacher-detail-summary span+span{border-left:1px solid #EFEFF4}.teacher-detail-summary small{color:#86868b;font-size:10px}.teacher-detail-summary strong{color:#1d1d1f;font-size:15px;font-weight:680}.teacher-detail-wrap>section{margin:12px 18px 18px;padding:16px;border:1px solid #E5E5EA;border-radius:15px;background:#fff}.teacher-detail-wrap>section h4{margin:0 0 12px;color:#1d1d1f;font-size:13px}.teacher-detail-wrap dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.teacher-detail-wrap dl div{min-height:42px;border-top:1px solid #EFEFF4;display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-detail-wrap dt{color:#86868b;font-size:11px}.teacher-detail-wrap dd{margin:0;color:#1d1d1f;font-size:12px;font-weight:600}.teacher-detail-wrap>footer{padding:14px 18px 18px;border-top:1px solid #E5E5EA;background:#fff;display:flex;justify-content:flex-end;gap:8px}.teacher-detail-wrap>footer button{min-height:40px;padding:0 16px;border:0;border-radius:11px;background:#e9e9ee;color:#1d1d1f;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.teacher-detail-wrap>footer button.primary{background:#0071e3;color:#fff}.teacher-add-pill{min-height:40px;padding:0 15px;border-radius:12px;background:#0071e3;box-shadow:0 1px 2px #0000000f;display:inline-flex;align-items:center;gap:6px}.teacher-add-pill:hover{background:#0077ed;transform:none;box-shadow:0 1px 2px #0000000f}.teacher-add-pill:active{transform:scale(.97)}.attendance-settings-icon{width:38px;height:38px;padding:0;border:0;border-radius:10px;background:#f2f2f7;color:#6e6e73;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.attendance-settings-icon:hover,.attendance-settings-icon.active{background:#e5e5ea;color:#1d1d1f}.attendance-setup-notice{width:100%;min-height:54px;margin-bottom:14px;padding:10px 13px;border:1px solid #F3D59A;border-radius:14px;background:#fff9ed;color:#9a6700;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.attendance-setup-notice span{display:grid;gap:2px}.attendance-setup-notice strong{font-size:12px}.attendance-setup-notice small{font-size:10.5px;font-weight:500}body .attendance-settings-modal,body .attendance-correction-modal{padding:0!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}.attendance-settings-wrap>header,.attendance-correction-head{padding:24px 24px 18px;border-bottom:1px solid #E5E5EA;background:#fff}.attendance-settings-wrap>header>span{color:#86868b;font-size:11px;font-weight:650}.attendance-settings-wrap>header h3{margin:5px 0;color:#1d1d1f;font-size:24px;font-weight:720;letter-spacing:-.03em}.attendance-settings-wrap>header p{margin:0;color:#6e6e73;font-size:12px}.attendance-settings-warning{margin:16px 18px 0;padding:11px 12px;border-radius:12px;background:#fff9ed;color:#9a6700;display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.45}.attendance-settings-wrap>div:last-child{padding:18px}.attendance-settings-wrap input{min-height:42px;border:1px solid #D2D2D7!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;font-family:inherit}body .attendance-correction-modal{width:min(640px,94vw)!important}.attendance-correction-wrap{display:flex;flex-direction:column;max-height:90vh}.attendance-correction-head{margin:0}.attendance-correction-body{min-height:0;padding:18px;overflow-y:auto;background:#f5f5f7}.attendance-correction-grid{padding:16px;border:1px solid #E5E5EA;border-radius:16px;background:#fff}.attendance-correction-grid textarea{border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none;font-family:inherit}.attendance-status-picker{padding:3px;border-radius:11px;background:#f2f2f7}.attendance-status-picker button{border-radius:8px;box-shadow:none}.attendance-correction-actions{margin:0;padding:14px 18px 18px;border-top:1px solid #E5E5EA;background:#fff}.attendance-correction-actions button{min-height:40px;border-radius:11px;box-shadow:none}.attendance-sheet-card{border:1px solid #E5E5EA;border-radius:18px;background:#fff;box-shadow:0 8px 28px #0000000b}.attendance-sheet-table .teacher-col{left:0;width:150px;min-width:150px;padding:0 12px;background:#fff;box-shadow:1px 0 #e5e5ea}.attendance-sheet-table tbody .teacher-col{height:54px}.attendance-sheet-avatar{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--teacher) 12%,#F2F2F7);color:var(--teacher);box-shadow:none}.attendance-sheet-teacher-copy b{color:#1d1d1f;font-size:11.5px;font-weight:650}.attendance-sheet-teacher-copy small{gap:4px}.attendance-sheet-teacher-copy small em{padding:0;background:transparent;color:#86868b;font-size:9px}@media(max-width:760px){body .temporary-schedule-modal,body .teacher-detail-modal,body .attendance-settings-modal,body .attendance-correction-modal{width:100%!important;max-width:100%!important;border-radius:22px 22px 0 0!important}.temporary-schedule-body,.class-unified-detail{grid-template-columns:1fr}.class-workspace-schedule-panel{margin:0 0 16px}.class-schedule-editor-row{grid-template-columns:1fr 1fr}.class-schedule-editor-row label.type,.class-schedule-editor-row label.day{grid-column:span 1}.class-schedule-editor-row button.remove{position:absolute;right:6px;top:6px}.class-schedule-editor-list>article{position:relative;padding-top:48px}.class-schedule-editor-range{grid-template-columns:1fr 1fr}.class-schedule-editor-range p{grid-column:1 / -1}.class-schedule-editor-toolbar{align-items:stretch;flex-direction:column}.class-schedule-editor-toolbar>div:last-child{justify-content:flex-end}.temporary-schedule-wrap>footer span{display:none}.teacher-detail-wrap dl{grid-template-columns:1fr}body .extra-session-modal .acm-body{min-height:0}}.admin-operations-home .admin-student-management-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px}.admin-monthly-summary-compact{margin:0!important;padding:18px;border:1px solid var(--surface-border, #e2e7ee)!important;border-radius:20px;background:#fff;box-shadow:var(--surface-shadow)}.admin-summary-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-summary-head strong{color:#1d1d1f;font-size:14px;letter-spacing:-.015em}.admin-summary-head span{color:#86868b;font-size:10px;font-weight:700}.admin-monthly-metrics{overflow:hidden;border-top:1px solid #e5e5ea}.admin-monthly-metric{min-height:51px;border-bottom:1px solid #e5e5ea;display:grid;grid-template-columns:minmax(70px,.7fr) auto minmax(112px,1fr);align-items:center;gap:10px}.admin-monthly-metric:last-child{border-bottom:0}.admin-monthly-metric>span{color:#6e6e73;font-size:11px;font-weight:650}.admin-monthly-metric>strong{color:#1d1d1f;font-size:18px;letter-spacing:-.035em}.admin-monthly-metric>small{color:#86868b;font-size:9.5px;text-align:right}.admin-absence-all-button{min-height:32px;padding:0 11px;border:0;border-radius:999px;background:#e8e8ed;color:#1d1d1f;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:10px;font-weight:750;cursor:pointer}.admin-absence-all-button:hover{background:#0071e3;color:#fff}.admin-operations-home .admin-dashboard-right-stack{margin-top:30px;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px}.admin-operations-home .admin-dashboard-right-stack>.admin-subsection-label,.admin-operations-home .admin-dashboard-right-stack>.admin-notice-overview:first-of-type{grid-column:1 / -1}.admin-materials-group-head{min-height:30px;display:flex;align-items:center;gap:8px}.admin-materials-items{margin-top:8px;display:grid;gap:6px}.admin-operations-home .admin-materials-item{padding:9px 10px!important;border-radius:11px!important;background:#f7f7f8!important}.room-status-floor-head{min-height:30px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.room-status-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.admin-operations-home .room-status-floor{padding:10px!important;border-radius:14px!important;background:#f7f7f8!important}.admin-operations-home .room-status-room-grid>div{border:1px solid #e5e5ea!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}.log-detail-modebar{min-height:58px;padding:11px 16px;border-bottom:1px solid #e5e5ea;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.log-detail-modebar>div{min-width:0;display:flex;flex-direction:column;gap:3px}.log-detail-modebar strong{color:#1d1d1f;font-size:13px;letter-spacing:-.01em}.log-detail-modebar span{color:#86868b;font-size:9.5px}.log-edit-mode-btn{min-height:34px;padding:0 13px;border:0;border-radius:999px;background:#e8e8ed;color:#1d1d1f;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:11px;font-weight:750;cursor:pointer}.log-edit-mode-btn:hover,.log-edit-mode-btn.active{background:#0071e3;color:#fff}.class-log-editor-detail .log-edit-fieldset.is-readonly .log-input,.class-log-editor-detail .log-edit-fieldset.is-readonly .log-student-note input{border-color:transparent!important;background:transparent!important;color:#1d1d1f!important;-webkit-text-fill-color:#1d1d1f;opacity:1}.class-log-editor-detail .log-edit-fieldset.is-readonly .log-s0,.class-log-editor-detail .log-edit-fieldset.is-readonly .log-s1,.class-log-editor-detail .log-edit-fieldset.is-readonly .log-s2,.class-log-editor-detail .log-edit-fieldset.is-readonly .log-s3{background:#fff!important}.class-log-editor-detail .log-edit-fieldset.is-readonly .log-attendance-picker{width:auto;background:transparent!important}.class-log-editor-detail .log-edit-fieldset.is-readonly .log-attendance-picker button:not([aria-pressed=true]){display:none}.class-log-editor-detail .log-edit-fieldset.is-readonly .log-score-panel{background:#f7f7f8!important}.class-log-page .pending-log-card{border:1px solid #dedfe3!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 24px #0f172a0e!important}.class-log-page .pending-log-head{min-height:72px;padding:14px 18px;background:#fff}.class-log-page .pending-log-icon{border:0;border-radius:12px;background:#f2f2f7;color:#0071e3;box-shadow:none}.class-log-page .pending-log-title h3{color:#1d1d1f;font-size:15px;letter-spacing:-.02em}.class-log-page .pending-log-title p{color:#86868b;font-size:10px}.class-log-page .pending-log-count{border:0;background:#f2f2f7;color:#6e6e73}.class-log-page .pending-log-grid{padding:0 12px 12px;gap:0}.class-log-page .pending-log-item{min-height:68px;border:0!important;border-top:1px solid #e5e5ea!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.class-log-page .log-start-btn:not(.secondary){border-radius:999px;background:#0071e3;box-shadow:none}.class-log-page .log-start-btn.secondary{border-radius:999px;background:#f2f2f7;color:#515154}@media(max-width:980px){.admin-operations-home .admin-student-management-grid,.admin-operations-home .admin-dashboard-right-stack{grid-template-columns:minmax(0,1fr)}.admin-operations-home .admin-dashboard-right-stack>*{grid-column:1!important}}@media(prefers-reduced-motion:reduce){.temporary-class-list button,.teacher-add-pill,.attendance-settings-icon{transition:none}}.attendance-settings-form{padding:18px;display:grid;gap:12px}.attendance-use-location{min-height:42px;border:0;border-radius:11px;background:#0071e3;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.attendance-use-location:disabled{background:#d1d1d6;cursor:wait}.attendance-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance-settings-field{display:grid;gap:6px}.attendance-settings-field label{color:#3a3a3c;font-size:11px;font-weight:620}.attendance-settings-field input{width:100%;min-height:42px;padding:0 12px;box-sizing:border-box;outline:0}.attendance-settings-field input:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31f!important}.attendance-settings-actions{margin:4px -18px -18px;padding:14px 18px 18px;border-top:1px solid #E5E5EA;background:#fff;display:flex;justify-content:flex-end;gap:8px}.attendance-settings-actions button{min-height:40px;padding:0 16px;border:0;border-radius:11px;background:#e9e9ee;color:#1d1d1f;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.attendance-settings-actions button.primary{background:#0071e3;color:#fff}.attendance-settings-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:560px){.attendance-settings-grid{grid-template-columns:1fr}}.quick-add-modal{width:min(500px,92vw)!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 28px 80px #00000038!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.quick-add-head p{max-width:390px;margin:0;color:#6e6e73;font-size:13px;font-weight:500;line-height:1.5}.quick-add-close{position:absolute;top:0;right:0;width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#e5e5ea;color:#6e6e73;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;cursor:pointer}@media(max-width:640px){.quick-add-modal,.add-class-modal{border-radius:22px 22px 0 0!important}.quick-add-wrap{padding:22px 18px 24px}.add-class-modal .acm-header{padding:20px 18px 16px}.add-class-modal .acm-body{padding:14px 14px 22px}.add-class-modal .acm-footer{padding:12px 14px calc(14px + env(safe-area-inset-bottom))}}#root .quick-add-modal{width:min(500px,92vw)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 28px 80px #00000038!important;backdrop-filter:none;-webkit-backdrop-filter:none}#root .quick-add-wrap{gap:18px;padding:24px}#root .quick-add-head{position:relative;padding-right:44px}#root .quick-add-kicker{margin:0 0 7px;padding:0;background:transparent;color:#86868b;font-size:11px;letter-spacing:0}#root .quick-add-head h3{margin:0 0 7px;color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}#root .quick-add-head p{color:#6e6e73;font-size:13px;font-weight:500}#root .quick-add-close{position:absolute;top:0;right:0;width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#e5e5ea;color:#6e6e73;box-shadow:none}#root .quick-add-list{gap:0;overflow:hidden;border:1px solid #E5E5EA;border-radius:17px;background:#fff}#root .quick-add-option{grid-template-columns:42px minmax(0,1fr) 20px;gap:13px;min-height:78px;padding:14px 16px;border-radius:0;background:#fff;box-shadow:none}#root .quick-add-option+.quick-add-option{border-top:1px solid #EFEFF4}#root .quick-add-option:hover{transform:none;background:#f9f9fb;box-shadow:none}#root .quick-add-option.class .quick-add-option-icon,#root .quick-add-option.extra .quick-add-option-icon{width:42px;height:42px;border-radius:12px;background:#f2f2f7;color:#0071e3;box-shadow:none}#root .quick-add-option-copy strong{color:#1d1d1f;font-size:14px;font-weight:660}#root .quick-add-option-copy small{color:#6e6e73;font-size:11.5px;font-weight:500}#root .quick-add-guide{padding:0 2px;background:transparent;color:#86868b;box-shadow:none}#root .add-class-modal{width:min(760px,94vw)!important;max-height:min(880px,90vh)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}#root .add-class-modal .acm-wrap{max-height:min(880px,90vh);display:flex;flex-direction:column;background:#f5f5f7}#root .add-class-modal .acm-header{padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fffffff0}#root .add-class-modal .acm-kicker{margin:0 0 6px;padding:0;background:transparent;color:#86868b;font-size:11px;letter-spacing:0}#root .add-class-modal .acm-title{color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}#root .add-class-modal .acm-desc{margin-top:6px;color:#6e6e73;font-size:12px;font-weight:500}#root .add-class-modal .acm-body{min-height:0;padding:18px 20px 24px;overflow-y:auto;display:grid;gap:14px;background:#f5f5f7}#root .add-class-modal .acm-section{margin:0 0 8px;padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff;box-shadow:none}#root .add-class-modal .acm-section-title h4{color:#1d1d1f;font-size:14px;font-weight:680}#root .add-class-modal .acm-section-title p{color:#86868b;font-size:11px;font-weight:500}#root .add-class-modal .acm-input,#root .add-class-modal .acm-select,#root .add-class-modal .acm-search,#root .add-class-modal .acm-date .fancy-date-trigger,#root .add-class-modal .time-input{min-height:42px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none;font-family:inherit;font-size:12px}#root .add-class-modal .acm-input:focus,#root .add-class-modal .acm-select:focus,#root .add-class-modal .acm-search:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}#root .add-class-modal .acm-sched-pill,#root .add-class-modal .acm-student-list,#root .add-class-modal .acm-cancelled-list{border:1px solid #E5E5EA;border-radius:14px;background:#fff;box-shadow:none}#root .add-class-modal .day-chip-button.active{background:#0071e3;color:#fff}#root .add-class-modal .acm-footer{padding:14px 20px 18px;border-top:1px solid #E5E5EA;background:#fffffff0}#root .add-class-modal .acm-btn-cancel,#root .add-class-modal .acm-btn-submit{min-height:40px;padding:0 17px;border:0;border-radius:11px;box-shadow:none;font-size:12px;font-weight:650}#root .add-class-modal .acm-btn-cancel{background:#e9e9ee;color:#1d1d1f}#root .add-class-modal .acm-btn-submit{background:#0071e3;color:#fff}#root .add-class-modal .extra-session-flow{margin-top:16px;padding:3px;border-radius:10px;background:#f2f2f7}.schedule-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.schedule-page-header .page-title-row h2{margin:0;color:#1d1d1f;font-size:30px;font-weight:720;letter-spacing:-.035em;line-height:1.12}.schedule-page-header .page-subtitle{margin:6px 0 0;color:#6e6e73;font-size:13px;font-weight:500;line-height:1.45}.schedule-primary-add{min-height:40px;padding:0 17px;border:0;border-radius:12px;background:#0071e3;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 1px 2px #0000000f;transition:background .16s ease,transform .16s ease}.schedule-primary-add:hover{background:#0077ed}.schedule-primary-add:active{transform:scale(.97)}.schedule-command-surface{margin-bottom:18px;overflow:visible;border:1px solid #E5E5EA;border-radius:20px;background:#fff;box-shadow:0 8px 28px #0000000b}.schedule-command-surface .schedule-control-shell{min-height:64px;margin:0;padding:11px 12px;border:0;border-radius:20px 20px 0 0;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.schedule-command-surface .schedule-control-cluster{gap:9px}.schedule-month-pill{min-width:172px;height:40px;display:grid;grid-template-columns:38px minmax(92px,1fr) 38px;align-items:center;overflow:hidden;border-radius:11px;background:#f2f2f7}.schedule-month-pill button{width:38px;height:40px;padding:0;border:0;background:transparent;color:#0071e3;font:inherit;font-size:22px;font-weight:400;line-height:1;cursor:pointer}.schedule-month-pill button:hover{background:#0000000a}.schedule-month-pill span{color:#1d1d1f;font-size:13px;font-weight:650;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.schedule-command-surface .schedule-segmented-control{height:40px;margin:0;padding:3px;gap:2px;border:0;border-radius:11px;background:#f2f2f7;box-shadow:none}.schedule-command-surface .schedule-segmented-control button{min-height:34px;padding:0 13px;border-radius:8px;color:#6e6e73;font-size:12px;font-weight:600}.schedule-command-surface .schedule-segmented-control button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000024}.schedule-command-surface .schedule-subject-pill-trigger.ghost,.schedule-command-surface .schedule-inline-toggle,.schedule-command-surface .schedule-class-workspace-button{min-height:40px;height:40px;padding:0 13px;border:0;border-radius:11px;background:#f2f2f7;color:#1d1d1f;box-shadow:none;font-size:12px;font-weight:600}.schedule-command-surface .schedule-subject-pill-trigger.ghost:hover,.schedule-command-surface .schedule-inline-toggle:hover,.schedule-command-surface .schedule-class-workspace-button:hover{transform:none;background:#e8e8ed;box-shadow:none}.schedule-command-surface .schedule-subject-pill-dot{width:7px;height:7px;background:var(--accent);box-shadow:none}.schedule-command-surface .schedule-subject-pill-rail{top:calc(100% + 7px);padding:5px;border:1px solid rgba(0,0,0,.08);border-radius:13px;background:#fffffff5;box-shadow:0 14px 34px #00000024}.schedule-command-surface .schedule-subject-pill-option.ghost{min-height:34px;border-radius:9px;background:transparent;box-shadow:none}.schedule-context-row{min-height:66px;padding:13px 16px 14px;border-top:1px solid #EFEFF4;display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-context-title{color:#1d1d1f;font-size:15px;font-weight:680;letter-spacing:-.012em}.schedule-context-hint{margin-top:3px;color:#86868b;font-size:11px;font-weight:500;line-height:1.4}.schedule-context-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.schedule-context-row .schedule-summary-chips{gap:0;padding:0;border:0;background:transparent;box-shadow:none}.schedule-context-row .schedule-summary-chips span{min-height:auto;padding:0 10px;border:0;border-radius:0;background:transparent;color:#86868b;box-shadow:none;font-size:11px}.schedule-context-row .schedule-summary-chips span+span{border-left:1px solid #D2D2D7}.schedule-context-row .schedule-summary-chips b{color:#1d1d1f;font-size:12px;font-weight:680}.quick-add-modal{width:min(500px,92vw)!important;overflow:hidden;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 28px 80px #00000038!important;backdrop-filter:none;-webkit-backdrop-filter:none}.quick-add-wrap{gap:18px;padding:24px}.quick-add-head{position:relative;padding-right:44px}.quick-add-kicker{margin:0 0 7px;padding:0;border-radius:0;background:transparent;color:#86868b;font-size:11px;font-weight:650;letter-spacing:0}.quick-add-head h3{margin:0 0 7px;color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em;line-height:1.14}.quick-add-head p{max-width:390px;color:#6e6e73;font-size:13px;font-weight:500;line-height:1.5}.quick-add-close{position:absolute;top:0;right:0;width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#e5e5ea;color:#6e6e73;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.quick-add-list{overflow:hidden;gap:0;border:1px solid #E5E5EA;border-radius:17px;background:#fff}.quick-add-option{grid-template-columns:42px minmax(0,1fr) 20px;gap:13px;min-height:78px;padding:14px 16px;border-radius:0;background:#fff;box-shadow:none}.quick-add-option+.quick-add-option{border-top:1px solid #EFEFF4}.quick-add-option:hover{transform:none;background:#f9f9fb;box-shadow:none}.quick-add-option:active{background:#f2f2f7}.quick-add-option-icon,.quick-add-option.class .quick-add-option-icon,.quick-add-option.extra .quick-add-option-icon{width:42px;height:42px;border-radius:12px;background:#f2f2f7;color:#0071e3;box-shadow:none}.quick-add-option-copy strong{color:#1d1d1f;font-size:14px;font-weight:660}.quick-add-option-copy small{color:#6e6e73;font-size:11.5px;font-weight:500}.quick-add-option-arrow{color:#c7c7cc}.quick-add-guide{padding:0 2px;border-radius:0;background:transparent;color:#86868b;box-shadow:none;font-size:11px}.add-class-modal{width:min(760px,94vw)!important;max-height:min(880px,90vh)!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}.add-class-modal .acm-wrap{max-height:min(880px,90vh);display:flex;flex-direction:column;background:#f5f5f7}.add-class-modal .acm-header{flex:0 0 auto;padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fffffff0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.add-class-modal .acm-kicker{margin:0 0 6px;padding:0;border-radius:0;background:transparent;color:#86868b;font-size:11px;font-weight:650;letter-spacing:0}.add-class-modal .acm-title{color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em;line-height:1.15}.add-class-modal .acm-desc{margin-top:6px;color:#6e6e73;font-size:12px;font-weight:500;line-height:1.5}.add-class-modal .acm-body{min-height:0;padding:18px 20px 24px;overflow-y:auto;display:grid;gap:14px;background:#f5f5f7}.add-class-modal .acm-section{margin:0 0 8px;padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff;box-shadow:none}.add-class-modal .acm-section-title{margin-bottom:10px}.add-class-modal .acm-section-title h4{color:#1d1d1f;font-size:14px;font-weight:680}.add-class-modal .acm-section-title p,.add-class-modal .acm-section-title small{color:#86868b;font-size:11px;font-weight:500}.add-class-modal .acm-section-title~.acm-field,.add-class-modal .acm-section-title~.acm-row,.add-class-modal .acm-section-title~.acm-schedules,.add-class-modal .acm-section-title~.acm-student-list,.add-class-modal .acm-section-title~.acm-student-tools,.add-class-modal .acm-section-title~.acm-cancelled-list{background:#fff}.add-class-modal .acm-label{color:#3a3a3c;font-size:11px;font-weight:620}.add-class-modal .acm-label-hint{color:#8e8e93;font-size:10px;font-weight:500}.add-class-modal .acm-input,.add-class-modal .acm-select,.add-class-modal .acm-search,.add-class-modal .acm-date .fancy-date-trigger,.add-class-modal .time-input{min-height:42px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;color:#1d1d1f;box-shadow:none;font-family:inherit;font-size:12px}.add-class-modal .acm-input:focus,.add-class-modal .acm-select:focus,.add-class-modal .acm-search:focus{border-color:#0071e3;background:#fff;box-shadow:0 0 0 3px #0071e31f}.add-class-modal .acm-locked{background:#efeff4;color:#6e6e73}.add-class-modal .acm-sched-pill,.add-class-modal .acm-student-list,.add-class-modal .acm-makeup-targets,.add-class-modal .acm-cancelled-list{border:1px solid #E5E5EA;border-radius:14px;background:#fff;box-shadow:none}.add-class-modal .acm-sched-pill{padding:7px 8px 7px 12px}.add-class-modal .day-chip-summary,.add-class-modal .day-chip-button,.add-class-modal .acm-segment{box-shadow:none}.add-class-modal .day-chip-summary,.add-class-modal .day-chip-button{background:#f2f2f7}.add-class-modal .day-chip-button.active{background:#0071e3;color:#fff}.add-class-modal .acm-add-btn{min-height:32px;padding:0 11px;border-radius:9px;background:#eaf4ff;color:#0071e3;font-size:11px;font-weight:650}.add-class-modal .acm-student-list{padding:5px}.add-class-modal .acm-student-row{min-height:38px;border-radius:9px}.add-class-modal .acm-student-row.selected{background:#eaf4ff}.add-class-modal .acm-footer{flex:0 0 auto;padding:14px 20px 18px;border-top:1px solid #E5E5EA;background:#fffffff0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.add-class-modal .acm-btn-cancel,.add-class-modal .acm-btn-submit{min-height:40px;padding:0 17px;border:0;border-radius:11px;box-shadow:none;font-size:12px;font-weight:650}.add-class-modal .acm-btn-cancel{background:#e9e9ee;color:#1d1d1f}.add-class-modal .acm-btn-submit{background:#0071e3;color:#fff}.add-class-modal .acm-btn-cancel:hover,.add-class-modal .acm-btn-submit:hover{transform:none;box-shadow:none}.add-class-modal .acm-btn-submit:hover{background:#0077ed}.add-class-modal .extra-session-flow{margin-top:16px;padding:3px;border-radius:10px;background:#f2f2f7}.add-class-modal .extra-session-flow li{min-height:30px;padding:0 9px;border-radius:8px;color:#6e6e73;font-size:10.5px}.add-class-modal .extra-session-flow li:after{color:#c7c7cc}.add-class-modal .extra-session-flow b{color:#1d1d1f}@media(max-width:860px){.schedule-command-surface .schedule-control-shell,.schedule-context-row{align-items:stretch}.schedule-command-surface .schedule-control-shell{flex-direction:column}.schedule-command-surface .schedule-control-cluster{width:100%}.schedule-command-surface .schedule-control-cluster.right{justify-content:flex-start}.schedule-context-row{flex-direction:column}.schedule-context-actions{justify-content:space-between}}@media(max-width:640px){.schedule-page-header{align-items:center}.schedule-page-header .page-title-row h2{font-size:26px}.schedule-primary-add{min-height:38px;padding:0 13px}.schedule-command-surface{border-radius:17px}.schedule-command-surface .schedule-control-cluster.left{display:grid;grid-template-columns:1fr}.schedule-month-pill{width:100%}.schedule-command-surface .schedule-segmented-control{width:100%;overflow-x:auto}.schedule-command-surface .schedule-segmented-control button{flex:1}.schedule-context-actions{align-items:flex-start}.schedule-context-row .schedule-summary-chips span:first-child{padding-left:0}.quick-add-modal,.add-class-modal{border-radius:22px 22px 0 0!important}.quick-add-wrap{padding:22px 18px 24px}.quick-add-head h3,.add-class-modal .acm-title{font-size:23px}.add-class-modal .acm-header{padding:20px 18px 16px}.add-class-modal .acm-body{padding:14px 14px 22px}.add-class-modal .acm-footer{padding:12px 14px calc(14px + env(safe-area-inset-bottom))}.add-class-modal .extra-session-flow{overflow-x:auto}.add-class-modal .extra-session-flow li{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.schedule-primary-add,.quick-add-option,.add-class-modal button{transition:none!important}}@media(prefers-reduced-transparency:reduce){.add-class-modal .acm-header,.add-class-modal .acm-footer{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.schedule-command-surface,.quick-add-list,.add-class-modal .acm-input,.add-class-modal .acm-select{border-color:#8e8e93}}.app-main{padding-bottom:64px;scroll-padding-bottom:64px}@media(max-width:767px){.app-main{padding-bottom:max(76px,calc(env(safe-area-inset-bottom) + 60px));scroll-padding-bottom:max(76px,calc(env(safe-area-inset-bottom) + 60px))}}.app-main{padding-bottom:0}.app-page-frame{min-height:100%;padding-bottom:72px}.admin-live-grid{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:14px;align-items:start}.admin-live-panel{min-width:0;overflow:hidden;border:1px solid #e3e5e8;border-radius:20px;background:#fff;box-shadow:0 8px 24px #0f172a0b}.admin-live-panel-head{min-height:54px;padding:10px 12px 10px 16px;border-bottom:1px solid #eceef1;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-live-panel-head>div:first-child{min-width:0;display:flex;align-items:baseline;gap:7px}.admin-live-panel-head>div:first-child>span{color:#1d1d1f;font-size:14px;font-weight:760;letter-spacing:-.015em}.admin-live-panel-head small{color:#86868b;font-size:10px;font-weight:600}.admin-live-panel-actions{display:flex;align-items:center;gap:7px}.admin-live-status{min-height:24px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-style:normal;font-weight:750;white-space:nowrap}.admin-live-status.pending{background:#fff7e8;color:#9a6700}.admin-live-status.done{background:#edf8f2;color:#087443}.admin-live-panel .admin-block-link{min-height:30px;border:0;border-radius:999px;background:#f2f2f7}.admin-live-empty{padding:30px 16px;color:#86868b;font-size:11px;text-align:center}.admin-today-compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-today-class-row{min-width:0;min-height:62px;padding:9px 12px;border:0;border-right:1px solid #eceef1;border-bottom:1px solid #eceef1;background:#fff;display:grid;grid-template-columns:48px minmax(90px,1fr) auto auto 15px;align-items:center;gap:8px;color:#1d1d1f;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.admin-today-class-row:nth-child(2n){border-right:0}.admin-today-class-row:nth-last-child(-n+2){border-bottom:0}.admin-today-class-row:hover{background:#f8f8fa}.admin-today-class-row:focus-visible{z-index:1;outline:3px solid rgba(0,113,227,.22);outline-offset:-3px}.admin-today-class-row time{color:#1d1d1f;font-size:12px;font-weight:780;font-variant-numeric:tabular-nums}.admin-today-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-today-row-main strong,.admin-today-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-today-row-main strong{font-size:11.5px;font-weight:740}.admin-today-row-main small{color:#86868b;font-size:9px;font-weight:560}.admin-today-row-attendance{color:#6e6e73;font-size:9px;font-weight:650;white-space:nowrap}.admin-today-row-state{min-width:37px;padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:750;text-align:center;white-space:nowrap}.admin-today-row-state.done{background:#edf8f2;color:#087443}.admin-today-row-state.pending{background:#fff7e8;color:#9a6700}.admin-today-row-state.cancelled{background:#f2f2f7;color:#6e6e73}.admin-today-row-arrow{color:#c0c0c5}.admin-teacher-log-panel{padding:12px 14px 7px}.admin-teacher-log-panel .dashboard-section-header{margin-bottom:7px!important}.admin-teacher-log-panel .dashboard-section-icon{display:none}.teacher-log-status-groups{display:grid;gap:7px}.teacher-log-status-group{display:grid;gap:3px}.teacher-log-status-group h4{margin:0;padding:2px 2px 3px;color:#86868b;font-size:9px;font-weight:700}.teacher-log-status-list{display:grid}.teacher-log-status-row{min-width:0;min-height:45px;padding:6px 2px;border-top:1px solid #eceef1;display:grid;grid-template-columns:30px minmax(82px,1fr) minmax(46px,.6fr) 32px auto;align-items:center;gap:7px}.teacher-log-status-row:first-child{border-top:0}.teacher-log-status-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800}.teacher-log-status-person{min-width:0;display:flex;flex-direction:column;gap:1px}.teacher-log-status-person strong,.teacher-log-status-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-log-status-person strong{color:#1d1d1f;font-size:10.5px}.teacher-log-status-person small{color:#86868b;font-size:8.5px}.teacher-log-status-progress{height:4px;overflow:hidden;border-radius:999px;background:#e8e8ed}.teacher-log-status-progress i{height:100%;border-radius:inherit;background:#34c759;display:block}.teacher-log-status-rate{color:#6e6e73;font-size:9px;font-weight:720;text-align:right;font-variant-numeric:tabular-nums}.teacher-log-status-alerts{display:flex;justify-content:flex-end;gap:4px}.teacher-log-status-alerts em,.teacher-log-status-alerts button{min-height:22px;padding:0 7px;border:0;border-radius:999px;display:inline-flex;align-items:center;background:#f2f2f7;color:#6e6e73;font-family:inherit;font-size:8px;font-style:normal;font-weight:750;white-space:nowrap}.teacher-log-status-alerts .today{background:#fff7e8;color:#9a6700}.teacher-log-status-alerts .clear{background:#edf8f2;color:#087443}.teacher-log-status-alerts button{cursor:pointer}.teacher-log-status-alerts button:hover{background:#e8e8ed;color:#1d1d1f}@media(max-width:1180px){.admin-live-grid{grid-template-columns:minmax(0,1fr)}.teacher-log-status-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}}@media(max-width:767px){.app-main{padding-bottom:0}.app-page-frame{padding-bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px))}.admin-today-compact-list{grid-template-columns:minmax(0,1fr)}.admin-today-class-row{border-right:0}.admin-today-class-row:nth-last-child(2){border-bottom:1px solid #eceef1}.admin-today-class-row:last-child{border-bottom:0}.teacher-log-status-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.admin-live-panel-head{align-items:flex-start}.admin-live-panel-actions{align-items:flex-end;flex-direction:column-reverse}.admin-today-class-row{grid-template-columns:43px minmax(90px,1fr) auto 14px}.admin-today-row-attendance{display:none}.teacher-log-status-row{grid-template-columns:28px minmax(72px,1fr) 30px auto}.teacher-log-status-progress{display:none}}.class-log-editor-detail{background:#f5f5f7}.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr)!important;gap:12px!important;background:#f5f5f7!important}.class-log-editor-detail .log-entry-card.is-editor .log-s0,.class-log-editor-detail .log-entry-card.is-editor .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-s2,.class-log-editor-detail .log-entry-card.is-editor .log-s3{padding:16px!important;border:1px solid #dedfe3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 1px 2px #00000005!important}.class-log-editor-detail .log-section-head{min-height:32px;margin-bottom:12px!important}.class-log-editor-detail .log-section-head>div:first-child{gap:9px!important}.class-log-editor-detail .log-section-head>div:first-child>span:first-child{width:28px!important;height:28px!important;border-radius:9px!important;background:#f2f2f7!important;color:#6e6e73!important}.class-log-editor-detail .log-section-head>div:first-child>div>div:first-child{color:#1d1d1f!important;font-size:13px!important;font-weight:730!important;letter-spacing:-.015em}.class-log-editor-detail .log-section-head>div:first-child>div>div:last-child{margin-top:3px!important;color:#86868b!important;font-size:9.5px!important;font-weight:560!important}.class-log-editor-detail .log-section-head>span:last-child{padding:4px 8px!important;border-radius:999px!important;background:#edf8f2!important;color:#087443!important;font-size:9px!important}.class-log-editor-detail .log-input,.class-log-editor-detail .log-student-note input{border:1px solid #d2d2d7!important;border-radius:11px!important;background:#fbfbfd!important;color:#1d1d1f!important;box-shadow:none!important;font-family:inherit!important;font-size:12px!important;line-height:1.55!important}.class-log-editor-detail input.log-input{min-height:42px;padding:9px 11px!important}.class-log-editor-detail textarea.log-input{padding:11px 12px!important}.class-log-editor-detail .log-input:focus,.class-log-editor-detail .log-student-note input:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31f!important;outline:none!important}.class-log-editor-detail .log-attendance-list{gap:7px!important}.class-log-editor-detail .log-student-row{padding:10px!important;border:1px solid #e5e5ea;border-radius:13px!important;background:#fff!important}.class-log-editor-detail .log-student-row:hover{border-color:#d2d2d7}.class-log-editor-detail .log-attendance-picker{padding:2px!important;border-radius:9px!important;background:#f2f2f7!important}.class-log-editor-detail .log-attendance-picker button{min-width:36px!important;min-height:26px;border-radius:7px!important;box-shadow:none!important;font-family:inherit!important;font-size:9px!important}.class-log-editor-detail .log-score-panel{margin:8px 0!important;padding:8px 9px!important;border-radius:10px!important;background:#f5f5f7!important}.class-log-editor-detail .log-score-panel button{border-color:#dedfe3!important;border-radius:7px!important;box-shadow:none!important;font-family:inherit!important}.class-log-editor-detail .log-student-note{margin-top:8px!important}.class-log-editor-detail .log-student-note>span,.class-log-editor-detail .log-student-note>label{color:#6e6e73!important;font-size:9px!important;font-weight:650!important}.class-log-editor-detail .log-student-note input{min-height:34px;padding:7px 10px!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{border-top-color:#dedfe3;background:#fffffff5}.class-log-page .attendance-board,.class-log-page .attendance-board button,.class-log-page .attendance-board input,.class-log-page .attendance-board select{font-family:inherit}.class-log-page .att-summary-grid{gap:8px}.class-log-page .att-summary-card{border:1px solid #dedfe3;border-radius:16px;background:#fff;box-shadow:none}.class-log-page .att-summary-card.main{background:#fff}.class-log-page .att-summary-card strong{color:#1d1d1f;font-size:20px}.class-log-page .att-filter-row{padding:4px;border:0;border-radius:12px;background:#e8e8ed;box-shadow:none}.class-log-page .att-filter-row>button{height:32px;color:#6e6e73;font-size:10px}.class-log-page .att-filter-row>button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000014}.class-log-page .att-filter-row>button.att-ended-toggle{color:#6e6e73}.class-log-page .att-filter-row>button.att-ended-toggle.active{color:#0071e3}.class-log-page .att-class-card{border:1px solid #dedfe3;border-radius:20px;background:#fff;box-shadow:none}.class-log-page .att-class-head{padding:13px 16px;border-bottom-color:#e5e5ea;background:#fff}.class-log-page .att-class-head>div:first-child{display:none}.class-log-page .att-table th{border-bottom-color:#dedfe3;background:#f5f5f7;color:#6e6e73;backdrop-filter:none;-webkit-backdrop-filter:none}.class-log-page .att-table td{border-bottom-color:#eceef1}.class-log-page .att-table tr.soft td{background:#fbfbfd}.class-log-page .att-sticky-col{background:#fff!important;box-shadow:6px 0 12px #00000009}.exam-progress-section,.exam-progress-modal,.exam-progress-modal input,.exam-progress-modal select,.exam-progress-modal textarea,.exam-progress-modal button,.exam-progress-add,.exam-progress-toggle,.exam-progress-card,.exam-progress-empty{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.exam-progress-basics input,.exam-progress-basics select,.exam-material-fields input,.exam-stage-row input,.exam-stage-row select,.exam-progress-note textarea{font-size:12px!important;font-weight:550!important;line-height:1.35!important;letter-spacing:-.01em}.exam-progress-add,.exam-add-stage,.exam-add-material,.exam-progress-modal-foot button{font-family:inherit!important}.teacher-schedule-stats{gap:5px}.teacher-schedule-stats span,.teacher-extra-session-button{min-height:28px;padding:0 10px;border:0;border-radius:999px;background:#f2f4f7;color:#475569;box-shadow:none;font-family:inherit!important;font-size:10.5px;font-weight:600;line-height:1}.teacher-extra-session-button{color:var(--accent)}.teacher-extra-session-button svg{width:12px;height:12px}.teacher-extra-session-button:hover{background:#e8eaed;box-shadow:none}@media(max-width:900px){.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{grid-template-columns:1fr!important}.class-log-editor-detail .log-entry-card.is-editor .log-s0,.class-log-editor-detail .log-entry-card.is-editor .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-s2,.class-log-editor-detail .log-entry-card.is-editor .log-s3{grid-column:1!important;grid-row:auto!important}.class-log-editor-detail .log-entry-card.is-editor .log-s3{order:-1}}.teacher-manager-page{width:min(1120px,100%);margin:0 auto;color:#1d1d1f;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.teacher-directory-header{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.teacher-directory-header h2{margin:0;color:#1d1d1f;font-size:30px;font-weight:760;letter-spacing:-.04em}.teacher-directory-header p{margin:6px 0 0;color:#86868b;font-size:11px}.teacher-add-pill{min-height:38px;padding:0 15px;border:0;border-radius:999px;background:#0071e3;color:#fff;box-shadow:none;font-family:inherit;font-size:11px;font-weight:720;cursor:pointer}.teacher-add-pill:hover{background:#0077ed;transform:none}.teacher-directory-toolbar{min-height:50px;margin-bottom:12px;padding:6px;border:1px solid #dedfe3;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.teacher-status-segment{padding:3px;border-radius:11px;background:#f2f2f7;display:flex;gap:2px}.teacher-status-segment button{min-height:30px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#6e6e73;font-family:inherit;font-size:10px;font-weight:680;cursor:pointer}.teacher-status-segment button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000014}.teacher-directory-summary{padding-right:9px;display:flex;gap:16px;color:#86868b;font-size:10px}.teacher-directory-summary b{margin-left:3px;color:#1d1d1f;font-size:12px}.teacher-directory-list{overflow:hidden;border:1px solid #dedfe3;border-radius:20px;background:#fff;box-shadow:0 8px 26px #0000000a}.teacher-directory-columns,.teacher-directory-row{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(130px,1fr) minmax(90px,.65fr) 64px 18px;align-items:center;gap:14px}.teacher-directory-columns{min-height:38px;padding:0 18px;border-bottom:1px solid #e5e5ea;background:#f5f5f7;color:#86868b;font-size:9px;font-weight:680}.teacher-directory-row{width:100%;min-height:66px;padding:9px 18px;border:0;border-bottom:1px solid #eceef1;background:#fff;color:#1d1d1f;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.teacher-directory-row:last-of-type{border-bottom:0}.teacher-directory-row:hover{background:#f8f8fa;transform:none}.teacher-directory-row:focus-visible{z-index:1;outline:3px solid rgba(0,113,227,.22);outline-offset:-3px}.teacher-directory-row.retired{opacity:.72}.teacher-directory-row.locked{cursor:pointer}.teacher-directory-person{min-width:0;display:flex;align-items:center;gap:10px}.teacher-directory-person>i{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--teacher-color) 13%,#fff);color:var(--teacher-color);display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-style:normal;font-weight:800}.teacher-directory-person>span,.teacher-directory-assignment{min-width:0;display:flex;flex-direction:column;gap:2px}.teacher-directory-person strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-directory-person small,.teacher-directory-assignment small{color:#86868b;font-size:9px}.teacher-directory-subjects{overflow:hidden;color:#515154;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.teacher-directory-assignment strong{font-size:10.5px}.teacher-directory-row .teacher-status-badge{justify-self:start;padding:4px 8px;border:0;border-radius:999px;font-size:8.5px}.teacher-directory-row .teacher-status-badge.on{background:#edf8f2;color:#087443}.teacher-directory-row .teacher-status-badge.off{background:#f2f2f7;color:#6e6e73}.teacher-directory-arrow{color:#c7c7cc}.teacher-directory-empty{padding:46px 20px;color:#86868b;font-size:11px;text-align:center}.teacher-modal-content.redesigned{border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 34px 90px #00000038!important}.teacher-modal-content .teacher-modal-hero{border-bottom-color:#dedfe3;background:#fff}.teacher-modal-content .teacher-form-section{border:1px solid #dedfe3;border-radius:18px;background:#fff;box-shadow:none}.teacher-modal-content .teacher-field{border-color:#d2d2d7;background:#fbfbfd;font-family:inherit}.teacher-modal-content .teacher-field:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}.teacher-modal-content .teacher-save-btn{background:#0071e3;box-shadow:none}.teacher-form fieldset.teacher-form-grid,.teacher-retire-flow fieldset.teacher-retire-class-list{min-width:0;margin:0;border:0}.teacher-retire-flow fieldset.teacher-retire-class-list{padding:0}.teacher-form-actions button:disabled{opacity:.55;cursor:default}body .quick-add-modal{width:min(500px,92vw)!important;padding:0!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 28px 80px #00000038!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body .quick-add-wrap{gap:18px;padding:24px}body .quick-add-head{position:relative;padding-right:44px}body .quick-add-kicker{margin:0 0 7px;padding:0;border-radius:0;background:transparent;color:#86868b;font-size:11px;letter-spacing:0}body .quick-add-head h3{margin:0 0 7px;color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}body .quick-add-head p{color:#6e6e73;font-size:13px;font-weight:500}body .quick-add-close{position:absolute;top:0;right:0;width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#e5e5ea;color:#6e6e73;box-shadow:none}body .quick-add-list{gap:0;overflow:hidden;border:1px solid #E5E5EA;border-radius:17px;background:#fff}body .quick-add-option{grid-template-columns:42px minmax(0,1fr) 20px;gap:13px;min-height:78px;padding:14px 16px;border-radius:0;background:#fff;box-shadow:none}body .quick-add-option+.quick-add-option{border-top:1px solid #EFEFF4}body .quick-add-option:hover{transform:none;background:#f9f9fb;box-shadow:none}body .quick-add-option.class .quick-add-option-icon,body .quick-add-option.extra .quick-add-option-icon{width:42px;height:42px;border-radius:12px;background:#f2f2f7;color:#0071e3;box-shadow:none}body .quick-add-option-copy strong{color:#1d1d1f;font-size:14px;font-weight:660}body .quick-add-option-copy small{color:#6e6e73;font-size:11.5px;font-weight:500}body .quick-add-guide{padding:0 2px;background:transparent;color:#86868b;box-shadow:none}body .add-class-modal{width:min(760px,94vw)!important;max-height:min(880px,90vh)!important;padding:0!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}body .add-class-modal .acm-wrap{max-height:min(880px,90vh);display:flex;flex-direction:column;background:#f5f5f7}body .add-class-modal .acm-header{padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fffffff0}body .add-class-modal .acm-kicker{margin:0 0 6px;padding:0;background:transparent;color:#86868b;font-size:11px;letter-spacing:0}body .add-class-modal .acm-title{color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}body .add-class-modal .acm-desc{margin-top:6px;color:#6e6e73;font-size:12px;font-weight:500}body .add-class-modal .acm-body{min-height:0;padding:18px 20px 24px;overflow-y:auto;display:grid;gap:14px;background:#f5f5f7}body .add-class-modal .acm-section{margin:0 0 8px;padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff;box-shadow:none}body .add-class-modal .acm-input,body .add-class-modal .acm-select,body .add-class-modal .acm-search,body .add-class-modal .acm-date .fancy-date-trigger,body .add-class-modal .time-input{min-height:42px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none;font-family:inherit;font-size:12px}body .add-class-modal .acm-input:focus,body .add-class-modal .acm-select:focus,body .add-class-modal .acm-search:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}body .add-class-modal .acm-sched-pill,body .add-class-modal .acm-student-list,body .add-class-modal .acm-cancelled-list{border:1px solid #E5E5EA;border-radius:14px;background:#fff;box-shadow:none}body .add-class-modal .day-chip-button.active{background:#0071e3;color:#fff}body .add-class-modal .acm-footer{padding:14px 20px 18px;border-top:1px solid #E5E5EA;background:#fffffff0}body .add-class-modal .acm-btn-cancel,body .add-class-modal .acm-btn-submit{min-height:40px;padding:0 17px;border:0;border-radius:11px;box-shadow:none;font-size:12px;font-weight:650}body .add-class-modal .acm-btn-cancel{background:#e9e9ee;color:#1d1d1f}body .add-class-modal .acm-btn-submit{background:#0071e3;color:#fff}body .teacher-modal-content.redesigned{width:min(860px,94vw)!important;max-height:min(860px,90vh)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body .teacher-modal-content.teacher-add-modal{width:min(780px,94vw)!important}body .teacher-form.redesigned{max-height:min(860px,90vh);padding:0;display:flex;flex-direction:column;background:#f5f5f7}body .teacher-form .teacher-modal-hero{flex:0 0 auto;margin:0;padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fffffff0}body .teacher-form .teacher-modal-kicker{margin:0 0 6px;color:#86868b;font-size:11px;font-weight:650;letter-spacing:0;text-transform:none}body .teacher-form .teacher-modal-hero h3{color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}body .teacher-form .teacher-modal-hero p{margin-top:6px;color:#6e6e73;font-size:12px;font-weight:500}body .teacher-form .teacher-modal-avatar{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--teacher-color) 12%,#F2F2F7);color:var(--teacher-color);box-shadow:none}body .teacher-form .teacher-form-grid{min-height:0;padding:18px 20px 22px;overflow-y:auto;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .teacher-form .teacher-form-section{padding:16px;border:1px solid #E5E5EA;border-radius:17px;background:#fff;box-shadow:none}body .teacher-form .teacher-form-section.main{grid-column:1 / -1}body .teacher-form .teacher-section-title{margin-bottom:13px;color:#1d1d1f;font-size:13px;font-weight:680}body .teacher-form .teacher-section-title small{margin-left:auto;color:#8e8e93;font-size:10px;font-weight:500}body .teacher-form .teacher-form-field>span{color:#3a3a3c!important;font-size:11px!important;font-weight:620!important}body .teacher-form.redesigned .teacher-field{min-height:42px!important;padding:0 12px;border:1px solid #D2D2D7!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:#1d1d1f!important;font-family:inherit;font-size:12px;font-weight:500}body .teacher-form.redesigned .teacher-field:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31f!important}body .teacher-form.is-add .teacher-field-grid.compact{grid-template-columns:1fr}body .teacher-form .teacher-floor-control{min-height:42px;padding:3px!important;border-radius:10px!important;background:#f2f2f7!important;box-shadow:none}body .teacher-form .teacher-floor-control button{border-radius:8px!important}body .teacher-form .teacher-floor-control button.active{background:#fff!important;color:#1d1d1f!important;box-shadow:0 1px 4px #0000001f!important}body .teacher-form .teacher-role-segment{padding:3px;border-radius:12px;background:#f2f2f7;box-shadow:none}body .teacher-form .teacher-role-segment button{border-radius:9px;background:transparent;box-shadow:none}body .teacher-form .teacher-role-segment button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #0000001f}body .teacher-form .teacher-color-row{min-height:42px;padding:0 11px;border:1px solid #D2D2D7;border-radius:10px;background:#fff}body .teacher-form .teacher-color-input.refined{width:28px!important;height:28px!important;border-radius:8px!important;box-shadow:none!important}body .teacher-form-actions.redesigned{flex:0 0 auto;margin:0;padding:14px 20px 18px;border-top:1px solid #E5E5EA;background:#fffffff0}body .teacher-form-actions.redesigned button{min-width:118px;min-height:40px;border-radius:11px;box-shadow:none;font-size:12px;font-weight:650}body .teacher-form-actions .teacher-cancel-btn{background:#e9e9ee;color:#1d1d1f}body .teacher-form-actions .teacher-save-btn{background:#0071e3;color:#fff;animation:none;box-shadow:none}body .teacher-form-actions .teacher-save-btn:hover{background:#0077ed}@media(max-width:760px){body .quick-add-modal,body .add-class-modal,body .teacher-modal-content.redesigned{width:100%!important;max-width:100%!important;border-radius:22px 22px 0 0!important}body .quick-add-wrap{padding:22px 18px 24px}body .add-class-modal .acm-header,body .teacher-form .teacher-modal-hero{padding:20px 18px 16px}body .add-class-modal .acm-body,body .teacher-form .teacher-form-grid{padding:14px 14px 22px;grid-template-columns:1fr}body .teacher-form .teacher-form-section.main{grid-column:auto}body .teacher-form .teacher-field-grid.two,body .teacher-form .teacher-field-grid.compact{grid-template-columns:1fr}body .add-class-modal .acm-footer,body .teacher-form-actions.redesigned{padding:12px 14px calc(14px + env(safe-area-inset-bottom))}body .teacher-form-actions.redesigned{flex-direction:row}body .teacher-form-actions.redesigned button{width:auto;min-width:0;flex:1}body .teacher-form-actions.redesigned .teacher-delete-btn{flex:0 0 auto}body .teacher-form .teacher-section-title small{display:none}}@media(prefers-reduced-transparency:reduce){body .add-class-modal .acm-header,body .add-class-modal .acm-footer,body .teacher-form .teacher-modal-hero,body .teacher-form-actions.redesigned{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}.attendance-page{width:min(1180px,100%);margin:0 auto;color:#1d1d1f;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.attendance-page-header{margin-bottom:16px;align-items:flex-end}.attendance-page-header h2{color:#1d1d1f;font-size:30px!important;font-weight:760!important;letter-spacing:-.04em}.attendance-control-shell{padding:5px;border:1px solid #dedfe3;border-radius:15px;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.attendance-icon-btn{border-color:transparent;border-radius:10px;background:transparent;box-shadow:none}.attendance-view-toggle{padding:3px;border:0;border-radius:11px;background:#f2f2f7;box-shadow:none}.attendance-view-toggle button{min-height:30px;border-radius:9px;font-family:inherit;font-size:10px}.attendance-view-toggle button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000014}.attendance-settings-btn{min-height:32px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:#6e6e73;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:9.5px;font-weight:680;cursor:pointer}.attendance-settings-btn.active,.attendance-settings-btn:hover{background:#f2f2f7;color:#1d1d1f}.attendance-summary-strip{min-height:68px;margin-bottom:22px;padding:10px 6px;border:1px solid #dedfe3;border-radius:18px;background:#fff;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 7px 22px #00000009}.attendance-summary-strip>span{min-width:0;padding:0 14px;border-left:1px solid #eceef1;display:flex;flex-direction:column;justify-content:center;gap:2px}.attendance-summary-strip>span:first-child{border-left:0}.attendance-summary-strip small{color:#86868b;font-size:9px;font-weight:620}.attendance-summary-strip strong{color:#1d1d1f;font-size:20px;line-height:1.05}.attendance-summary-strip .attention strong{color:#b54708}.attendance-operations-groups{display:grid;gap:22px}.attendance-operations-group>header{margin-bottom:9px;padding:0 3px;display:flex;align-items:baseline;justify-content:space-between}.attendance-operations-group>header h3{margin:0;color:#1d1d1f;font-size:15px;letter-spacing:-.02em}.attendance-operations-group>header span{color:#86868b;font-size:9px;font-weight:680}.attendance-operations-group.attention>header h3{color:#9a6700}.attendance-operations-list{overflow:hidden;border:1px solid #dedfe3;border-radius:20px;background:#fff;box-shadow:0 8px 26px #00000009}.attendance-operation-row{min-height:64px;padding:9px 13px;border-bottom:1px solid #eceef1;display:grid;grid-template-columns:minmax(145px,.9fr) minmax(190px,1.2fr) 150px 72px auto;align-items:center;gap:12px}.attendance-operation-row:last-child{border-bottom:0}.attendance-operation-row.suspicious{background:#fffaf5}.attendance-operation-person{min-width:0;display:flex;align-items:center;gap:9px}.attendance-operation-row .attendance-teacher-avatar{width:32px;height:32px;border:0;box-shadow:none}.attendance-operation-row .attendance-teacher-title div{color:#1d1d1f;font-size:11.5px}.attendance-operation-row .attendance-teacher-title span{color:#86868b;font-size:9px}.attendance-operation-schedule{overflow:hidden;color:#6e6e73;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.attendance-operation-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attendance-operation-times span{display:flex;flex-direction:column;gap:1px}.attendance-operation-times small{color:#a1a1a6;font-size:8px}.attendance-operation-times strong{color:#1d1d1f;font-size:11px;font-variant-numeric:tabular-nums}.attendance-operation-row .attendance-status-pill{justify-self:start;font-size:8.5px}.attendance-operation-row .attendance-correction-btn{min-height:30px;margin:0;padding:0 10px;border:0;border-radius:999px;background:#f2f2f7;color:#515154;box-shadow:none;font-family:inherit;font-size:9px}.attendance-operation-row .attendance-correction-btn:hover{background:#e8e8ed;color:#1d1d1f;transform:none}.attendance-operation-detail{grid-column:1 / -1;margin-top:-2px;padding:7px 9px;border-radius:9px;background:#f5f5f7;color:#6e6e73;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:8.5px}.attendance-operation-detail>div{display:flex;align-items:center;gap:4px}.attendance-operation-detail em{margin-left:auto;font-style:normal}.attendance-config-card{border-color:#dedfe3;background:#fff;box-shadow:none}.attendance-sheet-card{border:1px solid #dedfe3;border-radius:20px;background:#fff;box-shadow:0 8px 26px #00000009}.attendance-sheet-head{border-bottom-color:#dedfe3;background:#fff}.attendance-sheet-table th{background:#f5f5f7;backdrop-filter:none;-webkit-backdrop-filter:none}.attendance-correction-modal{border:1px solid #dedfe3;background:#f5f5f7;box-shadow:0 34px 90px #00000038}.attendance-correction-head{border-bottom-color:#dedfe3;background:#fff}.attendance-correction-grid textarea,.attendance-correction-grid input{font-family:inherit}@media(max-width:900px){.teacher-directory-columns{display:none}.teacher-directory-row{grid-template-columns:minmax(120px,1.2fr) minmax(90px,1fr) 70px 54px 18px;gap:10px}.teacher-directory-assignment small{display:none}.teacher-directory-assignment{align-items:flex-end}.attendance-page-header{align-items:flex-start}.attendance-operation-row{grid-template-columns:minmax(140px,1fr) minmax(150px,1fr) 130px 66px}.attendance-operation-row .attendance-correction-btn{grid-column:1 / -1;justify-self:end}}@media(max-width:640px){.teacher-directory-header{align-items:flex-start}.teacher-directory-header h2,.attendance-page-header h2{font-size:25px!important}.teacher-directory-toolbar{align-items:stretch;flex-direction:column}.teacher-directory-summary{padding:0 8px 4px}.teacher-directory-row{min-height:76px;grid-template-columns:minmax(130px,1fr) auto 18px;gap:8px;padding:10px 12px}.teacher-directory-subjects{grid-column:1 / 2;padding-left:44px}.teacher-directory-assignment{grid-column:2;grid-row:1 / span 2}.teacher-directory-row .teacher-status-badge{display:none}.teacher-directory-arrow{grid-column:3;grid-row:1 / span 2}.attendance-control-shell{width:100%;flex-wrap:wrap}.attendance-summary-strip{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.attendance-summary-strip>span{min-width:58px;padding:0 9px}.attendance-operation-row{grid-template-columns:minmax(120px,1fr) 112px auto;gap:8px}.attendance-operation-schedule{grid-column:1 / -1;grid-row:2}.attendance-operation-times{grid-column:2;grid-row:1}.attendance-operation-row .attendance-status-pill{grid-column:3;grid-row:1}.attendance-operation-row .attendance-correction-btn{grid-column:1 / -1;grid-row:3}}.class-log-command-center{margin-bottom:18px;padding:22px 24px 18px;border:1px solid #E5E5EA;border-radius:24px;background:#fff;box-shadow:0 8px 28px #0000000b}.class-log-page-head{margin-bottom:0!important;align-items:center!important}.class-log-page-head .page-title-block h2{color:#1d1d1f!important;font-size:29px!important;font-weight:760!important;line-height:1.1;letter-spacing:-.04em}.class-log-page-head .page-subtitle{margin-top:6px!important;color:#86868b!important;font-size:11.5px!important}.class-log-page .log-action-stack{flex-direction:row!important;align-items:center!important;gap:8px!important}.class-log-page .log-action-toolbar{align-items:center;gap:6px!important}.class-log-page .glass-month-nav.log-date-nav{width:178px;min-height:40px!important;border:1px solid #D2D2D7!important;border-radius:12px!important;background:#f5f5f7!important;box-shadow:none!important}.class-log-page .glass-month-nav.log-date-nav button{min-width:35px!important;padding:0 10px!important;color:#6e6e73!important}.class-log-page .glass-month-nav.log-date-nav span,.class-log-page .glass-month-nav.log-date-nav div>span{color:#1d1d1f!important;font-size:12px!important;font-weight:700!important}.class-log-page .glass-action-btn.log-calendar-btn,.class-log-page .glass-action-btn.log-today-btn{min-width:40px!important;min-height:40px!important;border:1px solid #D2D2D7!important;border-radius:12px!important;background:#fff!important;color:#3a3a3c!important;box-shadow:none!important}.class-log-page .glass-action-btn.log-today-btn{padding:0 13px!important}.class-log-page .glass-action-btn.log-calendar-btn:hover,.class-log-page .glass-action-btn.log-today-btn:hover{background:#f5f5f7!important;transform:none!important}.class-log-page .glass-action-btn.primary.log-makeup-btn{min-height:40px!important;padding:0 16px!important;border:1px solid #0071E3!important;border-radius:12px!important;background:#0071e3!important;color:#fff!important;box-shadow:none!important}.class-log-page .glass-action-btn.primary.log-makeup-btn:hover{background:#0068d1!important;transform:none!important}.class-log-page .teacher-attendance-reminder-card.log-context{margin:16px 0 0;padding:11px 13px;border:0;border-radius:13px;background:#f5f5f7;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.class-log-page .teacher-attendance-reminder-card.log-context.is-locked{background:#fff7ed}.class-log-page .teacher-attendance-reminder-card.log-context button{min-height:32px;border-radius:9px;box-shadow:none}.class-log-page .log-control-shell{margin:18px 0 0;padding-top:14px;border-top:1px solid #E5E5EA}.class-log-page .log-view-tabs{gap:2px;padding:3px;border:0;border-radius:10px;background:#efeff1;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.class-log-page .log-view-tabs button{min-height:31px;border-radius:8px;color:#6e6e73;transition:background .15s ease,color .15s ease}.class-log-page .log-view-tabs button:hover{transform:none}.class-log-page .log-view-tabs button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000017}.class-log-page .log-filter-wrap{width:142px}.class-log-page .log-filter-trigger{min-height:37px;border:1px solid #D2D2D7;border-radius:10px;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.class-log-page .log-filter-trigger:before{width:6px;height:6px;box-shadow:none}.class-log-page .log-teacher-scroll{border-color:#e5e5ea;border-radius:14px;background:#fff;box-shadow:0 14px 34px #0000001a}.class-log-summary-strip{margin-top:13px;padding-top:13px;border-top:1px solid #E5E5EA;display:flex;align-items:center}.class-log-summary-strip>span{min-width:112px;padding:0 18px;border-left:1px solid #E5E5EA;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.class-log-summary-strip>span:first-child{padding-left:2px;border-left:0}.class-log-summary-strip small{color:#86868b;font-size:10.5px;font-weight:650}.class-log-summary-strip strong{color:#1d1d1f;font-size:18px;letter-spacing:-.03em}.class-log-summary-strip .attention strong{color:#b54708}.class-log-summary-strip .done strong{color:#248a3d}.class-log-summary-strip .danger strong{color:#d92d20}.log-calendar-popover{border-color:#e5e5ea!important;border-radius:18px!important;box-shadow:0 18px 46px #00000024!important}.class-log-page .pending-log-card{margin-bottom:14px;border:1px solid #E5E5EA!important;border-radius:20px!important;background:#fff!important;box-shadow:0 4px 18px #0000000a!important}.class-log-page .pending-log-head{min-height:70px;padding:15px 18px;gap:12px}.class-log-page .pending-log-icon{width:34px;height:34px;border-radius:50%;background:#fff4e5;box-shadow:none}.class-log-page .pending-log-title h3{color:#1d1d1f;font-size:13.5px}.class-log-page .pending-log-title p{color:#86868b;font-size:10.5px;font-weight:500}.class-log-page .pending-log-count{background:#f5f5f7;color:#6e6e73;box-shadow:none}.class-log-page .pending-log-grid{padding:12px;border-top:1px solid #E5E5EA;background:#f5f5f7}.class-log-page .pending-log-item{border:1px solid #E5E5EA;border-radius:15px;background:#fff}.class-log-page .pending-log-time>span{box-shadow:none}.class-log-page .log-start-btn{min-height:31px;border:1px solid #D2D2D7;border-radius:9px;background:#fff;box-shadow:none}.class-log-page .log-start-btn:hover{transform:none;background:#f5f5f7;box-shadow:none}@media(max-width:767px){.class-log-command-center{padding:18px 14px 14px;border-radius:19px}.class-log-page-head{align-items:flex-start!important}.class-log-page .log-action-stack{width:100%;flex-direction:column!important;align-items:stretch!important}.class-log-page .log-action-toolbar{width:100%}.class-log-page .glass-month-nav.log-date-nav{width:auto;flex:1}.class-log-page .glass-action-btn.primary.log-makeup-btn{width:100%;justify-content:center}.class-log-summary-strip{overflow-x:auto}.class-log-summary-strip>span{min-width:98px;padding:0 13px}.class-log-page .pending-log-head{padding:13px 14px}}.class-log-page{max-width:1520px}.log-workspace,.log-workspace-detail{min-width:0}.log-workspace-index{min-width:0;padding:10px;border:1px solid #E5E5EA;border-radius:20px;background:#f5f5f7}.log-workspace-index>header{min-height:34px;padding:0 4px 8px;display:flex;align-items:center;justify-content:space-between;color:#6e6e73;font-size:10.5px;font-weight:700}.log-workspace-index>header em{font-style:normal;font-weight:650}.class-log-page .log-entry-card:before{content:none}.class-log-page .log-entry-card{border-color:#e5e5ea!important;border-radius:18px!important;box-shadow:0 2px 10px #00000009!important}.class-log-page .log-entry-card:hover{border-color:#d2d2d7!important;box-shadow:0 5px 18px #0000000e!important}.class-log-page .log-entry-card.is-open{border-color:#d2d2d7!important;box-shadow:0 12px 34px #00000013!important}.class-log-page .log-entry-card.is-open .log-entry-head{border-bottom-color:#e5e5ea!important}.class-log-page .log-detail-grid{grid-template-columns:minmax(320px,4fr) minmax(460px,6fr)!important;gap:14px!important;padding:14px!important;background:#f5f5f7!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{border-color:#e5e5ea;border-radius:16px!important;box-shadow:0 1px 2px #00000005}.class-log-page .log-input{border-color:#e5e5ea!important;background:#f7f7f8!important}.class-log-page .log-input:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31a!important}.class-log-page .pending-log-card{border-color:#e5e5ea!important;border-radius:18px!important;background:#fff!important;box-shadow:0 2px 10px #00000009!important}.class-log-page .pending-log-item{border-color:#e5e5ea;border-radius:14px;background:#f7f7f8}.class-log-page .pending-log-item:hover{transform:none;box-shadow:none;border-color:#d2d2d7}.class-log-page .log-completion-btn{background:#0071e3;box-shadow:none;font-weight:700}.class-log-page .log-completion-btn:hover{transform:none;background:#0068d1;box-shadow:none}.class-log-page .log-completion-btn.completed{border:1px solid #D2D2D7;background:#fff;color:#6e6e73;box-shadow:none}.log-entry-card.is-compact .log-entry-head{min-height:64px;padding:10px 11px!important;grid-template-columns:55px minmax(0,1fr) auto!important;gap:8px!important}.log-entry-card.is-compact .log-entry-head>div:first-child{gap:6px!important}.log-entry-card.is-compact .log-completion-dot{width:8px;height:8px;box-shadow:none}.log-entry-card.is-compact .log-entry-head>div:nth-child(2)>div:first-child{font-size:12px!important}.log-entry-card.is-compact .log-entry-head>div:nth-child(2)>div:last-child span:nth-last-child(-n+3){display:none}.log-entry-card.is-compact .log-entry-head>div:last-child>span{display:none!important}.log-entry-card.is-compact .log-entry-head>div:last-child{gap:0!important}@media(min-width:1101px){.log-workspace.is-focused:not(.is-solo){display:grid;grid-template-columns:286px minmax(0,1fr);gap:14px;align-items:start}.log-workspace.is-focused .log-workspace-index{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto}}.app-sidebar-shell{isolation:isolate}.app-sidebar{background:#f6f6f8d1!important;border-color:#ffffffdb!important}.app-sidebar-head{min-height:42px}.app-sidebar-head img{box-shadow:0 1px 4px #0f172a1a}.app-sidebar-mode>div{background:#7676801c!important;border-radius:10px!important}.app-sidebar-mode button{min-height:30px;border-radius:8px!important}.app-sidebar-nav{gap:3px!important;scrollbar-width:none}.app-sidebar-nav::-webkit-scrollbar{display:none}.app-sidebar-section-label{width:100%;box-sizing:border-box;padding:5px 11px 3px;color:#8e8e93;font-size:10px;font-weight:700;letter-spacing:.015em}.app-sidebar-section-label.admin{margin-top:9px}.app-sidebar-nav-item:hover:not(.active){background:#76768017!important;color:#1d1d1f!important}.app-sidebar-nav-item:focus-visible{outline:2px solid rgba(0,113,227,.35);outline-offset:1px}.app-sidebar-nav-item .nav-icon{border-radius:50%;background:#7676801f;color:#636366}.app-sidebar-nav-item.active .nav-icon{background:#0071e31c;color:#0071e3}.app-sidebar-nav-item.active{color:#1d1d1f!important}.app-sidebar-attendance{margin-top:3px}.app-sidebar-user{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-sidebar-footer button{transition:background .15s ease,color .15s ease}.app-sidebar-shell.is-collapsed .app-sidebar-nav-item{width:42px!important;border-radius:13px!important}.app-sidebar-shell.is-collapsed .app-sidebar-nav-item.active{background:#fff!important;box-shadow:0 2px 10px #0f172a14!important}.mobile-sidebar-trigger:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.app-sidebar-shell,.app-sidebar-nav-item,.mobile-sidebar-trigger{transition:none!important}}@media(max-width:1100px){.log-workspace-index{display:none}.class-log-page .log-detail-grid{grid-template-columns:1fr!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{grid-column:1!important;grid-row:auto!important}.class-log-page .log-s3{order:-1}}@media(max-width:767px){.class-log-page .log-entry-card{border-radius:15px!important}.class-log-page .log-detail-grid{padding:8px!important;gap:8px!important}.class-log-page .log-s0,.class-log-page .log-s1,.class-log-page .log-s2,.class-log-page .log-s3{border-radius:13px!important}}@media(prefers-reduced-motion:reduce){.log-detail-shell,.log-s1,.log-s2,.log-s3,.log-s4{animation:none;transition:none}}.class-log-editor-modal{padding:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.9);border-radius:26px!important;background:#fff!important;box-shadow:0 34px 90px #0f172a38,0 4px 16px #0f172a14!important}.class-log-editor-head{min-height:86px;padding:22px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.class-log-editor-head>div>span{color:#0071e3;font-size:10px;font-weight:800;letter-spacing:.06em}.class-log-editor-head h3{margin:5px 0 0;color:#1d1d1f;font-size:24px;font-weight:760;line-height:1.1;letter-spacing:-.035em}.class-log-editor-head p{margin:5px 0 0;color:#6e6e73;font-size:11px}.class-log-editor-head>button{width:36px;height:36px;border:0;border-radius:50%;background:#efeff1;color:#6e6e73;cursor:pointer;display:grid;place-items:center}.class-log-editor-head>button:hover{background:#e5e5ea;color:#1d1d1f}.class-log-editor-layout{height:min(720px,calc(90vh - 127px));min-height:500px;display:grid;grid-template-columns:278px minmax(0,1fr)}.class-log-editor-list{min-width:0;padding:11px;border-right:1px solid #E5E5EA;background:#f5f5f7;overflow:auto}.class-log-editor-list>button{width:100%;min-height:70px;padding:10px;border:0;border-radius:13px;background:transparent;color:inherit;cursor:pointer;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;font-family:inherit}.class-log-editor-list>button:hover{background:#ededf0}.class-log-editor-list>button.active{background:#fff;box-shadow:0 2px 10px #0000000e}.class-log-editor-time{color:#1d1d1f;text-align:center}.class-log-editor-time b,.class-log-editor-time small,.class-log-editor-copy em,.class-log-editor-copy strong,.class-log-editor-copy small{display:block}.class-log-editor-time b{font-size:11.5px}.class-log-editor-time small{margin-top:3px;color:#a1a1a6;font-size:8.5px}.class-log-editor-copy{min-width:0}.class-log-editor-copy em{color:#0071e3;font-size:8.5px;font-style:normal;font-weight:700}.class-log-editor-copy strong,.class-log-editor-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-log-editor-copy strong{margin-top:2px;color:#2c2c2e;font-size:11px}.class-log-editor-copy small{margin-top:3px;color:#86868b;font-size:8.5px}.class-log-editor-state{padding:3px 6px;border-radius:999px;background:#fff4e5;color:#b54708;font-size:8px;font-weight:750;white-space:nowrap}.class-log-editor-state.done{background:#ecfdf3;color:#027a48}.class-log-editor-state.cancelled{background:#efeff1;color:#6e6e73}.class-log-editor-detail{min-width:0;padding:16px;background:#fff;overflow:auto}.class-log-editor-detail .log-entry-card.is-editor{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.class-log-editor-detail .log-entry-card.is-editor>.log-entry-head{display:none!important}.class-log-editor-detail .log-entry-card.is-editor .log-detail-shell{transform:none}.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{gap:12px!important;padding:0!important;background:#fff!important}.class-log-editor-detail .log-entry-card.is-editor .log-s0,.class-log-editor-detail .log-entry-card.is-editor .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-s2,.class-log-editor-detail .log-entry-card.is-editor .log-s3{padding:15px!important;border-color:#e5e5ea;border-radius:15px!important;background:#f7f7f8!important;box-shadow:none}.class-log-editor-detail .log-entry-card.is-editor .log-input{background:#fff!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{position:sticky;z-index:3;bottom:-16px;margin:0 -16px -16px;padding:13px 16px!important;border-top:1px solid #E5E5EA;background:#fffffff0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}@media(max-width:900px){.class-log-editor-layout{height:auto;min-height:0;max-height:calc(90vh - 105px);display:block;overflow:auto}.class-log-editor-list{display:flex;gap:7px;border-right:0;border-bottom:1px solid #E5E5EA;overflow-x:auto}.class-log-editor-list>button{flex:0 0 235px}.class-log-editor-detail{overflow:visible}}@media(max-width:767px){.class-log-editor-modal{border-radius:22px 22px 0 0!important}.class-log-editor-head{min-height:76px;padding:18px 18px 14px}.class-log-editor-head h3{font-size:21px}.class-log-editor-detail{padding:10px}.class-log-editor-detail .log-entry-card.is-editor .log-s4{bottom:-10px;margin:0 -10px -10px;padding:11px 10px!important;flex-wrap:wrap}}.teacher-homework-item{padding:11px 12px;border-radius:14px;background:#ffffff6b;box-shadow:inset 0 1px #ffffff75}.teacher-homework-section{display:grid;gap:8px;padding:10px;border-radius:16px;min-width:0}.teacher-homework-section-today{background:linear-gradient(180deg,#eff6ff80,#ffffff3d);box-shadow:inset 0 1px #ffffff9e}.teacher-homework-section.previous{margin-top:0;background:linear-gradient(180deg,#f8fafc8a,#ffffff3d);box-shadow:inset 0 1px #ffffff94}.teacher-homework-section-title{font-size:11px;font-weight:800;color:#64748b;letter-spacing:.04em;text-transform:uppercase;padding:0 2px}.teacher-homework-section-title-today{color:#004b87}.teacher-homework-section-title-previous{color:#7c3aed}.teacher-homework-divider{height:1px;margin:2px 2px 0;background:linear-gradient(90deg,#94a3b800,#94a3b852,#94a3b800)}.previous-homework-item{background:#ffffff4d}.teacher-homework-item-today{background:#ffffff8a}.teacher-homework-body{color:#334155;line-height:1.72;font-size:12px}.homework-accordion-head{width:100%;display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:0;color:#1a2332;cursor:pointer;font:inherit;text-align:left}.homework-accordion-head span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:12px}.homework-accordion-head svg{flex-shrink:0;color:#94a3b8;transition:transform .25s cubic-bezier(.25,1,.5,1)}.homework-accordion-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s cubic-bezier(.25,1,.5,1),opacity .2s ease,margin-top .25s ease}.homework-accordion-body>*{overflow:hidden}.homework-accordion-body.open{grid-template-rows:1fr;opacity:1;margin-top:7px}.teacher-homework-empty{display:flex;flex-direction:column;gap:4px;color:#94a3b8;line-height:1.6;font-size:11px}.teacher-homework-empty span:first-child{color:#64748b;font-weight:650}.beta-pill{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 7px;border-radius:999px;border:1px solid rgba(0,75,135,.36);background:transparent;color:#004b87;font-size:9px;font-weight:850;letter-spacing:.03em;line-height:1}.teacher-log-missing-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:800;line-height:1}.teacher-log-missing-pill.today{color:#b45309;background:#fffbebdb;border:1px solid rgba(253,230,138,.86)}.teacher-log-missing-row{margin-top:6px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.teacher-log-missing-row>span{color:#94a3b8;font-size:9.5px;font-weight:750}.teacher-log-missing-row button,.teacher-log-missing-row em{min-height:20px;padding:0 7px;border-radius:999px;border:1px solid rgba(226,232,240,.78);background:#ffffff94;color:#64748b;font-family:inherit;font-size:9.5px;font-weight:750;font-style:normal;cursor:pointer;display:inline-flex;align-items:center}.teacher-log-missing-row button:hover{color:#004b87;border-color:#004b8738;background:#eff6ffb3}@keyframes logFadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.log-detail-shell{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-8px);transition:grid-template-rows .24s cubic-bezier(.25,1,.5,1),opacity .2s ease,transform .24s cubic-bezier(.25,1,.5,1)}.log-detail-shell>.log-detail-grid{min-height:0;overflow:hidden}.log-edit-fieldset{min-width:0;margin:0;border:0}.log-edit-fieldset.is-locked{background:#f8fafc!important}.log-edit-fieldset.is-locked input,.log-edit-fieldset.is-locked textarea,.log-edit-fieldset.is-locked button{cursor:not-allowed!important}.log-detail-shell.open{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.log-s1{animation:logFadeDown .28s cubic-bezier(.25,1,.5,1) both}.log-s2{animation:logFadeDown .28s cubic-bezier(.25,1,.5,1) .07s both}.log-s3{animation:logFadeDown .28s cubic-bezier(.25,1,.5,1) .14s both}.log-s4{animation:logFadeDown .28s cubic-bezier(.25,1,.5,1) .21s both}.attendance-board{display:grid;gap:14px}.pending-log-card{margin-bottom:16px;border-radius:20px!important;overflow:hidden;background:radial-gradient(circle at 8% 0%,rgba(217,119,6,.1),transparent 34%),linear-gradient(145deg,#ffffffb8,#f8fafc7a)!important;box-shadow:0 16px 34px #0f172a0a,inset 0 1px #ffffffb8}.pending-log-card.is-missing{background:radial-gradient(circle at 8% 0%,rgba(225,29,72,.1),transparent 34%),linear-gradient(145deg,#ffffffb8,#f8fafc7a)!important}.pending-log-head{display:flex;align-items:center;gap:11px;flex-wrap:wrap;cursor:pointer;padding:14px 16px}.pending-log-icon{width:36px;height:36px;border-radius:14px;background:#fffbebe0;color:#d97706;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffffc7}.pending-log-card.is-missing .pending-log-icon{background:#fff1f2e0;color:#e11d48}.pending-log-title{flex:1;min-width:0}.pending-log-title h3{margin:0;color:#1a2332;font-size:14px;font-weight:760}.pending-log-title p{margin:3px 0 0;color:#94a3b8;font-size:11px;font-weight:600}.pending-log-count{flex-shrink:0;min-height:26px;padding:0 10px;border-radius:999px;background:#ffffffa3;color:#d97706;display:inline-flex;align-items:center;font-size:11px;font-weight:850;box-shadow:inset 0 1px #fffc}.pending-log-card.is-missing .pending-log-count{color:#e11d48}.pending-log-arrow{color:#94a3b8;flex-shrink:0;transition:transform .24s cubic-bezier(.25,1,.5,1)}.pending-log-arrow.open{transform:rotate(180deg)}@keyframes pendingLogAccordion{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:2000px}}.pending-log-grid{display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));padding:12px;overflow:hidden;animation:pendingLogAccordion .4s cubic-bezier(.25,1,.5,1) both}.pending-log-item{--teacher: #004B87;display:grid;grid-template-columns:68px minmax(0,1fr);grid-template-areas:"time info" "actions actions";gap:12px;align-items:start;padding:12px 14px;border-radius:16px;background:#ffffff9e;box-shadow:0 10px 24px #0f172a0b;transition:transform .28s cubic-bezier(.25,1,.5,1),box-shadow .28s cubic-bezier(.25,1,.5,1)}.pending-log-item:hover{transform:translateY(-2px);box-shadow:0 16px 30px #0f172a0f}.log-entry-card{border:none!important;box-shadow:0 10px 26px #0f172a0a,inset 0 1px #ffffffb8!important;transition:transform .32s cubic-bezier(.25,1,.5,1),box-shadow .32s cubic-bezier(.25,1,.5,1)!important}.log-entry-card:hover,.log-entry-card.is-open{transform:translateY(-2px);box-shadow:0 18px 38px #0f172a14,0 4px 12px #0f172a08,inset 0 1px #ffffffc7!important}.log-entry-head{border-bottom:none!important}.log-completion-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.log-completion-dot.done{background:#059669;box-shadow:0 0 0 5px #05966924}.log-completion-dot.draft{background:#d97706;box-shadow:0 0 0 5px #d9770621}.log-completion-dot.missing{background:#e11d48;box-shadow:0 0 0 5px #e11d481f}.log-completion-dot.cancelled{background:#94a3b8;box-shadow:0 0 0 5px #94a3b824}.log-completion-btn{min-height:38px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#004b87,#0284c7);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:12px;font-weight:620;box-shadow:0 6px 16px #0284c733,inset 0 1px #fff3;transition:transform .2s ease,box-shadow .2s ease}.log-completion-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px #0284c745,inset 0 1px #ffffff3d}.log-completion-btn.completed{background:#ffffffad;color:#64748b;box-shadow:inset 0 1px #ffffffbf,0 6px 14px #0f172a0b}.log-completion-btn:disabled{background:#e2e8f0db;color:#94a3b8;cursor:not-allowed;box-shadow:inset 0 1px #ffffffb8;transform:none}.log-unconfirmed-pill{padding:2px 7px;border-radius:999px;background:#e2e8f0d1;color:#64748b;font-size:9px;font-weight:550}.log-list-topline{display:flex;justify-content:flex-end;margin:0 4px 12px}.log-status-legend{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;color:#64748b;font-size:11px;font-weight:700}.log-status-legend.pending{flex:1 1 auto;justify-content:flex-end;min-width:0}.log-status-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.log-status-legend i{width:8px;height:8px;border-radius:999px;background:var(--legend);box-shadow:0 0 0 4px color-mix(in srgb,var(--legend) 12%,transparent);flex-shrink:0}.pending-log-time{grid-area:time;display:flex;align-items:center;gap:8px;padding-top:4px}.pending-log-time>span{width:9px;height:9px;border-radius:999px;background:var(--teacher);box-shadow:0 0 0 5px color-mix(in srgb,var(--teacher) 12%,transparent);flex-shrink:0}.pending-log-time b{display:block;color:#1a2332;font-size:13px;font-weight:800;line-height:1}.pending-log-time small{display:block;margin-top:4px;color:#94a3b8;font-size:9px;font-weight:750}.pending-log-info{grid-area:info;min-width:0}.pending-log-info strong{display:block;color:#1a2332;font-size:13px;font-weight:760;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-log-info p{margin:4px 0 0;color:#64748b;display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10.5px;font-weight:600}.pending-log-info p span:first-child{color:var(--teacher);font-weight:800}.pending-log-actions{grid-area:actions;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.att-summary-grid{display:flex;gap:10px;flex-wrap:wrap}.att-summary-card{min-width:100px;border-radius:16px;padding:11px 14px;background:#ffffff8a;border:1px solid rgba(255,255,255,.68);box-shadow:0 10px 28px #5a709617,inset 0 1px #ffffff8c}.att-summary-card.main{min-width:190px;background:linear-gradient(135deg,#ffffffad,#eff6ff75)}.att-summary-card span{display:block;margin-bottom:3px;color:#64748b;font-size:10.5px;font-weight:700}.att-summary-card strong{display:block;color:#059669;font-size:22px;font-weight:800;line-height:1}.att-summary-card strong.danger{color:#dc2626}.att-summary-card small{display:block;margin-top:5px;color:#94a3b8;font-size:10px;font-weight:600}.att-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px;border-radius:18px;background:#ffffff61;border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 1px #ffffff7a}.att-filter-row>button{height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#64748b;font-size:11px;font-weight:750;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.att-filter-row>button.active{background:#ffffffdb;color:#004b87;box-shadow:0 7px 18px #5a709621,inset 0 1px #ffffffdb}.att-legend{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:10px;font-weight:700}.att-legend span{display:inline-flex;align-items:center;gap:4px}.att-legend b{width:8px;height:8px;border-radius:999px;display:inline-block}.att-legend .present{background:#059669}.att-legend .late{background:#d97706}.att-legend .absent{background:#dc2626}.att-legend .unconfirmed{background:#cbd5e1}.att-legend .missing{border:1px dashed #CBD5E1;background:transparent}.att-class-card{overflow:hidden;border-radius:20px;background:#ffffff8a;border:1px solid rgba(255,255,255,.68);box-shadow:0 14px 34px #5a70961c,inset 0 1px #ffffff85}.att-class-head{padding:13px 16px;background:linear-gradient(135deg,#ffffff94,color-mix(in srgb,var(--teacher) 9%,transparent));border-bottom:1px solid rgba(226,232,240,.58);display:flex;align-items:center;gap:9px}.att-table{width:100%;border-collapse:separate;border-spacing:0}.att-table th{position:sticky;top:0;z-index:2;min-width:36px;padding:7px 3px;text-align:center;color:#64748b;background:#f8fafceb;border-bottom:1px solid rgba(226,232,240,.72);font-size:9.5px;font-weight:750;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.att-table th.weekend{color:#004b87}.att-table td{text-align:center;padding:5px 3px;border-bottom:1px solid rgba(241,245,249,.82)}.att-table tr.soft td{background:#f8fafc61}.att-sticky-col{position:sticky!important;left:0;z-index:3!important;min-width:118px!important;padding:8px 12px!important;text-align:left!important;white-space:nowrap;background:#fffffff0!important;box-shadow:8px 0 18px #94a3b814}.att-sticky-col.student{display:flex;align-items:center;gap:7px}.att-sticky-col.student button{border:0;background:transparent;padding:0;color:#1a2332;font-size:11.5px;font-weight:750;cursor:pointer}.att-sticky-col.student span{color:#94a3b8;font-size:9.5px;font-weight:700}.att-dot{width:22px;height:22px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 4px 11px #0f172a17,inset 0 1px #ffffff38}.att-dot.present{background:#059669d6}.att-dot.late{background:#d97706e0}.att-dot.absent{background:#dc2626e0}.att-dot.unconfirmed{background:#e2e8f0e6;color:#64748b;box-shadow:none}.att-dot.pre{outline:2px solid rgba(59,130,246,.35);outline-offset:1px}.att-dot.missing{background:#ffffff6b;border:1px dashed rgba(148,163,184,.54);color:#cbd5e1;box-shadow:none}.att-dot.before{color:#cbd5e1;background:transparent;box-shadow:none}.before-join{background:#f8fafcb8!important}.att-rate{min-width:64px;color:#1a2332;font-size:11px;font-weight:800;white-space:nowrap}.att-rate.danger span{color:#dc2626}.att-rate small{display:block;margin-top:2px;color:#94a3b8;font-size:9px;font-weight:700}.att-empty-row{padding:20px!important;color:#94a3b8;font-size:12px;font-weight:650;text-align:center!important}@keyframes absenceAccordion{0%{opacity:0;transform:translateY(-6px);max-height:0}to{opacity:1;transform:translateY(0);max-height:520px}}.absence-detail-panel{overflow:hidden;animation:absenceAccordion .32s cubic-bezier(.25,1,.5,1) both}.log-input{background:#00000005!important;box-shadow:inset 0 2px 5px #00000008!important;padding:16px 20px!important;border-radius:12px!important;border:none!important;transition:box-shadow .25s ease,background .25s ease!important}.log-input:focus{box-shadow:0 0 0 4px #6496ff26,inset 0 1px 3px #00000003!important;background:#ffffffeb!important}.log-action-stack{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important}.log-action-toolbar{gap:7px!important;flex-wrap:nowrap!important}.log-date-nav{flex:1;min-height:34px!important;border-radius:999px!important}.log-date-nav button{min-width:32px;padding:0 12px;border:none;background:none;color:#fff;font-size:15px;line-height:1;cursor:pointer}.log-date-nav span{flex:1;color:#fff;text-align:center;-webkit-user-select:none;user-select:none;padding:0 8px;font-size:12.5px;font-weight:700;white-space:nowrap}.log-calendar-btn{min-width:36px!important;min-height:34px!important;padding:0!important}.log-today-btn{min-height:34px!important;padding:0 13px!important;border-radius:999px!important;font-size:11.5px!important;font-weight:750!important;color:#004b87!important}.log-today-btn:disabled{opacity:.42;cursor:default!important}.log-makeup-btn{min-height:34px!important;padding:0 16px!important;font-size:12px!important;font-weight:700!important}.log-control-shell{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.log-view-tabs{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:linear-gradient(145deg,#ffffffb3,#f1f5f980);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffc2,0 6px 18px #0f172a0e;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.log-view-tabs button{min-height:32px;padding:0 13px;border:none;border-radius:999px;background:transparent;color:#64748b;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;cursor:pointer;transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease}.log-view-tabs button.active{color:#1a2332;background:#ffffffeb;box-shadow:0 5px 14px #0f172a12,inset 0 1px #ffffffe6}.log-start-btn{min-height:26px;padding:0 11px;border-radius:999px;background:#ffffffb8;color:#475569;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffbf,0 4px 10px #0f172a0d;font-size:10.5px;font-weight:800;cursor:pointer;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}.log-start-btn.secondary{background:#ffffff7a;color:#94a3b8;border-color:#e2e8f094;box-shadow:inset 0 1px #fff9,0 3px 8px #0f172a09}.log-start-btn:hover{transform:translateY(-1px);color:#004b87;box-shadow:inset 0 1px #fffc,0 6px 14px #0f172a14}.log-start-btn.secondary:hover{color:#64748b;background:#ffffff9e;box-shadow:inset 0 1px #ffffffbf,0 5px 12px #0f172a0f}.log-view-tabs button:hover{transform:translateY(-1px)}.log-filter-wrap{position:relative;width:138px}.schedule-subject-pill-wrap{position:relative;display:inline-flex;align-items:center;min-height:36px;gap:8px}.schedule-subject-pill-trigger,.schedule-subject-pill-option{--accent: #64748B;height:36px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:linear-gradient(145deg,#ffffff6b,#f8fafc38);box-shadow:inset 0 1px #ffffff75,0 6px 14px #0f172a0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:inline-flex;align-items:center;gap:7px;color:#475569;cursor:pointer;transition:transform .28s cubic-bezier(.25,1,.5,1),opacity .24s ease,background .24s ease,box-shadow .28s ease,border-color .24s ease}.schedule-subject-pill-trigger{min-width:112px;padding:0 12px 0 13px;justify-content:space-between}.schedule-subject-pill-option{padding:0 12px;opacity:0;pointer-events:none;transform:translate(-10px) scale(.96);white-space:nowrap;flex:0 0 auto}.schedule-subject-pill-wrap.open .schedule-subject-pill-option,.schedule-subject-pill-wrap:hover .schedule-subject-pill-option{opacity:1;pointer-events:auto}.schedule-subject-pill-trigger:hover,.schedule-subject-pill-option:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.34));box-shadow:inset 0 1px #ffffff85,0 10px 18px color-mix(in srgb,var(--accent) 10%,rgba(15,23,42,.05))}.schedule-subject-pill-trigger b,.schedule-subject-pill-option b{font-size:12px;font-weight:700}.schedule-subject-pill-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 8%,transparent);flex:0 0 auto}.schedule-subject-pill-arrow{color:#94a3b8;transition:transform .28s cubic-bezier(.25,1,.5,1);flex:0 0 auto}.schedule-subject-pill-wrap.open .schedule-subject-pill-arrow,.schedule-subject-pill-wrap:hover .schedule-subject-pill-arrow{transform:rotate(180deg)}.schedule-subject-pill-rail{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:0;overflow:hidden;opacity:0;transform:translate(-10px);transition:max-width .34s cubic-bezier(.25,1,.5,1),opacity .24s ease,transform .34s cubic-bezier(.25,1,.5,1)}.schedule-subject-pill-wrap.open .schedule-subject-pill-rail,.schedule-subject-pill-wrap:hover .schedule-subject-pill-rail{max-width:320px;opacity:1;transform:translate(0)}.schedule-subject-pill-wrap.open .schedule-subject-pill-option,.schedule-subject-pill-wrap:hover .schedule-subject-pill-option{transform:translate(0) scale(1)}.schedule-subject-pill-mobile{display:none}.log-filter-trigger{--accent: #64748B;min-height:36px;width:100%;padding:0 11px 0 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:linear-gradient(145deg,#ffffffc7,#f8fafc85);box-shadow:inset 0 1px #fffc,0 6px 16px #0f172a0e;display:inline-flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.log-filter-trigger:before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}.log-filter-trigger b{color:#334155;font-size:12px;font-weight:650;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-filter-arrow{color:#94a3b8;transition:transform .28s cubic-bezier(.25,1,.5,1)}.log-filter-trigger.open .log-filter-arrow{transform:rotate(180deg)}.log-filter-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(460px,calc(100vw - 56px));max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-5px);transition:max-height .32s cubic-bezier(.25,1,.5,1),opacity .22s ease,transform .32s cubic-bezier(.25,1,.5,1)}.log-filter-panel.open{max-height:104px;opacity:1;pointer-events:auto;transform:translateY(0)}.log-teacher-scroll{display:flex;gap:6px;overflow-x:auto;padding:10px;border-radius:16px;background:linear-gradient(145deg,#ffffffd6,#f1f5f99e);border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 34px #0f172a17,inset 0 1px #ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);scroll-snap-type:x proximity}.log-teacher-scroll button{--accent: #64748B;flex:0 0 auto;min-height:32px;padding:0 12px;border:none;border-radius:999px;background:#0f172a0b;color:#64748b;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:700;scroll-snap-align:start;transition:transform .22s cubic-bezier(.25,1,.5,1),box-shadow .22s ease,background .22s ease,color .22s ease}.log-teacher-scroll button span{width:7px;height:7px;border-radius:999px;background:var(--accent)}.log-teacher-scroll button.active{background:color-mix(in srgb,var(--accent) 15%,white);color:var(--accent);box-shadow:inset 0 1px #ffffffbf,0 5px 14px color-mix(in srgb,var(--accent) 18%,transparent)}.log-teacher-scroll button:hover{transform:translateY(-1px) scale(1.02)}.page-action-toolbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.page-header{display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:70px!important;margin-bottom:14px!important;flex-wrap:wrap!important;gap:8px!important}.page-title-block{display:flex;flex-direction:column;justify-content:center}.page-title-row{display:flex!important;align-items:center!important;gap:8px!important}.page-title-row h2{font-size:20px!important;font-weight:700!important;color:#1a2332!important;margin:0!important;line-height:1.25!important}.page-subtitle{color:#94a3b8!important;font-size:12px!important;margin:3px 0 0!important;line-height:1.35!important}.page-action-stack{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important}.glass-action-btn{min-height:32px!important;padding:0 13px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.7)!important;background:linear-gradient(145deg,#ffffffdb,#f8fafc94)!important;color:#004b87!important;box-shadow:inset 0 1px #fffc,0 5px 14px #0f172a0e!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-size:11.5px!important;font-weight:750!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;white-space:nowrap!important}.glass-action-btn:hover{transform:translateY(-1px);border-color:#004b8738!important;box-shadow:inset 0 1px #ffffffe0,0 8px 20px #0f172a16!important}.glass-action-btn.primary{background:linear-gradient(145deg,#004b87f0,#1f6faadb)!important;color:#fff!important;border-color:#ffffff5c!important;box-shadow:inset 0 1px #ffffff3d,0 7px 18px #004b8733!important}.page-action-toolbar .glass-action-btn{border-radius:999px!important}.glass-action-btn.subtle{min-height:28px!important;padding:0 9px!important;font-size:10.5px!important;box-shadow:inset 0 1px #ffffffb8,0 3px 10px #0f172a0b!important}.glass-month-nav{min-height:32px!important;display:flex!important;align-items:center!important;overflow:hidden!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.34)!important;background:linear-gradient(145deg,#004b87f5,#1f6faad6)!important;box-shadow:inset 0 1px #fff3,0 7px 18px #004b872e!important}.glass-month-nav.prep{background:linear-gradient(145deg,#0f766ef2,#14b8a6c7)!important;box-shadow:inset 0 1px #ffffff38,0 7px 18px #0f766e2e!important}.attendance-page{min-height:100%;display:flex;flex-direction:column}.attendance-page-header{align-items:center!important;margin-bottom:16px!important}.attendance-control-shell{display:flex;align-items:center;gap:7px;padding:6px;border-radius:999px;background:linear-gradient(145deg,#fff9,#f1f8ff61);box-shadow:inset 0 1px #ffffffb8,0 12px 30px #0f172a0e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.attendance-icon-btn{width:32px;height:32px;border:0;border-radius:999px;background:#ffffff9e;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffffad,0 4px 12px #0f172a0b;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.attendance-icon-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffffd1,0 8px 18px #0f172a13}.attendance-icon-btn:disabled{color:#cbd5e1;cursor:not-allowed;opacity:.62}.attendance-view-toggle{height:32px;display:inline-grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:3px;border-radius:999px;background:#e2eff9a8;box-shadow:inset 0 1px 4px #0f172a0e}.attendance-view-toggle button{min-width:58px;border:0;border-radius:999px;background:transparent;color:#64748b;font-size:11.5px;font-weight:650;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.attendance-view-toggle button.active{color:#004b87;background:#ffffffeb;box-shadow:inset 0 1px #ffffffd9,0 5px 14px #0f172a12}.attendance-today-btn{border-radius:999px!important}.attendance-empty-state,.attendance-loading-card,.attendance-sheet-loading{padding:22px;text-align:center;color:#94a3b8;font-size:12px;border-radius:18px}.attendance-loading-card{margin-bottom:16px}.attendance-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px}.attendance-config-card{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:16px;padding:11px 15px;border:0!important;border-radius:16px;background:linear-gradient(145deg,#ffffff94,#f1f8ff57)!important;box-shadow:inset 0 1px #ffffffb3,0 10px 26px #0f172a0a!important}.attendance-config-title{color:#334155;font-size:12px;font-weight:600}.attendance-config-summary{margin-top:2px;color:#94a3b8;font-size:10.5px;font-weight:500}.attendance-config-edit{display:inline-flex;align-items:center;gap:4px;padding:6px 11px;border:0;border-radius:999px;background:#ffffff8f;color:#64748b;font-size:11px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #ffffffb3,0 6px 14px #0f172a09;transition:transform .18s ease,color .18s ease,box-shadow .18s ease}.attendance-config-edit:hover{color:#004b87;transform:translateY(-1px);box-shadow:inset 0 1px #fffc,0 9px 18px #0f172a0f}.attendance-config-help{align-self:end;padding:0 4px 7px;color:#94a3b8;font-size:10.5px;font-weight:500;line-height:1.45}.attendance-stat-chip{padding:14px 16px;border-radius:18px;border:0!important;display:flex;flex-direction:column;gap:4px;background:linear-gradient(145deg,#ffffffad,#f1f8ff6b)!important;box-shadow:inset 0 1px #ffffffad,0 14px 34px #0f172a0b!important}.attendance-stat-chip>div{font-size:11px;font-weight:550;color:#94a3b8;letter-spacing:.04em}.attendance-stat-chip strong{font-size:22px;font-weight:650;color:var(--accent);letter-spacing:-.03em}.attendance-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.attendance-teacher-card{padding:15px;border-radius:18px;border:0!important;display:flex;flex-direction:column;gap:11px;background:radial-gradient(circle at 18% 0%,rgba(0,75,135,.08),transparent 40%),linear-gradient(150deg,#ffffffb8,#f8fafc75)!important;box-shadow:inset 0 1px #ffffffb8,0 14px 34px #0f172a0d!important;transition:transform .2s ease,box-shadow .2s ease}.attendance-teacher-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffd1,0 18px 40px #0f172a13!important}.attendance-teacher-card.suspicious{background:radial-gradient(circle at 18% 0%,rgba(185,28,28,.08),transparent 40%),linear-gradient(150deg,#ffffffc2,#f8fafc85)!important;box-shadow:inset 0 1px #ffffffb8,0 16px 40px #0f172a0e!important}.attendance-teacher-head{display:flex;align-items:center;gap:10px}.attendance-teacher-avatar,.attendance-sheet-avatar{width:36px;height:36px;border-radius:14px;background:color-mix(in srgb,var(--teacher) 14%,white);color:var(--teacher);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:650;flex-shrink:0;box-shadow:inset 0 1px #ffffffb8}.attendance-teacher-title{flex:1;min-width:0}.attendance-teacher-title>div{font-size:14px;font-weight:650;color:#1a2332}.attendance-teacher-title span{display:block;font-size:10px;color:#94a3b8;margin-top:1px}.attendance-status-pill{font-size:10px;font-weight:600;color:var(--status);background:var(--status-bg);border-radius:999px;padding:4px 9px;flex-shrink:0}.attendance-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance-time-box{padding:9px 11px;border-radius:13px;background:#ffffff8f;box-shadow:inset 0 1px #ffffff9e,0 8px 18px #0f172a09}.attendance-time-box>div{font-size:9.5px;font-weight:550;color:#94a3b8;display:flex;align-items:center;gap:4px}.attendance-time-box strong{display:block;font-size:16px;font-weight:650;color:#1a2332;margin-top:2px}.attendance-location-box{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#f8fafc80;border-radius:13px;box-shadow:inset 0 1px #ffffff94}.attendance-schedule-summary{margin-top:-2px;padding:7px 10px;border-radius:999px;background:#ffffff75;color:#64748b;font-size:10.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 1px #ffffff94}.attendance-note-box{padding:10px 12px;background:#fef3c773;border-radius:13px;font-size:12px;color:#78350f;line-height:1.5;white-space:pre-wrap}.attendance-correction-hint{align-self:flex-start;padding:4px 9px;border-radius:999px;background:#004b8714;color:#004b87;font-size:10px;font-weight:600}.attendance-correction-btn{min-height:32px;border:0;border-radius:999px;background:#ffffff9e;color:#004b87;font-size:11.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 1px #ffffffad,0 8px 18px #0f172a0b;transition:transform .18s ease,box-shadow .18s ease}.attendance-correction-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffd1,0 12px 24px #0f172a12}.attendance-sheet-card{border:0!important;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.08),transparent 40%),linear-gradient(150deg,#ffffffb8,#f8fafc80)!important;box-shadow:inset 0 1px #ffffffbd,0 18px 45px #0f172a0f!important}.attendance-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.attendance-sheet-head strong{display:block;font-size:17px;font-weight:650;color:#1a2332}.attendance-sheet-head span{display:block;font-size:11.5px;font-weight:500;color:#94a3b8;margin-top:4px}.attendance-sheet-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.attendance-sheet-legend span{display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 8px;border-radius:999px;background:#ffffff80;color:#64748b;box-shadow:inset 0 1px #ffffff94}.attendance-sheet-legend i{width:7px;height:7px;border-radius:50%;background:#cbd5e1}.attendance-sheet-legend i.off{background:#cbd5e1}.attendance-sheet-legend i.scheduled{background:#94a3b8}.attendance-sheet-legend i.in{background:#2e8bf4}.attendance-sheet-legend i.done{background:#0f766e}.attendance-sheet-legend i.warn{background:#b91c1c}.attendance-sheet-scroll{overflow:auto;max-width:100%;padding:0 14px 16px}.attendance-sheet-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0 6px}.attendance-sheet-table th{padding:8px 3px;color:#94a3b8;font-size:10px;font-weight:550;text-align:center;white-space:nowrap}.attendance-sheet-table th b{display:block;color:#1a2332;font-size:12px}.attendance-sheet-table th span{display:block;color:#94a3b8;font-size:9px;margin-top:2px}.attendance-sheet-table th.weekend b,.attendance-sheet-table th.weekend span{color:#004b87}.attendance-sheet-table th.selected{border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(77,163,255,.2),rgba(77,163,255,.05) 72%,transparent)}.attendance-sheet-table th.teacher-col,.attendance-sheet-table td.teacher-col{position:sticky;left:0;z-index:2;min-width:132px;text-align:left}.attendance-sheet-table th.teacher-col{padding-left:12px}.attendance-sheet-table td{padding:7px 3px;text-align:center;background:#ffffff70}.attendance-sheet-table tr td:first-child{border-radius:16px 0 0 16px}.attendance-sheet-table tr td:last-child{border-radius:0 16px 16px 0}.attendance-sheet-table td.selected{background:#dbeafe70}.attendance-sheet-table td.teacher-col{display:flex;align-items:center;gap:8px;background:#ffffffd1;box-shadow:10px 0 22px #94a3b814}.attendance-sheet-table td.teacher-col b{font-size:12.5px;color:#1a2332;font-weight:600}.attendance-sheet-teacher-copy{display:grid;gap:3px}.attendance-sheet-teacher-copy small{display:flex;gap:5px}.attendance-sheet-teacher-copy em{color:#94a3b8;font-size:9px;font-style:normal;font-weight:500}.attendance-sheet-teacher-copy em:last-child{color:#b91c1c}.attendance-sheet-cell{width:25px;height:25px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#94a3b8;background:#e2e8f08c;box-shadow:inset 0 1px #ffffff94;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.attendance-sheet-cell:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffad,0 7px 14px #0f172a14}.attendance-sheet-cell.scheduled{color:#475569;background:#64748b1a}.attendance-sheet-cell.in{color:#004b87;background:#004b871a}.attendance-sheet-cell.done{color:#0f766e;background:#0f766e1a}.attendance-sheet-cell.warn,.attendance-sheet-cell.absent,.attendance-sheet-cell.location{color:#b91c1c;background:#b91c1c1a}.attendance-sheet-cell.late,.attendance-sheet-cell.early{color:#8a5a16;background:#8a5a161a}.attendance-sheet-cell.missingOut{color:#475569;background:#4755691a}.attendance-modal-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;background:#0f172a29;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:attendance-backdrop-in .2s ease both}.attendance-correction-modal{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));margin:auto;border:0!important;border-radius:24px;padding:20px 20px 0;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.08),transparent 42%),linear-gradient(160deg,#f8fbfff7,#fffffff0)!important;box-shadow:inset 0 1px #fffc,0 24px 60px #0f172a29!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:attendance-modal-in .22s ease both}.attendance-correction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.attendance-correction-head strong{display:block;font-size:18px;font-weight:650;color:#1a2332}.attendance-correction-head span{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:500}.attendance-correction-head button{width:32px;height:32px;border:0;border-radius:999px;background:#fff9;color:#64748b;font-size:20px;cursor:pointer}.attendance-correction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-correction-body{min-height:0;margin:0 -6px;padding:0 6px 4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.38) transparent}.attendance-correction-grid .wide{grid-column:1 / -1}.attendance-correction-grid label{display:block;font-size:11px;font-weight:550;color:#64748b;margin-bottom:6px}.attendance-correction-grid textarea{width:100%;box-sizing:border-box;border:0;border-radius:14px;background:#ffffff9e;color:#1a2332;font-family:inherit;font-size:13px;font-weight:500;outline:none;box-shadow:inset 0 1px #ffffffad,0 8px 18px #0f172a0a}.attendance-correction-grid textarea{min-height:86px;padding:12px;resize:vertical}.attendance-correction-grid .time-input{min-height:40px;background:#ffffff9e}.attendance-correction-grid .time-input input{height:40px;font-size:14px;font-weight:600}.attendance-status-picker{display:flex;flex-wrap:wrap;gap:6px}.attendance-status-picker button{padding:7px 10px;border:0;border-radius:999px;background:#ffffff85;color:#64748b;cursor:pointer;font-family:inherit;font-size:11px;font-weight:550;box-shadow:inset 0 1px #ffffffa8,0 5px 12px #0f172a09;transition:transform .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}.attendance-status-picker button:hover{transform:translateY(-1px)}.attendance-status-picker button.active{background:var(--status-bg);color:var(--status);box-shadow:0 0 0 2px var(--status-bg),inset 0 1px #ffffffc2}.attendance-status-help{margin:7px 2px 0;color:#94a3b8;font-size:10.5px;font-weight:500;line-height:1.45}.attendance-correction-history{margin-top:12px;padding:12px;border-radius:16px;background:#ffffff6b;display:grid;gap:6px}.attendance-correction-history b{color:#1a2332;font-size:12px;font-weight:600}.attendance-correction-history span{color:#64748b;font-size:11px;font-weight:500}.attendance-correction-actions{display:flex;justify-content:flex-end;gap:8px;margin:12px -20px 0;padding:12px 20px 16px;background:linear-gradient(180deg,#f8fbffbd,#ffffffeb);box-shadow:0 -12px 24px #94a3b814}@keyframes attendance-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes attendance-modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-page{min-height:100dvh!important}.landing-login-sheet{height:100dvh!important;background:linear-gradient(160deg,#fbfdff,#f4f8fc)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.landing-footer{transition:transform .48s cubic-bezier(.2,.8,.2,1)}.landing-footer.sheet-open{transform:translate(-25vw)}.landing-sheet-content{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.34) transparent}@media(max-width:720px){.landing-main{justify-content:flex-start!important;padding:max(28px,env(safe-area-inset-top)) 16px 20px!important;transform:none!important}.landing-hero-card{width:100%!important;margin-top:clamp(28px,10vh,84px);padding:30px 20px 26px!important;border-radius:22px!important;box-sizing:border-box;transform:none!important}.landing-hero-card h1{font-size:clamp(42px,14vw,54px)!important}.landing-hero-card p{max-width:290px!important}.landing-hero-card button{width:100%;justify-content:center;margin-top:34px!important}.landing-footer{padding:14px 18px max(18px,env(safe-area-inset-bottom))!important;font-size:11px!important;line-height:1.6}.landing-footer.sheet-open{transform:none}.landing-sheet-backdrop{background:#0f172a24!important}.landing-login-sheet{width:100vw!important;min-width:0!important;max-width:none!important;border-left:0!important;border-radius:0!important}.landing-sheet-header{padding:max(16px,env(safe-area-inset-top)) 16px 14px!important}.landing-sheet-content{align-items:flex-start!important;justify-content:flex-start!important;padding:20px 16px 18px!important}.landing-sheet-progress{padding:8px 0 max(14px,env(safe-area-inset-bottom))!important}.landing-teacher-grid{gap:13px!important}}@media(max-width:380px){.landing-hero-card{margin-top:16px;padding:24px 16px 22px!important}.landing-sheet-header h2{font-size:16px!important}}.teacher-attendance-reminder-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:15px 16px;border-radius:22px;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.1),transparent 42%),linear-gradient(145deg,#ffffffb8,#f8fafc80);box-shadow:0 14px 36px #0f172a0e,inset 0 1px #ffffffc7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.teacher-attendance-reminder-card.log-context{margin-top:-2px;margin-bottom:14px}.teacher-attendance-reminder-card.log-context.is-locked{background:#fff7ed;border:1px solid rgba(217,119,6,.2);box-shadow:0 10px 24px #d9770614;backdrop-filter:none;-webkit-backdrop-filter:none}.teacher-attendance-reminder-card.log-context.is-available{background:#f0fdf4;border:1px solid rgba(5,150,105,.18);box-shadow:0 10px 24px #05966912;backdrop-filter:none;-webkit-backdrop-filter:none}.teacher-attendance-reminder-card.log-context.is-locked .teacher-attendance-reminder-copy span{color:#b45309}.teacher-attendance-reminder-card.log-context.is-available .teacher-attendance-reminder-copy span{color:#047857}.log-start-btn:disabled,.log-makeup-btn:disabled{cursor:not-allowed!important;opacity:.46;transform:none!important;box-shadow:none!important}.teacher-attendance-reminder-copy{min-width:0;display:grid;gap:4px}.teacher-attendance-reminder-copy span{color:#004b87;font-size:10.5px;font-weight:700;letter-spacing:.04em}.teacher-attendance-reminder-copy strong{color:#1a2332;font-size:13px;font-weight:650;line-height:1.45}.teacher-attendance-reminder-copy em{color:#94a3b8;font-size:11px;font-style:normal;font-weight:500}.teacher-attendance-reminder-card button{flex:0 0 auto;min-height:34px;padding:0 15px;border:0;border-radius:999px;background:linear-gradient(145deg,#004b87f0,#1f6faadb);color:#fff;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;box-shadow:inset 0 1px #ffffff3d,0 7px 18px #004b872e;transition:transform .18s ease,box-shadow .18s ease}.teacher-attendance-reminder-card button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff47,0 10px 22px #004b8738}.attendance-chip-card,.attendance-chip-compact{--chip-color: #2E8BF4;width:100%;border:0;cursor:pointer;font-family:inherit;background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--chip-color) 12%,transparent),transparent 42%),linear-gradient(145deg,#ffffffc7,#f8fafc85);box-shadow:0 10px 24px #0f172a0f,inset 0 1px #ffffffc7;transition:transform .18s ease,box-shadow .18s ease}.attendance-chip-card.pending,.attendance-chip-compact.pending{--chip-color: #2E8BF4}.attendance-chip-card.in,.attendance-chip-compact.in{--chip-color: #059669}.attendance-chip-card.done,.attendance-chip-compact.done{--chip-color: #64748B}.attendance-chip-card{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border-radius:18px;color:#1a2332}.attendance-chip-card:hover,.attendance-chip-card.open,.attendance-chip-compact:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0f172a14,inset 0 1px #ffffffd6}.attendance-chip-icon{width:30px;height:30px;border-radius:13px;background:color-mix(in srgb,var(--chip-color) 14%,rgba(255,255,255,.9));color:var(--chip-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 1px #ffffffdb}.attendance-chip-copy{flex:1;min-width:0;display:grid;gap:2px;text-align:left}.attendance-chip-copy div{color:#1a2332;font-size:11.5px;font-weight:650}.attendance-chip-copy span{color:#7c8ca3;font-size:10px;font-weight:470;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-chip-compact{width:38px;height:38px;border-radius:16px;color:var(--chip-color);display:flex;align-items:center;justify-content:center}.attendance-popover-panel{position:fixed;z-index:1600;border-radius:26px 26px 18px 18px;background:radial-gradient(circle at 12% 0%,rgba(46,139,244,.13),transparent 38%),linear-gradient(145deg,#ffffffe6,#f8fafcbd);box-shadow:0 24px 64px #0f172a2e,inset 0 1px #ffffffd1;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden;animation:attendancePopoverUp .2s cubic-bezier(.16,1,.3,1)}@keyframes attendancePopoverUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.attendance-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 15px 10px}.attendance-popover-head div div{margin-bottom:4px;color:#94a3b8;font-size:8.5px;font-weight:650;letter-spacing:.14em}.attendance-popover-head h2{margin:0;color:#1a2332;font-size:16px;font-weight:680;letter-spacing:-.025em}.attendance-popover-head button{width:28px;height:28px;border:0;border-radius:11px;background:#ffffff94;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffffb8}.attendance-popover-body{display:grid;gap:10px;padding:0 15px 14px}.attendance-status-box{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:16px;color:#475569;background:#f1f5f9ad;font-size:12.5px;font-weight:610;line-height:1.45;box-shadow:inset 0 1px #ffffffb8}.attendance-status-box>span{flex-shrink:0;margin-top:1px;color:currentColor}.attendance-status-box.success{color:#065f46;background:#d1fae594}.attendance-status-box.warning{color:#92400e;background:#fef3c7ad}.attendance-done-text{color:#64748b;font-size:12.5px;font-weight:470;line-height:1.6}.attendance-note-label{display:block;margin-bottom:6px;color:#1a2332;font-size:11.5px;font-weight:650}.attendance-note-textarea{width:100%;padding:10px 12px;border:0;border-radius:14px;background:#ffffff94;color:#1e293b;outline:none;box-sizing:border-box;font-family:inherit;font-size:12.5px;resize:vertical;box-shadow:inset 0 1px #ffffffb8,0 1px 8px #0f172a09}.attendance-note-help{margin-top:5px;color:#94a3b8;font-size:10px;font-weight:470}.attendance-popover-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 15px 14px;background:#ffffff52;box-shadow:inset 0 1px #ffffff8f}.attendance-popover-actions button{min-height:32px;padding:0 12px;border:0;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:650;cursor:pointer}.attendance-popover-cancel{background:#ffffffa3;color:#64748b;box-shadow:inset 0 1px #ffffffc2}.attendance-popover-submit{color:#fff;box-shadow:0 10px 22px #0f172a1f,inset 0 1px #ffffff3d}.attendance-popover-submit.checkin{background:linear-gradient(135deg,#4da3ff,#2e8bf4)}.attendance-popover-submit.checkout{background:linear-gradient(135deg,#14b8a6,#059669)}.attendance-popover-submit:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.72}.attendance-modal-lightbox{position:fixed;inset:0;z-index:1600;display:flex;align-items:center;justify-content:center;padding:20px;background:#050a1452;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media(max-width:860px){.attendance-control-shell{width:100%;justify-content:flex-start;overflow-x:auto;border-radius:24px}.attendance-sheet-head{flex-direction:column}.attendance-sheet-legend{justify-content:flex-start}.teacher-attendance-reminder-card{align-items:stretch;flex-direction:column}.teacher-attendance-reminder-card button{width:100%}}.glass-month-nav button{min-width:32px!important}.glass-month-nav.log-date-nav{min-height:34px!important;border-radius:999px!important;background:linear-gradient(145deg,#004b87f5,#1f6faad6)!important}.glass-month-nav.log-date-nav button{min-width:32px!important;padding:0 12px!important;border:none!important;background:none!important;font-size:15px!important}.glass-month-nav.log-date-nav span,.glass-month-nav.log-date-nav div>span{font-size:12.5px!important;font-weight:700!important;color:#fff!important}.glass-action-btn.primary.log-makeup-btn,.glass-action-btn.primary.teacher-add-btn{min-height:34px!important;padding:0 16px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important}.glass-action-btn.primary.log-makeup-btn{background:linear-gradient(145deg,#ffffffe0,#eff6ffa3)!important;color:#004b87!important;border-color:#bfdbfead!important;box-shadow:inset 0 1px #ffffffd6,0 7px 18px #0f172a0f!important}.glass-action-btn.log-calendar-btn{min-width:36px!important;min-height:34px!important;padding:0!important;border-radius:999px!important}.time-input{width:100%;min-width:0;min-height:36px;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;border:0;border-radius:999px;background:radial-gradient(circle at 14% 0%,rgba(0,75,135,.08),transparent 44%),#ffffff94;box-shadow:inset 0 1px #ffffffbd,0 6px 16px #0f172a0b}.time-input input,.time-input select,.time-seg{width:100%;min-width:0;height:36px;border:0!important;outline:none;background:transparent!important;color:#1a2332;cursor:text;font-family:inherit;font-size:12px;font-weight:620;line-height:1;padding:0 12px!important;box-shadow:none!important;appearance:none;-webkit-appearance:none;text-align:center}.time-seg::-webkit-outer-spin-button,.time-seg::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-colon{color:#94a3b8;font-weight:600;font-size:13px;-webkit-user-select:none;user-select:none;flex-shrink:0}.time-input:focus-within{background:#ffffffc7;box-shadow:0 0 0 3px #004b871c,inset 0 1px #ffffffdb,0 8px 18px #0f172a0f}.schedule-time-input{min-height:34px}.schedule-time-input input{height:34px}.log-view-tabs{padding:3px}.log-view-tabs button{min-height:32px;min-width:48px;padding:0 12px;font-size:12px}.schedule-month-mode{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:146px;padding:2px;border-radius:8px;background:linear-gradient(145deg,#ffffffb8,#f1f5f97a);border:1px solid rgba(255,255,255,.66);box-shadow:inset 0 1px #ffffffb3,0 4px 12px #0f172a09;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.schedule-month-mode button{min-height:28px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;font-size:10px;font-weight:620;transition:background .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap}.schedule-month-mode button.active{background:#ffffffeb;color:#004b87;box-shadow:0 2px 8px #0f172a12}.schedule-month-mode button.active.prep{color:#0f766e}.schedule-segmented-control{display:inline-flex;align-items:stretch;gap:3px;padding:3px;border-radius:16px;border:1px solid rgba(226,232,240,.9);background:linear-gradient(145deg,#ffffffc2,#f1f5f98f);box-shadow:inset 0 1px #ffffffd1,0 8px 20px #0f172a0d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.schedule-segmented-control button{min-height:34px;padding:0 15px;border:none;border-radius:12px;background:transparent;color:#64748b;cursor:pointer;font-size:11.5px;font-weight:620;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;transition:transform .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease}.schedule-segmented-control button.active{background:linear-gradient(180deg,#fffffff5,#eff6ffe6);color:#0f172a;box-shadow:0 8px 18px #94a3b829,inset 0 1px #ffffffeb}.schedule-segmented-control button:hover{transform:translateY(-1px)}.schedule-control-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-bottom:20px;border-radius:18px;background:linear-gradient(180deg,#ffffff80,#ffffff5c);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 24px #0f172a09,inset 0 1px #ffffff75;border:1px solid rgba(255,255,255,.34);flex-wrap:wrap}.schedule-control-shell.single-line{gap:20px}.schedule-control-cluster{display:inline-flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.schedule-control-cluster.left{flex:1 1 auto}.schedule-control-cluster.right{margin-left:auto;justify-content:flex-end}.calendar-filter-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.calendar-filter-pill{min-height:32px;padding:0 11px;border:none;border-radius:999px;background:#ffffffb8;color:#64748b;font-size:11px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffffd9,0 6px 14px #0f172a0a;transition:background .18s ease,color .18s ease,transform .18s ease}.calendar-filter-pill:hover{transform:translateY(-1px)}.calendar-filter-pill.selected{background:linear-gradient(180deg,#fffffff5,#f0f9ffeb);color:#004b87;box-shadow:0 12px 24px #004b8714,inset 0 1px #ffffffe6}.schedule-inline-toggle{height:36px;padding:0 14px;border:1px solid rgba(226,232,240,.72);border-radius:999px;background:#ffffff57;box-shadow:inset 0 1px #ffffff57;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}.schedule-inline-toggle.active{background:#4338ca1a;color:#4338ca;box-shadow:inset 0 1px #ffffff6b,0 8px 18px #4338ca0f}.schedule-inline-toggle:hover{transform:translateY(-1px)}.schedule-month-pill{min-width:158px}.schedule-add-pill{border-radius:999px!important}.schedule-subject-pill-trigger.ghost,.schedule-subject-pill-option.ghost,.schedule-bulk-danger.ghost{background:#ffffff4d!important;border-color:#e2e8f0b8!important;box-shadow:inset 0 1px #ffffff57,0 4px 10px #0f172a06!important}.schedule-bulk-danger{min-height:36px;padding:0 14px;border:1px solid rgba(248,113,113,.22);border-radius:999px;background:linear-gradient(145deg,#ffffffe6,#fef2f2e6);color:#dc2626;font-size:11px;font-weight:600;box-shadow:0 8px 18px #ef44441a,inset 0 1px #ffffffe0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.schedule-bulk-danger:hover{transform:translateY(-1px);box-shadow:0 12px 22px #ef444424,inset 0 1px #ffffffeb}.teacher-schedule-stack{display:grid;gap:18px}.next-schedule-banner{margin:-2px 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(45,212,191,.34);background:linear-gradient(145deg,#f0fdfac7,#ffffff94);box-shadow:inset 0 1px #fffc,0 8px 22px #0f766e12;display:flex;align-items:center;justify-content:space-between;gap:12px}.next-schedule-banner strong{display:block;color:#0f766e;font-size:13px;font-weight:650;margin-bottom:2px}.next-schedule-banner span{display:block;color:#64748b;font-size:11px;font-weight:650}.next-schedule-banner em{display:inline-flex;margin-top:5px;color:#0f766e;font-size:10px;font-style:normal;font-weight:550;background:#ffffff8f;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:2px 8px}.next-schedule-banner button{min-height:30px;padding:0 12px;border-radius:8px;border:1px solid rgba(20,184,166,.26);background:#ffffffd1;color:#0f766e;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px}.next-schedule-banner button:disabled{opacity:.55;cursor:progress}.schedule-peek-card{--accent: #004B87;margin:0 0 14px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),linear-gradient(145deg,#ffffffd1,#f8fafc8a);box-shadow:0 16px 38px #0f172a0f,inset 0 1px #ffffffd6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:space-between;gap:14px}.schedule-peek-card.editing{align-items:stretch;flex-wrap:wrap}.schedule-peek-floating{position:fixed;left:max(18px,calc(50% - 430px));right:auto;bottom:22px;z-index:1200;width:min(860px,calc(100vw - 44px));margin:0;border-color:#ffffffd1;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 36%),linear-gradient(145deg,#ffffffe6,#f8fafcad);box-shadow:0 24px 70px #0f172a29,0 8px 24px #0f172a14,inset 0 1px #ffffffe0;animation:schedulePeekIn .28s cubic-bezier(.22,1,.36,1)}@keyframes schedulePeekIn{0%{opacity:0;transform:translateY(24px) scale(.98);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.schedule-peek-main{min-width:0;flex:1 1 240px}.schedule-peek-kicker{display:flex;align-items:center;gap:6px;color:#64748b;font-size:11px;font-weight:600;margin-bottom:4px}.schedule-peek-kicker span{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.schedule-peek-main h3{margin:0;color:#1a2332;font-size:18px;font-weight:700;letter-spacing:0}.schedule-peek-main p{margin:5px 0 0;color:#64748b;font-size:11px;font-weight:500;line-height:1.6}.schedule-peek-warning{margin-top:8px;display:grid;gap:3px;max-width:100%;padding:8px 10px;border-radius:11px;background:#fffbebdb;border:1px solid rgba(253,230,138,.9);color:#b45309;font-size:10.5px;font-weight:600;line-height:1.3;box-shadow:inset 0 1px #ffffffb8}.schedule-peek-warning strong{font-size:10.5px}.schedule-peek-warning span{font-size:9.5px;font-weight:550;line-height:1.45}.schedule-peek-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;flex-wrap:wrap}.schedule-peek-actions button{min-height:34px;padding:0 13px;border:0;border-radius:999px;background:#ffffffbd;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:750;line-height:1;box-shadow:inset 0 1px #ffffffd1,0 7px 16px #0f172a0b;transition:transform .22s cubic-bezier(.25,1,.5,1),box-shadow .22s ease,background .22s ease,color .22s ease}.schedule-peek-actions button.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,white),#ffffffd1);color:var(--accent)}.schedule-peek-actions button.danger{background:radial-gradient(circle at 18% 0%,rgba(248,113,113,.16),transparent 54%),#ffffff9e;color:#b91c1c;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #b91c1c0e}.schedule-peek-actions button.icon{width:34px;padding:0;color:#94a3b8}.schedule-peek-actions button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe0,0 10px 22px #0f172a14}.schedule-quick-edit{flex:1 1 100%;display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.74);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),#ffffff94;box-shadow:inset 0 1px #ffffffd1,0 8px 24px #0f172a0f}.schedule-quick-edit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.schedule-quick-edit-head span{font-size:12px;font-weight:700;color:#1a2332}.schedule-quick-edit-head em{font-style:normal;font-size:10px;font-weight:500;color:#94a3b8}.schedule-quick-room label,.schedule-quick-row label{display:grid;gap:4px;min-width:0}.schedule-quick-room span,.schedule-quick-row span{font-size:9px;font-weight:700;color:#94a3b8}.schedule-quick-room select,.schedule-quick-row input,.schedule-quick-row select{width:100%;height:34px;border:1px solid rgba(226,232,240,.74);border-radius:10px;background:#ffffffc7;color:#1a2332;font-size:11px;font-weight:500;padding:0 9px;outline:none;box-sizing:border-box;font-family:inherit}.schedule-quick-list{display:grid;gap:8px}.schedule-quick-row{display:grid;grid-template-columns:minmax(86px,1.2fr) minmax(92px,1fr) minmax(92px,1fr) minmax(82px,.85fr) 32px;gap:8px;align-items:end}.schedule-quick-remove{width:32px;height:34px;border:none;border-radius:10px;background:#fef2f2c7;color:#dc2626;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.schedule-quick-add{height:32px;padding:0 12px;border:1px solid rgba(203,213,225,.72);border-radius:999px;background:#ffffffb8;color:#475569;cursor:pointer;font-size:11px;font-weight:600}.schedule-quick-add-group{display:flex;flex-wrap:wrap;gap:6px}.schedule-quick-add.exam{border-color:#a7f3d0e6;background:#ecfdf5e0;color:#047857}.schedule-quick-add.vacation{border-color:#ddd6feeb;background:#f5f3ffe0;color:#7c3aed}.schedule-quick-date-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.schedule-quick-date-row label{display:grid;gap:4px;min-width:0}.schedule-quick-date-row span{font-size:9px;font-weight:800;color:#94a3b8}.schedule-quick-date-row input{width:100%;height:34px;border:1px solid rgba(226,232,240,.74);border-radius:10px;background:#ffffffc7;color:#1a2332;font-size:12px;font-weight:700;padding:0 9px;outline:none;box-sizing:border-box;font-family:inherit;cursor:pointer}.schedule-quick-date-picker{min-width:0}.schedule-quick-date-picker .fancy-date-trigger{width:100%;height:34px;justify-content:flex-start;border-radius:10px;border:1px solid rgba(226,232,240,.74);background:#ffffffc7;color:#1a2332;font-size:12px;font-weight:700;padding:0 11px;box-sizing:border-box}.schedule-quick-date-picker .fancy-date-trigger span:last-child{color:#64748b}.schedule-quick-inline-hint{margin-top:8px;padding:8px 10px;border-radius:12px;background:#f8fafce0;color:#64748b;font-size:11px;line-height:1.45}.schedule-quick-month-warning{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff7eddb;border:1px solid rgba(251,191,36,.24);color:#9a3412;font-size:11px;line-height:1.45}.teacher-schedule-card{--accent: #004B87;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at 8% -8%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 34%),linear-gradient(145deg,#ffffffc7,#f8fafc80);box-shadow:0 18px 46px #0f172a11,inset 0 1px #ffffffd1;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.teacher-schedule-head{padding:17px 20px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(226,232,240,.46)}.teacher-schedule-title{min-width:0;display:flex;align-items:center;gap:10px}.teacher-schedule-dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 11%,transparent);flex:0 0 auto}.teacher-schedule-title h3{margin:0;color:#1a2332;font-size:16px;font-weight:650;line-height:1.2}.teacher-schedule-title p{margin:3px 0 0;color:#64748b;font-size:11px;font-weight:560;line-height:1.35}.teacher-schedule-title em{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:10px;font-style:normal;font-weight:620}.teacher-schedule-stats{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;flex:0 0 auto}.teacher-schedule-stats span{min-height:27px;padding:0 10px;border-radius:999px;background:#ffffff94;color:#475569;display:inline-flex;align-items:center;font-size:10.5px;font-weight:580;box-shadow:inset 0 1px #ffffffc2}.extra-session-panel{margin-top:10px;padding:0 18px 16px}.extra-session-list{display:grid;gap:6px}.extra-session-item{--extra-accent: #64748B;display:grid;grid-template-columns:34px 8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:8px 10px;border:1px solid rgba(226,232,240,.66);border-radius:14px;background:#ffffff8a;box-shadow:inset 0 1px #ffffffc2,0 6px 16px #0f172a08;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.extra-session-item:hover{transform:translateY(-1px);border-color:#cbd5e1db;background:#ffffffc2;box-shadow:inset 0 1px #ffffffd6,0 9px 20px #0f172a0d}.extra-session-date{text-align:center;line-height:1}.extra-session-date b{display:block;color:#334155;font-size:15px;font-weight:650}.extra-session-date span{display:block;margin-top:3px;color:#94a3b8;font-size:9px;font-weight:500}.extra-session-marker{width:7px;height:7px;border-radius:999px;background:var(--extra-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--extra-accent) 11%,transparent)}.extra-session-copy{min-width:0}.extra-session-copy>div,.extra-session-copy p{display:flex;align-items:center;gap:7px;min-width:0}.extra-session-copy em{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--extra-accent) 9%,rgba(255,255,255,.7));color:var(--extra-accent);font-size:9.5px;font-style:normal;font-weight:620}.extra-session-copy strong{min-width:0;overflow:hidden;color:#1a2332;font-size:12px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.schedule-summary-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.schedule-summary-chips span{min-height:28px;padding:0 10px;border-radius:999px;background:#ffffff7a;color:#94a3b8;display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:500;box-shadow:inset 0 1px #ffffffa8}.schedule-summary-chips b{color:#475569;font-weight:650}.schedule-tools-menu{position:relative}.schedule-tools-menu summary{height:30px;padding:0 10px;border-radius:999px;color:#94a3b8;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:550;list-style:none}.schedule-tools-menu summary::-webkit-details-marker{display:none}.schedule-tools-menu>div{position:absolute;z-index:80;top:calc(100% + 6px);right:0;width:160px;padding:6px;border-radius:14px;background:#fffffff5;box-shadow:0 16px 36px #0f172a1f}.schedule-tools-menu button{width:100%;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#b91c1c;cursor:pointer;font-family:inherit;font-size:11px;font-weight:550;text-align:left}.schedule-tools-menu button:hover{background:#fee2e29e}.schedule-empty-state{margin-bottom:20px;padding:56px 20px;border:0!important;border-radius:22px!important;text-align:center;background:linear-gradient(145deg,#ffffff94,#f1f8ff57)!important;box-shadow:inset 0 1px #ffffffb3,0 14px 34px #0f172a0a!important}.schedule-conflict-panel{margin-bottom:14px;border-radius:17px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffa3,0 10px 24px #0f172a09;overflow:hidden}.schedule-conflict-head{width:100%;min-height:42px;padding:0 14px;border:0;background:transparent;color:#b45309;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:inherit;font-size:11.5px;font-weight:600}.schedule-conflict-head span{display:inline-flex;align-items:center;gap:6px}.schedule-conflict-head>svg{color:#94a3b8;transition:transform .2s ease}.schedule-conflict-panel.open .schedule-conflict-head>svg{transform:rotate(180deg)}.schedule-conflict-list{padding:3px 14px 12px;animation:fadeUp .2s ease both}.schedule-conflict-clear{margin-top:4px;padding:4px 0;border:0;background:none;color:#94a3b8;cursor:pointer;font-size:10px}.extra-session-copy p{margin:4px 0 0;color:#94a3b8;font-size:10px;font-weight:500}.extra-session-copy p b{color:#475569;font-weight:600}.extra-session-copy p span+span:before{content:"·";margin-right:7px;color:#cbd5e1}.extra-session-actions{display:inline-flex;align-items:center;gap:5px;opacity:.82;transition:opacity .16s ease}.extra-session-item:hover .extra-session-actions,.extra-session-item:focus-within .extra-session-actions{opacity:1}.extra-session-edit,.extra-session-delete{min-width:46px;height:29px;padding:0 7px;border:1px solid rgba(203,213,225,.72);border-radius:9px;background:#ffffffa3;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-size:10px;font-weight:650;box-shadow:inset 0 1px #fffc;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.extra-session-edit:hover{color:#334155;border-color:#94a3b8;background:#f8fafcf5;box-shadow:0 4px 10px #0f172a14}.extra-session-delete:hover{color:#9f1239;border-color:#f43f5e4d;background:#fff1f2d1;box-shadow:0 4px 10px #9f123912}.extra-session-edit:focus-visible,.extra-session-delete:focus-visible,.extra-session-more:focus-visible{outline:2px solid rgba(37,99,235,.34);outline-offset:2px}.extra-session-more{width:100%;min-height:34px;margin-top:8px;border:1px solid rgba(203,213,225,.66);border-radius:11px;background:#ffffff7a;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:10.5px;font-weight:650;transition:background .16s ease,border-color .16s ease,color .16s ease}.extra-session-more:hover{border-color:#94a3b8;background:#ffffffc7;color:#334155}.extra-session-more svg{transition:transform .2s ease}.extra-session-more svg.open{transform:rotate(180deg)}.teacher-schedule-body{display:flex;padding:12px;background:linear-gradient(180deg,#ffffff47,#f1f5f92e)}.teacher-schedule-grid-scroll{overflow:auto;border-radius:18px;background:#ffffff3d;border:1px solid rgba(226,232,240,.42)}.teacher-schedule-grid{display:grid}.teacher-schedule-grid-head{min-height:38px;padding:0 10px;color:#1a2332;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600;line-height:1;background:#ffffff80}.teacher-schedule-grid-head.time{color:#94a3b8;font-weight:550}.teacher-schedule-time-cell{min-height:56px;padding:8px 6px;color:#7c8ba1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:680;line-height:1.25;border-top:1px solid rgba(226,232,240,.58);background:#ffffff57}.teacher-schedule-cell{min-height:56px;padding:8px;border-top:1px solid rgba(226,232,240,.5);border-left:1px solid rgba(226,232,240,.32);background:#ffffff3d}.teacher-schedule-cell.has-class{background:linear-gradient(180deg,#ffffff6b,#f8fafc2e)}.teacher-schedule-block{--accent: #004B87;position:relative;margin-bottom:6px;padding:8px 9px 24px;border-radius:14px;background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 48%),linear-gradient(145deg,#ffffffb8,color-mix(in srgb,var(--accent) 6%,rgba(255,255,255,.54)));border:1px solid rgba(255,255,255,.66);box-shadow:0 7px 18px #0f172a13,inset 0 1px #ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:transform .28s cubic-bezier(.25,1,.5,1),box-shadow .28s ease,background .28s ease}.teacher-schedule-block:last-child{margin-bottom:0}.teacher-schedule-block:hover{transform:translateY(-2px) scale(1.018);box-shadow:0 12px 24px #0f172a1f,inset 0 1px #ffffffc7}.teacher-schedule-block .del-btn{opacity:0;transition:opacity .2s}.teacher-schedule-block:hover .del-btn{opacity:1}.teacher-schedule-block-top{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}.teacher-schedule-block-top>span{min-width:0;display:flex;align-items:center;gap:4px}.teacher-schedule-block-top b{min-width:0;color:#1a2332;font-size:11px;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-schedule-block-top em{flex:0 0 auto;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:8px;font-style:normal;font-weight:600;line-height:1.35}.teacher-schedule-block-top em.exam{background:#d1fae5db;color:#059669}.teacher-schedule-block-meta{margin-top:4px;display:flex;align-items:center;gap:4px;color:#64748b;font-size:10px;font-weight:650;line-height:1.25}.teacher-schedule-block-meta strong{padding:1px 5px;border-radius:999px;background:#ffffffb3;color:var(--accent);font-size:8.5px;font-weight:800}.teacher-schedule-block small{color:color-mix(in srgb,var(--accent) 70%,#475569);font-size:8.5px;font-weight:800;line-height:1}.teacher-schedule-block-submeta{position:absolute;left:9px;right:9px;bottom:7px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-width:0;pointer-events:none}.teacher-schedule-block-submeta span{min-width:0;font-size:8.5px;font-weight:700;color:color-mix(in srgb,var(--accent) 78%,white);opacity:.76;line-height:1}.teacher-schedule-block-submeta small{position:static;margin-left:auto;padding:2px 6px;border-radius:999px;background:#ffffffa3;box-shadow:inset 0 1px #ffffffb8;color:color-mix(in srgb,var(--accent) 72%,#2563EB);font-size:8.5px;font-weight:850;flex-shrink:0}.teacher-schedule-weekend-divider{width:1px;flex-shrink:0;margin:8px;background:linear-gradient(180deg,transparent,rgba(148,163,184,.42),transparent)}.teacher-add-btn{min-height:34px!important;padding:0 16px!important;font-size:12px!important;font-weight:700!important}.teacher-table-card{border-radius:24px!important;border:1px solid rgba(255,255,255,.72)!important;background:linear-gradient(145deg,#ffffffc7,#f8fafc7a)!important;box-shadow:0 18px 46px #0f172a12,inset 0 1px #ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:auto}.teacher-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:13px}.teacher-table thead tr{background:#f8fafcad}.teacher-table th{padding:14px 16px;text-align:left;color:#64748b;font-size:11px;font-weight:650;border-bottom:1px solid rgba(226,232,240,.58);white-space:nowrap}.teacher-table td{padding:15px 16px;color:#64748b;border:none;vertical-align:middle;transition:background-color .22s ease}.teacher-table tbody tr{cursor:pointer;transition:background-color .22s ease,transform .22s ease}.teacher-table tbody tr:hover{background:#eff6ff7a}.teacher-table tbody tr.locked{cursor:default}.teacher-table tbody tr.locked:hover{background:transparent}.teacher-order-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:#0f172a0b;color:#64748b;font-size:11px;font-weight:700}.teacher-name-cell{display:inline-flex;align-items:center;gap:8px;color:#1a2332}.teacher-name-cell strong{font-size:13px;font-weight:700}.teacher-name-cell em{font-style:normal;padding:3px 8px;border-radius:999px;background:#eef2ffd1;color:#4f46e5;font-size:10px;font-weight:650}.teacher-color-dot{width:8px;height:8px;border-radius:999px;background:var(--teacher-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--teacher-color) 12%,transparent)}.teacher-soft-badge,.teacher-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:10.5px;font-weight:650;white-space:nowrap}.teacher-soft-badge{background:#eff6ffd1;color:#2563eb}.teacher-soft-badge.floor-3F{background:#eef2ffdb;color:#4f46e5}.teacher-soft-badge.floor-2F-3F,.teacher-soft-badge.floor-3F-2F{background:#f0fdfadb;color:#0f766e}.teacher-status-badge.on{background:#dcfce7c7;color:#047857}.teacher-status-badge.off{background:#f1f5f9e0;color:#64748b}.teacher-color-swatch{width:26px;height:26px;border-radius:9px;background:var(--teacher-color);box-shadow:0 8px 18px color-mix(in srgb,var(--teacher-color) 20%,transparent),inset 0 1px #ffffff52}.teacher-subjects{color:#475569!important;line-height:1.55;font-weight:450}.teacher-password{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#64748b!important;font-size:12px}.teacher-modal-content{width:min(720px,92vw)!important;padding:40px!important;border-radius:32px!important;background:#ffffffb8!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 28px 76px #0f172a24,inset 0 1px #ffffffb8!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}.teacher-form h3{margin:0 0 22px;font-size:20px;line-height:1.25;font-weight:750;color:#1f2937}.teacher-form label{color:#64748b!important;font-size:11px!important;font-weight:650!important;margin-bottom:6px!important}.teacher-form .teacher-field{border:none!important;border-radius:14px!important;background:#ffffff8f!important;min-height:42px!important;line-height:1!important;color:#1a2332!important;font-weight:520!important;box-shadow:inset 0 1px #ffffffbd,0 1px 8px #0f172a09!important;transition:background .22s ease,box-shadow .22s ease,transform .22s ease!important}.teacher-form .teacher-field:focus{background:#ffffffdb!important;box-shadow:0 0 0 3px #004b8724,inset 0 1px #ffffffd6,0 6px 18px #0f172a0e!important}.teacher-floor-control{display:inline-flex!important;gap:3px!important;padding:3px!important;border-radius:999px!important;background:#ffffff8a!important;box-shadow:inset 0 1px #ffffffb8,0 1px 8px #0f172a09}.teacher-floor-control button{min-height:32px;padding:0 14px!important;border:none!important;border-radius:999px!important;font-size:11.5px!important;font-weight:700!important;box-shadow:none!important}.teacher-color-input{width:44px!important;height:44px!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 10px 22px #0f172a17!important}.teacher-form-actions{display:flex;gap:10px;margin-top:26px}.teacher-form-actions button{flex:1;min-height:42px;border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.teacher-cancel-btn{background:#ffffff8f;color:#64748b;box-shadow:inset 0 1px #ffffffbd}.teacher-save-btn{color:#fff;background:linear-gradient(-45deg,#004b87,#2f74b5,#7ea6cf,#5b8fc1);background-size:240% 240%;animation:coolBreath 5s ease infinite;box-shadow:0 12px 26px #004b872e,inset 0 1px #ffffff38}.teacher-manager-page{display:grid;gap:16px}.teacher-page-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border:0;background:radial-gradient(circle at 8% 0%,rgba(0,75,135,.12),transparent 34%),linear-gradient(135deg,#ffffffc2,#f8fafc7a);box-shadow:0 18px 48px #0f172a0f,inset 0 1px #ffffffad}.teacher-page-kicker,.teacher-modal-kicker{display:inline-flex;margin-bottom:7px;color:#004b87b8;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.teacher-page-hero h2{display:flex;align-items:center;gap:8px;margin:0;color:#1a2332;font-size:22px;font-weight:680;letter-spacing:-.03em}.teacher-page-hero p{margin:7px 0 0;color:#7c8ca3;font-size:13px;font-weight:450}.teacher-add-pill{min-height:44px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#004b87,#2e75b6);color:#fff;font-size:13px;font-weight:680;cursor:pointer;box-shadow:0 14px 30px #004b8733,inset 0 1px #ffffff3d;transition:transform .22s ease,box-shadow .22s ease}.teacher-add-pill:hover{transform:translateY(-1px);box-shadow:0 18px 36px #004b873d,inset 0 1px #ffffff47}.teacher-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-mini-stat{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 18px;border-radius:20px;background:#ffffff80;box-shadow:0 10px 26px #0f172a09,inset 0 1px #ffffffb3}.teacher-mini-stat span{color:#7c8ca3;font-size:12px;font-weight:520}.teacher-mini-stat strong{color:#1a2332;font-size:20px;font-weight:680}.teacher-mini-stat.muted strong{color:#64748b}.teacher-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.teacher-profile-card{position:relative;display:grid;gap:13px;padding:18px;border:0;text-align:left;cursor:pointer;overflow:hidden;background:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--teacher-color) 13%,transparent),transparent 34%),linear-gradient(150deg,#ffffffc2,#f8fafc85);box-shadow:0 16px 40px #0f172a0e,inset 0 1px #ffffffb8;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.teacher-profile-card:hover{transform:translateY(-2px);box-shadow:0 20px 46px #0f172a14,inset 0 1px #ffffffc7}.teacher-profile-card.locked{cursor:default;opacity:.76}.teacher-profile-card.locked:hover{transform:none}.teacher-profile-card.retired{background:linear-gradient(150deg,#ffffff94,#f1f5f970)}.teacher-profile-top,.teacher-profile-footer,.teacher-profile-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-profile-avatar,.teacher-modal-avatar{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:18px;background:color-mix(in srgb,var(--teacher-color) 16%,rgba(255,255,255,.82));color:color-mix(in srgb,var(--teacher-color) 78%,#1A2332);font-size:18px;font-weight:720;box-shadow:inset 0 1px #ffffffc7,0 10px 22px color-mix(in srgb,var(--teacher-color) 12%,transparent)}.teacher-profile-status{display:flex;align-items:center;gap:6px}.teacher-profile-status em{font-style:normal;color:#94a3b8;font-size:11px;font-weight:560}.teacher-profile-main{display:grid;gap:4px}.teacher-profile-main strong{color:#1a2332;font-size:17px;font-weight:680;letter-spacing:-.02em}.teacher-profile-main span,.teacher-profile-subjects{color:#64748b;font-size:12.5px;font-weight:470}.teacher-profile-subjects{min-height:34px;line-height:1.45}.teacher-profile-meta{flex-direction:column;align-items:stretch;padding:10px 12px;border-radius:16px;background:#ffffff75;box-shadow:inset 0 1px #ffffff9e}.teacher-profile-meta span,.teacher-profile-footer span{display:inline-flex;align-items:center;gap:5px;color:#7c8ca3;font-size:11.5px;font-weight:480}.teacher-profile-footer{padding-top:2px}.teacher-modal-content.redesigned{width:min(900px,94vw)!important;padding:0!important;border:0!important;background:radial-gradient(circle at 10% 0%,rgba(0,75,135,.12),transparent 34%),linear-gradient(145deg,#ffffffd1,#f8fafc9e)!important;overflow:hidden!important}.teacher-form.redesigned{padding:30px}.teacher-modal-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.teacher-modal-hero h3{margin:0;color:#1a2332;font-size:24px;font-weight:680;letter-spacing:-.035em}.teacher-modal-hero p{margin:8px 0 0;color:#7c8ca3;font-size:13px;font-weight:450}.teacher-form-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:12px}.teacher-form-section{padding:16px;border-radius:24px;background:#ffffff7a;box-shadow:0 12px 30px #0f172a09,inset 0 1px #ffffffb8}.teacher-form-section.main{grid-column:1 / -1}.teacher-section-title{display:flex;align-items:center;gap:6px;margin-bottom:13px;color:#334155;font-size:13px;font-weight:650}.teacher-field-grid{display:grid;gap:10px}.teacher-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-field-grid.compact{grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr)}.teacher-form-field{display:grid!important;gap:6px}.teacher-form-field>span{display:inline-flex;align-items:center;gap:4px;color:#64748b!important;font-size:11px!important;font-weight:580!important;margin:0!important}.teacher-form.redesigned .teacher-field{width:100%;min-height:42px;padding:0 14px;box-sizing:border-box;border:0;border-radius:16px;outline:none;background:#ffffffa3;color:#1a2332;font-size:13px;font-weight:480;box-shadow:inset 0 1px #ffffffc7,0 2px 10px #0f172a09;transition:background .22s ease,box-shadow .22s ease}.teacher-form.redesigned .teacher-field:focus{background:#ffffffe6;box-shadow:0 0 0 3px #004b871f,inset 0 1px #ffffffe0,0 8px 20px #0f172a0e}.teacher-field.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.teacher-status-select.retired{color:#64748b;background:#f1f5f9c2}.teacher-floor-control.refined{width:100%;box-sizing:border-box}.teacher-floor-control.refined button{flex:1;color:#7c8ca3;font-weight:600!important}.teacher-floor-control.refined button.active{background:#ffffffeb!important;color:#004b87!important;box-shadow:0 6px 14px #0f172a0f,inset 0 1px #ffffffdb!important}.teacher-retire-note{margin-top:12px;padding:12px 14px;border-radius:18px;background:#fff7edb8;color:#9a3412;font-size:12px;font-weight:480;line-height:1.55}.teacher-retire-note strong{font-weight:650}.teacher-retire-modal{width:min(920px,94vw)!important;padding:0!important;border:0!important;border-radius:32px!important;background:radial-gradient(circle at 12% 0%,rgba(15,118,110,.11),transparent 34%),linear-gradient(145deg,#ffffffd6,#f8fafc9e)!important;overflow:hidden!important;box-shadow:0 30px 80px #0f172a29,inset 0 1px #ffffffb8!important}.teacher-retire-flow{padding:30px}.teacher-modal-hero.retire{margin-bottom:16px}.teacher-retire-summary{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.teacher-retire-summary span{min-height:28px;display:inline-flex;align-items:center;padding:0 11px;border-radius:999px;background:#ffffff8a;color:#64748b;font-size:11px;font-weight:560;box-shadow:inset 0 1px #ffffffb8}.teacher-retire-empty{padding:34px 16px;border-radius:22px;background:#ffffff75;color:#94a3b8;font-size:13px;font-weight:520;text-align:center;box-shadow:inset 0 1px #ffffffad}.teacher-retire-class-list{display:grid;gap:10px;max-height:min(52vh,520px);overflow:auto;padding-right:4px}.teacher-retire-class-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:22px;background:#ffffff80;box-shadow:0 10px 26px #0f172a0a,inset 0 1px #ffffffb8}.teacher-retire-class-card.transfer{background:radial-gradient(circle at 0% 0%,rgba(14,165,233,.09),transparent 35%),#ffffff8f}.teacher-retire-class-card.close{background:radial-gradient(circle at 0% 0%,rgba(249,115,22,.1),transparent 35%),#ffffff8a}.teacher-retire-class-main{min-width:0;display:grid;gap:4px}.teacher-retire-class-main strong{color:#1a2332;font-size:14px;font-weight:660}.teacher-retire-class-main span,.teacher-retire-class-main em{min-width:0;overflow:hidden;color:#64748b;font-size:11.5px;font-style:normal;font-weight:470;text-overflow:ellipsis;white-space:nowrap}.teacher-retire-class-main em{color:#94a3b8;font-size:10.5px}.teacher-retire-actions{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff85;box-shadow:inset 0 1px #ffffffb8}.teacher-retire-actions button{min-height:30px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#7c8ca3;font-family:inherit;font-size:11px;font-weight:580;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.teacher-retire-actions button.active{background:#ffffffeb;color:#004b87;box-shadow:0 6px 14px #0f172a0f,inset 0 1px #ffffffd1}.teacher-transfer-select{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:16px;background:#eff6ffa3;color:#2563eb;box-shadow:inset 0 1px #ffffffb3}.teacher-transfer-select select{flex:1;min-width:0;border:0;outline:none;background:transparent;color:#334155;font-family:inherit;font-size:12px;font-weight:540}.teacher-retire-warning{grid-column:1 / -1;padding:9px 11px;border-radius:15px;background:#fff7edb8;color:#9a3412;font-size:11px;font-weight:500}.teacher-form-actions.redesigned button:disabled{opacity:.48;cursor:default;filter:grayscale(.2)}.teacher-role-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border-radius:18px;background:#ffffff80;box-shadow:inset 0 1px #ffffffb8}.teacher-role-segment button{min-width:0;min-height:48px;display:grid;gap:2px;place-items:center;border:0;border-radius:15px;background:transparent;color:#64748b;font-family:inherit;cursor:pointer}.teacher-role-segment button.active{background:#ffffffeb;color:#004b87;box-shadow:0 8px 18px #0f172a0f,inset 0 1px #ffffffdb}.teacher-role-segment b{font-size:12px;font-weight:650}.teacher-role-segment small{color:#94a3b8;font-size:9px;font-weight:500}.teacher-delete-btn{margin-right:auto;background:#fef2f294!important;color:#b91c1c!important;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #b91c1c0d!important}.teacher-color-row{display:flex;align-items:center;gap:10px;min-height:42px}.teacher-color-row span{color:#7c8ca3;font-size:12px;font-weight:500}.teacher-color-input.refined{width:44px!important;height:42px!important;border:0!important;padding:0!important}.teacher-form-actions.redesigned{margin-top:18px;justify-content:flex-end}.teacher-form-actions.redesigned button{flex:0 0 auto;min-width:132px;font-weight:650}@media(max-width:760px){.teacher-page-hero{align-items:stretch;flex-direction:column;padding:20px}.teacher-add-pill{width:100%}.teacher-stat-row,.teacher-form-grid,.teacher-field-grid.two,.teacher-field-grid.compact{grid-template-columns:1fr}.teacher-form.redesigned{padding:22px}.teacher-form-actions.redesigned{flex-direction:column}.teacher-form-actions.redesigned button{width:100%}.teacher-retire-flow{padding:22px}.teacher-retire-class-card{grid-template-columns:1fr}.teacher-retire-actions{width:100%}.teacher-retire-actions button{flex:1;padding:0 7px}}.extra-session-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none}.extra-session-flow li{min-width:0;display:flex;align-items:center;gap:8px;color:#64748b;font-size:11px;font-weight:750}.extra-session-flow li:after{content:"";height:1px;flex:1;background:#e2e8f0}.extra-session-flow li:last-child:after{display:none}.extra-session-flow b{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#004b87;background:#eaf3fb;font-size:10px}.acm-wrap-extra .acm-body{display:flex;flex-direction:column}.acm-wrap-extra .acm-cancelled-suggestions{order:0}.acm-wrap-extra .acm-flow-basics{order:1}.acm-wrap-extra .acm-flow-target{order:2}.acm-wrap-extra .acm-flow-students{order:3}.acm-wrap-extra .acm-flow-operations{order:4}.extra-session-save-feedback{min-width:0;flex:1;margin-right:auto;color:#7b8798;font-size:10px;line-height:1.5}.extra-session-save-feedback .is-error{color:#b42318;font-weight:700}@media(max-width:640px){.extra-session-modal{padding:0!important}.extra-session-modal .acm-wrap{max-height:88dvh;display:flex;flex-direction:column}.extra-session-modal .acm-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.extra-session-modal .acm-footer{position:sticky;bottom:0;flex-wrap:wrap;background:#fffffff5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.extra-session-save-feedback{width:100%;flex-basis:100%;margin-bottom:2px}.extra-session-flow li{gap:5px;font-size:10px}.extra-session-flow li:after{display:none}}#admin-absence-overview:focus-visible{outline:3px solid rgba(145,0,40,.14);outline-offset:5px}.add-class-modal{width:min(760px,94vw)!important;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.12),transparent 38%),linear-gradient(145deg,#fffc,#f8fafc94)!important;border:1px solid rgba(255,255,255,.72);box-shadow:0 26px 70px #0f172a29,0 8px 24px #0f172a0f,inset 0 1px #ffffffdb!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.add-class-form{display:grid;gap:16px}.add-class-head h3{margin:0 0 4px!important;color:#1f2937!important;font-size:20px!important;font-weight:760!important}.add-class-head p{margin:0;color:#64748b;font-size:12px;font-weight:600;line-height:1.45}.add-class-modal label{color:#64748b!important;font-size:10.5px!important;font-weight:760!important}.add-class-section,.add-class-grid>div{min-width:0}.acm-wrap{display:flex;flex-direction:column;background:linear-gradient(160deg,#f0f7fff7,#fffffff2);border-radius:26px;overflow:hidden}.acm-wrap-refined{background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent, #004B87) 10%,transparent),transparent 42%),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--accent, #004B87) 4%,transparent),transparent 34%),linear-gradient(160deg,#f8fbfffb,#fffffff4)}.acm-wrap-class{--accent: #2563EB}.acm-wrap-extra{--accent: #0F766E;background:radial-gradient(circle at 14% 0%,rgba(15,118,110,.14),transparent 42%),radial-gradient(circle at 100% 100%,rgba(244,114,182,.06),transparent 34%),linear-gradient(160deg,#f8fcfbfb,#fffffff4)}.acm-header{padding:24px 24px 0}.acm-kicker{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#004b8712;color:#004b87;font-size:10px;font-weight:800;letter-spacing:.04em;margin-bottom:10px}.acm-title{font-size:22px;font-weight:800;color:#1a2332;margin:0 0 6px}.acm-desc{font-size:13px;color:#64748b;margin:0 0 4px;line-height:1.5}.acm-body{display:grid;gap:14px;padding:20px 24px}.acm-section{display:grid;gap:11px;padding:16px;border-radius:20px;background:#ffffff8a;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffbd,0 14px 30px #0f172a0b;min-width:0}.acm-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.acm-section-title h4{margin:0;color:#1a2332;font-size:12px;line-height:1;font-weight:750}.acm-section-title p{margin:6px 0 0;color:#64748b;font-size:10.5px;line-height:1.5;font-weight:500}.acm-section-title small{color:#64748b;font-size:10px;font-weight:750;line-height:1}.acm-field{display:grid;gap:7px;min-width:0}.acm-field-head{display:flex;align-items:center;justify-content:space-between}.acm-label{font-size:11px;font-weight:700;color:#52637a;display:block}.acm-label-hint{font-weight:500;color:#94a3b8}.acm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.acm-row-3{grid-template-columns:1fr 1fr 1fr}.acm-row-2-tight{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.acm-input,.acm-select{width:100%;min-height:38px;padding:9px 12px;border:0;border-radius:12px;background:#fff9;color:#1a2332;font-family:inherit;font-size:11.5px;font-weight:600;outline:none;box-sizing:border-box;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09;transition:background .18s ease,box-shadow .18s ease,color .18s ease;display:flex;align-items:center}.acm-input:focus{background:#ffffffc7;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #004B87) 14%,transparent),inset 0 1px #ffffffdb}.acm-locked{color:#1a2332;font-weight:700}.acm-select{appearance:none;-webkit-appearance:none;padding:11px 34px 11px 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;background-color:#fff9;cursor:pointer}.acm-select:focus{background-color:#ffffffc7;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #004B87) 14%,transparent),inset 0 1px #ffffffdb}.acm-date{min-width:0}.acm-date .fancy-date-trigger{min-height:38px;border-radius:12px;padding:0 12px;background:#fff9;color:#1a2332;font-size:11.5px;font-weight:600;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09}.acm-date .fancy-date-trigger:hover,.acm-date .fancy-date-trigger.open{background:#ffffffc7;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #004B87) 14%,transparent),inset 0 1px #ffffffdb;transform:none}.acm-date .fancy-date-trigger svg{color:var(--accent, #004B87)}.acm-cancelled-suggestions{background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent, #0F766E) 12%,transparent),transparent 42%),#ffffff8a}.acm-cancelled-list{display:grid;gap:8px}.acm-cancelled-item{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:0;border-radius:15px;background:#ffffff94;color:#1a2332;font-family:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffffb8,0 6px 16px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.acm-cancelled-item:hover,.acm-cancelled-item.selected{transform:translateY(-1px);background:#ffffffc7;box-shadow:inset 0 1px #ffffffd1,0 10px 22px #0f172a11}.acm-cancelled-item.linked{cursor:default;opacity:.72}.acm-cancelled-item.linked:hover{transform:none}.acm-cancelled-item span{min-width:0;display:grid;gap:4px}.acm-cancelled-item b{color:#1a2332;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acm-cancelled-item em{color:#64748b;font-size:10.5px;font-style:normal;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acm-cancelled-item i{flex:0 0 auto;min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--accent, #0F766E) 10%,white);color:var(--accent, #0F766E);font-size:10px;font-style:normal;font-weight:700}.acm-cancelled-item i.done{background:#f1f5f9c7;color:#64748b}.acm-linked-makeup{margin-top:8px;padding:8px 10px;border-radius:12px;background:#f0fdfa94;color:#0f766e;font-size:10.5px;font-weight:650;box-shadow:inset 0 1px #ffffffb8}.acm-makeup-targets{display:grid;gap:6px;margin-bottom:9px}.acm-makeup-targets-head{color:#94a3b8;font-size:10px;font-weight:650}.acm-makeup-targets-empty{padding:12px;border:1px dashed rgba(203,213,225,.82);border-radius:11px;background:#f8fafc7a;color:#94a3b8;font-size:10.5px;text-align:center}.acm-makeup-target{width:100%;min-height:42px;padding:8px 10px;border:1px solid #E2E8F0;border-radius:11px;background:#ffffffc2;color:#1a2332;cursor:pointer;display:grid;grid-template-columns:38px auto minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.acm-makeup-target:not(:disabled):hover{transform:translateY(-1px);border-color:#004b8757;background:#fff;box-shadow:0 7px 16px #0f172a0e}.acm-makeup-target.selected{border-color:#004b87b8;background:#eff6ffb8;box-shadow:0 0 0 2px #004b8712}.acm-makeup-target.linked{background:#f8fafc;color:#94a3b8;cursor:not-allowed;opacity:.62}.acm-makeup-target-date{font-size:12px;font-weight:750}.acm-makeup-target-kind,.acm-makeup-target-status{flex-shrink:0;padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:720}.acm-makeup-target-kind.cancelled{background:#fef2f2;color:#dc2626}.acm-makeup-target-kind.absent{background:#fffbeb;color:#d97706}.acm-makeup-target-copy{min-width:0;overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.acm-makeup-target-status{color:#94a3b8}.acm-makeup-target-status.recommended{background:#004b8717;color:#004b87}.acm-makeup-target:focus-visible{outline:2px solid rgba(37,99,235,.34);outline-offset:2px}.acm-makeup-direct-date{display:grid;grid-template-columns:auto minmax(190px,.7fr);align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid rgba(226,232,240,.74);border-radius:13px;background:#f8fafc94}.acm-makeup-direct-date>span{color:#64748b;font-size:10.5px;font-weight:650}.acm-makeup-direct-date .fancy-date-trigger{width:100%;min-height:38px;background:#ffffffdb}@media(max-width:640px){.acm-makeup-direct-date{grid-template-columns:1fr;gap:8px}}.acm-date .fancy-date-popover{width:272px;border-radius:24px}.acm-schedules,.acm-sched-item{display:grid;gap:6px}.acm-sched-pill{display:flex;align-items:center;gap:0;padding:4px 4px 4px 14px;border-radius:16px;background:#ffffff9e;box-shadow:inset 0 1px #ffffffd6,0 1px #0f172a08;border:1px solid rgba(255,255,255,.72);min-width:0}.day-chip-selector{display:flex;align-items:center;gap:10px;min-width:0}.day-chip-summary{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:30px;padding:0 10px;border-radius:999px;background:#ffffffb8;color:#1a2332;font-size:11px;font-weight:800;line-height:1;box-shadow:inset 0 1px #ffffffdb,0 6px 14px #0f172a0a;flex-shrink:0}.day-chip-list{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}.day-chip-button{width:26px;height:26px;border:0;border-radius:999px;background:#ffffff8a;color:#94a3b8;font-family:inherit;font-size:11px;font-weight:800;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffffd1;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.day-chip-button:hover{transform:translateY(-1px);background:#ffffffc7;color:#475569}.day-chip-button.active{background:linear-gradient(135deg,#004b8724,#8fd8ff38);color:#004b87;box-shadow:inset 0 1px #ffffffdb,0 8px 18px #004b871f}.acm-pill-day-selector{flex:1}.acm-pill-day-selector .day-chip-summary{min-width:68px}.enroll-day-chip-selector .day-chip-summary{min-width:66px}.enroll-day-chip-selector,.schedule-day-chip-selector{min-height:36px;padding:6px 8px;border-radius:12px;background:#ffffff94;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09}.enroll-day-chip-selector .day-chip-list{gap:4px}.enroll-day-chip-selector .day-chip-button{width:24px;height:24px}.schedule-day-chip-selector .day-chip-summary{min-width:66px}.schedule-day-chip-selector .day-chip-list{gap:4px}.schedule-day-chip-selector .day-chip-button{width:24px;height:24px}.acm-pill-sep{width:1px;height:18px;background:#94a3b838;flex-shrink:0;margin:0 10px}.acm-sched-pill .time-input.acm-time{min-height:36px;border-radius:0;background:transparent;box-shadow:none;border:0;width:auto;flex-shrink:0}.acm-sched-pill .time-input.acm-time .time-seg{width:26px;padding:0 2px!important}.acm-pill-arrow{font-size:11px;color:#94a3b8;padding:0 6px;flex-shrink:0;-webkit-user-select:none;user-select:none}.acm-pill-type{appearance:none;-webkit-appearance:none;border:0;outline:none;background:transparent;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;padding:0 20px 0 4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 3px center;background-size:11px;flex-shrink:0}.acm-pill-del{width:28px;height:28px;border-radius:50%;border:0;background:#fee2e2cc;color:#dc2626;font-size:16px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;margin-left:4px;transition:background .15s}.acm-pill-del:hover{background:#fecaca}.acm-sched-pill.has-range{flex-direction:column;align-items:stretch;padding-bottom:10px}.acm-pill-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.acm-pill-date-single{width:124px;flex-shrink:0}.acm-pill-range-row{display:flex;align-items:center;gap:8px;padding-top:8px;margin-top:2px;border-top:1px solid rgba(148,163,184,.18)}.acm-pill-range-input{min-width:124px}.acm-pill-range-sep{color:#94a3b8;font-size:11px;flex-shrink:0}.acm-pill-range-hint{font-size:10px;color:#64748b;font-weight:600;flex-shrink:0;margin-left:4px}.acm-add-btn{border:0;background:#004b8714;color:#004b87;font-family:inherit;font-size:11px;font-weight:800;padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .15s}.acm-add-btn:hover{background:#004b8724}.acm-student-tools{display:flex;gap:8px;align-items:center}.acm-search{flex:1;min-height:36px;padding:7px 12px;border:0;border-radius:999px;background:#ffffff94;font-family:inherit;font-size:11.5px;color:#1a2332;outline:none;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09;transition:background .18s,box-shadow .18s}.acm-search:focus{background:#ffffffc7;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #004B87) 14%,transparent),inset 0 1px #ffffffdb}.acm-segment{display:flex;background:#0000000d;border-radius:999px;padding:3px;gap:2px;flex-shrink:0}.acm-seg-btn{border:0;background:transparent;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:700;color:#64748b;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease;white-space:nowrap;line-height:1}.acm-seg-btn.active{background:#fff;color:#1a2332;box-shadow:0 1px 4px #0000001a,inset 0 1px #ffffffe6}.acm-student-list{max-height:180px;overflow-y:auto;border-radius:16px;background:#ffffff7a;padding:5px;margin-top:2px;box-shadow:inset 0 1px #ffffffad}.acm-student-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;cursor:pointer;transition:background .14s}.acm-student-row.selected{background:#004b870f}.acm-student-row:hover{background:#00000008}.acm-footer{display:flex;gap:8px;justify-content:flex-end;padding:2px 24px 22px}.acm-btn-cancel{min-height:32px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:#ffffffa8;color:#475569;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffffbd,0 5px 14px #0f172a0e;transition:transform .22s ease,box-shadow .22s ease,color .22s ease,background .22s ease}.acm-btn-cancel:hover{transform:translateY(-1px);color:var(--accent, #004B87);box-shadow:inset 0 1px #ffffffd1,0 8px 18px #0f172a14}.acm-btn-submit{min-height:32px;padding:0 18px;border-radius:999px;border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent, #004B87) 88%,white),color-mix(in srgb,var(--accent, #004B87) 68%,#8FD8FF));color:#fff;font-family:inherit;font-size:10.5px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--accent, #004B87) 18%,transparent),inset 0 1px #ffffff3d;transition:transform .22s ease,box-shadow .22s ease}.acm-btn-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent, #004B87) 22%,transparent),inset 0 1px #ffffff3d}.acm-btn-submit:disabled{background:#94a3b880;box-shadow:none;cursor:not-allowed;transform:none}.quick-add-modal{width:min(440px,92vw)!important;background:radial-gradient(circle at 14% 0%,rgba(37,99,235,.12),transparent 40%),radial-gradient(circle at 100% 100%,rgba(15,118,110,.08),transparent 34%),linear-gradient(150deg,#ffffffe0,#f8fafcc7)!important;border:1px solid rgba(255,255,255,.74);box-shadow:0 26px 70px #0f172a29,0 8px 24px #0f172a0f,inset 0 1px #ffffffdb!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.quick-add-wrap{display:grid;gap:16px;padding:22px}.quick-add-head h3{margin:0 0 6px;color:#1a2332;font-size:22px;font-weight:800}.quick-add-head p{margin:0;color:#64748b;font-size:12.5px;line-height:1.55;font-weight:550}.quick-add-kicker{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#2563eb14;color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.04em;margin-bottom:10px}.quick-add-list{display:grid;gap:10px}.quick-add-option{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:15px 16px;border:0;border-radius:18px;text-align:left;background:#ffffff94;box-shadow:inset 0 1px #ffffffd1,0 12px 28px #0f172a0d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.quick-add-option:hover{transform:translateY(-1px);background:#ffffffc7;box-shadow:inset 0 1px #ffffffe6,0 16px 30px #0f172a14}.quick-add-option.class .quick-add-option-icon{color:#2563eb;background:#2563eb1a}.quick-add-option.extra .quick-add-option-icon{color:#0f766e;background:#0f766e1a}.quick-add-option-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffffb8}.quick-add-option-copy{display:grid;gap:4px;min-width:0}.quick-add-option-copy strong{color:#1a2332;font-size:13px;font-weight:760;line-height:1.2}.quick-add-option-copy small{color:#64748b;font-size:11px;font-weight:550;line-height:1.5}.quick-add-guide{padding:10px 12px;border-radius:14px;background:#ffffff7a;color:#64748b;font-size:11px;font-weight:550;line-height:1.5;box-shadow:inset 0 1px #ffffffad}.quick-add-guide b{color:#475569;font-weight:800}.quick-add-foot{display:flex;justify-content:flex-end}.quick-add-close{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:#ffffff9e;color:#64748b;font-family:inherit;font-size:11px;font-weight:760;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:inset 0 1px #ffffffc7,0 6px 16px #0f172a0d}@media(max-width:760px){.acm-header{padding:22px 18px 0}.acm-body{padding:18px}.acm-footer{padding:0 18px 18px}.acm-row,.acm-row-3,.acm-row-2-tight{grid-template-columns:1fr}.acm-student-tools{flex-wrap:wrap}.acm-section-title{align-items:flex-start;flex-wrap:wrap}}.enroll-control-shell{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 18px}.enroll-subject-tabs{position:relative;display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:999px;background:linear-gradient(145deg,#ffffffb3,#f1f5f980);border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffc2,0 6px 18px #0f172a0e;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.enroll-subject-tabs button{position:relative;z-index:1;min-height:32px;min-width:48px;padding:0 12px;border:none;border-radius:999px;background:transparent;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;transition:color .22s ease,transform .22s ease,background .22s ease,box-shadow .22s ease}.enroll-subject-tabs button.active{color:#1a2332;background:#ffffffeb;box-shadow:0 5px 14px #0f172a12,inset 0 1px #ffffffe6}.enroll-subject-tabs button:hover{transform:translateY(-1px)}.enroll-filter-wrap{position:relative;width:138px;z-index:40}.enroll-filter-trigger{--accent: #64748B;min-height:36px;width:100%;padding:0 11px 0 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:linear-gradient(145deg,#ffffffc7,#f8fafc85);box-shadow:inset 0 1px #fffc,0 6px 16px #0f172a0e;color:#64748b;display:inline-flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;font-weight:800;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.enroll-filter-trigger:before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}.enroll-filter-trigger b{color:#334155;font-size:12px;font-weight:650;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enroll-filter-arrow{transition:transform .28s cubic-bezier(.25,1,.5,1)}.enroll-filter-trigger.open .enroll-filter-arrow{transform:rotate(180deg)}.enroll-filter-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(560px,calc(100vw - 56px));max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-5px);transition:max-height .32s cubic-bezier(.25,1,.5,1),opacity .22s ease,transform .32s cubic-bezier(.25,1,.5,1)}.enroll-filter-panel.open{max-height:104px;opacity:1;pointer-events:auto;transform:translateY(0)}.enroll-teacher-scroll{display:flex;gap:6px;overflow-x:auto;padding:10px;border-radius:16px;background:linear-gradient(145deg,#ffffffd6,#f1f5f99e);border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 34px #0f172a17,inset 0 1px #ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);scroll-snap-type:x proximity}.enroll-teacher-scroll button{--accent: #64748B;flex:0 0 auto;min-height:32px;padding:0 12px;border:none;border-radius:999px;background:#0f172a0b;color:#64748b;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:800;scroll-snap-align:start;transition:transform .22s cubic-bezier(.25,1,.5,1),box-shadow .22s ease,background .22s ease,color .22s ease}.enroll-teacher-scroll button span{width:7px;height:7px;border-radius:999px;background:var(--accent)}.enroll-teacher-scroll button em{font-style:normal;color:inherit;opacity:.7;font-weight:700}.enroll-teacher-scroll button.active{background:color-mix(in srgb,var(--accent) 15%,white);color:var(--accent);box-shadow:inset 0 1px #ffffffbf,0 5px 14px color-mix(in srgb,var(--accent) 18%,transparent)}.enroll-teacher-scroll button:hover{transform:translateY(-1px) scale(1.02)}.enroll-masonry-wrap{max-width:1180px;margin:0 auto}.enroll-assign-banner{max-width:1180px;margin:0 auto 14px;padding:13px 15px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.13),transparent 42%),linear-gradient(145deg,#ffffffad,#f8fafc75);box-shadow:0 16px 38px #0f172a0f,inset 0 1px #ffffffc7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.enroll-assign-banner>div:first-child{min-width:0;display:grid;gap:3px}.enroll-assign-banner b{color:#1a2332;font-size:13px;font-weight:820}.enroll-assign-banner span{color:#64748b;font-size:11px;font-weight:650}.enroll-assign-banner>div:last-child{display:flex;gap:7px;flex-shrink:0}.enroll-assign-banner button,.enroll-assign-student-btn{min-height:32px;border:0;border-radius:999px;background:#ffffff9e;color:#004b87;font-family:inherit;font-size:11px;font-weight:820;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;cursor:pointer;box-shadow:inset 0 1px #ffffffc2,0 7px 16px #0f172a0d}.enroll-assign-banner button:last-child{width:32px;padding:0;color:#94a3b8}.enroll-masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.enroll-masonry-column{display:flex;flex-direction:column;gap:14px;min-width:0}.enroll-class-card{--accent: #004B87;display:block;width:100%;margin:0;box-sizing:border-box;cursor:pointer;border-radius:22px;border:none;background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 38%),linear-gradient(145deg,#ffffffb8,#f8fafc73);box-shadow:0 10px 30px #0f172a0a,0 2px 10px #0f172a06,inset 0 1px #ffffffc7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .38s cubic-bezier(.25,1,.5,1),box-shadow .38s cubic-bezier(.25,1,.5,1),border-radius .38s cubic-bezier(.25,1,.5,1);overflow:hidden}.enroll-class-card.expanded{display:block;margin:0;cursor:default;border-radius:26px;box-shadow:0 22px 60px #0f172a17,0 5px 18px #0f172a0a,inset 0 1px #ffffffdb}.enroll-class-card.editing,.enroll-class-card.selected-edit{background:radial-gradient(circle at 16% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%),linear-gradient(145deg,#ffffffd1,#f8fafc8f);box-shadow:0 24px 66px #0f172a1a,0 6px 22px #0f172a0b,inset 0 1px #ffffffe6}.enroll-class-card.selected-edit{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:3px}.enroll-class-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px #0f172a11,0 3px 14px #0f172a09,inset 0 1px #ffffffd1}.enroll-class-card.expanded:hover{transform:none}.enroll-assign-student-btn{width:calc(100% - 40px);margin:0 20px 20px;color:var(--accent);background:radial-gradient(circle at 16% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 56%),#ffffff8f}.enroll-assign-student-btn.done{color:#059669;background:#ecfdf594;cursor:default}.enroll-card-top{padding:24px 24px 18px}.enroll-card-main{min-width:0}.enroll-card-kicker{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:10px;font-weight:500;line-height:1.4;white-space:nowrap}.enroll-card-kicker span{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.enroll-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px}.enroll-class-card h3{margin:0;color:#1a2332;font-size:16px;line-height:1.35;font-weight:700}.enroll-class-card p{margin:12px 0 0;color:#6b7280;font-size:11px;line-height:1.85;font-weight:400}.enroll-card-textbook{display:flex;align-items:center;gap:8px;margin-top:10px;min-width:0}.enroll-card-textbook-label{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:999px;background:#ffffff75;color:color-mix(in srgb,var(--accent) 74%,#475569);font-size:9px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px #ffffffc7;flex-shrink:0}.enroll-card-textbook-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:11px;font-weight:500;line-height:1.45}.enroll-card-badges{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap;flex:0 0 auto;padding-top:1px}.enroll-card-badges span{font-weight:500!important}.enroll-student-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px 24px;margin-top:4px}.enroll-student-chips button{border:none;border-radius:999px;padding:7px 10px;background:color-mix(in srgb,var(--accent) 10%,rgba(15,23,42,.045));color:#1a2332;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;font-weight:500;box-shadow:inset 0 1px #ffffff73;transition:transform .28s cubic-bezier(.25,1,.5,1),box-shadow .28s ease,background .22s ease}.enroll-student-chips button em{color:#64748b;font-size:9.5px;font-style:normal;font-weight:400}.enroll-student-chips button:hover{transform:scale(1.05) translateY(-1px);background:color-mix(in srgb,var(--accent) 16%,white);box-shadow:0 8px 18px #0f172a1c,inset 0 1px #fff9}.enroll-expanded-detail{overflow:hidden;padding:0 24px 24px}.enroll-expanded-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-top:4px}.enroll-expanded-grid section{min-width:0;padding:14px;border-radius:16px;background:#ffffff8f;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffb8}.enroll-expanded-grid h4{margin:0 0 10px;color:#334155;font-size:12px;line-height:1;font-weight:750}.enroll-detail-lines{display:grid;gap:8px}.enroll-detail-lines div,.enroll-schedule-list div,.enroll-log-list div{display:flex;align-items:center;gap:8px;min-width:0}.enroll-detail-lines span,.enroll-schedule-list span{color:#94a3b8;font-size:10px;font-weight:700;flex:0 0 auto}.enroll-detail-lines b,.enroll-schedule-list b{color:#1a2332;font-size:12px;font-weight:650;min-width:0}.enroll-schedule-list,.enroll-log-list{display:grid;gap:8px}.enroll-schedule-list div{justify-content:space-between;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,white)}.enroll-schedule-list em{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#ffffffb3;color:var(--accent);font-size:9px;font-style:normal;font-weight:800}.enroll-log-list div{align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(226,232,240,.68)}.enroll-log-list div:last-child{border-bottom:none}.enroll-log-list b{flex:0 0 58px;color:#475569;font-size:10px;font-weight:750}.enroll-log-list span{min-width:0;color:#64748b;font-size:11px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.enroll-schedule-list p,.enroll-log-list p{margin:0;color:#94a3b8;font-size:11px;font-weight:650}.enroll-quick-add{margin-top:12px;min-height:38px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.74));border:1px solid rgba(255,255,255,.68);color:var(--accent)}.enroll-quick-add select{flex:1;min-width:0;border:none;outline:none;background:transparent;color:#475569;font-size:11px;font-weight:750}.enroll-quick-add.dock{margin-top:12px}.enroll-class-warning{margin-top:12px;padding:10px 12px;border-radius:14px;background:#fffbebd1;border:1px solid #FDE68A;color:#92400e;font-size:11px;font-weight:700;line-height:1.45}.enroll-expanded-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.enroll-expanded-actions.dock{margin-top:12px}.enroll-expanded-actions button{min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#ffffffb8;color:#475569;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffffbf,0 5px 14px #0f172a0e;transition:transform .22s ease,box-shadow .22s ease,color .22s ease}.enroll-expanded-actions button:hover{transform:translateY(-1px);color:var(--accent);box-shadow:inset 0 1px #fffc,0 8px 18px #0f172a14}.enroll-edit-panel{display:grid;gap:14px;padding-top:4px}.enroll-edit-dock{max-width:1180px;margin:0 auto 18px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 38%),linear-gradient(145deg,#ffffffc7,#f8fafc80);border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 64px #0f172a18,0 5px 18px #0f172a0a,inset 0 1px #ffffffd6;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:enrollDockIn .34s cubic-bezier(.22,1,.36,1)}.enroll-detail-dock{max-width:1180px;margin:0 auto 18px;overflow:hidden;padding:20px;border-radius:28px;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 40%),linear-gradient(145deg,#ffffffc7,#f8fafc80);border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 64px #0f172a18,0 5px 18px #0f172a0a,inset 0 1px #ffffffd6;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:enrollDockIn .34s cubic-bezier(.22,1,.36,1)}.enroll-edit-dock.from-schedule,.enroll-detail-dock.from-schedule{animation:enrollDockIn .34s cubic-bezier(.22,1,.36,1),enrollDockPulse 1.35s ease .18s}@keyframes enrollDockIn{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:2000px}}@keyframes enrollDockPulse{0%{box-shadow:0 24px 64px #0f172a18,0 5px 18px #0f172a0a,inset 0 1px #ffffffd6}34%{box-shadow:0 26px 68px #0f172a1b,0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent),inset 0 1px #ffffffe6}to{box-shadow:0 24px 64px #0f172a18,0 5px 18px #0f172a0a,inset 0 1px #ffffffd6}}.enroll-detail-dock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.enroll-detail-dock-head span{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:10.5px;font-weight:650}.enroll-detail-dock-head i{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.enroll-detail-dock-head h3{margin:8px 0 0;color:#1a2332;font-size:20px;line-height:1.2;font-weight:750}.enroll-detail-dock-head p{margin:7px 0 0;color:#64748b;font-size:11.5px;font-weight:600}.enroll-detail-dock-head>button{width:34px;height:34px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#ffffffad;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1px #ffffffb8,0 6px 16px #0f172a0e}.enroll-detail-dock-grid{display:grid;grid-template-columns:.95fr 1.05fr 1.1fr;gap:12px}.enroll-detail-dock-grid section,.enroll-detail-student-band{min-width:0;padding:14px;border-radius:17px;background:#ffffff85;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffb3}.enroll-detail-dock-grid h4,.enroll-detail-student-head h4{margin:0 0 10px;color:#334155;font-size:12px;line-height:1;font-weight:800}.enroll-detail-student-band{margin-top:12px}.enroll-detail-student-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.enroll-detail-student-head h4{margin:0}.enroll-detail-student-head small{color:var(--accent);font-size:10px;font-weight:800}.enroll-student-chips.detail{padding:0;margin:0}.enroll-edit-dock .enroll-edit-panel{padding:20px}.enroll-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-radius:17px;background:#ffffff8f;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffb8}.enroll-edit-head h4,.enroll-edit-section-title h4{margin:0;color:#1a2332;font-size:12px;line-height:1;font-weight:750}.enroll-edit-head p{margin:6px 0 0;color:#64748b;font-size:10.5px;line-height:1.5;font-weight:500}.enroll-edit-head>span{flex:0 0 auto;display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:10px;font-weight:800;box-shadow:inset 0 1px #ffffffad}.enroll-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.enroll-edit-dock .enroll-edit-grid,.enroll-class-card.editing .enroll-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.enroll-edit-dock .enroll-field.wide,.enroll-class-card.editing .enroll-field.wide{grid-column:span 2}.enroll-class-card.editing .enroll-expanded-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enroll-edit-dock-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:14px;align-items:start}.enroll-field{display:grid;gap:6px;min-width:0}.enroll-field.wide{grid-column:1 / -1}.enroll-field>span,.enroll-edit-section-title small{color:#64748b;font-size:10px;font-weight:750;line-height:1}.enroll-field input,.enroll-field select,.enroll-edit-schedule-row input,.enroll-edit-schedule-row select,.enroll-student-picker input,.enroll-student-picker select{width:100%;min-width:0;min-height:36px;box-sizing:border-box;border:0;outline:none;border-radius:12px;background:#ffffff94;color:#1a2332;font-family:inherit;font-size:11.5px;font-weight:600;line-height:1;padding:0 12px;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09;transition:box-shadow .22s ease,background .22s ease}.enroll-edit-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:12px;padding-right:34px!important}.enroll-edit-select-tone{min-width:0}.enroll-edit-date .fancy-date-trigger{width:100%;min-height:36px;border-radius:12px;background:#ffffff94;color:#1a2332;font-size:11.5px;font-weight:600;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09}.enroll-edit-date .fancy-date-trigger:focus-visible,.enroll-edit-date .fancy-date-trigger:hover{background:#ffffffc7}.enroll-edit-date .fancy-date-popover{width:268px;border-radius:22px}.enroll-edit-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.enroll-field input:focus,.enroll-field select:focus,.enroll-edit-schedule-row input:focus,.enroll-edit-schedule-row select:focus,.enroll-student-picker input:focus,.enroll-student-picker select:focus{background:#ffffffc7;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),inset 0 1px #ffffffdb}.schedule-quick-row .time-input,.enroll-edit-schedule-row .time-input{min-height:34px}.schedule-quick-row .time-input input,.enroll-edit-schedule-row .time-input input{height:34px;min-height:0;border-radius:0!important;background:transparent!important;padding:0 10px!important;box-shadow:none!important}.schedule-quick-row .time-input:focus-within,.enroll-edit-schedule-row .time-input:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #004B87) 14%,transparent),inset 0 1px #ffffffdb}.enroll-edit-section{display:grid;gap:10px;padding:14px;border-radius:17px;background:#ffffff80;border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 1px #ffffffad}.enroll-edit-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.enroll-edit-schedule-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.enroll-edit-schedule-actions button.exam{border-color:#a7f3d0e6;background:#ecfdf5db;color:#047857}.enroll-edit-schedule-actions button.vacation{border-color:#ddd6feeb;background:#f5f3ffdb;color:#7c3aed}.enroll-edit-section-title button,.enroll-edit-actions button{min-height:32px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#ffffffa8;color:#475569;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;font-family:inherit;font-size:10.5px;font-weight:800;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffffbd,0 5px 14px #0f172a0e;transition:transform .22s ease,box-shadow .22s ease,color .22s ease,background .22s ease}.enroll-edit-section-title button:hover,.enroll-edit-actions button:hover:not(:disabled){transform:translateY(-1px);color:var(--accent);box-shadow:inset 0 1px #ffffffd1,0 8px 18px #0f172a14}.enroll-edit-schedules,.enroll-edit-schedule-block{display:grid;gap:8px}.enroll-edit-schedule-day-row{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px}.enroll-edit-schedule-label{color:#64748b;font-size:10px;font-weight:750;line-height:1}.enroll-edit-single-day-pill{min-height:36px;padding:0 12px;border-radius:12px;background:#ffffff94;color:#1a2332;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;box-shadow:inset 0 1px #ffffffad,0 1px #0f172a09}.enroll-edit-schedule-row{display:grid;grid-template-columns:minmax(96px,.96fr) minmax(96px,.96fr) minmax(104px,1fr) 32px;gap:7px;align-items:center}.enroll-edit-dock .enroll-edit-schedule-row,.enroll-class-card.editing .enroll-edit-schedule-row{grid-template-columns:minmax(104px,.96fr) minmax(104px,.96fr) minmax(112px,1fr) 32px}.enroll-icon-btn{width:32px;height:32px;border:0;border-radius:999px;background:#ffffffb8;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.enroll-icon-btn.danger{color:#dc2626;background:#fee2e2b8}.enroll-edit-students{display:flex;flex-wrap:wrap;gap:7px}.enroll-edit-students button{border:0;border-radius:999px;padding:7px 9px 7px 11px;background:color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.62));color:#1a2332;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:550;box-shadow:inset 0 1px #ffffff80;transition:transform .22s ease,box-shadow .22s ease}.enroll-edit-students button em{color:#64748b;font-style:normal;font-size:9.5px;font-weight:450}.enroll-edit-students button:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 8px 18px #0f172a1a,inset 0 1px #ffffff9e}.enroll-student-picker{display:grid;gap:8px}.enroll-grade-tabs{display:flex;gap:5px;padding:3px;border-radius:999px;background:#ffffff70;box-shadow:inset 0 1px #ffffffa8}.enroll-grade-tabs button{flex:1;min-height:28px;border:0;border-radius:999px;background:transparent;color:#64748b;font-family:inherit;font-size:10.5px;font-weight:750;cursor:pointer}.enroll-grade-tabs button.active{background:#ffffffe0;color:var(--accent);box-shadow:0 5px 14px #0f172a12,inset 0 1px #ffffffe6}.enroll-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.enroll-edit-actions-left,.enroll-edit-actions-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.enroll-edit-actions-right{justify-content:flex-end;margin-left:auto}.enroll-edit-actions button.primary{border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,white),color-mix(in srgb,var(--accent) 68%,#8FD8FF));color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px #ffffff3d}.enroll-edit-actions button.danger{border-color:transparent;background:radial-gradient(circle at 18% 0%,rgba(248,113,113,.16),transparent 54%),#ffffff9e;color:#b91c1c;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #b91c1c0d}.enroll-edit-actions button.danger.subtle{background:radial-gradient(circle at 18% 0%,rgba(248,113,113,.12),transparent 56%),#ffffff85}.enroll-edit-actions button:disabled{opacity:.48;cursor:not-allowed;transform:none}.enroll-conflict-panel{display:grid;gap:8px;padding:13px;border-radius:17px;background:radial-gradient(circle at 12% 0%,rgba(245,158,11,.13),transparent 44%),linear-gradient(145deg,#ffffff8f,#fffbeb57);border:0;color:#92400e;box-shadow:inset 0 1px #ffffffc2,0 12px 28px #b453090b;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.enroll-conflict-panel.compact{margin-top:12px;background:radial-gradient(circle at 12% 0%,rgba(245,158,11,.11),transparent 44%),linear-gradient(145deg,#ffffff80,#fffbeb4d)}.enroll-card-conflict-pill{margin-top:10px;width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;background:radial-gradient(circle at 16% 0%,rgba(245,158,11,.16),transparent 56%),#ffffff94;border:0;color:#b45309;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enroll-conflict-panel h4{margin:0 0 2px;color:#92400e;font-size:12px;font-weight:800;line-height:1}.enroll-conflict-item{display:grid;gap:4px;padding:10px 11px;border-radius:13px;background:#ffffff70;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #b4530909}.enroll-conflict-item b{color:#b45309;font-size:11px;font-weight:850}.enroll-conflict-item span{color:#475569;font-size:11px;font-weight:650;line-height:1.45}.enroll-conflict-item em,.enroll-conflict-panel p{margin:0;color:#92400e;font-size:10.5px;font-style:normal;font-weight:650;line-height:1.45}.enroll-empty-chip,.enroll-empty-card{color:#94a3b8;font-size:12px;font-weight:750}.enroll-empty-chip{padding:8px 0 0}.enroll-empty-card{padding:44px 16px;text-align:center;border-radius:22px;background:#ffffff7a}.enroll-student-table{max-width:1120px;margin:0 auto}.student-page-header .page-action-toolbar{gap:8px}.student-count-pill{min-height:24px;padding:0 9px;border-radius:999px;background:#ffffff94;color:#64748b;display:inline-flex;align-items:center;font-size:11px;font-weight:750;box-shadow:inset 0 1px #ffffffc2,0 4px 12px #0f172a09}.student-export-btn{border-radius:999px!important;color:#059669!important}.student-add-btn{border-radius:999px!important;padding:0 16px!important;min-height:34px!important;font-size:12px!important}.student-control-shell{position:relative;z-index:35;margin-bottom:14px;padding:10px;border-radius:20px;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at 8% 0%,rgba(0,75,135,.08),transparent 34%),linear-gradient(145deg,#ffffffad,#f8fafc70);box-shadow:0 14px 36px #0f172a0e,inset 0 1px #ffffffc7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-table-card{position:relative;z-index:1}.student-filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.student-floor-tabs{height:34px;box-sizing:border-box;display:flex;align-items:center;gap:2px;padding:2px;border-radius:999px;background:#f1f5f9b3;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffbd}.student-floor-tabs button{height:28px;padding:0 12px;border:none;border-radius:999px;background:transparent;color:#64748b;cursor:pointer;font-family:inherit;font-size:11px;font-weight:750;line-height:1;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.student-floor-tabs button.active{background:#ffffffe6;color:#004b87;box-shadow:0 5px 14px #0f172a12,inset 0 1px #ffffffe0}.student-search-box{height:34px;min-width:210px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 11px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:#ffffffa8;color:#94a3b8;box-shadow:inset 0 1px #ffffffc2,0 5px 14px #0f172a0b}.student-search-box input{width:170px;min-width:0;border:none;outline:none;background:transparent;color:#1a2332;font-family:inherit;font-size:12px;font-weight:600}.student-search-box input::placeholder{color:#94a3b8;font-weight:560}.student-issue-chip{height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(253,230,138,.8);background:#fffbebb8;color:#b45309;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:10.5px;font-weight:800;line-height:1;box-shadow:inset 0 1px #ffffffc2,0 5px 14px #f59e0b14;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.student-issue-chip span{width:6px;height:6px;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b21}.student-issue-chip.active{background:#fef3c7eb;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #f59e0b21}.student-issue-chip:not(.quiet):hover{transform:translateY(-1px)}.student-issue-chip.quiet{border-color:#e2e8f0c7;background:#ffffff6b;color:#94a3b8;cursor:default;box-shadow:inset 0 1px #ffffffad}.student-issue-chip.quiet span{background:#cbd5e1;box-shadow:none}.student-table-card{overflow:auto;border-radius:24px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(145deg,#ffffffb8,#f8fafc7a);box-shadow:0 18px 46px #0f172a11,inset 0 1px #ffffffd1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.student-table{width:100%;min-width:950px;border-collapse:separate;border-spacing:0;font-size:11px}.student-table thead tr{background:#f8fafcad}.student-table th{padding:11px 12px;text-align:left;color:#64748b;font-size:10px;font-weight:760;line-height:1;border-bottom:1px solid rgba(226,232,240,.72);cursor:default;white-space:nowrap}.student-table th.active{color:#004b87}.student-table th[onclick],.student-table th:hover{cursor:pointer}.student-table tbody tr{cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.student-table tbody tr+tr td{border-top:1px solid rgba(241,245,249,.86)}.student-table tbody tr:hover{background:#ffffff94;box-shadow:inset 3px 0 #004b8747}.student-table tbody tr.inactive{opacity:.55}.student-table td{padding:10px 12px;color:#64748b;font-size:10.5px;font-weight:580;line-height:1.35;vertical-align:middle}.student-table .student-name-cell{color:#1a2332;font-size:11.5px;font-weight:760}.student-table .leave-date{color:#dc2626;font-weight:700}.fancy-date-input{position:relative;width:100%;min-width:0}.fancy-date-trigger{width:100%;min-height:36px;padding:0 12px;border:0;border-radius:999px;background:#ffffff9e;color:#64748b;display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;font-family:inherit;font-size:12px;font-weight:720;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffffc7,0 6px 16px #0f172a0b;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.fancy-date-trigger:hover,.fancy-date-trigger.open{background:#ffffffd1;box-shadow:0 0 0 3px #004b871a,inset 0 1px #ffffffd6,0 10px 22px #0f172a11}.fancy-date-trigger.has-value{color:#1a2332}.fancy-date-trigger svg{color:#004b87;flex-shrink:0}.fancy-date-popover{position:fixed;z-index:9999;width:244px;padding:14px;border-radius:20px;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.1),transparent 38%),linear-gradient(145deg,#ffffffe0,#f8fafcad);border:1px solid rgba(255,255,255,.76);box-shadow:0 24px 60px #0f172a29,inset 0 1px #ffffffdb;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:modalContentIn .2s cubic-bezier(.25,1,.5,1) both}.fancy-date-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.fancy-date-head b{color:#1a2332;font-size:12px;font-weight:820}.fancy-date-head button{width:28px;height:28px;border:0;border-radius:999px;background:#ffffff9e;color:#64748b;font-family:inherit;font-size:16px;font-weight:800;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffffc7,0 5px 13px #0f172a0b}.fancy-date-weekdays,.fancy-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.fancy-date-weekdays{margin-bottom:5px}.fancy-date-weekdays span{text-align:center;color:#94a3b8;font-size:9px;font-weight:760;line-height:1;padding:4px 0}.fancy-date-grid button{height:28px;border:0;border-radius:10px;background:transparent;color:#1a2332;font-family:inherit;font-size:11px;font-weight:650;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.fancy-date-grid button:hover:not(:disabled){background:#ffffffa8;transform:translateY(-1px)}.fancy-date-grid button.today:not(.selected){color:#004b87;background:#eff6ffcc;box-shadow:inset 0 0 0 1px #93c5fd73}.fancy-date-grid button.selected{color:#fff;background:linear-gradient(135deg,#004b87,color-mix(in srgb,#004B87 72%,#8FD8FF));box-shadow:0 8px 18px #004b8729,inset 0 1px #ffffff3d}.fancy-date-grid button.sunday:not(.selected){color:#dc2626}.fancy-date-grid button.saturday:not(.selected){color:#2563eb}.fancy-date-grid button:disabled{opacity:.24;cursor:default}.student-editor-date .fancy-date-trigger{min-height:40px;justify-content:flex-start;font-size:13px}.student-editor-date.compact .fancy-date-trigger{min-height:34px;font-size:12px}.student-detail-view{max-width:1180px;margin:0 auto}.student-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:16px;align-items:start}.student-detail-main,.student-detail-side{display:grid;gap:14px;min-width:0;align-content:start}.student-detail-view>div[style*="background: white"],.student-detail-view>div>div[style*="background: white"],.student-detail-main>div[style*="background: white"],.student-detail-side>div[style*="background: white"],.student-detail-side>div>div[style*="background: white"]{background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.08),transparent 38%),linear-gradient(145deg,#ffffffad,#f8fafc73)!important;border:0!important;border-radius:24px!important;box-shadow:0 18px 46px #0f172a11,inset 0 1px #ffffffd1!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.student-detail-view button{font-family:inherit}.student-detail-view>div:first-of-type button:first-child{border-radius:999px;min-height:30px;padding:0 12px!important;background:#ffffff7a!important;box-shadow:inset 0 1px #ffffffbf,0 7px 16px #0f172a0a}.student-detail-view>div:first-of-type button:not(:first-child){border:0!important;border-radius:999px!important;min-height:30px;padding:0 12px!important;background:#ffffff94!important;box-shadow:inset 0 1px #ffffffc2,0 7px 16px #0f172a0d}.student-detail-view input,.student-detail-view select{border-color:#ffffffb8!important;background:#ffffff94!important;box-shadow:inset 0 1px #ffffffb8}.student-detail-view input:focus,.student-detail-view select:focus{box-shadow:0 0 0 3px #004b871f,inset 0 1px #ffffffdb!important}.student-stat-strip{align-items:stretch;flex-wrap:wrap}.student-permanent-delete{min-height:30px;padding:0 11px!important;border:0!important;border-radius:999px!important;background:#fef2f28f!important;color:#b91c1c!important;display:inline-flex;align-items:center;gap:4px;font-size:10.5px!important;font-weight:650;cursor:pointer;box-shadow:inset 0 1px #ffffffb3,0 6px 14px #b91c1c0d!important}.student-profile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.student-profile-actions button{min-height:29px;padding:0 10px;border:0;border-radius:999px;background:#ffffff8a;color:#475569;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:650;cursor:pointer;box-shadow:inset 0 1px #ffffffbd,0 5px 13px #0f172a0a}.student-profile-actions button.withdraw{background:#fff7ed94;color:#c2410c}.student-profile-actions button:disabled{opacity:.48;cursor:default}.student-stat-card{position:relative;min-width:82px;overflow:hidden;border:0!important;border-radius:18px!important;background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.7),transparent 42%),#ffffff75!important;box-shadow:inset 0 1px #ffffffbd,0 10px 22px #0f172a0b;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.student-stat-card>div{position:relative;z-index:1}.student-stat-card.attendance:before{content:"";position:absolute;inset:auto 0 0;height:var(--rate, 0%);min-height:3px;background:linear-gradient(0deg,#10b9813d,#10b98114);transition:height .45s ease}.student-stat-card.absent{background:radial-gradient(circle at 18% 0%,rgba(220,38,38,.08),transparent 44%),#ffffff75!important}.student-stat-card.late{background:radial-gradient(circle at 18% 0%,rgba(245,158,11,.1),transparent 44%),#ffffff75!important}.student-section-label{color:#475569!important;font-size:12px!important;font-weight:780!important;letter-spacing:0}.student-enrollment-history{margin-top:14px;padding:12px 13px;border-radius:16px;background:#ffffff52;box-shadow:inset 0 1px #ffffffa8}.student-enrollment-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.student-enrollment-history-head span{color:#475569;font-size:11px;font-weight:650}.student-enrollment-history-head small{color:#94a3b8;font-size:9px;font-weight:500}.student-enrollment-history-list{display:grid}.student-enrollment-history-row{display:grid;grid-template-columns:7px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:29px;color:#64748b;font-size:10px;border-top:1px solid rgba(226,232,240,.52)}.student-enrollment-history-row:first-child{border-top:0}.student-enrollment-history-dot{width:6px;height:6px;border-radius:999px;background:#cbd5e1}.student-enrollment-history-row.active .student-enrollment-history-dot{background:#10b981;box-shadow:0 0 0 4px #10b9811a}.student-enrollment-history-name{min-width:0;overflow:hidden;color:#475569;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.student-enrollment-history-status{padding:2px 6px;border-radius:999px;background:#f1f5f9ad;color:#94a3b8;font-size:8.5px;font-weight:650}.student-enrollment-history-row.active .student-enrollment-history-status{background:#ecfdf5b8;color:#059669}.student-enrollment-history-date{color:#94a3b8;font-size:9px;font-weight:500;white-space:nowrap}.student-class-list{gap:8px!important}.student-class-item{border:0!important;border-radius:16px!important;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--class-accent, #004B87) 13%,transparent),transparent 42%),#ffffff70!important;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #0f172a0b;min-height:44px}.student-class-item>span:first-child{box-shadow:0 0 0 5px color-mix(in srgb,var(--class-accent, #004B87) 12%,transparent)}.student-link-pill{border:0!important;background:#ffffff85!important;box-shadow:inset 0 1px #ffffffbf,0 5px 13px #0f172a0a}.student-soft-empty{border:0!important;background:#ffffff61!important;box-shadow:inset 0 1px #ffffffad}.student-subject-section{background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.07),transparent 38%),linear-gradient(145deg,#ffffffa3,#f8fafc6b)!important;border:0!important;border-radius:24px!important;box-shadow:0 18px 46px #0f172a11,inset 0 1px #ffffffd1!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.student-subject-head h3{font-weight:650!important}.student-subject-select{border:0!important;border-radius:999px!important;background:#ffffff94!important;box-shadow:inset 0 1px #ffffffb8,0 5px 14px #0f172a0b}.student-subject-add{border-radius:999px!important;background:linear-gradient(135deg,#004b87,color-mix(in srgb,#004B87 72%,#8FD8FF))!important;box-shadow:0 10px 20px #004b8724,inset 0 1px #ffffff38;font-weight:650}.student-subject-item{border:0!important;border-radius:16px!important;background:radial-gradient(circle at 12% 0%,rgba(0,75,135,.07),transparent 42%),#ffffff70!important;box-shadow:inset 0 1px #ffffffbd,0 8px 18px #0f172a0b}.student-subject-item.inactive{background:radial-gradient(circle at 12% 0%,rgba(148,163,184,.08),transparent 42%),#ffffff57!important;opacity:.82}.student-subject-create-panel{display:grid;gap:8px;margin-bottom:10px;padding:11px;border-radius:15px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffad}.student-subject-create-panel>span{color:#64748b;font-size:10px;font-weight:550}.student-subject-create-panel>div{display:flex;flex-wrap:wrap;gap:6px}.student-subject-create-panel button{min-height:28px;padding:0 10px;border:0;border-radius:999px;background:#ffffffad;color:#475569;font-size:10px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #fffc,0 4px 10px #0f172a09}.student-subject-classes{display:grid;gap:5px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(226,232,240,.58)}.student-subject-classes-head,.student-subject-assign-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-subject-classes-head>span{color:#64748b;font-size:10px;font-weight:600}.student-subject-classes-head button,.student-subject-class-row>button,.student-subject-assign-panel button{border:0;border-radius:999px;background:#ffffff9e;color:#004b87;font-family:inherit;font-size:9.5px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px #ffffffc2}.student-subject-classes-head button{min-height:25px;padding:0 9px;display:inline-flex;align-items:center;gap:3px}.student-subject-class-row{display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:12px;background:#ffffff6b;box-shadow:inset 0 1px #ffffff9e}.student-subject-class-row>span,.student-subject-assign-panel>button>span{display:grid;gap:2px;min-width:0;flex:1}.student-subject-class-row b,.student-subject-assign-panel b{color:#1a2332;font-size:10.5px;font-weight:600}.student-subject-class-row small,.student-subject-assign-panel small{color:#94a3b8;font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-subject-class-row>button{min-height:23px;padding:0 8px}.student-subject-class-row>button.remove{padding:0;min-width:23px;color:#94a3b8}.student-subject-class-empty,.student-subject-assign-panel p{margin:0;padding:6px 8px;color:#94a3b8;font-size:10px}.student-subject-assign-panel{display:grid;gap:5px;margin-top:3px;padding:9px;border-radius:13px;background:#eff6ff94;box-shadow:inset 0 1px #ffffffb8}.student-subject-assign-panel>div:first-child>button{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:#94a3b8}.student-subject-assign-panel>button:not(.student-subject-assign-advanced){display:flex;align-items:center;gap:8px;padding:7px 8px;text-align:left;border-radius:10px}.student-subject-assign-panel em{color:#2563eb;font-size:9px;font-style:normal}.student-subject-assign-advanced{justify-self:start;margin-top:3px;padding:5px 8px;color:#64748b!important}.student-subject-date{width:118px}.student-subject-date .fancy-date-trigger{min-height:27px;padding:0 9px;font-size:10px;font-weight:720;gap:4px}.student-subject-date .fancy-date-popover{left:0;right:auto}.student-history-card{max-height:380px;overflow:auto}.student-history-card button{border-bottom:0!important;border-radius:14px;padding:10px!important;margin-bottom:4px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.student-history-card button:hover{background:#ffffff75!important;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #0f172a0b;transform:translateY(-1px)}.student-danger-zone{position:sticky;top:14px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-radius:22px;background:radial-gradient(circle at 12% 0%,rgba(220,38,38,.08),transparent 38%),#ffffff75;box-shadow:inset 0 1px #ffffffb8,0 14px 32px #0f172a0b}.student-danger-zone b{display:block;color:#991b1b;font-size:12px;font-weight:780;margin-bottom:4px}.student-danger-zone span{display:block;color:#64748b;font-size:11px;line-height:1.45}.student-danger-zone button{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;min-height:32px;padding:0 13px;border:0;border-radius:999px;background:#fef2f2cc;color:#dc2626;font-size:11px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffffc7,0 10px 22px #dc262614}.student-memo-card{margin-bottom:0!important}.student-memo-card.counseling{background:radial-gradient(circle at 12% 0%,rgba(245,158,11,.1),transparent 38%),linear-gradient(145deg,#ffffffa8,#fffbeb5c)!important}.student-counsel-card{border:1px solid rgba(255,255,255,.62)!important;box-shadow:0 14px 34px #5a709614,inset 0 1px #ffffff8a}.student-counsel-header{gap:12px}.student-counsel-title{color:#1a2332!important}.student-counsel-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff9;color:#b45309!important;font-weight:800;box-shadow:inset 0 1px #ffffffc7,0 6px 16px #b453090f}.student-memo-item{border:0!important;border-radius:16px!important;background:radial-gradient(circle at 10% 0%,rgba(0,75,135,.055),transparent 42%),#ffffff6b!important;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #0f172a0a}.student-memo-item.important{background:radial-gradient(circle at 10% 0%,rgba(249,115,22,.1),transparent 42%),#ffffff6b!important}.student-memo-item.counseling{background:radial-gradient(circle at 10% 0%,rgba(245,158,11,.09),transparent 42%),#ffffff61!important}.student-counsel-item{display:flex;flex-direction:column}.student-counsel-item:not(.editing){padding:12px!important;border-radius:14px!important;border:0!important;background:linear-gradient(180deg,#ffffffbd,#ffffff7a)!important;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #ec48990a}.student-counsel-item.is-unread:not(.editing){background:linear-gradient(180deg,#ffffffeb,#f8fafcb8)!important;box-shadow:inset 0 0 0 1px #3b82f621,0 8px 22px #0f172a0e}.student-counsel-item.is-read:not(.editing){opacity:.78;background:#f8fafcb8!important}.status-badge{display:inline-flex;align-items:center;min-height:19px;padding:1px 7px;border-radius:999px;font-size:9px;font-weight:800}.status-badge-info{color:#1d4ed8;background:#dbeafe}.status-badge-neutral{color:#64748b;background:#e2e8f0}.student-memo-add:disabled,.student-read-toggle:disabled{cursor:wait!important;opacity:.68}.toast-action{flex:0 0 auto;min-height:30px;padding:0 10px;border:0;border-radius:9px;color:#004b87;background:#dbeafec7;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.toast-action:hover{background:#dbeafe}.toast-action:focus-visible{outline:3px solid rgba(59,130,246,.24);outline-offset:2px}.admin-notice-workspace{width:min(1180px,100%);margin:0 auto}.admin-notice-workspace-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.admin-notice-workspace-head span{color:#7b8798;font-size:11px;font-weight:750}.admin-notice-workspace-head h2{margin:3px 0 4px;color:#14223a;font-size:clamp(22px,3vw,30px)}.admin-notice-workspace-head p{margin:0;color:#7b8798;font-size:12px}.notice-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.notice-manager-search{min-width:min(380px,100%);height:40px;padding:0 12px;display:flex;align-items:center;gap:8px;color:#7b8798;background:#f8fafce0;border:1px solid #e2e8f0;border-radius:12px}.notice-manager-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#1a2332;font:inherit;font-size:12px}.notice-manager-filter{display:inline-flex;gap:3px;padding:3px;border-radius:11px;background:#f1f5f9}.notice-manager-filter button{min-height:32px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:#64748b;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.notice-manager-filter button.active{color:#1a2332;background:#fff;box-shadow:0 2px 7px #0f172a14}.notice-manager-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.notice-manager-fields,.notice-compact-editor{display:flex;flex-direction:column;gap:10px}.notice-manager-fields label{display:grid;gap:6px}.notice-manager-fields label>span{color:#64748b;font-size:10px;font-weight:800}.notice-manager-fields .admin-soft-input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;outline:0;color:#1a2332;background:#f8fafcb8;font:inherit;font-size:12px;line-height:1.65}.notice-manager-editor .notice-editor-preview{min-height:360px;margin:0;overflow:auto}.notice-manager-editor>div:last-child{grid-column:1 / -1}@media(max-width:760px){.notice-manager-toolbar{align-items:stretch;flex-direction:column}.notice-manager-search{min-width:0}.notice-manager-filter{display:grid;grid-template-columns:repeat(3,1fr)}.notice-manager-editor{grid-template-columns:1fr}.notice-manager-editor>div:last-child{grid-column:auto}.notice-manager-editor .notice-editor-preview{min-height:220px}}.student-counsel-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:10px;font-weight:700;color:#94a3b8}.student-counsel-meta-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.student-counsel-author{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#ffffffbd;color:#db2777;font-size:10px;font-weight:800;box-shadow:inset 0 1px #ffffffd6,0 6px 14px #ec48990f}.student-counsel-important{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#ffedd5c7;color:#c2410c;font-size:9px;font-weight:800;box-shadow:inset 0 1px #ffffffc7}.student-counsel-body{padding:10px 11px;border-radius:12px;background:#ffffff94;box-shadow:inset 0 1px #ffffffc7;line-height:1.62}.student-counsel-actions{width:100%}.student-counsel-actions .student-read-toggle{border-radius:999px!important;min-height:30px;padding:0 10px!important;box-shadow:inset 0 1px #ffffffc7,0 6px 14px #0f172a0a}.student-memo-input-row{padding:7px;border-radius:18px;background:#ffffff5c;box-shadow:inset 0 1px #ffffffad}.student-important-toggle{min-height:32px;padding:0 10px;border-radius:999px;background:#ffffff85;cursor:pointer;font-weight:760!important;box-shadow:inset 0 1px #ffffffb8,0 5px 13px #0f172a09}.student-important-toggle input{width:13px;height:13px;margin:0}.student-important-toggle.active{color:#c2410c!important;background:#ffedd5c2}.student-memo-input{min-height:34px;border:0!important;border-radius:999px!important;background:#ffffffa3!important;box-shadow:inset 0 1px #ffffffc7!important}.student-memo-add{min-height:34px;border-radius:999px!important;padding:0 15px!important;background:linear-gradient(135deg,#004b87,color-mix(in srgb,#004B87 72%,#8FD8FF))!important;box-shadow:0 10px 20px #004b8724,inset 0 1px #ffffff38;font-weight:800!important;line-height:1}.student-memo-add.counseling{background:linear-gradient(135deg,#b45309,color-mix(in srgb,#B45309 68%,#FCD34D))!important;box-shadow:0 10px 20px #b453091f,inset 0 1px #ffffff38}.student-counsel-tabs{height:32px;padding:2px!important;border-radius:999px!important;background:#fffbeb9e!important;box-shadow:inset 0 1px #ffffffb8}.student-counsel-tabs button{height:28px;border-radius:999px!important;padding:0 10px!important;line-height:1;box-shadow:none!important}.student-counsel-tabs button.active{background:#ffffffdb!important;box-shadow:0 5px 14px #b4530914,inset 0 1px #ffffffd6!important}.student-read-toggle{border:0!important;border-radius:999px!important;background:#ffffff8a!important;box-shadow:inset 0 1px #ffffffb8,0 5px 13px #0f172a09}@media(max-width:1024px){.student-detail-layout{grid-template-columns:1fr}.student-history-card{max-height:none}.student-danger-zone{position:static}}@media(max-width:720px){.student-stat-strip,.student-memo-input-row{width:100%}.student-stat-card{flex:1 1 84px}.student-memo-input-row{align-items:stretch!important;flex-wrap:wrap}.student-memo-input{flex-basis:100%;order:-1}}.student-editor-modal{width:min(700px,92vw)!important;background:radial-gradient(circle at 10% 0%,rgba(15,118,110,.09),transparent 34%),radial-gradient(circle at 100% 10%,rgba(59,130,246,.1),transparent 38%),linear-gradient(145deg,#ffffffe0,#f8fafcb8)!important;border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 70px #0f172a29,0 8px 24px #0f172a0f,inset 0 1px #ffffffdb!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.student-editor-body{display:grid;gap:16px}.student-editor-top{display:grid;gap:6px}.student-editor-kicker{font-size:11px;font-weight:800;color:#0f766e;text-transform:uppercase;letter-spacing:.08em}.student-editor-stack{display:grid;gap:14px}.student-editor-section{display:grid;gap:12px;padding:18px;border-radius:22px;background:linear-gradient(145deg,#ffffffb8,#f8fafc75);box-shadow:0 18px 46px #0f172a11,inset 0 1px #ffffffd1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.student-editor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-editor-section-title{margin:0;font-size:15px;font-weight:800;color:#1f2937}.student-editor-section-note{font-size:11px;font-weight:650;color:#94a3b8;text-align:right;line-height:1.45}.student-editor-title{margin:0;color:#1f2937;font-size:24px;font-weight:750;line-height:1.2}.student-editor-subtitle{margin:0;color:#64748b;font-size:12px;font-weight:600;line-height:1.45}.student-editor-modal label{color:#64748b!important;font-size:11px!important;font-weight:750!important}.student-editor-label{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px}.student-editor-label--row{width:100%;justify-content:space-between;gap:12px}.student-editor-label-main{display:inline-flex;align-items:center;gap:4px}.student-editor-grid{display:grid;gap:12px}.student-editor-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.student-editor-grid--profile{grid-template-columns:minmax(0,1.45fr) minmax(92px,.82fr) minmax(88px,.7fr)}.student-editor-grid--contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-editor-grid--status{grid-template-columns:minmax(0,1fr)}.student-editor-field{min-width:0}.student-editor-field--full{grid-column:1 / -1}.student-editor-status-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;min-height:46px;border-radius:18px;background:#f1f5f9e0;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #0f172a09}.student-editor-status-option{min-height:38px;border:0;border-radius:14px;background:transparent;color:#94a3b8;font-size:12px;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.student-editor-status-option.is-active{background:linear-gradient(135deg,#fffffff5,#f8fafcd6);color:#0f6cbd;box-shadow:0 8px 16px #0f172a14,inset 0 1px #ffffffe0}.student-editor-status-option:hover{transform:translateY(-1px)}.student-editor-status-chipset{display:flex;flex-wrap:wrap;gap:8px}.student-editor-status-chip{min-height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#ffffffb8;color:#64748b;font-size:12px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px #ffffffd6,0 8px 18px #0f172a0a;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,border-color .16s ease}.student-editor-status-chip:hover{transform:translateY(-1px)}.student-editor-status-chip.is-active{color:#0f6cbd;border-color:#60a5fa7a;background:linear-gradient(135deg,#eff6fff5,#dbeafedb);box-shadow:0 12px 22px #3b82f624,inset 0 1px #ffffffe0}.student-editor-modal input,.student-editor-modal select{min-height:44px;padding:0 16px;appearance:none;-webkit-appearance:none;border:0!important;border-radius:16px!important;background:#ffffffad!important;color:#1f2937!important;font-family:inherit;font-size:13px;font-weight:600;line-height:1;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #0f172a09}.student-editor-modal input:focus,.student-editor-modal select:focus{box-shadow:0 0 0 3px #004b8721,inset 0 1px #ffffffdb,0 14px 28px #0f172a0e!important}.student-editor-address-shell{display:grid;gap:10px;padding:14px;border-radius:20px;background:radial-gradient(circle at 0% 0%,rgba(14,165,233,.08),transparent 34%),linear-gradient(145deg,#ffffffbd,#f8fafc85);box-shadow:inset 0 1px #ffffffd1,0 10px 24px #0f172a0a}.student-editor-address-btn{display:inline-flex;align-items:center;gap:6px;border:0!important;background:#ffffffc2!important;color:#0f766e!important;padding:9px 14px!important;font-size:11px!important;font-weight:800!important;box-shadow:inset 0 1px #ffffffc7,0 8px 18px #0f172a0b}.student-editor-address-note{margin:0;font-size:11px;color:#94a3b8;line-height:1.5}.student-editor-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.student-editor-address-input--detail{background:#f7fafcdb!important}.student-editor-actions{display:flex;gap:10px;margin-top:24px}.student-editor-action-btn{flex:1;min-height:46px;appearance:none;-webkit-appearance:none;border:0;border-radius:16px;font-size:13px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.student-editor-action-btn:hover{transform:translateY(-1px)}.student-editor-action-btn--ghost{background:linear-gradient(145deg,#ffffffeb,#f8fafcb8);color:#64748b;box-shadow:inset 0 1px #ffffffd6,0 10px 24px #0f172a0d}.student-editor-action-btn--primary{background:linear-gradient(135deg,#0f6cbd,#3b82f6 48%,#60a5fa);color:#fff;box-shadow:0 16px 28px #3b82f63d,inset 0 1px #ffffff3d}.student-editor-add-subject{padding:10px 14px!important;border:1px solid rgba(255,255,255,.7)!important;background:#ffffffc2!important;color:#0f766e!important;font-size:11px!important;font-weight:800!important;display:inline-flex;align-items:center;gap:4px;box-shadow:inset 0 1px #fffc,0 10px 20px #0f172a09;outline:none!important}.student-editor-empty{font-size:11px;color:#94a3b8;padding:12px 14px;background:#f8fafcc7;border-radius:16px;text-align:center}.student-editor-subject-list{display:grid;gap:8px}.student-editor-subject-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:8px;align-items:center}.student-editor-subject-row select{min-height:46px!important;padding-right:38px!important}.student-editor-subject-row .student-editor-date .fancy-date-trigger{min-height:46px}.student-editor-remove-subject{width:34px;height:44px;padding:0!important;border:0!important;background:#fee2e2e0!important;color:#dc2626!important;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffffc7}.student-editor-inline-clear{border:0!important;background:#ffffffb8!important;color:#94a3b8!important;padding:8px 12px!important;font-size:10px!important;font-weight:800!important;box-shadow:inset 0 1px #ffffffc2,0 6px 14px #0f172a09}.student-editor-subsection{display:grid;gap:10px}.student-editor-subsection+.student-editor-subsection{margin-top:4px}.student-editor-subsection-label{margin:0;color:#94a3b8;font-size:11px;font-weight:700;line-height:1.4}.student-editor-modal button{border-radius:14px!important;font-family:inherit;line-height:1}.student-editor-modal button[style*="background: white"]{border:0!important;background:#ffffffb8!important;color:#64748b!important;box-shadow:inset 0 1px #ffffffc2,0 7px 16px #0f172a0d}.student-editor-actions button:last-child{background:linear-gradient(135deg,#0f766e,color-mix(in srgb,#0f766e 74%,#8FD8FF))!important;box-shadow:0 12px 24px #0f766e29,inset 0 1px #ffffff38!important}.student-subject-badges{display:flex;gap:3px;flex-wrap:wrap}.student-address-cell{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.student-editor-grid--profile,.student-editor-grid--contacts,.student-editor-grid--2,.student-editor-subject-row{grid-template-columns:1fr}.student-editor-section-head{flex-direction:column}.student-editor-section-note{text-align:left}}@media(max-width:767px){.page-action-toolbar{justify-content:flex-start!important;width:100%}.page-action-stack{width:100%}.glass-action-btn,.glass-month-nav{flex:1 1 auto}.schedule-action-stack,.next-schedule-banner,.schedule-month-mode,.schedule-scope-control,.schedule-segmented-control{width:100%}.schedule-segmented-control button{flex:1 1 0}.log-action-stack,.log-action-toolbar,.log-control-shell{width:100%}.log-action-toolbar{flex-wrap:nowrap!important}.log-today-btn{min-width:48px!important}.log-control-shell{align-items:stretch}.log-view-tabs,.log-filter-wrap{width:100%}.schedule-subject-pill-wrap{width:100%;display:block}.schedule-control-shell,.schedule-control-cluster{width:100%}.schedule-control-cluster.left,.schedule-control-cluster.right{justify-content:stretch;margin-left:0}.schedule-control-cluster>*{flex:1 1 auto}.schedule-subject-pill-trigger{width:100%}.schedule-subject-pill-rail{display:none}.schedule-subject-pill-mobile{display:block}.log-view-tabs button{flex:1;justify-content:center}.log-start-btn{width:100%;justify-content:center}.pending-log-item{grid-template-columns:1fr;grid-template-areas:"time" "info" "actions"}.pending-log-actions{justify-content:stretch}.log-list-topline{justify-content:flex-start;margin-bottom:10px}.log-status-legend.pending{width:100%;justify-content:flex-start;padding-left:47px}.log-filter-panel{position:static;width:100%;margin-top:8px}.log-filter-panel.open{max-height:118px}.next-schedule-banner{align-items:stretch;flex-direction:column}.schedule-peek-card{align-items:stretch;flex-direction:column;padding:14px}.schedule-peek-floating{left:12px;right:12px;bottom:12px;width:auto;max-height:calc(100vh - 24px)}.schedule-peek-actions{justify-content:stretch;flex-wrap:wrap}.schedule-peek-actions button:not(.icon){flex:1 1 120px}.schedule-quick-row{grid-template-columns:1fr 1fr}.teacher-schedule-head,.teacher-schedule-body,.extra-session-panel{padding-left:12px;padding-right:12px}.extra-session-item{grid-template-columns:30px 7px minmax(0,1fr) auto;gap:8px}.extra-session-copy p{flex-wrap:wrap;gap:4px 7px}.schedule-quick-remove{width:100%}.enroll-control-shell{align-items:stretch}.enroll-subject-tabs,.enroll-filter-wrap{width:100%}.enroll-subject-tabs{overflow-x:auto}.enroll-subject-tabs button{flex:1 0 auto}.enroll-filter-panel{position:static;width:100%;margin-top:8px}.enroll-filter-panel.open{max-height:118px}.enroll-masonry,.enroll-expanded-grid{grid-template-columns:1fr}.enroll-expanded-actions{justify-content:stretch;flex-direction:column}.enroll-expanded-actions button{justify-content:center;width:100%}.enroll-edit-grid,.enroll-edit-schedule-row,.enroll-detail-dock-grid,.enroll-edit-dock-grid{grid-template-columns:1fr}.enroll-class-card.editing{grid-column:span 1}.enroll-class-card.editing .enroll-edit-grid,.enroll-class-card.editing .enroll-edit-schedule-row,.enroll-class-card.editing .enroll-expanded-grid{grid-template-columns:1fr}.enroll-class-card.editing .enroll-field.wide{grid-column:1 / -1}.enroll-edit-actions{align-items:stretch;flex-direction:column}.enroll-edit-actions-left,.enroll-edit-actions-right{align-items:stretch;flex-direction:column;width:100%}.enroll-edit-actions-right{margin-left:0}.enroll-edit-actions button{width:100%}.enroll-detail-dock,.enroll-edit-dock .enroll-edit-panel{padding:16px}.enroll-card-top{padding:22px 20px 16px}.enroll-student-chips,.enroll-class-card.expanded .enroll-expanded-detail{padding:0 20px 22px}}@media(min-width:768px)and (max-width:1120px){.dashboard-widget-rail,.enroll-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.enroll-class-card.editing{grid-column:1 / -1}.enroll-detail-dock-grid,.enroll-edit-dock-grid,.enroll-edit-dock .enroll-edit-grid{grid-template-columns:1fr}}@media(min-width:1440px){.enroll-masonry{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentIn{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{animation:modalOverlayIn .2s ease both}.modal-content{animation:modalContentIn .28s cubic-bezier(.25,1,.5,1) both}.modal-overlay.is-closing{animation:modalOverlayOut .18s ease both;pointer-events:none}.modal-overlay.is-closing .modal-content{animation:modalContentOut .18s ease both}@keyframes modalOverlayOut{to{opacity:0}}@keyframes modalContentOut{to{opacity:0;transform:scale(.98) translateY(10px)}}@media(max-width:640px){.modal-overlay.has-mobile-sheet{align-items:flex-end!important;padding:0!important}.modal-overlay.has-mobile-sheet .modal-content{width:100%!important;max-width:100%!important;max-height:min(88dvh,760px)!important;margin:0!important;border-radius:28px 28px 0 0!important;animation-name:modalSheetIn}.modal-overlay.has-mobile-sheet.is-closing .modal-content{animation-name:modalSheetOut}}@keyframes modalSheetIn{0%{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSheetOut{to{opacity:0;transform:translateY(36px)}}.confirm-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#11111247;backdrop-filter:blur(12px) saturate(110%);-webkit-backdrop-filter:blur(12px) saturate(110%);animation:confirmOverlayIn .16s ease-out both}.confirm-card{width:min(360px,100%);box-sizing:border-box;padding:22px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:#f8f8faf0;box-shadow:0 24px 70px #0000002e,0 4px 16px #00000012;backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);animation:confirmCardIn .24s cubic-bezier(.25,1,.5,1) both}.confirm-icon{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 13px;border:0;border-radius:50%;box-shadow:none}.confirm-message{margin:0 auto 22px;max-width:31ch;white-space:pre-line;text-align:center;color:#1f2937;font-size:14px;font-weight:650;line-height:1.65}.confirm-actions{display:flex;gap:8px;margin-top:20px}.confirm-actions button{flex:1 1 0;min-width:0;min-height:40px;padding:0 14px;border:0;border-radius:11px;font-family:inherit;font-size:12px;font-weight:650;letter-spacing:-.01em;line-height:1;cursor:pointer;box-shadow:none;transition:background-color .14s ease,color .14s ease,transform .1s ease}.confirm-actions button.primary{border-color:transparent;background:linear-gradient(135deg,#004b87,color-mix(in srgb,#004B87 72%,#8FD8FF));color:#fff;box-shadow:0 12px 24px #004b8729,inset 0 1px #ffffff38}.confirm-actions button:hover{box-shadow:none}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#94a3b8}button{font-family:inherit;transition:transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s cubic-bezier(.25,1,.5,1),filter .2s ease,background .2s ease}button:hover{filter:brightness(.93)}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)!important}.responsive-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.stat-grid-fixed{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.app-bg{--bg-base: #eef5fb;--bg-sheen: rgba(255,255,255,.92);--bg-accent-1: rgba(118, 182, 255, .38);--bg-accent-2: rgba(145, 222, 231, .28);--bg-accent-3: rgba(255, 214, 196, .22);--bg-focus-x: 82%;--bg-focus-y: 12%;--bg-low-x: 74%;--bg-low-y: 88%;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 12% 16%,rgba(255,255,255,.82),transparent 22%),linear-gradient(180deg,#ffffffbd,#ffffff75 40%,#ffffff47),linear-gradient(135deg,color-mix(in srgb,var(--bg-base) 90%,white 10%),color-mix(in srgb,var(--bg-base) 78%,white 22%))}.app-bg:before,.app-bg:after{content:"";position:absolute;inset:-12%;pointer-events:none;z-index:0;transform:translateZ(0)}.app-bg:before{background:radial-gradient(46% 38% at var(--bg-focus-x) var(--bg-focus-y),var(--bg-accent-1),transparent 68%),radial-gradient(39% 32% at var(--bg-low-x) var(--bg-low-y),var(--bg-accent-2),transparent 70%),radial-gradient(38% 32% at 18% 84%,var(--bg-accent-3),transparent 74%);mix-blend-mode:normal;animation:appWaterDrift 11s ease-in-out infinite}.app-bg:after{background:radial-gradient(36% 28% at calc(var(--bg-focus-x) - 8%) calc(var(--bg-focus-y) + 8%),rgba(255,255,255,.24),transparent 74%),radial-gradient(44% 36% at calc(var(--bg-low-x) - 8%) calc(var(--bg-low-y) - 4%),color-mix(in srgb,var(--bg-accent-1) 62%,white 38%),transparent 78%),radial-gradient(34% 28% at 88% 90%,color-mix(in srgb,var(--bg-accent-2) 70%,white 30%),transparent 80%);opacity:.92;filter:blur(28px);animation:appWaterWave 9s ease-in-out infinite}.app-bg>*{position:relative;z-index:1}.page-tone-home{--bg-base: #edf4fb;--bg-accent-1: rgba(111, 177, 255, .44);--bg-accent-2: rgba(148, 225, 235, .32);--bg-accent-3: rgba(255, 219, 196, .22);--bg-focus-x: 84%;--bg-focus-y: 14%;--bg-low-x: 68%;--bg-low-y: 88%}.page-tone-schedule{--bg-base: #f4f7ee;--bg-accent-1: rgba(165, 230, 194, .46);--bg-accent-2: rgba(126, 214, 201, .34);--bg-accent-3: rgba(255, 235, 194, .22);--bg-focus-x: 88%;--bg-focus-y: 12%;--bg-low-x: 74%;--bg-low-y: 86%}.page-tone-log{--bg-base: #f8f4ee;--bg-accent-1: rgba(255, 211, 165, .42);--bg-accent-2: rgba(255, 175, 145, .3);--bg-accent-3: rgba(187, 221, 255, .2);--bg-focus-x: 82%;--bg-focus-y: 16%;--bg-low-x: 66%;--bg-low-y: 90%}.page-tone-students{--bg-base: #f5f2fb;--bg-accent-1: rgba(193, 176, 255, .38);--bg-accent-2: rgba(156, 209, 255, .28);--bg-accent-3: rgba(255, 222, 204, .22);--bg-focus-x: 86%;--bg-focus-y: 12%;--bg-low-x: 78%;--bg-low-y: 84%}.page-tone-enroll{--bg-base: #f7f3ee;--bg-accent-1: rgba(255, 205, 173, .4);--bg-accent-2: rgba(255, 165, 188, .26);--bg-accent-3: rgba(182, 217, 255, .2);--bg-focus-x: 85%;--bg-focus-y: 14%;--bg-low-x: 72%;--bg-low-y: 88%}.page-tone-calendar{--bg-base: #eef7f3;--bg-accent-1: rgba(139, 231, 187, .42);--bg-accent-2: rgba(117, 216, 218, .3);--bg-accent-3: rgba(255, 234, 196, .22);--bg-focus-x: 88%;--bg-focus-y: 10%;--bg-low-x: 76%;--bg-low-y: 90%}.page-tone-teachers{--bg-base: #f4f4fb;--bg-accent-1: rgba(180, 189, 255, .38);--bg-accent-2: rgba(150, 220, 223, .28);--bg-accent-3: rgba(255, 222, 204, .2);--bg-focus-x: 84%;--bg-focus-y: 12%;--bg-low-x: 70%;--bg-low-y: 86%}.app-main{flex:1;overflow:auto;padding:22px 26px;position:relative;background:transparent}.glass-card{background:#ffffff8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.65);box-shadow:0 8px 32px #8ca0c826,0 1px 4px #0000000a}.app-main .card-base{background:#ffffff8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 8px 32px #8ca0c826,0 1px 4px #0000000a!important}.calendar-page{gap:0}.calendar-layout{width:100%}.calendar-toolbar{position:sticky;top:0;z-index:2}.calendar-board,.calendar-day-panel,.calendar-upcoming-panel{min-width:0}.calendar-week-row{overflow:visible}.calendar-side{position:sticky;top:16px;align-self:start}.calendar-featured-event{width:100%}.calendar-day-list{max-height:min(58vh,680px)}.calendar-day-cell{position:relative}.calendar-day-cell:hover:not(.selected){background:#ffffff61!important}.calendar-day-cell:after{content:"";position:absolute;inset:6px;border-radius:12px;pointer-events:none;opacity:0;transition:opacity .22s ease;background:radial-gradient(circle at 50% 0%,rgba(0,75,135,.07),transparent 68%)}.calendar-day-cell.selected:after{opacity:1;background:radial-gradient(circle at 50% 10%,rgba(0,75,135,.11),rgba(143,216,255,.06) 38%,transparent 72%)}.calendar-day-cell.today:before{content:"";position:absolute;inset:6px;border-radius:12px;pointer-events:none;border:1.5px solid rgba(0,75,135,.36);box-shadow:inset 0 0 0 1px #ffffffb3}.calendar-day-cell.today.selected:before{border-color:#004b879e}.calendar-cell-summary{display:flex;flex-direction:column;gap:4px;margin-top:2px}.calendar-cell-summary-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-cell-dots{display:inline-flex;align-items:center;gap:5px;min-width:0}.calendar-cell-dot{width:7px;height:7px;border-radius:999px;box-shadow:0 0 0 2px #ffffffd1,0 4px 10px #0f172a14}.calendar-cell-more,.calendar-cell-count{display:inline-flex;align-items:center;min-height:18px;padding:0 6px;border-radius:999px;font-size:9px;font-weight:780;line-height:1;color:#64748b;background:#ffffffa3;box-shadow:inset 0 1px #ffffffd6}.calendar-cell-count{flex-shrink:0}.calendar-cell-preview-list{display:flex;flex-direction:column;gap:2px}.calendar-cell-preview-row{display:flex;align-items:center;gap:4px;min-width:0}.calendar-cell-preview-time{flex-shrink:0;font-size:8px;font-weight:800;color:#2563eb}.calendar-cell-preview-time.muted{color:#94a3b8}.calendar-cell-preview-title{min-width:0;font-size:8px;font-weight:700;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-week-bar{border:none;background:linear-gradient(180deg,#ffffffd6,#f8fafcb8);box-shadow:inset 0 1px #ffffffeb,0 8px 18px #0f172a0b;display:flex;align-items:center;gap:5px;padding:0 8px;text-align:left;white-space:nowrap;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.calendar-week-bar:hover{transform:translateY(-1px);box-shadow:inset 0 1px #fffffff5,0 12px 24px #0f172a0f}.calendar-week-bar-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0;box-shadow:0 0 0 2px #ffffffdb}.calendar-week-bar-time{flex-shrink:0;font-size:8px;font-weight:900;letter-spacing:.01em;opacity:.9}.calendar-week-bar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:800}.calendar-upcoming-panel{overflow:hidden}.calendar-overflow-panel{display:grid;gap:8px;padding:11px 12px;border-radius:16px;background:linear-gradient(180deg,#eff6ffbd,#ffffff94);border:1px solid rgba(191,219,254,.72);box-shadow:inset 0 1px #ffffffd6,0 8px 20px #0f172a0a}.calendar-overflow-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-overflow-head span{font-size:11px;font-weight:800;color:#004b87}.calendar-overflow-head em{font-style:normal;font-size:10px;font-weight:700;color:#64748b}.calendar-overflow-list{display:grid;gap:6px}.calendar-overflow-item{width:100%;border:none;border-radius:12px;padding:9px 10px;display:flex;align-items:center;gap:8px;background:#ffffffb8;text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffffdb,0 4px 12px #0f172a09}.calendar-overflow-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.calendar-overflow-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;color:#1e293b}.calendar-overflow-type{flex-shrink:0;font-size:9px;font-weight:800;border-radius:999px;padding:2px 6px}.calendar-event-row{display:flex;align-items:flex-start;gap:12px;width:100%;border:none;border-radius:14px;background:#ffffffb8;padding:12px 14px;text-align:left;cursor:pointer;box-shadow:0 6px 16px #0f172a0a,inset 0 1px #ffffffe6;transition:box-shadow .18s,transform .18s}.calendar-event-row:hover{box-shadow:0 10px 24px #0f172a14,inset 0 1px #ffffffeb;transform:translateY(-1px)}.calendar-event-row-accent{width:3px;align-self:stretch;border-radius:999px;flex-shrink:0;margin-top:2px}.calendar-upcoming-row{display:grid;gap:4px;width:100%;border:none;border-radius:12px;background:#ffffffa3;padding:10px 12px;text-align:left;cursor:pointer;box-shadow:0 4px 12px #0f172a08,inset 0 1px #ffffffe0;transition:box-shadow .18s}.calendar-upcoming-row:hover{box-shadow:0 8px 20px #0f172a12,inset 0 1px #ffffffeb}.calendar-event-modal{background:radial-gradient(circle at 14% 0%,rgba(143,216,255,.16),transparent 34%),linear-gradient(145deg,#ffffffe0,#f8fafcb8)!important;border:1px solid rgba(255,255,255,.82)!important;box-shadow:0 28px 70px #0f172a29,inset 0 1px #ffffffdb!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.calendar-event-modal .modal-header h2{color:#1a2332}.calendar-event-modal-title{display:flex;flex-direction:column;gap:4px}.calendar-event-kicker{display:inline-flex;align-items:center;width:fit-content;min-height:22px;padding:0 9px;border-radius:999px;background:#dbeafeb8;color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 0 1px #ffffffd6}.calendar-event-section{padding:16px;border-radius:20px;background:linear-gradient(180deg,#ffffffb8,#f8fafc8f);border:1px solid rgba(255,255,255,.76);box-shadow:inset 0 1px #ffffffd6,0 12px 28px #0f172a0a;display:grid;gap:14px}.calendar-event-section-head h3{margin:0;font-size:15px;font-weight:800;color:#1a2332}.calendar-event-section-head p{margin:4px 0 0;font-size:11px;font-weight:700;color:#94a3b8;line-height:1.5}.calendar-event-date-grid{align-items:flex-start}.calendar-event-time-mode{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:#f1f5f9e0;box-shadow:inset 0 1px #ffffffc7;margin-bottom:12px}.calendar-event-time-mode-btn{min-height:34px;border:none;border-radius:12px;background:transparent;color:#94a3b8;font-size:12px;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.calendar-event-time-mode-btn.selected{background:linear-gradient(180deg,#fffffff0,#ffffffc7);color:#1a2332;box-shadow:0 10px 22px #0f172a12,inset 0 1px #ffffffd1}.calendar-event-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-event-date .fancy-date-trigger{min-height:46px;padding:0 14px;border-radius:16px;background:#ffffffa8;font-size:13px;font-weight:740}.calendar-event-date .fancy-date-popover{width:268px;border-radius:22px}.calendar-event-time-input.time-input{min-height:46px;border-radius:16px;background:#ffffffa8;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px #ffffffd1,0 10px 24px #0f172a0b}.calendar-event-time-input .time-seg{min-height:44px}.calendar-event-input{border:1px solid rgba(255,255,255,.72)!important;background:#fff9!important;box-shadow:inset 0 1px #ffffffd1,0 10px 24px #0f172a0b}.calendar-event-input:focus{box-shadow:0 0 0 3px #8fd8ff33,inset 0 1px #ffffffdb,0 14px 28px #0f172a0f}.calendar-event-textarea{line-height:1.7}.calendar-event-type-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-event-type-btn{border:1px solid rgba(255,255,255,.64)!important;box-shadow:inset 0 1px #fffc,0 8px 18px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.calendar-event-type-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffdb,0 12px 24px #0f172a0e}.calendar-event-type-btn.selected{box-shadow:0 16px 30px #0f172a14,inset 0 1px #ffffffc7}@media(max-width:1180px){.calendar-layout{grid-template-columns:1fr!important}.calendar-side{position:static}.calendar-day-list{max-height:none}.calendar-toolbar{position:static}}@media(max-width:767px){.app-main{padding:64px 14px 28px}.dash-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.dash-grid{grid-template-columns:1fr!important}.dashboard-widget-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.dashboard-widget-card{width:min(82vw,320px);flex:0 0 min(82vw,320px);scroll-snap-align:start}.log-detail-grid{grid-template-columns:1fr!important}.log-detail-grid>*{grid-column:1!important;grid-row:auto!important}.section-header{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.stat-card-value{font-size:20px!important}.calendar-board{padding:14px!important}.calendar-week-row{min-height:96px!important;padding-bottom:32px!important}.calendar-side{gap:12px}.calendar-day-panel,.calendar-upcoming-panel{padding:16px!important;border-radius:20px!important}.calendar-event-date-grid{flex-direction:column}.calendar-filter-strip{width:100%}.calendar-event-time-grid{grid-template-columns:1fr}.calendar-event-type-grid{grid-template-columns:1fr 1fr}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}html.tab-hidden .app-bg:before,html.tab-hidden .app-bg:after,html.tab-hidden .action-warm,html.tab-hidden .action-cool,html.tab-hidden .teacher-live-class.is-live:before,html.tab-hidden .teacher-live-class.is-live:after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.fade-in-up,.app-bg:before,.app-bg:after,.teacher-live-class.is-live:before,.teacher-live-class.is-live:after,.action-warm,.action-cool{animation:none!important}.teacher-live-class,.admin-priority-chip,.schedule-peek-actions button,.admin-soft-button,.admin-primary-button,.admin-icon-button,.admin-pill-toggle,.admin-inline-action{transition:none!important}}.admin-student-management-section{margin-top:30px}.admin-student-management-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;align-items:start}.admin-consultation-empty{min-height:112px;border-radius:16px;padding:20px;display:flex;align-items:center;gap:13px;background:#ffffff94;border:1px solid rgba(255,255,255,.7)}.admin-consultation-empty-icon{width:38px;height:38px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#00645a;background:#00645a14}.admin-consultation-empty strong{color:#1a2332;font-size:13px}.admin-consultation-empty p{margin:4px 0 0;color:#7b8798;font-size:11px;line-height:1.55}@media(max-width:1180px){.admin-student-management-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.admin-dashboard-main-grid,.admin-live-grid,.admin-student-management-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.admin-dashboard-main-left,.admin-dashboard-main-right,.admin-dashboard-right-stack,.admin-notice-overview{min-width:0;width:100%}.admin-student-management-section{margin-top:26px}}.admin-operations-home .admin-materials-group{background:var(--surface-section)!important;border:1px solid var(--surface-border)!important;box-shadow:none!important}.admin-operations-home .admin-today-class-item{background:var(--surface-section)!important;border:1px solid var(--surface-border);box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.admin-operations-home .admin-today-class-item:hover{transform:translateY(-1px)!important;border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a0f!important}.admin-operations-home .admin-materials-item,.admin-operations-home .room-status-stat,.admin-operations-home .room-status-floor,.admin-operations-home .admin-monthly-stat{background:var(--surface-section)!important;border:1px solid var(--surface-border)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.admin-operations-home .room-status-ambient,.admin-operations-home .admin-monthly-stat .stat-card-decoration{display:none}.admin-operations-home .room-status-heading-icon{background:#eef4fa!important;border-color:var(--surface-border)!important;box-shadow:none!important}.admin-operations-home .admin-monthly-stat{border-radius:18px!important;padding:16px 17px!important;transition:border-color .16s ease,background-color .16s ease!important}.admin-operations-home .admin-monthly-stat:hover{transform:none!important;border-color:#cbd5e1!important;box-shadow:none!important}.admin-block-link{min-height:32px;padding:0 10px;border:1px solid var(--surface-border);border-radius:9px;background:var(--surface-card);color:#334155;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.admin-block-link:hover{background:var(--surface-section);color:#004b87}.admin-block-link:focus-visible{outline:3px solid rgba(0,75,135,.18);outline-offset:2px}.admin-operations-home .admin-consult-item,.admin-operations-home .admin-consult-body,.admin-operations-home .admin-consult-author,.admin-operations-home .admin-priority-chip{box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}@media(prefers-reduced-transparency:reduce){.admin-operations-home,.admin-operations-home *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.ui-button,.ui-icon-button{appearance:none;border:1px solid rgba(203,213,225,.82);background:#ffffffd1;color:#334155;font:inherit;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.ui-button{min-height:38px;padding:0 15px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.ui-button-small{min-height:34px;padding:0 12px;font-size:12px}.ui-button-large{min-height:46px;padding:0 20px;font-size:14px}.ui-button-primary{color:#fff;border-color:#004b87;background:#004b87}.ui-button-danger{color:#b42318;border-color:#b4231833;background:#fff7f6}.ui-icon-button{width:38px;height:38px;padding:0;border-radius:999px;display:inline-grid;place-items:center}.ui-icon-button-small{width:32px;height:32px}.ui-icon-button-large{width:44px;height:44px}.ui-icon-button-danger{color:#b42318;background:#fff7f6;border-color:#b423182e}.ui-button:hover,.ui-icon-button:hover{background:#fff;border-color:#b8c2cf;box-shadow:0 6px 16px #0f172a14}.ui-button-primary:hover{background:#003e70;border-color:#003e70}.ui-button:active,.ui-icon-button:active{transform:scale(.97);box-shadow:none}.ui-button:focus-visible,.ui-icon-button:focus-visible{outline:3px solid rgba(0,75,135,.2);outline-offset:2px}.ui-button:disabled,.ui-icon-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.ui-surface{min-width:0;border-radius:18px;border:1px solid rgba(226,232,240,.88);background:#ffffffc7}.ui-surface-subtle{background:#f8fafcbd}.ui-surface-raised{background:#ffffffe6;box-shadow:0 12px 30px #0f172a12}.admin-operations-home{--surface-page: #f4f6f8;--surface-section: #f8fafc;--surface-card: #ffffff;--surface-floating: rgba(255, 255, 255, .94);--surface-border: #e2e7ee;--surface-shadow: 0 8px 24px rgba(15, 23, 42, .055)}.ui-surface-page{background:var(--surface-page, #f4f6f8)}.ui-surface-section{background:var(--surface-section, #f8fafc)}.ui-surface-card{background:var(--surface-card, #fff)}.ui-surface-floating{background:var(--surface-floating, rgba(255,255,255,.94));box-shadow:0 18px 48px #0f172a24;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.admin-operations-home .admin-operations-quick-actions{border:0;background:#f2f2f7;box-shadow:inset 0 0 0 1px #00000009;backdrop-filter:none;-webkit-backdrop-filter:none}.admin-operations-home .admin-briefing{min-height:138px;border-color:var(--surface-border);background:var(--surface-card);box-shadow:var(--surface-shadow)}.admin-operations-home .admin-briefing:after{display:none}.admin-operations-home .admin-briefing-count{border:1px solid var(--surface-border);background:var(--surface-section);box-shadow:none}.admin-operations-home .admin-task-list,.admin-operations-home .admin-notice-overview,.admin-operations-home .admin-panel-card,.admin-operations-home .admin-priority-strip,.admin-operations-home .admin-room-status-shell .room-status-widget,.admin-operations-home .glass-card{border-color:var(--surface-border)!important;background:var(--surface-card)!important;box-shadow:var(--surface-shadow)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.admin-operations-home .admin-task-row{border-bottom-color:var(--surface-border)}.admin-operations-home .admin-task-row:hover{background:var(--surface-section)}.admin-operations-home .admin-task-action,.admin-operations-home .admin-notice-latest,.admin-operations-home .admin-consult-item,.admin-operations-home .admin-consult-body,.admin-operations-home .admin-consultation-empty{border-color:var(--surface-border)!important;background:var(--surface-section)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.admin-operations-home .admin-section-heading{margin-bottom:14px}.admin-operations-home .admin-section-heading h3{font-size:18px}.admin-operations-home .admin-monthly-summary{border-top-color:var(--surface-border)}@media(prefers-reduced-transparency:reduce){.ui-surface-floating{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}.ui-empty-state{text-align:center;color:#94a3b8}.ui-empty-state.is-bordered{border:1px solid rgba(226,232,240,.88);border-radius:18px;background:#ffffffc7}.ui-empty-state-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:14px;display:grid;place-items:center;color:#64748b;background:#f1f5f9}.ui-empty-state-message{font-size:13px;line-height:1.55;color:#7b8798}.admin-absence-compact{min-height:0!important;padding:18px;border-radius:20px!important;box-sizing:border-box}.admin-absence-compact-list{display:grid}.admin-absence-compact-row{width:100%;min-height:58px;padding:9px 4px;border:0;border-bottom:1px solid var(--surface-border, #e2e7ee);background:transparent;display:grid;grid-template-columns:auto minmax(90px,.8fr) minmax(120px,1.25fr) auto auto;align-items:center;gap:10px;color:#172033;font-family:inherit;text-align:left;cursor:pointer}.admin-absence-compact-row:last-child{border-bottom:0}.admin-absence-compact-row:hover{background:#f8fafc}.admin-absence-grade{min-width:38px;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:800;text-align:center}.admin-absence-person{min-width:0;display:flex;flex-direction:column;gap:2px}.admin-absence-person strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-absence-person small{color:#94a3b8;font-size:10px}.admin-absence-class{overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-absence-count{color:#be123c;font-size:12px;font-weight:850}.admin-absence-compact-row>svg{color:#94a3b8}.admin-absence-more{width:100%;min-height:38px;margin-top:8px;border:0;border-radius:11px;background:#f8fafc;color:#475569;display:flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:11px;font-weight:750;cursor:pointer}.admin-absence-more:hover{background:#f1f5f9;color:#004b87}.admin-absence-clear{min-height:72px;border-radius:14px;background:#f7faf9;color:#52716c;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700}.absence-priority-modal{padding:0!important;border:1px solid rgba(255,255,255,.88);border-radius:28px!important;background:#f7f7f8!important;color:#1d1d1f;overflow:hidden!important;box-shadow:0 36px 100px #0f172a3d,0 4px 18px #0f172a1a!important}.absence-priority-modal-head{padding:38px 42px 30px;border-bottom:1px solid #dedfe3;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.absence-priority-modal-head>div>span{color:#86868b;font-size:12px;font-weight:700}.absence-priority-modal-head h2{margin:8px 0;color:#1d1d1f;font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.045em}.absence-priority-modal-head p{margin:0;color:#6e6e73;font-size:13px;line-height:1.55}.absence-priority-modal-head .ui-icon-button{width:42px;height:42px;border:0;border-radius:50%;background:#e8e8ed;color:#5f6368;flex:0 0 auto}.absence-priority-modal-list{max-height:min(58vh,620px);padding:10px 28px 28px;overflow-y:auto}.absence-priority-modal-row{min-height:82px;padding:15px 14px;border-bottom:1px solid #dedfe3;display:grid;grid-template-columns:28px minmax(100px,.75fr) minmax(210px,1.7fr) minmax(94px,.7fr) auto auto;align-items:center;gap:14px}.absence-priority-modal-row:last-child{border-bottom:0}.absence-priority-rank{color:#a1a1a6;font-size:12px;font-weight:750;text-align:center}.absence-priority-person{min-width:0;display:flex;flex-direction:column;gap:3px}.absence-priority-person small{color:#86868b;font-size:10px;font-weight:700}.absence-priority-person strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.absence-priority-classes{min-width:0;display:flex;flex-wrap:wrap;gap:5px}.absence-priority-classes span{padding:5px 8px;border-radius:999px;background:#fff;color:#515154;display:inline-flex;align-items:center;gap:5px;font-size:10px}.absence-priority-classes i{width:6px;height:6px;border-radius:50%}.absence-priority-classes b{color:#86868b;font-size:9px}.absence-priority-latest{display:flex;flex-direction:column;gap:2px}.absence-priority-latest small{color:#86868b;font-size:9px}.absence-priority-latest strong{color:#515154;font-size:11px}.absence-priority-latest em{color:#0071e3;font-size:9px;font-style:normal;font-weight:700}.absence-priority-total{color:#be123c;font-size:14px;font-weight:850;white-space:nowrap}.absence-priority-modal-row>button{min-height:34px;padding:0 11px;border:0;border-radius:999px;background:#e8e8ed;color:#1d1d1f;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:10px;font-weight:750;cursor:pointer;white-space:nowrap}.absence-priority-modal-row>button:hover{background:#0071e3;color:#fff}.admin-materials-count{padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:800}.admin-materials-overview{overflow:hidden;border:1px solid var(--surface-border, #e2e7ee);border-radius:14px}.admin-operations-home .admin-materials-group{padding:12px 13px!important;border:0!important;border-bottom:1px solid var(--surface-border, #e2e7ee)!important;border-radius:0!important}.admin-operations-home .admin-materials-group:last-child{border-bottom:0!important}.admin-materials-preview{min-width:0;margin-left:8px;overflow:hidden;color:#64748b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-operations-home .room-status-widget{padding:18px!important;border-radius:20px!important}.room-status-summary{overflow:hidden;border:1px solid var(--surface-border, #e2e7ee);border-radius:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-operations-home .room-status-stat{min-width:0;padding:11px 12px!important;border:0!important;border-right:1px solid var(--surface-border, #e2e7ee)!important;border-radius:0!important;background:#fff!important;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px}.admin-operations-home .room-status-stat:last-child{border-right:0!important}.room-status-stat>span{width:7px;height:7px;border-radius:50%}.room-status-stat>div{overflow:hidden;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.room-status-stat>strong{color:#1d2939;font-size:16px;line-height:1}@media(max-width:760px){.admin-absence-compact-row{grid-template-columns:auto minmax(0,1fr) auto auto}.admin-absence-class{display:none}.absence-priority-modal-head{padding:28px 24px 22px}.absence-priority-modal-head h2{font-size:34px}.absence-priority-modal-list{padding:4px 16px 20px}.absence-priority-modal-row{grid-template-columns:24px minmax(90px,1fr) auto;gap:10px}.absence-priority-classes{grid-column:2 / -1}.absence-priority-latest{grid-column:2}.absence-priority-modal-row>button{grid-column:3}.room-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-operations-home .room-status-stat:nth-child(2){border-right:0!important}.admin-operations-home .room-status-stat:nth-child(-n+2){border-bottom:1px solid var(--surface-border, #e2e7ee)!important}.admin-materials-preview{display:none}}.teacher-home{--teacher-page: #f5f5f7;--teacher-card: #fff;--teacher-border: #e3e5e8;--teacher-text: #1d1d1f;--teacher-secondary: #6e6e73;color:var(--teacher-text)}.teacher-home-head{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.teacher-home-head span{color:#86868b;font-size:11px;font-weight:650}.teacher-home-head h2{margin:6px 0 0;color:var(--teacher-text);font-size:clamp(25px,3.2vw,34px);line-height:1.1;letter-spacing:-.04em}.teacher-attendance-status{min-height:38px;padding:0 13px;border:1px solid var(--teacher-border);border-radius:999px;background:#fff;color:#6e6e73;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:11px;font-weight:750;cursor:pointer}.teacher-attendance-status.in{color:#00645a;background:#f1f8f6}.teacher-attendance-status.done{color:#55706c;background:#f5f7f7}.teacher-now-card{position:relative;margin-bottom:30px;padding:30px 32px 22px;border:1px solid var(--teacher-border);border-radius:28px;background:#fff;box-shadow:0 14px 40px #0f172a13;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;overflow:hidden}.teacher-now-card:before{content:none}.teacher-now-copy{min-width:0}.teacher-now-copy>span{color:#86868b;font-size:11px;font-weight:750}.teacher-now-copy h3{margin:7px 0;color:var(--teacher-text);font-size:clamp(23px,3vw,34px);line-height:1.12;letter-spacing:-.04em}.teacher-now-copy p{margin:0;color:var(--teacher-secondary);font-size:12px;line-height:1.55}.teacher-now-primary{min-height:44px;padding:0 17px;border:0;border-radius:999px;background:#0071e3;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:12px;font-weight:750;cursor:pointer;box-shadow:0 8px 18px #0071e32e}.teacher-now-card.attendance .teacher-now-primary{background:#c46608;box-shadow:0 8px 18px #c466082e}.teacher-now-primary:hover{filter:brightness(.96)}.teacher-now-meta{grid-column:1 / -1;padding-top:18px;border-top:1px solid var(--teacher-border);display:flex;gap:20px;color:#86868b;font-size:10px}.teacher-now-meta b{margin-left:4px;color:#3a3a3c;font-size:12px}.teacher-tasks{margin-bottom:30px}.teacher-section-head{min-height:32px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:14px}.teacher-section-head h3{margin:0;color:var(--teacher-text);font-size:17px;letter-spacing:-.025em}.teacher-section-head>span{color:#86868b;font-size:10px;font-weight:650}.teacher-task-list{overflow:hidden;border:1px solid var(--teacher-border);border-radius:20px;background:#fff}.teacher-task-row{width:100%;min-height:64px;padding:11px 15px;border:0;border-bottom:1px solid var(--teacher-border);background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;font-family:inherit;text-align:left;cursor:pointer}.teacher-task-row:last-child{border-bottom:0}.teacher-task-row:hover{background:#f8f8fa}.teacher-task-icon{width:34px;height:34px;border-radius:11px;background:#f2f2f7;color:#6e6e73;display:grid;place-items:center}.teacher-task-row.warm .teacher-task-icon{background:#fff5e8;color:#b65d00}.teacher-task-row.danger .teacher-task-icon{background:#fff0f1;color:#c6283d}.teacher-task-row.cool .teacher-task-icon{background:#edf6ff;color:#0071e3}.teacher-task-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.teacher-task-copy strong{overflow:hidden;color:#2c2c2e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-task-copy small{color:#86868b;font-size:10px;line-height:1.45}.teacher-task-action{color:#0071e3;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:750;white-space:nowrap}.teacher-task-clear{min-height:64px;border:1px solid var(--teacher-border);border-radius:18px;background:#fff;color:#52716c;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700}.teacher-home .teacher-dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(300px,350px)!important;gap:20px!important;margin-bottom:28px!important}.teacher-home .teacher-live-card{padding:18px;border:1px solid var(--teacher-border);border-radius:22px!important;background:#fff;box-shadow:0 8px 26px #0f172a0d}.teacher-class-head>button{min-height:32px;padding:0 10px;border:0;border-radius:999px;background:#f2f2f7;color:#3a3a3c;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.teacher-live-list{overflow:hidden;gap:0;border:1px solid var(--teacher-border);border-radius:15px}.teacher-class-row{width:100%;min-height:62px;padding:9px 12px;border:0;border-bottom:1px solid var(--teacher-border);background:#fff;display:grid;grid-template-columns:44px 7px minmax(120px,1fr) minmax(120px,.9fr) auto 16px;align-items:center;gap:10px;color:#2c2c2e;font-family:inherit;text-align:left;cursor:pointer}.teacher-class-row:last-child{border-bottom:0}.teacher-class-row:hover{background:#f8f8fa}.teacher-class-row.is-live{background:#f2f8ff}.teacher-class-row.is-past:not(.is-pending){color:#86868b}.teacher-class-row>time{color:#6e6e73;font-size:11px;font-weight:750}.teacher-class-dot{width:7px;height:7px;border-radius:50%}.teacher-class-name{min-width:0;display:flex;flex-direction:column;gap:3px}.teacher-class-name strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.teacher-class-name small{color:#a1a1a6;font-size:9px}.teacher-class-attendance{overflow:hidden;color:#6e6e73;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.teacher-class-status{padding:4px 7px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:9px;font-weight:750;white-space:nowrap}.teacher-class-row.is-live .teacher-class-status{background:#e1f0ff;color:#06c}.teacher-class-row.is-done .teacher-class-status{background:#edf7f3;color:#00645a}.teacher-class-row.is-pending.is-past .teacher-class-status{background:#fff4e5;color:#a55200}.teacher-class-row>svg{color:#a1a1a6}.teacher-class-empty{padding:36px 16px;color:#86868b;font-size:12px;text-align:center}.teacher-updates-head{padding:0 2px}.teacher-home .teacher-widget-stack{gap:10px}.teacher-home .teacher-side-widget{padding:15px!important;border:1px solid var(--teacher-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.teacher-home .teacher-notice-item,.teacher-home .teacher-homework-item,.teacher-home .teacher-homework-section{background:#f7f7f9;box-shadow:none}.teacher-home .dashboard-widget-scroll{max-height:280px;overflow-y:auto}.teacher-month-summary{overflow:hidden;border:1px solid var(--teacher-border);border-radius:18px;background:#fff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-month-summary>div{min-width:0;padding:15px 18px;border-right:1px solid var(--teacher-border);display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:3px 10px}.teacher-month-summary>div:last-child{border-right:0}.teacher-month-summary span{color:#86868b;font-size:10px;font-weight:700}.teacher-month-summary strong{color:#2c2c2e;font-size:17px}.teacher-month-summary small{grid-column:1 / -1;color:#a1a1a6;font-size:9px}@media(max-width:900px){.teacher-home .teacher-dashboard-layout{grid-template-columns:minmax(0,1fr)!important}.teacher-widget-column{margin-top:4px}}@media(max-width:640px){.teacher-home-head{align-items:flex-start;flex-direction:column}.teacher-home-head h2{font-size:28px}.teacher-now-card{padding:24px 20px 18px;grid-template-columns:minmax(0,1fr);gap:18px}.teacher-now-primary{width:100%}.teacher-task-copy small{display:none}.teacher-task-row{grid-template-columns:34px minmax(0,1fr) 30px}.teacher-task-action{width:30px;height:30px;border-radius:50%;background:#f2f2f7;justify-content:center;font-size:0}.teacher-class-row{grid-template-columns:42px 7px minmax(0,1fr) auto 16px}.teacher-class-attendance{display:none}.teacher-month-summary{grid-template-columns:minmax(0,1fr)}.teacher-month-summary>div{border-right:0;border-bottom:1px solid var(--teacher-border)}.teacher-month-summary>div:last-child{border-bottom:0}}@media(prefers-reduced-transparency:reduce){.teacher-now-card,.teacher-home .teacher-live-card,.teacher-home .teacher-side-widget{background:#fff!important}}.teacher-homework-summary-card{overflow:hidden}.teacher-homework-summary-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-homework-summary-head>span{color:#2c2c2e;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:750}.teacher-homework-summary-head>span svg{color:#0071e3}.teacher-homework-summary-head>button{padding:0;border:0;background:transparent;color:#0071e3;display:inline-flex;align-items:center;gap:3px;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.teacher-homework-summary-row{width:100%;min-height:56px;padding:9px 3px;border:0;border-top:1px solid #e3e5e8;background:transparent;display:grid;grid-template-columns:minmax(92px,.85fr) minmax(0,1fr) 16px;align-items:center;gap:10px;color:#2c2c2e;font-family:inherit;text-align:left;cursor:pointer}.teacher-homework-summary-row:hover{background:#f8f8fa}.teacher-homework-summary-row>span{display:flex;flex-direction:column;gap:2px}.teacher-homework-summary-row small{color:#86868b;font-size:9px}.teacher-homework-summary-row strong{font-size:12px}.teacher-homework-summary-row em{overflow:hidden;color:#6e6e73;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.teacher-homework-summary-row>svg{color:#a1a1a6}.teacher-homework-modal{padding:0!important;border:1px solid rgba(255,255,255,.9);border-radius:28px!important;background:#f7f7f8!important;color:#1d1d1f;overflow:hidden!important;box-shadow:0 36px 100px #0f172a3d,0 4px 18px #0f172a1a!important}.teacher-homework-modal-head{padding:34px 38px 27px;border-bottom:1px solid #dedfe3;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.teacher-homework-modal-head>div>span{color:#86868b;font-size:11px;font-weight:700}.teacher-homework-modal-head h2{margin:7px 0;color:#1d1d1f;font-size:clamp(32px,4vw,46px);line-height:1.05;letter-spacing:-.045em}.teacher-homework-modal-head p{margin:0;color:#6e6e73;font-size:12px;line-height:1.55}.teacher-homework-modal-head .ui-icon-button{width:42px;height:42px;border:0;border-radius:50%;background:#e8e8ed;color:#5f6368;flex:0 0 auto}.teacher-homework-modal-grid{max-height:min(62vh,650px);padding:24px 28px 30px;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.teacher-homework-modal-grid>section{min-width:0}.teacher-homework-modal-title{margin-bottom:9px;padding:0 3px;display:flex;align-items:center;justify-content:space-between}.teacher-homework-modal-title span{color:#2c2c2e;font-size:14px;font-weight:800}.teacher-homework-modal-title em{color:#86868b;font-size:10px;font-style:normal}.teacher-homework-modal-list{overflow:hidden;border:1px solid #dedfe3;border-radius:17px;background:#fff}.teacher-homework-modal-list article{padding:15px 16px;border-bottom:1px solid #e5e5e7}.teacher-homework-modal-list article:last-child{border-bottom:0}.teacher-homework-modal-list article header{margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-homework-modal-list article strong{color:#2c2c2e;font-size:12px}.teacher-homework-modal-list article small{color:#a1a1a6;font-size:9px}.teacher-homework-modal-list article p{margin:0;color:#6e6e73;font-size:11px;line-height:1.65}.teacher-homework-modal-list article .mini-md{color:#515154;font-size:11px;line-height:1.65}.teacher-homework-modal-empty{padding:28px 16px;color:#86868b;font-size:11px;text-align:center}@media(max-width:700px){.teacher-homework-modal-head{padding:27px 22px 22px}.teacher-homework-modal-grid{padding:18px 16px 24px;grid-template-columns:minmax(0,1fr)}}.log-record-view{padding:4px 2px 18px;color:#1d1d1f}.log-record-hero{min-height:112px;padding:22px 18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.log-record-hero>div{min-width:0}.log-record-eyebrow{color:#0071e3;font-size:10px;font-weight:760;letter-spacing:.01em}.log-record-hero h3{margin:7px 0 0;color:#1d1d1f;font-size:clamp(25px,3vw,36px);font-weight:760;line-height:1.08;letter-spacing:-.04em}.log-record-hero p{margin:9px 0 0;color:#6e6e73;font-size:12px;line-height:1.5}.log-record-status{min-height:30px;padding:0 11px;border-radius:999px;background:#eaf7f1;color:#067647;display:inline-flex;align-items:center;flex:0 0 auto;font-size:10px;font-weight:750}.log-record-status.attention{background:#fff4e5;color:#a55200}.log-record-status.cancelled{background:#efeff1;color:#6e6e73}.log-record-reason{margin:0 18px 18px;padding:16px 18px;border:1px solid #ffd074;border-radius:17px;background:#fff9ed;display:flex;flex-direction:column;gap:5px}.log-record-reason.cancelled{border-color:#dedfe3;background:#f7f7f8}.log-record-reason span{color:#a55200;font-size:9px;font-weight:750}.log-record-reason.cancelled span{color:#6e6e73}.log-record-reason strong{color:#7c2d12;font-size:14px;line-height:1.45}.log-record-reason.cancelled strong{color:#3a3a3c}.log-record-facts{margin:0 18px 24px;overflow:hidden;border:1px solid #e5e5ea;border-radius:17px;background:#f7f7f8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.log-record-facts article{min-width:0;padding:15px 17px;border-right:1px solid #e5e5ea}.log-record-facts article:last-child{border-right:0}.log-record-facts span{display:block;color:#8e8e93;font-size:9px;font-weight:700}.log-record-facts strong{display:block;margin-top:6px;overflow:hidden;color:#3a3a3c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.log-record-section{margin:0 18px 25px}.log-record-section>header{min-height:34px;padding:0 2px 9px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.log-record-section>header>div{display:flex;flex-direction:column;gap:3px}.log-record-section>header span{color:#2c2c2e;font-size:14px;font-weight:780;letter-spacing:-.015em}.log-record-section>header small,.log-record-section>header em{color:#8e8e93;font-size:9px;font-style:normal;font-weight:650}.log-record-student-list,.log-record-journal dl{margin:0;overflow:hidden;border:1px solid #e5e5ea;border-radius:17px;background:#fff}.log-record-student{width:100%;min-height:58px;padding:10px 13px;border:0;border-bottom:1px solid #e5e5ea;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(90px,.8fr) 56px minmax(110px,.8fr) minmax(120px,1.5fr);align-items:center;gap:11px;font-family:inherit;text-align:left;cursor:pointer;transition:background .14s ease}.log-record-student:last-child{border-bottom:0}.log-record-student:hover{background:#f8f8fa}.log-record-student:active{background:#f2f2f7}.log-record-student-person{min-width:0}.log-record-student-person strong,.log-record-student-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-record-student-person strong{color:#2c2c2e;font-size:11px}.log-record-student-person small{margin-top:3px;color:#a1a1a6;font-size:8.5px}.log-record-attendance{justify-self:start;padding:4px 7px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:9px;font-weight:750}.log-record-attendance.is-출석{background:#eaf7f1;color:#067647}.log-record-attendance.is-지각{background:#fff4e5;color:#a55200}.log-record-attendance.is-결석{background:#fff0f1;color:#be123c}.log-record-scores{display:flex;gap:5px}.log-record-scores em{padding:4px 7px;border-radius:8px;background:#f5f5f7;color:#6e6e73;font-size:8.5px;font-style:normal;white-space:nowrap}.log-record-scores b{margin-left:3px;color:#2c2c2e;font-size:10px}.log-record-note{overflow:hidden;color:#6e6e73;font-size:9.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.log-record-journal dl>div{min-height:60px;border-bottom:1px solid #e5e5ea;display:grid;grid-template-columns:138px minmax(0,1fr)}.log-record-journal dl>div:last-child{border-bottom:0}.log-record-journal dt{margin:0;padding:16px;background:#f7f7f8;color:#6e6e73;font-size:10px;font-weight:750}.log-record-journal dd{min-width:0;margin:0;padding:15px 18px;color:#3a3a3c;font-size:11px;line-height:1.65}.log-record-journal dd.is-empty{color:#a1a1a6}.log-record-journal dd .mini-md{color:inherit;font-size:inherit;line-height:inherit}.log-record-footer{margin:0 18px;padding-top:13px;border-top:1px solid #e5e5ea;display:flex;align-items:center;justify-content:space-between;gap:14px}.log-record-footer span{color:#a1a1a6;font-size:9px}.log-record-footer button{padding:5px 0;border:0;background:transparent;color:#8e8e93;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:9px;font-weight:650;cursor:pointer}.log-record-footer button:hover{color:#be123c}.admin-student-alert-tabs{margin:-2px 0 12px;padding:3px;border-radius:10px;background:#7676801a;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.admin-student-alert-tabs button{min-height:30px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#6e6e73;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:10px;font-weight:720;cursor:pointer}.admin-student-alert-tabs button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000017}.admin-student-alert-tabs span{min-width:18px;padding:2px 5px;border-radius:999px;background:#e8e8ed;color:#6e6e73;font-size:8px}.admin-student-alert-tabs button.active span{background:#fff0f1;color:#be123c}.admin-learning-score{color:#a55200;font-size:11px;font-weight:800;white-space:nowrap}.learning-priority-modal-row{grid-template-columns:28px minmax(100px,.75fr) minmax(180px,1.35fr) minmax(116px,.8fr) minmax(94px,.7fr) auto}.learning-priority-averages{display:flex;gap:6px}.learning-priority-averages span{padding:5px 7px;border-radius:8px;background:#fff;color:#6e6e73;font-size:9px;white-space:nowrap}.learning-priority-averages b{margin-left:3px;color:#a55200;font-size:11px}@media(max-width:760px){.log-record-hero{min-height:0;padding:18px 12px}.log-record-hero h3{font-size:26px}.log-record-facts{margin:0 12px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.log-record-facts article:nth-child(2){border-right:0}.log-record-facts article:nth-child(-n+2){border-bottom:1px solid #e5e5ea}.log-record-section,.log-record-reason{margin-right:12px;margin-left:12px}.log-record-student{grid-template-columns:minmax(90px,1fr) auto auto}.log-record-note{grid-column:1 / -1}.log-record-journal dl>div{grid-template-columns:94px minmax(0,1fr)}.log-record-footer{margin-right:12px;margin-left:12px}.learning-priority-modal-row{grid-template-columns:24px minmax(90px,1fr) auto}.learning-priority-averages{grid-column:2 / -1}}@media(prefers-reduced-motion:reduce){.log-record-student,.admin-student-alert-tabs button{transition:none!important}}.dashboard-disclosure-button,.admin-notice-overview-head>button.dashboard-disclosure-button,.teacher-homework-summary-head>button.dashboard-disclosure-button,.admin-live-panel .admin-block-link.dashboard-disclosure-button,.admin-absence-all-button.dashboard-disclosure-button{min-height:30px;padding:0 11px;border:0;border-radius:999px;background:#f2f2f7;color:#3a3a3c;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-size:10px;font-weight:720;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color .14s ease,color .14s ease,transform .1s ease}.dashboard-disclosure-button:hover,.admin-notice-overview-head>button.dashboard-disclosure-button:hover,.teacher-homework-summary-head>button.dashboard-disclosure-button:hover,.admin-live-panel .admin-block-link.dashboard-disclosure-button:hover,.admin-absence-all-button.dashboard-disclosure-button:hover{background:#e8e8ed;color:#1d1d1f;box-shadow:none}.dashboard-disclosure-button:active{transform:scale(.97)}.dashboard-disclosure-button:focus-visible{outline:3px solid rgba(0,113,227,.18);outline-offset:2px}.admin-live-status{min-height:30px;padding:0 9px;font-size:9.5px}.notice-detail-layout{height:min(760px,calc(100vh - 56px));display:grid;grid-template-columns:264px minmax(0,1fr);background:#fff}.notice-detail-list{min-width:0;padding:18px 12px;border-right:1px solid #e5e5ea;background:#f5f5f7;overflow:auto}.notice-detail-list>header{min-height:36px;padding:0 8px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.notice-detail-list>header span{color:#1d1d1f;font-size:13px;font-weight:760;letter-spacing:-.015em}.notice-detail-list>header strong{color:#8e8e93;font-size:9px;font-weight:700}.notice-detail-list>div{display:grid;gap:3px}.notice-detail-list button{width:100%;min-height:62px;padding:10px 11px;border:0;border-radius:13px;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .14s ease,box-shadow .14s ease,transform .1s ease}.notice-detail-list button:hover{background:#ffffffad}.notice-detail-list button.active{background:#fff;box-shadow:0 2px 10px #0000000e}.notice-detail-list button:active{transform:scale(.985)}.notice-detail-list button>span{min-width:0;display:flex;align-items:center;gap:7px}.notice-detail-list button i{width:7px;height:7px;border-radius:50%;background:#0071e3;flex:0 0 auto}.notice-detail-list button strong{overflow:hidden;color:#2c2c2e;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.notice-detail-list button small{color:#a1a1a6;font-size:8.5px;white-space:nowrap}.notice-detail-content{min-width:0;overflow:auto;background:#fff}.notice-detail-content .notice-detail-head{min-height:230px;padding:52px 58px 40px}.notice-detail-content .notice-detail-head h2{max-width:720px;font-size:clamp(30px,3.7vw,48px)}.notice-detail-content .notice-detail-head button{margin-top:-30px;margin-right:-35px}.notice-detail-content .notice-detail-body{max-height:none;margin:0 48px 48px;padding:40px 44px 46px}@media(max-width:760px){.notice-detail-layout{height:min(820px,calc(100vh - 24px));display:flex;flex-direction:column}.notice-detail-list{flex:0 0 auto;padding:10px 10px 9px;border-right:0;border-bottom:1px solid #e5e5ea;overflow:hidden}.notice-detail-list>header{min-height:28px;padding-bottom:5px}.notice-detail-list>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.notice-detail-list>div::-webkit-scrollbar{display:none}.notice-detail-list button{flex:0 0 210px;min-height:54px}.notice-detail-content{flex:1 1 auto}.notice-detail-content .notice-detail-head{min-height:188px;padding:36px 24px 26px}.notice-detail-content .notice-detail-head button{margin-top:-22px;margin-right:-9px}.notice-detail-content .notice-detail-body{margin:0 14px 14px;padding:26px 23px 32px}}@media(prefers-reduced-motion:reduce){.dashboard-disclosure-button,.notice-detail-list button{transition:none!important}}.exam-progress-section{margin:0 0 18px;padding:18px;border:1px solid #E5E7EB;border-radius:22px;background:#fff;box-shadow:0 12px 34px #0f172a0e}.exam-progress-section.is-off{padding:14px 18px;background:#f8fafc;box-shadow:none}.exam-progress-section-head,.exam-progress-section-head>div,.exam-progress-teacher-group>header,.exam-progress-card>div,.exam-progress-modal-head,.exam-progress-modal-foot,.exam-material-head,.extra-workspace-head,.extra-workspace-detail>header,.extra-workspace-detail>footer{display:flex;align-items:center}.exam-progress-section-head{justify-content:space-between;gap:16px}.exam-progress-section-head>div:first-child{display:block}.exam-progress-section-head>div:last-child{gap:10px}.exam-progress-section-head>div:first-child>span{display:inline-flex;align-items:center;gap:7px;color:#1d2939;font-size:15px;font-weight:750}.exam-progress-section-head p{margin:4px 0 0;color:#667085;font-size:11.5px}.exam-progress-add,.teacher-extra-session-button{min-height:32px;padding:0 12px;border:1px solid #D0D5DD;border-radius:999px;background:#fff;color:#344054;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:11px;font-weight:650;line-height:1;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.exam-progress-add:active,.teacher-extra-session-button:active{transform:scale(.97)}.exam-progress-add:hover,.teacher-extra-session-button:hover{background:#f8fafc;box-shadow:0 4px 12px #0f172a0f}.exam-progress-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.exam-progress-toggle input{position:absolute;opacity:0;pointer-events:none}.exam-progress-toggle span{position:relative;width:38px;height:22px;border-radius:999px;background:#d0d5dd;transition:background .18s ease}.exam-progress-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a38;transition:transform .18s cubic-bezier(.25,1,.5,1)}.exam-progress-toggle input:checked+span{background:#007aff}.exam-progress-toggle input:checked+span:after{transform:translate(16px)}.exam-progress-toggle b{color:#667085;font-size:10.5px;font-weight:650}.exam-progress-teacher-groups{display:grid;gap:16px;margin-top:18px}.exam-progress-teacher-group>header{gap:7px;margin-bottom:8px}.exam-progress-teacher-group>header>span{width:8px;height:8px;border-radius:50%;background:var(--teacher)}.exam-progress-teacher-group>header strong{color:#344054;font-size:12px}.exam-progress-teacher-group>header em{color:#98a2b3;font-size:10px;font-style:normal}.exam-progress-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px}.exam-progress-card{min-width:0;padding:14px;border:1px solid #EAECF0;border-radius:16px;background:#f9fafb;color:inherit;cursor:pointer;text-align:left;font-family:inherit;transition:transform .18s cubic-bezier(.25,1,.5,1),border-color .18s ease,box-shadow .18s ease}.exam-progress-card:hover{transform:translateY(-2px);border-color:#d0d5dd;box-shadow:0 9px 22px #0f172a12}.exam-progress-card:active{transform:translateY(0) scale(.985)}.exam-progress-dday{display:block;margin-bottom:12px;color:#007aff;font-size:11px;font-weight:800}.exam-progress-card>strong{display:block;color:#101828;font-size:14px;font-weight:750;letter-spacing:-.01em}.exam-progress-card>p{display:flex;align-items:center;gap:5px;margin:4px 0 13px;color:#667085;font-size:10.5px}.exam-progress-subject-tag{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:6px;background:#eef5ff;color:#2463c5;font-size:8px;font-weight:780;line-height:1}.exam-progress-subject-tag.is-korean{background:#fff0ee;color:#a33a32}.exam-progress-subject-tag.is-math{background:#f5f0ff;color:#7651b5}.exam-progress-subject-tag.is-other{background:#f2f2f7;color:#616166}.exam-progress-card>p>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-progress-card>div{justify-content:space-between;color:#475467;font-size:10.5px;font-weight:650}.exam-progress-empty{width:100%;margin-top:14px;padding:22px;border:1px dashed #D0D5DD;border-radius:15px;background:#f9fafb;color:#667085;cursor:pointer;font-family:inherit;font-size:12px}.exam-progress-modal,.extra-workspace-modal{padding:0!important;overflow:hidden!important}.exam-progress-modal-head,.extra-workspace-head{justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid #EAECF0}.exam-progress-modal-head>div>span,.extra-workspace-head>div>span{color:#007aff;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.exam-progress-modal-head h3,.extra-workspace-head h3{margin:5px 0 0;color:#101828;font-size:22px;font-weight:760;letter-spacing:-.025em;line-height:1.1}.exam-progress-modal-head p,.extra-workspace-head p{margin:5px 0 0;color:#667085;font-size:11px}.exam-progress-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.exam-progress-head-actions .exam-autosave-status{color:#667085;font-size:9.5px;font-weight:650;letter-spacing:0;text-transform:none;white-space:nowrap}.exam-progress-head-actions .exam-autosave-status.saving,.exam-progress-head-actions .exam-autosave-status.dirty{color:#0071e3}.exam-progress-head-actions .exam-autosave-status.error{color:#d92d20}.exam-progress-dday.draft{color:#a55200}.exam-icon-button{width:36px;height:36px;border:0;border-radius:50%;background:#f2f4f7;color:#475467;cursor:pointer;display:grid;place-items:center}.exam-progress-modal-body{padding:20px 26px 26px;max-height:calc(90vh - 154px);overflow:auto}.exam-progress-basics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.exam-progress-basics label,.exam-progress-note{display:grid;gap:5px;min-width:0}.exam-progress-basics label>span,.exam-progress-note>span{color:#667085;font-size:10px;font-weight:700}.exam-progress-basics input,.exam-progress-basics select,.exam-material-fields input,.exam-stage-row input,.exam-stage-row select,.exam-progress-note textarea{width:100%;box-sizing:border-box;border:1px solid #D0D5DD;border-radius:10px;background:#fff;color:#1d2939;font-family:inherit;font-size:12px;font-weight:550;line-height:1.35;outline:none}.exam-progress-basics input,.exam-progress-basics select,.exam-material-fields input,.exam-stage-row input,.exam-stage-row select{height:38px;padding:0 10px}.exam-progress-basics input:focus,.exam-progress-basics select:focus,.exam-material-fields input:focus,.exam-stage-row input:focus,.exam-stage-row select:focus,.exam-progress-note textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #007aff1a}.exam-progress-basics :disabled,.exam-material-fields :disabled,.exam-stage-row :disabled,.exam-progress-note :disabled{border-color:transparent;background:#f9fafb;color:#475467;opacity:1}.exam-progress-basics .fancy-date-trigger{width:100%;height:38px;border-radius:10px;justify-content:flex-start}.exam-progress-basics .fancy-date-trigger:disabled{border-color:transparent;background:#f9fafb;cursor:default}.exam-material-list{display:grid;gap:12px;margin-top:18px}.exam-material-card{padding:15px;border:1px solid #EAECF0;border-radius:16px;background:#f9fafb}.exam-material-head{gap:10px}.exam-material-head>div{min-width:0;flex:1}.exam-material-head>div span{display:block;color:#98a2b3;font-size:9px;font-weight:700}.exam-material-head>div strong{display:block;margin-top:2px;color:#344054;font-size:13px}.exam-material-head em{color:#667085;font-size:10px;font-style:normal;font-weight:650}.exam-material-head>button,.exam-stage-row>button{border:0;background:transparent;color:#98a2b3;cursor:pointer;display:grid;place-items:center}.exam-material-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:12px}.exam-stage-list{display:grid;gap:6px;margin-top:10px}.exam-stage-row{display:grid;grid-template-columns:24px 1fr 104px 25px;align-items:center;gap:7px}.exam-stage-state{width:20px;height:20px;border:1px solid #D0D5DD;border-radius:50%;color:#fff;display:grid;place-items:center}.exam-stage-row.in_progress .exam-stage-state{border-color:#84adff;box-shadow:inset 0 0 0 5px #eaf2ff}.exam-stage-row.done .exam-stage-state{border-color:#12b76a;background:#12b76a}.exam-stage-empty{margin:4px 0;color:#98a2b3;font-size:11px}.exam-add-stage,.exam-add-material{margin-top:10px;border:0;background:transparent;color:#007aff;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:11px;font-weight:700;line-height:1}.exam-add-material{justify-content:center;width:100%;min-height:42px;margin:0;border:1px dashed #B2CCFF;border-radius:13px;background:#f5f8ff}.exam-progress-note{margin-top:16px}.exam-progress-note textarea{padding:10px;resize:vertical}.exam-progress-modal-foot{gap:8px;padding:14px 26px;border-top:1px solid #EAECF0;background:#f9fafb}.exam-progress-modal-foot>span{flex:1}.exam-progress-modal-foot button,.extra-workspace-detail>header button,.extra-workspace-detail>footer button{min-height:34px;padding:0 14px;border:1px solid #D0D5DD;border-radius:999px;background:#fff;color:#475467;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:inherit;font-size:11px;font-weight:650;line-height:1}.exam-progress-modal-foot button.primary,.extra-workspace-detail>footer button.primary{border-color:#007aff;background:#007aff;color:#fff}.exam-progress-modal-foot button.danger,.extra-workspace-detail>footer button.danger{border-color:transparent;background:transparent;color:#d92d20}.exam-progress-modal-foot button:disabled{opacity:.45;cursor:not-allowed}.teacher-extra-session-button{border-color:color-mix(in srgb,var(--accent) 22%,#D0D5DD);color:var(--accent)}.extra-workspace-head>em{min-width:44px;height:28px;border-radius:999px;background:#f2f4f7;color:#475467;display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:700}.extra-workspace-layout{min-height:540px;display:grid;grid-template-columns:310px minmax(0,1fr)}.extra-workspace-list{padding:12px;border-right:1px solid #EAECF0;background:#f9fafb;overflow:auto}.extra-workspace-list>button{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:0;border-radius:13px;background:transparent;color:inherit;cursor:pointer;text-align:left;font-family:inherit}.extra-workspace-list>button:hover{background:#f2f4f7}.extra-workspace-list>button.active{background:#fff;box-shadow:0 3px 12px #0f172a12}.extra-workspace-date{text-align:center}.extra-workspace-date b{display:block;color:#344054;font-size:15px}.extra-workspace-date small{color:#98a2b3;font-size:9px}.extra-workspace-item-copy{min-width:0}.extra-workspace-item-copy em{display:block;color:#007aff;font-size:9px;font-style:normal;font-weight:700}.extra-workspace-item-copy strong{display:block;margin-top:2px;color:#1d2939;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extra-workspace-item-copy small{display:block;margin-top:3px;color:#98a2b3;font-size:9.5px}.extra-workspace-log-state{padding:3px 6px;border-radius:999px;background:#fff4e5;color:#b54708;font-size:8.5px;font-weight:700;white-space:nowrap}.extra-workspace-log-state.done{background:#ecfdf3;color:#027a48}.extra-workspace-detail{min-width:0;padding:22px 24px;overflow:auto}.extra-workspace-detail>header{justify-content:space-between;gap:14px}.extra-workspace-detail>header>div>span{color:#007aff;font-size:10px;font-weight:750}.extra-workspace-detail>header h4{margin:4px 0 0;color:#101828;font-size:20px;letter-spacing:-.02em}.extra-workspace-detail>header p{margin:4px 0 0;color:#667085;font-size:11px}.extra-workspace-reason{margin-top:18px;padding:14px;border-radius:14px;background:#fff8ed;border:1px solid #FEDF89}.extra-workspace-reason span{display:block;color:#b54708;font-size:9px;font-weight:800}.extra-workspace-reason strong{display:block;margin-top:4px;color:#7a2e0e;font-size:13px}.extra-workspace-reason small{display:block;margin-top:3px;color:#b54708;font-size:10px}.extra-workspace-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px}.extra-workspace-facts>span{padding:10px;border-radius:12px;background:#f9fafb;color:#475467;display:grid;gap:3px;font-size:10px}.extra-workspace-facts svg{color:#98a2b3}.extra-workspace-facts b{color:#98a2b3;font-size:8.5px}.extra-workspace-students,.extra-workspace-log-preview{margin-top:18px}.extra-workspace-students h5,.extra-workspace-log-preview h5{margin:0;color:#344054;font-size:11px}.extra-workspace-students>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.extra-workspace-students>div span{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:650}.extra-workspace-students p,.extra-workspace-log-preview>p{margin:8px 0 0;color:#98a2b3;font-size:11px}.extra-workspace-log-preview>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.extra-workspace-log-preview>div em{color:#98a2b3;font-size:9.5px;font-style:normal}.extra-workspace-log-preview dl{margin:8px 0 0;border:1px solid #EAECF0;border-radius:14px;overflow:hidden}.extra-workspace-log-preview dl>div{display:grid;grid-template-columns:88px 1fr;border-top:1px solid #EAECF0}.extra-workspace-log-preview dl>div:first-child{border-top:0}.extra-workspace-log-preview dt,.extra-workspace-log-preview dd{margin:0;padding:10px 12px;font-size:10.5px;line-height:1.55}.extra-workspace-log-preview dt{background:#f9fafb;color:#667085;font-weight:700}.extra-workspace-log-preview dd{color:#344054;white-space:pre-wrap}.extra-workspace-detail>footer{justify-content:flex-end;gap:8px;margin-top:20px}.extra-workspace-detail>footer button.danger{margin-right:auto}@media(max-width:767px){.exam-progress-section{margin-left:-2px;margin-right:-2px;padding:14px;border-radius:18px}.exam-progress-section-head{align-items:flex-start}.exam-progress-section-head>div:last-child{flex-direction:column-reverse;align-items:flex-end}.exam-progress-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px}.exam-progress-card{flex:0 0 220px;scroll-snap-align:start}.exam-progress-modal-head,.extra-workspace-head{padding:20px 18px 15px}.exam-progress-head-actions{align-items:flex-end;flex-direction:column-reverse}.exam-progress-head-actions .exam-autosave-status{font-size:8.5px}.exam-progress-modal-body{padding:16px 18px 22px}.exam-progress-basics{grid-template-columns:1fr 1fr}.exam-progress-basics label:first-child,.exam-progress-basics label:nth-child(4){grid-column:1 / -1}.exam-material-fields{grid-template-columns:1fr}.exam-stage-row{grid-template-columns:22px minmax(0,1fr) 92px 22px}.exam-progress-modal-foot{padding:12px 18px}.extra-workspace-layout{min-height:0;display:block}.extra-workspace-list{display:flex;gap:7px;overflow-x:auto;border-right:0;border-bottom:1px solid #EAECF0}.extra-workspace-list>button{flex:0 0 255px}.extra-workspace-detail{padding:18px}.extra-workspace-facts{grid-template-columns:1fr 1fr}.extra-workspace-log-preview dl>div{grid-template-columns:72px 1fr}}@media(prefers-reduced-motion:reduce){.exam-progress-card,.exam-progress-toggle span,.exam-progress-toggle span:after,.exam-progress-add,.teacher-extra-session-button{transition:none}}@media(prefers-contrast:more){.exam-progress-section,.exam-progress-card,.exam-material-card,.extra-workspace-log-preview dl{border-color:#667085}}.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr)!important;gap:14px!important;padding:14px!important;align-items:start!important;background:#f5f5f7!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column{grid-column:2!important;grid-row:1!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s0,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s2{grid-column:auto!important;grid-row:auto!important;padding:17px 18px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s1,.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s2{border-top:1px solid #e5e5ea!important}.class-log-editor-detail .log-entry-card.is-editor .log-s3{grid-column:1!important;grid-row:1!important;padding:17px 18px!important;border:1px solid #dedfe3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 1px 2px #00000005!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{grid-column:1 / -1!important;grid-row:2!important;margin:0 -14px -14px;padding:12px 14px!important}.class-log-editor-detail .log-attendance-list{gap:0!important;border-top:1px solid #e5e5ea}.class-log-editor-detail .log-student-row{padding:13px 0!important;border:0!important;border-bottom:1px solid #eceef1!important;border-radius:0!important;background:#fff!important}.class-log-editor-detail .log-student-row:last-of-type{border-bottom:0!important}.class-log-editor-detail .log-student-toolbar{min-height:30px;margin-bottom:0!important}.class-log-editor-detail .log-attendance-picker{padding:3px!important;border-radius:10px!important;background:#f2f2f7!important}.class-log-editor-detail .log-attendance-picker button{min-width:40px!important;min-height:28px;border-radius:8px!important;box-shadow:none!important}.class-log-editor-detail .log-score-panel{margin:9px 0 0!important;padding:9px 0 0!important;border-top:1px solid #eceef1;border-radius:0!important;background:transparent!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important}.class-log-editor-detail .log-score-item{display:grid!important;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:8px!important}.class-log-editor-detail .log-score-values{display:grid!important;grid-template-columns:repeat(5,28px);gap:4px!important}.class-log-editor-detail .log-score-panel button{width:28px!important;height:28px!important;border:1px solid #d2d2d7!important;border-radius:8px!important;background:#fff!important;color:#86868b!important;box-shadow:none!important}.class-log-editor-detail .log-score-panel button[aria-pressed=true]{border-color:#0071e3!important;background:#0071e3!important;color:#fff!important}.class-log-editor-detail .log-student-note{margin-top:8px!important;display:grid!important;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:8px!important}.class-log-editor-detail .log-entry-card.is-editor .log-student-note input:not([type]){min-width:0;min-height:34px;padding:7px 10px!important;border:1px solid transparent!important;border-radius:9px!important;background:#f5f5f7!important}.class-log-editor-detail .log-entry-card.is-editor .log-student-note input:not([type]):focus{border-color:#0071e3!important;background:#fff!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-input{border-color:transparent!important;background:#f5f5f7!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-input:focus{border-color:#0071e3!important;background:#fff!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s1 textarea.log-input{min-height:126px!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column .log-s2 textarea.log-input{min-height:88px!important}@media(max-width:1080px){.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{grid-template-columns:1fr!important}.class-log-editor-detail .log-entry-card.is-editor .log-s3{grid-column:1!important;grid-row:1!important}.class-log-editor-detail .log-entry-card.is-editor .log-journal-column{grid-column:1!important;grid-row:2!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{grid-column:1!important;grid-row:3!important}}@media(max-width:520px){.class-log-editor-detail .log-entry-card.is-editor .log-detail-grid{padding:10px!important;gap:10px!important}.class-log-editor-detail .log-student-toolbar{align-items:flex-start!important;flex-direction:column}.class-log-editor-detail .log-attendance-picker{width:100%;grid-template-columns:repeat(3,1fr)!important}.class-log-editor-detail .log-attendance-picker button{width:100%}.class-log-editor-detail .log-score-item,.class-log-editor-detail .log-student-note{grid-template-columns:1fr;gap:5px!important}.class-log-editor-detail .log-score-values{grid-template-columns:repeat(5,minmax(28px,1fr))}.class-log-editor-detail .log-score-panel button{width:100%!important}.class-log-editor-detail .log-entry-card.is-editor .log-s4{margin:0 -10px -10px}}.schedule-control-shell{padding:10px 12px;border:1px solid #EAECF0;background:#fff;box-shadow:0 4px 14px #0f172a09;backdrop-filter:none;-webkit-backdrop-filter:none}.schedule-segmented-control{border-color:#eaecf0;background:#f2f4f7;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.schedule-segmented-control button{transition:color .15s ease,background .15s ease}.schedule-segmented-control button:hover{transform:none}.schedule-segmented-control button.active{background:#fff;color:#101828;box-shadow:0 1px 4px #0f172a14}.schedule-class-workspace-button{height:36px;padding:0 13px;border:1px solid #D0D5DD;border-radius:999px;background:#fff;color:#344054;cursor:pointer;font-family:inherit;font-size:11px;font-weight:650;line-height:1}.schedule-class-workspace-button:hover{background:#f9fafb}.schedule-class-workspace-button:active{transform:scale(.97)}.teacher-schedule-card{border:1px solid #E4E7EC;border-radius:20px;background:#fff;box-shadow:0 7px 24px #0f172a0d;backdrop-filter:none;-webkit-backdrop-filter:none}.teacher-schedule-head{padding:15px 18px;border-bottom-color:#eaecf0;background:#fff}.teacher-schedule-dot{width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.teacher-schedule-stats span{background:#f2f4f7;box-shadow:none}.teacher-schedule-body{padding:10px;background:#f9fafb}.teacher-schedule-grid-scroll{border-color:#eaecf0;border-radius:14px;background:#fff}.teacher-schedule-grid-head{min-height:36px;background:#fff;font-weight:650}.teacher-schedule-grid-head.time{color:#98a2b3}.teacher-schedule-time-cell{min-height:58px;border-top-color:#eaecf0;background:#f9fafb;color:#667085}.teacher-schedule-cell,.teacher-schedule-cell.has-class{min-height:58px;border-color:#eaecf0;background:#fff}.teacher-schedule-block{position:relative;overflow:hidden;padding:9px 10px 25px;border:1px solid #E4E7EC;border-radius:11px;background:#f9fafb;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .19s ease,transform .19s cubic-bezier(.25,1,.5,1),border-color .19s ease,background .19s ease,box-shadow .19s ease,filter .19s ease}.teacher-schedule-block:before{content:none}.teacher-schedule-block:hover,.teacher-schedule-block:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,#D0D5DD);background:#fff;box-shadow:0 7px 18px #0f172a12;outline:none}.teacher-schedule-block .del-btn{color:#98a2b3;opacity:.72;display:inline-flex;align-items:center}.teacher-schedule-block-meta strong,.teacher-schedule-block-submeta small{background:#fff}.teacher-schedule-weekend-divider{background:#eaecf0}.schedule-selection-active .teacher-schedule-block:not(.is-linked){opacity:.44;filter:saturate(.45)}.schedule-selection-active .teacher-schedule-block:not(.is-linked):hover,.schedule-selection-active .teacher-schedule-block:not(.is-linked):focus-visible{opacity:.72}.teacher-schedule-block.is-linked{z-index:2;transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,#FFFFFF);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent),0 8px 20px #0f172a17}.teacher-schedule-block-top .schedule-linked-label{padding:2px 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:7.5px;font-style:normal;font-weight:750;white-space:nowrap}.schedule-peek-floating{border:1px solid #D0D5DD;background:#fffffff0;box-shadow:0 22px 55px #0f172a29;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}@media(max-width:767px){.schedule-control-cluster.right{width:100%;justify-content:flex-start}.teacher-schedule-head{align-items:flex-start}.teacher-schedule-stats{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.teacher-schedule-block,.schedule-segmented-control button,.schedule-class-workspace-button{transition:none}}@media(prefers-reduced-motion:reduce){.confirm-overlay,.confirm-card{animation:none}.confirm-actions button{transition:none}}@media(prefers-reduced-transparency:reduce){.confirm-overlay{background:#1111127a;backdrop-filter:none;-webkit-backdrop-filter:none}.confirm-card{border-color:#d2d2d7;background:#f8f8fa;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.confirm-card{border:2px solid #6e6e73;background:#fff}.confirm-copy p{color:#3a3a3c}.confirm-actions .confirm-cancel{box-shadow:inset 0 0 0 1px #6e6e73}}.class-log-page .att-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.class-log-page .att-summary-card,.class-log-page .att-summary-card.main{min-width:0;min-height:96px;box-sizing:border-box;padding:15px 16px;border:1px solid #dedfe3;border-radius:17px;background:#fff;box-shadow:none}.class-log-page .att-summary-card span{margin-bottom:7px;color:#6e6e73;font-size:10px;font-weight:650}.class-log-page .att-summary-card strong{color:#1d1d1f;font-size:24px;font-weight:720;line-height:1}.class-log-page .att-summary-card small{margin-top:8px;color:#86868b;font-size:10px;line-height:1.4}.class-log-page .att-class-card{border-color:#dedfe3;border-radius:18px;background:#fff;box-shadow:none}.class-log-page .att-class-head{min-height:0;padding:14px 16px;border-bottom:1px solid #e5e5ea;background:#fff}.class-log-page .att-class-head>div:first-child{display:block}.class-log-page .att-class-copy{min-width:0}.class-log-page .att-class-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.class-log-page .att-class-title strong{color:#1d1d1f;font-size:14px;font-weight:700;letter-spacing:-.02em}.class-log-page .att-class-meta{display:block;margin-top:4px;color:#86868b;font-size:10px;font-weight:520}.class-log-page .att-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}.class-log-page .att-table th,.class-log-page .att-table td{width:46px;min-width:46px;height:46px;box-sizing:border-box;padding:5px 3px;vertical-align:middle}.class-log-page .att-table th:last-child,.class-log-page .att-table td:last-child{width:72px;min-width:72px}.class-log-page .att-table .att-sticky-col{display:table-cell;width:148px;min-width:148px!important;max-width:148px;padding:8px 14px!important;vertical-align:middle}.class-log-page .att-sticky-col.student{display:table-cell}.class-log-page .att-sticky-col.student button,.class-log-page .att-sticky-col.student span{display:inline-block;vertical-align:middle}.class-log-page .att-sticky-col.student span{margin-left:7px}.class-log-page .pending-log-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:11px;padding:14px;border-top:1px solid #e5e5ea;background:#f5f5f7}.class-log-page .pending-log-item{grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"time info" ". info" "actions actions";align-items:start;gap:8px 12px;min-width:0;min-height:142px;box-sizing:border-box;padding:15px;border:1px solid #dedfe3!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}.class-log-page .pending-log-item:hover{border-color:#c7c7cc!important;background:#fff!important;transform:none}.class-log-page .pending-log-time{padding-top:1px}.class-log-page .pending-log-time b{font-size:13px}.class-log-page .pending-log-info strong{font-size:13px;font-weight:700;white-space:normal;line-height:1.35}.class-log-page .pending-log-info p{margin-top:6px;gap:4px 6px;font-size:9.5px;line-height:1.4}.class-log-page .pending-log-actions{align-self:end;justify-content:flex-end;gap:6px;margin-top:8px;padding-top:10px;border-top:1px solid #f0f0f2}.class-log-page .pending-log-actions .log-start-btn{min-height:30px;padding:0 10px;border-radius:9px;font-size:10px;font-weight:650}.class-log-page .pending-log-actions .log-start-btn svg{width:13px;height:13px}.class-log-page .log-entry-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:11px;align-items:stretch}.class-log-page .log-entry-overview .log-entry-card{height:100%}.class-log-page .log-entry-overview .log-entry-head{grid-template-columns:1fr!important;grid-template-rows:auto 1fr auto;gap:0!important;min-height:174px;height:100%;box-sizing:border-box;padding:16px!important;align-items:start!important;background:#fff!important}.class-log-page .log-entry-overview .log-entry-head>div:first-child{grid-column:1;justify-content:flex-start}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2){grid-column:1;align-self:start;margin-top:14px}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:first-child{font-size:15px!important;line-height:1.35!important;flex-wrap:wrap}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(2)>div:last-child{margin-top:5px!important;line-height:1.4}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3){grid-column:1;align-self:end;justify-content:flex-start!important;min-width:0;margin-top:14px;padding:10px 0 0!important;border-top:1px solid #f0f0f2;border-radius:0!important;background:transparent!important;flex-wrap:wrap}.class-log-page .log-entry-overview .log-entry-head>div:nth-child(3)>svg{margin-left:auto}@media(max-width:980px){.class-log-page .att-summary-grid,.class-log-page .pending-log-grid,.class-log-page .log-entry-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.class-log-page .att-summary-grid,.class-log-page .pending-log-grid,.class-log-page .log-entry-overview{grid-template-columns:1fr}.class-log-page .att-summary-card,.class-log-page .att-summary-card.main{min-height:88px}.class-log-page .pending-log-item{min-height:0}.class-log-page .log-entry-overview .log-entry-head{min-height:154px}}.class-log-page .log-entry-overview{grid-template-columns:repeat(auto-fill,minmax(286px,1fr));gap:14px;align-items:start}.class-log-page .log-entry-overview .log-entry-card{--journal-surface: #f5f5f7;--journal-accent: #6e6e73;position:relative;height:auto!important;min-height:212px!important;overflow:hidden;border:1px solid #dedfe3!important;border-radius:24px!important;background:var(--journal-surface)!important;box-shadow:0 8px 24px #0000000e!important;isolation:isolate}.class-log-page .log-entry-overview .editorial-korean{--journal-surface: #f7f1f2;--journal-accent: #8f4651}.class-log-page .log-entry-overview .editorial-english{--journal-surface: #eef5f9;--journal-accent: #386d8e}.class-log-page .log-entry-overview .editorial-math{--journal-surface: #f2eff8;--journal-accent: #655487}.class-log-page .log-entry-overview .log-entry-card:before{content:none}.class-log-page .log-entry-overview .log-entry-card:after{content:none}.class-log-page .log-entry-overview .log-entry-head{position:relative;z-index:1;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(78px,1fr) auto!important;gap:0!important;width:100%;height:auto!important;min-height:212px!important;box-sizing:border-box;padding:18px!important;align-items:start!important;background:transparent!important}.class-log-page .log-entry-overview .log-card-time{grid-column:1!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;color:#1d1d1f!important}.class-log-page .log-entry-overview .log-card-time>div{display:grid;gap:3px}.class-log-page .log-entry-overview .log-card-time>div>span{color:#86868b;font-size:9.5px;font-weight:620}.class-log-page .log-entry-overview .log-card-time>div>strong{display:inline-flex;align-items:center;gap:5px;color:#1d1d1f;font-size:15px;font-weight:720;letter-spacing:-.02em}.class-log-page .log-entry-overview .log-card-time>div>strong>svg{color:#86868b}.class-log-page .log-entry-overview .log-card-time>div>strong{flex-wrap:wrap;font-variant-numeric:tabular-nums}.class-log-page .log-entry-overview .log-card-record-state{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#ffffffb3;color:var(--journal-accent);font-size:9px;font-style:normal;font-weight:720;line-height:1}.class-log-page .log-entry-overview .log-card-record-state.done{color:#18764b}.class-log-page .log-entry-overview .log-card-record-state.attention{color:#b42318;background:#fff0ee}.class-log-page .log-entry-overview .log-card-record-state.draft{color:#9a6700;background:#fff7df}.class-log-page .log-entry-overview .log-card-record-state.cancelled{color:#6e6e73}.class-log-page .log-entry-overview .log-card-main{grid-column:1!important;align-self:start;margin-top:17px!important}.class-log-page .log-entry-overview .log-card-eyebrow{display:block;margin-bottom:8px;color:var(--journal-accent)!important;font-size:9.5px;font-weight:720}.class-log-page .log-entry-overview .log-card-main>div:first-of-type{color:#1d1d1f!important;font-size:22px!important;font-weight:730!important;line-height:1.17!important;letter-spacing:-.035em}.class-log-page .log-entry-overview .log-entry-head>.log-card-main>div:first-of-type,.class-log-page .log-entry-overview .log-entry-head>div.log-card-main:nth-child(2)>div:first-of-type{color:#1d1d1f!important}.class-log-page .log-entry-overview .log-card-main>div:nth-of-type(2),.class-log-page .log-entry-overview .log-card-main>div:nth-of-type(2) span{color:#6e6e73!important}.class-log-page .log-entry-overview .log-entry-head>.log-card-main>div:nth-of-type(2),.class-log-page .log-entry-overview .log-entry-head>.log-card-main>div:nth-of-type(2) span,.class-log-page .log-entry-overview .log-entry-head>div.log-card-main:nth-child(2)>div:nth-of-type(2),.class-log-page .log-entry-overview .log-entry-head>div.log-card-main:nth-child(2)>div:nth-of-type(2) span{color:#6e6e73!important}.class-log-page .log-entry-overview .log-card-main>div:nth-of-type(2) span{display:inline-flex;align-items:center;gap:4px}.class-log-page .log-entry-overview .log-card-title{overflow-wrap:anywhere}.class-log-page .log-entry-overview .log-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:7px!important;font-size:10px;line-height:1.5}.class-log-page .log-entry-overview .log-card-status{grid-column:1!important;align-self:end!important;justify-content:flex-start!important;min-width:0;display:flex;align-items:center;gap:8px;margin:14px 0 0!important;padding:10px 0 0!important;border:0!important;border-top:1px solid rgba(0,0,0,.06)!important;border-radius:0!important;background:transparent!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;flex-wrap:wrap}.class-log-page .log-entry-overview .log-card-status>.log-card-students{display:inline-flex;align-items:center;gap:5px;color:#6e6e73;font-size:10px;font-weight:550}.class-log-page .log-entry-overview .log-card-status>svg{transition:transform .18s ease}.class-log-page .log-entry-overview .log-entry-head:active{opacity:.8}.class-log-page .log-entry-overview .log-entry-head:focus-visible{outline:3px solid #0071e3;outline-offset:-4px;border-radius:inherit}.class-log-page .log-entry-overview .log-card-status>svg{margin-left:auto;color:#86868b!important}.class-log-page .log-entry-overview .log-entry-head>.log-card-status>svg{color:#86868b!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:translateY(-1px)!important;border-color:#d2d2d7!important;box-shadow:0 12px 30px #00000013!important}:is(.class-log-page,.class-log-editor-modal) .log-detail-input-check{margin:14px 20px 0;padding:11px 14px;border-radius:12px;background:#fff7e8;display:flex;flex-wrap:wrap;gap:5px 12px;color:#805b16;font-size:11px;line-height:1.5}:is(.class-log-page,.class-log-editor-modal) .log-detail-input-check strong{font-weight:700}:is(.class-log-page,.class-log-editor-modal) .log-record-reason>p{margin:0;color:#6e6e73;font-size:11px;line-height:1.5}.holiday-closure-panel{margin:0 0 14px;overflow:hidden;border:1px solid #dedfe3;border-radius:20px;background:#fff}.holiday-closure-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;background:#f5f5f7}.holiday-closure-panel>header span{color:#86868b;font-size:9px;font-weight:680}.holiday-closure-panel>header h3{margin:3px 0;color:#1d1d1f;font-size:14px;letter-spacing:-.02em}.holiday-closure-panel>header p{margin:0;color:#6e6e73;font-size:10px}.holiday-closure-panel>header>strong{min-width:38px;padding:7px 10px;border-radius:999px;background:#fff;color:#6e6e73;font-size:10px;text-align:center}.holiday-closure-panel>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:#e5e5ea}.holiday-closure-panel article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 16px;background:#fff}.holiday-closure-panel article>span{display:grid;gap:2px}.holiday-closure-panel article>span b{font-size:11px}.holiday-closure-panel article>span small{color:#86868b;font-size:8px}.holiday-closure-panel article>div{display:grid;gap:3px;min-width:0}.holiday-closure-panel article>div strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.holiday-closure-panel article>div small{overflow:hidden;color:#86868b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.holiday-closure-panel article>em{padding:4px 7px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:8.5px;font-style:normal;font-weight:680}.class-log-page .pending-log-time>.pending-log-type-icon{display:inline-grid;place-items:center;width:28px!important;height:28px!important;border-radius:9px!important;background:color-mix(in srgb,var(--teacher) 11%,#fff)!important;color:var(--teacher);box-shadow:none!important}.class-log-page .pending-log-time>.pending-log-type-icon.extra{background:#eef5ff!important;color:#2463c5}.class-log-page .log-record-reason>span{display:inline-flex;align-items:center;gap:5px}.class-log-page .log-record-facts article{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px}.class-log-page .log-record-facts article>i{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fff;color:#6e6e73;font-style:normal}.class-log-page .log-record-facts article>span{display:flex;flex-direction:column;min-width:0}.class-log-page .log-record-facts article>span>small{color:#8e8e93;font-size:9px;font-weight:700}.class-log-page .log-record-facts article>span>strong{margin-top:3px}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header{align-items:center;justify-content:flex-start;gap:9px}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header>div{min-width:0;align-items:flex-start;text-align:left}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header>.log-record-section-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:10px;font-size:0;letter-spacing:0}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header>.log-record-section-icon.attendance{background:#eaf7f1;color:#067647}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header>.log-record-section-icon.journal{background:#eef5ff;color:#2463c5}:is(.class-log-page,.class-log-editor-modal) .log-record-section>header>em{margin-left:auto}:is(.class-log-page,.class-log-editor-modal) .log-record-journal dt{display:flex;align-items:center;gap:7px}:is(.class-log-page,.class-log-editor-modal) .log-record-journal dt>svg{flex:0 0 auto;color:#8e8e93}:is(.class-log-page,.class-log-editor-modal) .log-record-journal dd{display:flex;align-items:center}:is(.class-log-page,.class-log-editor-modal) .log-record-journal dd>.mini-md{width:100%}@media(max-width:980px){.class-log-page .log-entry-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.class-log-page .log-entry-overview{grid-template-columns:1fr}.class-log-page .log-entry-overview .log-entry-card,.class-log-page .log-entry-overview .log-entry-head{min-height:194px!important}.class-log-page .log-entry-overview .log-entry-head{grid-template-rows:auto minmax(68px,1fr) auto!important;padding:16px!important}.class-log-page .log-entry-overview .log-card-main{margin-top:16px!important}.class-log-page .log-entry-overview .log-card-main>div:first-of-type{font-size:20px!important}.holiday-closure-panel>div{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.class-log-page .log-entry-overview .log-entry-card{transition:none!important}.class-log-page .log-entry-overview .log-entry-card:hover{transform:none!important}.class-log-page .log-entry-overview .log-card-status>svg{transition:none}}@media(prefers-reduced-transparency:reduce){.class-log-page .log-entry-overview .log-card-status{background:#fff!important;backdrop-filter:none;-webkit-backdrop-filter:none}}.calendar-editor-modal,.calendar-editor-modal button,.calendar-editor-modal input,.calendar-editor-modal select,.calendar-editor-modal option,.calendar-editor-modal textarea,.calendar-exam-subject-editor,.calendar-exam-subject-editor button,.calendar-exam-subject-editor input,.calendar-exam-subject-editor select,.calendar-exam-subject-editor option{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif!important;font-synthesis:none;letter-spacing:-.012em}.calendar-exam-subject-row input,.calendar-exam-subject-row select,.calendar-exam-subject-row .fancy-date-trigger{font-size:12px!important;font-weight:520!important;line-height:1.35!important}.calendar-exam-subject-row>label>span,.calendar-exam-period-note{font-size:10px!important;line-height:1.45}.calendar-exam-subject-adds button{font-size:11px!important;font-weight:650!important}.calendar-filter-strip button,.calendar-event-detail-hero>span,.calendar-editor-title>span,.calendar-event-targets h4,.calendar-event-memo h4,.calendar-exam-subject-detail h4{display:inline-flex;align-items:center;gap:5px}.calendar-filter-strip button>svg{color:#8e8e93}.calendar-filter-strip button.selected>svg{color:#0071e3}.calendar-event-type-icon,.calendar-inspector-type-icon,.calendar-type-picker-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:var(--event-color)}.calendar-event-type-icon{width:14px;height:14px}.calendar-inspector-type-icon{width:27px;height:27px;border-radius:9px;background:var(--event-tint)}.calendar-type-picker button>.calendar-type-picker-icon{width:28px;height:28px;border-radius:9px;background:var(--event-tint);display:inline-grid;place-items:center;align-self:center;line-height:0}.calendar-type-picker button>.calendar-type-picker-icon>svg{display:block}.calendar-event-chip.has-exam-tags>.calendar-event-type-icon{display:inline-grid}.calendar-inspector-event{grid-template-columns:27px minmax(0,1fr) auto!important}.calendar-inspector-event>.calendar-inspector-type-icon{display:grid;place-items:center;align-self:center;justify-content:center;line-height:0;padding:0}.calendar-inspector-event>.calendar-inspector-type-icon>svg{display:block;margin:0;flex:0 0 auto}.calendar-type-picker button{grid-template-columns:28px minmax(0,1fr)!important;align-items:center}.calendar-type-picker button>span:not(.calendar-type-picker-icon){justify-content:center;line-height:1.2}.calendar-event-detail-hero>span{width:fit-content}.calendar-event-targets h4>svg,.calendar-event-memo h4>svg,.calendar-exam-subject-detail h4>svg{color:#8e8e93}.calendar-editor-title>span>svg{color:#8e8e93}.exam-progress-modal-head>div>span,.exam-progress-basics label>span,.exam-progress-note>span,.exam-progress-dday,.exam-progress-card>strong,.exam-progress-card>div>span{display:flex!important;align-items:center;gap:5px}.exam-progress-basics label>span>svg,.exam-progress-note>span>svg{color:#98a2b3;font-size:13px;flex:0 0 auto}.exam-progress-modal-head>div>span>svg{flex:0 0 auto}.exam-progress-teacher-group>header>.exam-progress-teacher-icon{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--teacher) 11%,#fff);color:var(--teacher)}.exam-progress-card>strong>svg{color:#667085;flex:0 0 auto}.exam-progress-card>p>svg{color:#98a2b3;flex:0 0 auto}.exam-progress-card>div>span>svg{color:#12a36d;flex:0 0 auto}.exam-material-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:#eef5ff;color:#2463c5}.student-table{min-width:1120px}.student-table th>button{padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.student-open-link{padding:0;border:0;background:transparent;color:#1d1d1f;font-family:inherit;font-size:12px;font-weight:750;cursor:pointer;text-align:left}.student-open-link:hover{color:#0071e3}.student-identity{min-width:105px}.student-identity-copy>small{display:none}.student-table td{white-space:nowrap}.student-table .student-address-cell{max-width:240px;white-space:normal;line-height:1.6}.student-list-empty td{height:100px;color:#86868b;text-align:center}.student-table th.active{color:#0071e3}.student-control-shell .enroll-filter-panel{background:#fff;border:1px solid #dedfe3;box-shadow:0 14px 34px #0000001f;-webkit-backdrop-filter:none;backdrop-filter:none}.student-control-shell .enroll-filter-trigger:active,.student-floor-tabs button:active{transform:scale(.97)}.log-teacher-browser{margin:0 18px 16px;padding-top:15px;border-top:1px solid #e5e5ea}.log-teacher-browser>header{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:14px}.log-teacher-browser>header>span{display:inline-flex;align-items:center;gap:6px;color:#515154;font-size:11px;font-weight:700}.log-teacher-browser>header>small{color:#86868b;font-size:10px}.log-teacher-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:7px}.log-teacher-options>button{min-width:0;min-height:58px;padding:9px 10px;border:1px solid #e5e5ea;border-radius:13px;background:#fff;display:flex;align-items:center;gap:9px;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.log-teacher-options>button:hover{background:#f5f5f7;border-color:#d2d2d7}.log-teacher-options>button:active{transform:scale(.98)}.log-teacher-options>button.selected{background:#edf5ff;border-color:#88baff}.log-teacher-avatar{width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--teacher-color) 10%,#fff);color:var(--teacher-color);display:grid;place-items:center;flex:0 0 auto;font-size:12px;font-weight:750}.log-teacher-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.log-teacher-copy strong{overflow:hidden;color:#1d1d1f;font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.log-teacher-copy small{color:#86868b;font-size:9px}.log-teacher-selection{margin-left:auto;color:#0071e3;font-size:12px;opacity:0}.selected>.log-teacher-selection{opacity:1}.att-overall-summary{margin-bottom:14px;padding:18px 20px 12px;border:1px solid #e5e5ea;border-radius:18px;background:#fff;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.5fr);column-gap:25px;align-items:center}.att-overall-rate{display:flex;align-items:center;gap:11px}.att-overall-icon{width:40px;height:40px;border-radius:12px;background:#edf5ff;color:#0071e3;display:grid;place-items:center;flex:0 0 auto}.att-overall-rate small{color:#86868b;font-size:9px}.att-overall-rate h3{margin:3px 0 0;color:#1d1d1f;font-size:14px}.att-overall-rate>strong{margin-left:auto;color:#1d1d1f;font-size:30px;letter-spacing:-.035em;line-height:1}.att-overall-rate>strong.danger{color:#c9342d}.att-overall-facts{margin:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.att-overall-facts>div{min-width:0}.att-overall-facts dt{color:#86868b;font-size:9px;white-space:nowrap}.att-overall-facts dd{margin:4px 0 0;color:#1d1d1f;font-size:16px;font-weight:700;white-space:nowrap}.att-overall-facts dd small{color:#86868b;font-size:9px;font-weight:500}.att-overall-summary>p{grid-column:1 / -1;margin:13px 0 0;padding-top:9px;border-top:1px solid #f0f0f2;color:#86868b;font-size:9px;line-height:1.5}.student-editor-modal{background:#f5f5f7!important;border:1px solid #e5e5ea;box-shadow:0 24px 70px #0003!important;backdrop-filter:none;-webkit-backdrop-filter:none}.student-editor-section{border:1px solid #e5e5ea;border-radius:16px;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.student-editor-modal .student-editor-kicker{color:#86868b;letter-spacing:0;font-size:10px}.student-editor-modal input,.student-editor-modal select{width:100%;min-height:42px;padding:0 11px;border:1px solid #d2d2d7!important;border-radius:10px!important;background:#fff!important;box-shadow:none;font-size:12px;font-weight:500;line-height:1.4}.student-editor-modal select{appearance:auto}.student-editor-modal input:focus,.student-editor-modal select:focus{border-color:#0071e3!important;box-shadow:0 0 0 3px #0071e31f!important}.student-editor-modal .student-editor-label{font-size:10px!important;font-weight:650!important}.student-editor-modal .student-editor-label>svg{flex:0 0 auto}.student-editor-address-shell{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.student-editor-modal .student-editor-address-btn{padding:0;background:transparent;box-shadow:none;color:#0071e3;font-size:9px}.student-editor-section-head{align-items:center}.student-editor-section-title{display:flex;align-items:center;gap:7px;color:#1d1d1f;font-size:13px;font-weight:700}.student-editor-section-title>svg{color:#86868b;flex:0 0 auto}.student-editor-status-segment{min-height:42px;padding:0;border-radius:10px;background:#edf8f0;grid-template-columns:1fr;box-shadow:none}.student-editor-modal .student-editor-status-option.is-active{min-height:42px;background:transparent;color:#248a3d;box-shadow:none}.student-editor-modal .student-editor-status-option:hover{transform:none}.student-editor-modal .student-editor-add-subject{min-height:30px;padding:0 9px!important;border:0!important;border-radius:9px!important;background:#f2f2f7!important;color:#0071e3!important;box-shadow:none}.student-editor-modal .student-editor-remove-subject{border-radius:10px!important;background:#f2f2f7!important;color:#86868b!important;box-shadow:none}.student-editor-modal .student-editor-remove-subject:hover{color:#c9342d!important;background:#fff1f0!important}.student-editor-empty{padding:20px 12px;border:1px dashed #d2d2d7;border-radius:12px;background:#fafafa;font-size:10px}.student-editor-actions button{min-height:38px;padding:0 16px;border:0;border-radius:10px!important;font-size:11px;font-weight:650;box-shadow:none!important}.student-editor-actions button:first-of-type{background:#f2f2f7;color:#515154}.student-editor-actions button:last-child{background:#0071e3!important;color:#fff}.student-editor-actions button:hover{transform:none;filter:brightness(.98)}.student-editor-actions button:active{transform:scale(.97)}.student-editor-actions button:disabled{opacity:.5;cursor:wait}.student-registration-modal{width:min(820px,calc(100vw - 32px))!important;padding:0!important;overflow:hidden!important;border-radius:24px!important}.student-registration-modal .student-editor-body{max-height:min(90dvh,840px);display:flex;flex-direction:column;gap:0}.student-registration-modal .student-editor-top{position:relative;padding:26px 28px 22px;border-bottom:1px solid #e5e5ea;background:#fff;gap:5px}.student-registration-symbol{width:44px;height:44px;margin-bottom:7px;border-radius:13px;background:#edf5ff;color:#0071e3;display:grid;place-items:center}.student-registration-modal .student-editor-title{color:#1d1d1f;font-size:28px;letter-spacing:-.03em}.student-registration-modal .student-editor-subtitle{max-width:580px;color:#86868b;font-size:11px;font-weight:500;line-height:1.6}.student-registration-modal .student-registration-close{position:absolute;top:22px;right:22px;width:32px;height:32px;padding:0;border:0;border-radius:50%!important;background:#f2f2f7;color:#6e6e73;display:grid;place-items:center}.student-registration-grid{min-height:0;overflow-y:auto;padding:18px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:auto 1fr;gap:12px;align-items:start}.student-registration-basics{grid-row:1 / 3}.student-registration-start,.student-registration-subjects{grid-column:2}.student-registration-grid .student-editor-grid--profile{grid-template-columns:minmax(0,1.5fr) minmax(65px,1fr) 65px;gap:8px}.student-registration-grid .student-editor-grid--contacts{grid-template-columns:1fr;gap:10px}.student-registration-modal .student-editor-actions{flex:0 0 auto;margin:0;padding:14px 20px;border-top:1px solid #e5e5ea;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:8px}.student-registration-modal .student-editor-actions>span{margin-right:auto;color:#86868b;font-size:9.5px}.student-registration-note{margin:0;color:#86868b;font-size:10px;line-height:1.5}.student-editor-subsection-label{display:flex;align-items:center;gap:5px}.student-registration-error{margin:5px 0 0;color:#c9342d;font-size:10px}.student-registration-modal input[aria-invalid=true]{border-color:#c9342d!important}.calendar-operations-page button,.calendar-operations-page input,.calendar-operations-page select{font-family:inherit;font-synthesis:none}.calendar-primary-action{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif!important;font-synthesis:none}:is(.log-teacher-options>button,.student-open-link,.student-registration-modal button):focus-visible{outline:3px solid rgba(0,113,227,.28);outline-offset:2px}@media(max-width:1000px){.att-overall-summary{grid-template-columns:1fr;row-gap:16px}.att-overall-rate>strong{font-size:28px}}@media(max-width:760px){.student-table{min-width:0}.student-identity-copy>small{display:block}.student-table td[data-label=학년],.student-table td[data-label=학교]{display:none}.student-table td[data-label=상태]{grid-column:2;grid-row:1;justify-self:end;padding-top:0}.student-table td[data-label=학생]{padding-right:42px}.student-table td[data-label=입원일],.student-table td[data-label=퇴원일]{grid-row:2;padding-top:9px;border-top:1px solid #eeeef0;font-size:10px}.student-table td[data-label=입원일]{grid-column:1}.student-table td[data-label=퇴원일]{grid-column:2;text-align:right}.student-table td[data-label=입원일]:before{content:"입원 ";color:#86868b}.student-table td[data-label=퇴원일]:before{content:"퇴원 ";color:#86868b}.student-table td[data-label=연락처],.student-table td[data-label=보호자]{grid-row:4;padding-top:9px;border-top:1px solid #eeeef0;font-size:10px}.student-table td[data-label=연락처]{grid-column:1}.student-table td[data-label=보호자]{grid-column:2;text-align:right}.student-table td[data-label=연락처]:before{display:block;margin-bottom:3px;content:"학생 연락처";color:#86868b;font-size:9px}.student-table td[data-label=보호자]:before{display:block;margin-bottom:3px;content:"보호자 연락처";color:#86868b;font-size:9px}.student-table td[data-label="수강 과목"]{grid-column:1 / -1;grid-row:3;text-align:left}.student-table .student-subject-badges{justify-content:flex-start}.student-table .student-address-cell{grid-column:1 / -1;max-width:none;padding-top:8px;border-top:1px solid #eeeef0;font-size:9.5px;color:#86868b}.student-list-empty td{grid-column:1 / -1;padding:28px 10px;white-space:normal;height:auto}.student-filter-row{flex-wrap:wrap;overflow:visible}.student-filter-select{flex:1 1 auto}.student-control-shell .enroll-filter-wrap{margin-left:auto}.student-registration-grid{grid-template-columns:1fr;grid-template-rows:auto}.student-registration-basics{grid-row:auto}.student-registration-start,.student-registration-subjects{grid-column:1}.student-registration-grid .student-editor-grid--contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.log-teacher-browser{margin:0 14px 14px}.log-teacher-browser>header>small{display:none}.log-teacher-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.student-registration-modal .student-editor-top{padding:22px 20px 18px}.student-registration-modal .student-editor-title{font-size:25px}.student-registration-grid{padding:12px}.student-registration-modal .student-editor-actions{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.student-registration-modal .student-editor-actions>span{display:none}.student-registration-grid .student-editor-grid--contacts{grid-template-columns:1fr}.att-overall-summary{padding:16px}.att-overall-facts{flex-wrap:wrap;justify-content:flex-start;gap:13px 20px}.att-overall-facts>div{min-width:calc(50% - 20px)}.log-teacher-options>button{padding:8px;gap:7px}.log-teacher-copy strong{font-size:10px}}@media(prefers-reduced-motion:reduce){.log-teacher-options>button{transition:none}.log-teacher-options>button:active,.student-editor-actions button:active{transform:none}}body .class-lifecycle-modal{width:min(680px,94vw)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#f5f5f7!important;box-shadow:0 30px 90px #00000038!important}.class-lifecycle-wrap{max-height:88vh;display:flex;flex-direction:column}.class-lifecycle-wrap>header{padding:24px 26px 18px;border-bottom:1px solid #E5E5EA;background:#fff}.class-lifecycle-wrap>header>span{color:#86868b;font-size:11px;font-weight:650}.class-lifecycle-wrap>header h3{margin:6px 0;color:#1d1d1f;font-size:25px;font-weight:720;letter-spacing:-.035em}.class-lifecycle-wrap>header p{max-width:580px;margin:0;color:#6e6e73;font-size:12px;line-height:1.5}.class-lifecycle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;flex-wrap:wrap}.class-lifecycle-tabs{display:inline-flex;padding:3px;border-radius:11px;background:#e9e9ee}.class-lifecycle-tabs button{min-height:32px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:#6e6e73;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.class-lifecycle-tabs button b{margin-left:4px;color:#86868b;font-weight:700}.class-lifecycle-tabs button.active{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px #0000001a}.class-lifecycle-search{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #E5E5EA;border-radius:10px;background:#fff;color:#86868b}.class-lifecycle-search input{width:150px;border:0;outline:none;background:transparent;color:#1d1d1f;font:inherit;font-size:12px}.class-lifecycle-list{padding:0 20px 20px;overflow-y:auto;display:grid;gap:8px;align-content:start}.class-lifecycle-empty{margin:24px 0;color:#86868b;font-size:12px;text-align:center}.class-lifecycle-row{border:1px solid #E5E5EA;border-radius:14px;background:#fff}.class-lifecycle-row.is-open{border-color:#f2b8b5}.class-lifecycle-row-main{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.class-lifecycle-row-main strong{display:block;color:#1d1d1f;font-size:13px;font-weight:700}.class-lifecycle-row-main small{display:block;margin-top:2px;color:#86868b;font-size:11px;line-height:1.4}.class-lifecycle-actions{display:flex;gap:6px;flex-shrink:0}.class-lifecycle-wrap button{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border:0;border-radius:9px;background:#e9e9ee;color:#1d1d1f;font:inherit;font-size:11.5px;font-weight:650;cursor:pointer}.class-lifecycle-wrap button.danger{background:#c9342f;color:#fff}.class-lifecycle-wrap button.danger.subtle{background:#fdecec;color:#c9342f}.class-lifecycle-wrap button:disabled{opacity:.45;cursor:not-allowed}.class-lifecycle-ending{padding:12px 14px 14px;border-top:1px solid #F2F2F5;display:grid;gap:10px}.class-lifecycle-ending p{margin:0;color:#6e6e73;font-size:11.5px;line-height:1.55}.class-lifecycle-ending p.error{color:#c9342f}.class-lifecycle-ending p.warning{padding:8px 10px;border-radius:10px;background:#fff7e6;color:#8a5a00}.class-lifecycle-ending-row{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start}.class-lifecycle-ending-row label>span{display:block;margin-bottom:4px;color:#86868b;font-size:11px;font-weight:650}.class-lifecycle-ending-actions{display:flex;justify-content:flex-end;gap:6px}@media(max-width:560px){.class-lifecycle-row-main{flex-direction:column;align-items:stretch}.class-lifecycle-actions{justify-content:flex-end}.class-lifecycle-ending-row{grid-template-columns:1fr}.class-lifecycle-search input{width:120px}}:is(.settings-page,.history-browser,.exam-browser-modal,.history-browser-modal) button,:is(.settings-page,.history-browser,.exam-browser-modal,.history-browser-modal) input,:is(.settings-page,.history-browser,.exam-browser-modal,.history-browser-modal) select{font-family:inherit}.workspace-symbol{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:14px;background:#edf5ff;color:#0071e3;line-height:0}.workspace-symbol>svg{display:block;margin:0}.settings-page-head,.history-intro{display:flex;align-items:center;gap:14px}.settings-page-head{margin:0 0 24px}.settings-page-head h2{margin:0;color:#1d1d1f;font-size:30px;font-weight:750;letter-spacing:-.035em}.settings-page-head p,.history-intro p{margin:6px 0 0;color:#86868b;font-size:12px;line-height:1.6}.settings-category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.settings-category-nav>button{min-height:86px;padding:18px;border:1px solid #e5e5ea;border-radius:18px;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;color:#6e6e73;cursor:pointer}.settings-category-nav>button>span{display:grid;gap:5px;min-width:0}.settings-category-nav strong{color:#1d1d1f;font-size:14px;font-weight:700}.settings-category-nav small{color:#86868b;font-size:10px;line-height:1.4}.settings-category-nav>button>svg:last-child{margin-left:auto;flex-shrink:0}.settings-category-nav>button.selected{background:#edf5ff;border-color:#97c7f5;color:#0071e3}.settings-workspace{padding:24px;border:1px solid #e5e5ea;border-radius:22px;background:#fff}.history-intro h3{margin:0;color:#1d1d1f;font-size:21px;letter-spacing:-.025em}.workspace-readonly{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:#86868b;font-size:10px;white-space:nowrap}.history-toolbar{margin:22px 0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.history-toolbar>label{display:flex;align-items:center;gap:9px;color:#6e6e73;font-size:12px}.history-toolbar input,.history-filters select{max-width:100%;min-height:38px;padding:7px 10px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font-size:12px}.history-toolbar>small{color:#86868b;font-size:10px}.workspace-primary,.workspace-danger{min-height:38px;padding:8px 14px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#0071e3;color:#fff;font-size:12px;font-weight:650;cursor:pointer}.workspace-danger{background:#c93430}.workspace-error,.workspace-progress{margin:16px 0;padding:12px 14px;border-radius:12px;background:#fff0ee;color:#a62d27;font-size:12px;line-height:1.6}.workspace-progress{background:#edf5ff;color:#286099}.workspace-empty{padding:32px 16px;color:#86868b;font-size:12px;text-align:center;line-height:1.7}.history-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;border-top:1px solid #e5e5ea;border-bottom:1px solid #e5e5ea}.history-filters>div{display:flex;padding:3px;border-radius:11px;background:#f5f5f7}.history-filters>div>button,.history-date-options button{padding:8px 11px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:11px;cursor:pointer}.history-filters>div>button.selected{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000014}.history-filters>label{display:flex;align-items:center;gap:7px;color:#86868b;font-size:10px}.workspace-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e5e5ea;border-radius:11px;background:#f5f5f7;color:#86868b}.workspace-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#1d1d1f;font-size:12px}.history-filters>.workspace-search{flex:1 1 220px}.history-result-count{margin:15px 0;color:#86868b;font-size:11px}.history-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.history-layout>aside{display:grid;gap:6px;max-height:660px;overflow-y:auto;padding:2px}.history-layout>aside>button{display:grid;gap:5px;padding:13px 14px;text-align:left;border:1px solid transparent;border-radius:12px;background:#f5f5f7;cursor:pointer}.history-layout>aside>button.selected{border-color:#9ac8f2;background:#edf5ff}.history-layout>aside strong{color:#1d1d1f;font-size:12px;overflow-wrap:anywhere}.history-layout>aside small,.history-layout>aside span{color:#86868b;font-size:10px}.history-layout>main{min-width:0}.history-date-options{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.history-date-options button{border:1px solid #e5e5ea;background:#fff;font-variant-numeric:tabular-nums}.history-date-options button.selected{border-color:#0071e3;background:#edf5ff;color:#0071e3}.history-record>header{position:relative;padding:5px 80px 16px 0}.history-record>header>span{color:#86868b;font-size:10px}.history-record h3{margin:7px 0;color:#1d1d1f;font-size:24px;letter-spacing:-.025em;overflow-wrap:anywhere}.history-record>header p{margin:0;color:#86868b;font-size:11px;line-height:1.5}.history-record>header em{position:absolute;right:0;top:5px;padding:5px 9px;border-radius:999px;background:#f5f5f7;color:#6e6e73;font-size:10px;font-style:normal}.history-record-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.history-record-facts>span{padding:12px;border-radius:12px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;background:#f5f5f7;color:#515154;font-size:11px}.history-record-facts svg{color:#8e8e93;flex-shrink:0}.history-reason{padding:14px;border-radius:12px;background:#fff7e8;margin-bottom:16px}.history-reason h4{margin:0 0 5px;color:#946311;font-size:11px}.history-reason p{margin:0;color:#6e6e73;font-size:12px;line-height:1.6;white-space:pre-wrap}.history-content{margin:0 0 22px;border:1px solid #e5e5ea;border-radius:15px;overflow:hidden}.history-content>div{display:grid;grid-template-columns:115px minmax(0,1fr);border-bottom:1px solid #e5e5ea}.history-content>div:last-child{border:0}.history-content dt{margin:0;padding:16px;display:flex;align-items:flex-start;gap:7px;background:#f5f5f7;color:#6e6e73;font-size:11px;font-weight:650}.history-content dd{margin:0;padding:16px;color:#3a3a3c;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.history-content dd .mini-md>:first-child{margin-top:0}.history-content dd .mini-md>:last-child{margin-bottom:0}.history-students h4{margin:0 0 10px;display:flex;align-items:center;gap:7px;color:#1d1d1f;font-size:13px}.history-students>div{display:grid;grid-template-columns:minmax(70px,1fr) 60px 130px minmax(100px,1.5fr);gap:10px;padding:14px 0;align-items:start;border-bottom:1px solid #eeeef0;font-size:11px;color:#515154}.history-students small{font-size:10px;color:#86868b}.history-students p{margin:0;color:#6e6e73;white-space:pre-wrap;line-height:1.5}.history-record>footer{margin-top:18px;color:#86868b;font-size:10px;line-height:1.6}.settings-safety-note{display:flex;gap:11px;padding:16px;margin:20px 0;border-radius:14px;background:#fff7e8;color:#946311}.settings-safety-note>svg{flex-shrink:0}.settings-safety-note strong{font-size:12px}.settings-safety-note p{margin:6px 0 0;color:#805b24;font-size:11px;line-height:1.6}.deletion-preview{padding:20px;border:1px solid #e5e5ea;border-radius:16px;background:#f9f9fb}.deletion-preview h4{margin:0 0 16px;color:#1d1d1f;font-size:18px}.deletion-preview dl{display:flex;gap:26px;margin:0;flex-wrap:wrap}.deletion-preview dt{color:#86868b;font-size:10px}.deletion-preview dd{margin:5px 0 0;color:#1d1d1f;font-size:16px;font-weight:700}.deletion-preview dd small{font-size:9px;color:#86868b;font-weight:500}.deletion-preview>p{color:#6e6e73;font-size:11px;line-height:1.6}.deletion-preview>label{margin:16px 0;display:block;color:#6e6e73;font-size:11px}.deletion-preview input{display:block;width:min(100%,360px);min-height:40px;margin-top:8px;padding:10px 12px;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font-size:12px}.deletion-recovery{margin-top:30px;padding-top:22px;border-top:1px solid #e5e5ea}.deletion-recovery>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.deletion-recovery h3{margin:0;display:flex;align-items:center;gap:8px;font-size:17px;color:#1d1d1f}.deletion-recovery header p{margin:6px 0 15px;color:#86868b;font-size:11px}.deletion-recovery button{padding:8px 11px;border:0;border-radius:10px;background:#f2f2f7;color:#0071e3;font-size:11px;display:flex;align-items:center;gap:5px;cursor:pointer}.deletion-recovery>article{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #eeeef0}.deletion-recovery>article>div{display:grid;gap:5px;flex:1}.deletion-recovery article strong{color:#1d1d1f;font-size:13px}.deletion-recovery article small{color:#86868b;font-size:10px;line-height:1.5}.exam-admin-overview{margin-top:16px}.exam-admin-facts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-bottom:14px}.exam-admin-facts>span{display:inline-flex;align-items:center;gap:5px;color:#6e6e73;font-size:11px}.exam-admin-facts b{color:#1d1d1f;font-size:15px;font-weight:700}.exam-admin-facts small{margin-left:auto;color:#86868b;font-size:10px}.exam-admin-overview .exam-progress-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-board-teacher{display:flex;align-items:center;gap:5px;color:#86868b;font-size:10px;line-height:1.5}.exam-browser-modal,.history-browser-modal{padding:0!important;border-radius:24px!important;overflow:auto;background:#fff!important}.workspace-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 28px 22px;border-bottom:1px solid #e5e5ea}.workspace-dialog-head>div>span{display:inline-flex;align-items:center;gap:5px;color:#0071e3;font-size:11px;font-weight:650}.workspace-dialog-head h3{margin:8px 0 0;color:#1d1d1f;font-size:28px;letter-spacing:-.035em}.workspace-dialog-head p{margin:8px 0 0;color:#86868b;font-size:12px}.workspace-dialog-head>button{flex-shrink:0;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f2f2f7;color:#6e6e73;display:grid;place-items:center;cursor:pointer}.exam-browser-layout{display:grid;grid-template-columns:210px minmax(0,1fr)}.exam-browser-layout>aside{padding:18px 12px;display:flex;flex-direction:column;gap:5px;background:#f5f5f7}.exam-browser-layout>aside>button{min-height:46px;padding:10px;border:0;border-radius:12px;display:flex;align-items:center;gap:8px;background:transparent;color:#6e6e73;font-size:11px;text-align:left;cursor:pointer}.exam-browser-layout>aside>button.selected{background:#fff;color:#0071e3;box-shadow:0 2px 8px #0000000a}.exam-browser-layout aside small{margin-left:auto;color:#86868b;font-size:10px}.exam-browser-layout>main{padding:22px;min-width:0}.exam-browser-layout .workspace-search{margin-bottom:18px}.exam-browser-layout .exam-progress-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.history-browser-modal>.history-browser{padding:24px}.class-log-page .log-control-shell{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.log-history-button{margin-left:auto;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:#f5f5f7;color:#515154;font:inherit;font-size:11px;cursor:pointer}.settings-semester .glass-card{background:#f5f5f7!important;border:1px solid #e5e5ea!important;border-radius:16px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.settings-semester .semester-run-button{background:#0071e3!important;color:#fff!important;box-shadow:none!important;font-family:inherit;font-weight:650!important;border-radius:12px!important;padding:13px 20px!important}.settings-semester .page-title-row h2{font-size:22px!important;letter-spacing:-.025em}:is(.settings-page,.history-browser,.exam-browser-modal) button:disabled{opacity:.45;cursor:not-allowed}:is(.settings-page,.history-browser,.exam-browser-modal,.log-history-button) button:not(:disabled):active,.log-history-button:active{transform:scale(.98)}:is(.settings-page,.history-browser,.exam-browser-modal) :is(button,input,select):focus-visible,.log-history-button:focus-visible{outline:3px solid rgba(0,113,227,.3);outline-offset:2px}@media(max-width:900px){.history-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}.history-students>div{grid-template-columns:minmax(65px,1fr) 55px minmax(105px,1fr)}.history-students p{grid-column:1 / -1}.settings-category-nav>button{padding:14px;gap:8px}.settings-category-nav>button>svg:last-child{display:none}}@media(max-width:620px){.settings-workspace,.history-browser-modal>.history-browser{padding:16px}.settings-category-nav{grid-template-columns:1fr;gap:8px}.settings-category-nav>button{min-height:64px}.settings-category-nav>button>span{grid-template-columns:1fr}.workspace-readonly{display:none}.history-intro{gap:10px;align-items:flex-start}.history-intro h3{font-size:19px}.history-layout,.exam-browser-layout{grid-template-columns:1fr}.history-layout>aside{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.history-record-facts{grid-template-columns:1fr}.history-record-facts>span{padding:10px 12px}.history-content>div{grid-template-columns:90px minmax(0,1fr)}.history-content dt,.history-content dd{padding:12px}.history-record h3{font-size:21px}.exam-admin-overview .exam-progress-cards,.exam-browser-layout .exam-progress-cards{grid-template-columns:1fr}.exam-browser-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.exam-browser-layout>main{padding:16px}.workspace-dialog-head{padding:22px 20px 18px}.workspace-dialog-head h3{font-size:25px}.exam-admin-facts small{width:100%;margin:0}.deletion-preview{padding:16px}.deletion-recovery>article>.workspace-symbol{display:none}.deletion-preview>.workspace-danger{width:100%}}@media(prefers-reduced-motion:reduce){:is(.settings-page,.history-browser,.exam-browser-modal) button:active,.log-history-button:active{transform:none!important}}@media(prefers-contrast:more){.settings-category-nav>button,.history-layout>aside>button{border-color:#6e6e73}:is(.settings-page,.history-browser,.exam-browser-modal) small{color:#515154}}.student-directory{--student-border: #e5e5ea;color:#1d1d1f}.student-directory button,.student-picker button,.student-picker-menu button,.student-picker-menu input{font-family:inherit;font-synthesis:none;touch-action:manipulation}.student-directory .student-command-surface{margin-bottom:18px;border:1px solid var(--student-border);border-radius:20px;background:#fff;overflow:visible}.student-directory .student-page-header{margin:0;padding:24px 24px 20px;align-items:center;border-bottom:1px solid var(--student-border)}.student-directory .page-title-row h2{font-size:clamp(26px,2.5vw,32px);font-weight:750;line-height:1.15;letter-spacing:-.035em}.student-directory .student-count-pill{display:inline-flex;align-items:center;padding:0 9px;border:0;border-radius:8px;background:#f5f5f7;color:#6e6e73;font-size:12px;font-weight:600;box-shadow:none}.student-directory .page-subtitle{margin:8px 0 0;color:#6e6e73;font-size:12px;line-height:1.55}.student-directory .page-action-toolbar{display:flex;gap:8px}.student-directory .student-action{min-height:40px;padding:0 14px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650;cursor:pointer;box-shadow:none}.student-directory .student-action.secondary{background:#f2f2f7;color:#515154}.student-directory .student-action.primary{background:#0071e3;color:#fff}.student-directory .student-action:hover{filter:brightness(.97)}.student-directory .student-control-shell{position:static;z-index:auto;margin:0;padding:18px 24px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:grid;gap:12px}.student-directory .student-search-row{display:flex;align-items:center;gap:14px}.student-directory .student-search-box{flex:1;width:auto;min-width:0;height:44px;padding:0 12px;border:1px solid transparent;border-radius:11px;display:flex;align-items:center;gap:9px;background:#f5f5f7;color:#86868b;box-shadow:none}.student-directory .student-search-box:focus-within{border-color:#0071e3;box-shadow:0 0 0 3px #0071e317}.student-directory .student-search-box input{width:100%;min-width:0;padding:0;border:0;background:transparent;outline:none;color:#1d1d1f;font:inherit;font-size:13px}.student-directory .student-search-box>button{width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#e9e9ee;color:#6e6e73;display:grid;place-items:center;flex:0 0 auto;cursor:pointer}.student-directory .student-search-box>svg{flex:0 0 auto}.student-directory .student-floor-tabs{height:38px;padding:3px;border:0;border-radius:10px;background:#f2f2f7;display:flex;gap:2px;flex:0 0 auto;box-shadow:none}.student-directory .student-floor-tabs button{height:32px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:11px;font-weight:650;cursor:pointer}.student-directory .student-floor-tabs button.active{color:#1d1d1f;background:#fff;box-shadow:0 1px 3px #00000012}.student-directory .student-filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;overflow:visible;padding:0}.student-directory .student-filter-footer{display:flex;align-items:center;gap:12px}.student-directory .student-issue-chip{height:32px;padding:0 7px;border:0;border-radius:8px;display:inline-flex;align-items:center;gap:6px;background:transparent;color:#90610b;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:none}.student-directory .student-issue-chip.active{background:#fff7e8;color:#835309}.student-directory .student-issue-chip.quiet{opacity:1;color:#86868b;background:transparent}.student-directory .student-filter-reset{min-height:32px;padding:0 7px;border:0;border-radius:8px;background:transparent;color:#0071e3;font-size:11px;cursor:pointer}.student-directory .student-sort-picker{margin-left:auto;width:184px}.student-directory .student-sort-picker .student-picker-trigger{min-height:34px;padding:0 9px;border:0;background:transparent}.student-directory .student-sort-picker .student-picker-trigger small{display:none}.student-directory .student-sort-picker .student-picker-trigger b{font-size:11px;font-weight:550}.student-picker{min-width:0;font-family:inherit}.student-picker .student-picker-trigger{width:100%;min-height:54px;padding:8px 11px;border:1px solid #e5e5ea;border-radius:11px;background:#fff;color:#1d1d1f;display:flex;align-items:center;gap:9px;box-shadow:none;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.student-picker .student-picker-trigger>svg:first-child{flex:0 0 auto;color:#86868b}.student-picker .student-picker-trigger>span{min-width:0;display:grid;gap:3px}.student-picker .student-picker-trigger small{color:#86868b;font-size:10px;font-weight:500;line-height:1.3}.student-picker .student-picker-trigger b{overflow:hidden;color:#1d1d1f;font-size:12px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.student-picker .student-picker-trigger:hover{border-color:#d2d2d7;background:#fafafa;transform:none}.student-picker.is-open .student-picker-trigger{border-color:#0071e3;background:#f8fbff}.student-picker-chevron{margin-left:auto;color:#86868b;flex:0 0 auto;transition:transform .15s ease}.student-picker.is-open .student-picker-chevron{transform:rotate(180deg)}.student-picker .student-picker-input-wrap{position:relative}.student-picker .student-picker-input-wrap input{width:100%;padding-right:36px}.student-picker .student-picker-input-wrap>button{position:absolute;top:3px;right:3px;bottom:3px;width:30px;padding:0;border:0;border-radius:7px;background:transparent;color:#86868b;display:grid;place-items:center;cursor:pointer}.student-picker-menu{position:fixed;z-index:1200;box-sizing:border-box;padding:6px;border:1px solid #dcdce1;border-radius:15px;background:#fff;color:#1d1d1f;box-shadow:0 12px 40px #0000001f,0 2px 6px #00000005;display:flex;flex-direction:column;overflow:hidden;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;font-synthesis:none;transform-origin:top left;animation:student-menu-appear .13s ease-out}.student-picker-menu.above{transform:translateY(-100%);transform-origin:bottom left;animation:student-menu-appear-above .13s ease-out}.student-picker-menu>header{padding:7px 9px 8px;color:#86868b;font-size:10px;font-weight:600}.student-picker-menu .student-picker-search{display:flex;align-items:center;gap:7px;margin:0 4px 5px;padding:0 9px;min-height:36px;border-radius:8px;background:#f5f5f7;color:#86868b}.student-picker-search input{width:100%;min-width:0;padding:0;border:0;background:transparent;color:#1d1d1f;outline:0;font-size:12px}.student-picker-search:focus-within{box-shadow:0 0 0 2px #0071e333}.student-picker-options{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.student-picker-group{padding:12px 9px 5px;color:#86868b;font-size:10px;font-weight:600}.student-picker-options button{width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#1d1d1f;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;line-height:1.4;cursor:pointer;box-shadow:none}.student-picker-options button.highlighted{background:#f5f5f7}.student-picker-options button.selected{background:#edf5ff}.student-picker-options button:disabled{opacity:.4;cursor:not-allowed}.student-picker-option-copy{flex:1;min-width:0;display:grid;gap:2px}.student-picker-option-copy strong{color:#1d1d1f;font-size:12px;font-weight:550}.student-picker-option-copy small{color:#86868b;font-size:10px}.student-picker-options em{color:#86868b;font-size:10px;font-style:normal}.student-picker-check{flex:0 0 auto;color:#0071e3;opacity:0}.selected>.student-picker-check{opacity:1}.student-picker-teacher{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--teacher, #6e6e73) 9%,white);color:var(--teacher, #6e6e73);flex:0 0 auto;font-size:12px;font-weight:650}.student-picker-empty{margin:0;padding:15px 10px;color:#86868b;font-size:11px;line-height:1.5}.student-editor-modal .student-picker-trigger{min-height:44px;padding:0 10px}.student-editor-modal .student-picker-trigger small,.student-subject-status-picker .student-picker-trigger small{display:none}.student-editor-modal .student-picker-trigger b{font-size:12px}.student-subject-status-picker{min-width:96px}.student-subject-status-picker .student-picker-trigger{min-height:32px;padding:0 8px;border-radius:8px}.student-subject-status-picker .student-picker-trigger b{font-size:11px}.student-directory .student-table-card{border:1px solid var(--student-border);border-radius:20px;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:auto}.student-directory .student-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}.student-directory .student-table thead tr{background:#f5f5f7}.student-directory .student-table th{height:44px;padding:0 14px;border-bottom:1px solid var(--student-border);color:#6e6e73;font-size:11px;font-weight:600;text-align:left;cursor:default}.student-directory .student-table th+th{border-left:1px solid #eaeaec}.student-directory .student-table th button{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0;color:inherit;font-size:inherit}.student-directory .student-table th.active{color:#0071e3}.student-directory .student-table td{height:62px;padding:12px 14px;color:#515154;font-size:12px;font-weight:450;line-height:1.5;vertical-align:middle;white-space:nowrap}.student-directory .student-table td+td{border-left:1px solid #f2f2f4}.student-directory .student-table tbody tr+tr td{border-top:1px solid #eeeef0}.student-directory .student-table tbody tr{transition:background .12s ease}.student-directory .student-table tbody tr:hover{background:#f8faff;box-shadow:none;transform:none}.student-directory .student-table tbody tr:active{background:#edf5ff}.student-directory .student-table tbody tr.inactive{opacity:1}.student-directory .student-table tbody tr.inactive .student-open-link{color:#6e6e73}.student-directory .student-table .student-name-cell{min-width:115px}.student-directory .student-identity{min-width:0;display:flex;align-items:center;gap:8px}.student-directory .student-open-link{color:#1d1d1f;font-size:13px;font-weight:650;line-height:1.5}.student-directory .student-open-link:hover{color:#0071e3}.student-directory .student-row-signals{margin-left:auto;display:flex;align-items:center;gap:5px}.student-row-signals .needs-check{color:#ad790e}.student-row-signals .unread-counsel{color:#0071e3}.student-directory .student-table td[data-label=입원일],.student-directory .student-table td[data-label=퇴원일],.student-directory .student-table td[data-label=연락처],.student-directory .student-table td[data-label=보호자]{font-variant-numeric:tabular-nums;font-size:11px}.student-directory .student-table .leave-date{color:#6e6e73;font-weight:450}.student-directory .student-table .student-address-cell{min-width:140px;max-width:220px;white-space:normal;font-size:11px}.student-directory .student-status-label{display:inline-flex;align-items:center;padding:3px 8px;border-radius:7px;background:#f2f2f7;color:#6e6e73;font-size:10px;font-weight:600}.student-directory .student-status-label.green{background:#eef8f1;color:#27733c}.student-directory .student-status-label.yellow{background:#fff7e8;color:#90610b}.student-directory .student-status-label.red{background:#f2f2f7;color:#6e6e73}.student-directory .student-subject-label{padding:3px 7px;border:1px solid color-mix(in srgb,var(--subject) 18%,#e5e5ea);border-radius:7px;background:transparent;color:color-mix(in srgb,var(--subject) 70%,#1d1d1f);font-size:10px;font-weight:550}.student-directory .student-list-empty td{padding:30px 16px;height:120px;color:#86868b;font-size:12px;white-space:normal}:is(.student-directory,.student-picker,.student-picker-menu) button:focus-visible{outline:3px solid #0071e340;outline-offset:2px}:is(.student-directory .student-action,.student-directory .student-floor-tabs button,.student-picker-trigger):active{transform:scale(.98)}.student-picker-input-wrap input:focus-visible{outline:none}@keyframes student-menu-appear{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes student-menu-appear-above{0%{opacity:0;transform:translateY(calc(-100% + 3px))}to{opacity:1;transform:translateY(-100%)}}@media(max-width:1000px){.student-directory .student-page-header{padding:20px}.student-directory .student-control-shell{padding:16px 20px 12px}}@media(max-width:760px){.student-directory .student-command-surface{border-radius:17px;margin-bottom:14px}.student-directory .student-page-header{padding:18px 16px;align-items:flex-start;gap:10px}.student-directory .page-title-row h2{font-size:25px}.student-directory .page-subtitle{display:none}.student-directory .student-action{min-height:36px;padding:0 10px;font-size:11px}.student-directory .student-export-btn{display:none}.student-directory .student-control-shell{padding:14px 16px 10px;gap:10px}.student-directory .student-search-row{flex-wrap:wrap;gap:10px}.student-directory .student-search-box{flex-basis:100%}.student-directory .student-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-directory .student-filter-footer{flex-wrap:wrap;gap:5px 7px}.student-directory .student-sort-picker{width:160px}.student-directory .student-table-card{border:0;border-radius:0;background:transparent;overflow:visible}.student-directory .student-table{display:block;min-width:0}.student-directory .student-table thead{display:none}.student-directory .student-table tbody{display:grid;gap:10px}.student-directory .student-table tbody tr{padding:16px;border:1px solid var(--student-border);border-radius:16px;background:#fff;box-shadow:none;gap:10px}.student-directory .student-table td{width:auto;height:auto;padding:0;border:0;display:block;font-size:12px}.student-directory .student-table td+td,.student-directory .student-table tbody tr+tr td{border-left:0;border-top:0}.student-directory .student-table td[data-label=학년],.student-directory .student-table td[data-label=학교]{display:none}.student-directory .student-table td[data-label=학생]{padding-right:42px}.student-directory .student-identity-copy>small{display:block;font-size:10px;line-height:1.5}.student-directory .student-open-link{font-size:15px}.student-directory .student-table td[data-label=상태]{grid-column:2;grid-row:1}.student-directory .student-table td[data-label=입원일],.student-directory .student-table td[data-label=퇴원일],.student-directory .student-table td[data-label=연락처],.student-directory .student-table td[data-label=보호자]{padding-top:10px;border-top:1px solid #eeeef0}.student-directory .student-table td[data-label="수강 과목"]{padding-top:2px}.student-directory .student-table .student-address-cell{padding-top:10px;border-top:1px solid #eeeef0;max-width:none;font-size:10px}}@media(prefers-reduced-motion:reduce){.student-picker-menu{animation:none}.student-picker-trigger,.student-picker-chevron,.student-directory .student-table tbody tr{transition:none}:is(.student-directory .student-action,.student-directory .student-floor-tabs button,.student-picker-trigger):active{transform:none}}@media(prefers-contrast:more){.student-directory{--student-border: #86868b}.student-picker-trigger,.student-picker-menu{border-color:#86868b}.student-directory .student-table td{color:#1d1d1f}}.student-record-detail{--record-border: #e5e5ea;--record-muted: #6e6e73;width:100%;max-width:1320px;margin-inline:auto;padding-bottom:2rem;color:#1d1d1f;font-family:inherit}.student-record-detail *,.student-record-detail *:before,.student-record-detail *:after{box-sizing:border-box}.student-record-detail button,.student-record-detail input,.student-record-detail textarea{font-family:inherit}.student-record-detail svg{display:block;flex-shrink:0}.student-record-detail button{cursor:pointer;touch-action:manipulation}.student-record-detail button:disabled{opacity:.45;cursor:not-allowed}.student-record-detail :is(button,a,summary):focus-visible{outline:3px solid #0071e3;outline-offset:3px}.student-record-back{display:inline-flex;align-items:center;gap:.25rem;min-height:44px;margin-bottom:.5rem;padding:0 .25rem 0 0;border:0;background:transparent;color:#0071e3;font-size:.875rem;font-weight:550;box-shadow:none}.student-record-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;margin-bottom:1.5rem;border:1px solid var(--record-border);border-radius:24px;background:#fff}.student-record-eyebrow{display:block;margin-bottom:.6rem;color:var(--record-muted);font-size:.75rem;font-weight:550}.student-record-identity{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.student-record-identity h1{margin:0;color:#1d1d1f;font-size:clamp(1.8rem,3vw,2.2rem);line-height:1.2;font-weight:700;letter-spacing:-.035em;overflow-wrap:anywhere}.student-record-status{display:inline-flex;padding:.25rem .6rem;border-radius:8px;background:#f2f2f7;color:var(--record-muted);font-size:.75rem;font-weight:550;white-space:nowrap}.student-record-status.current{background:#eef8f1;color:#27733c}.student-record-status.paused{background:#fff7e8;color:#90610b}.student-record-school{display:flex;align-items:center;gap:.5rem;margin:.8rem 0 0;color:var(--record-muted);font-size:.875rem;line-height:1.5}.student-record-subject-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.85rem}.student-record-subject-tags span{padding:.25rem .6rem;border:1px solid var(--record-border);border-radius:8px;color:#515154;font-size:.75rem}.student-record-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.student-record-detail .student-record-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.55rem .9rem;border:1px solid var(--record-border);border-radius:999px;background:#f5f5f7;color:#1d1d1f;font-size:.8125rem;line-height:1.3;font-weight:550;box-shadow:none;transition:background .12s ease,transform .1s ease}.student-record-detail .student-record-button.primary{border-color:#0071e3;background:#0071e3;color:#fff}.student-record-detail .student-record-button.danger{border-color:#f0d5d5;background:#fff;color:#b4232a}.student-record-detail .student-record-button:hover:not(:disabled){background:#eaeaec}.student-record-detail .student-record-button.primary:hover:not(:disabled){background:#0077ed}.student-record-detail .student-record-button.danger:hover:not(:disabled){background:#fff4f4}.student-record-detail .student-record-button:active:not(:disabled){transform:scale(.98)}.student-record-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.8fr);align-items:start;gap:1.25rem}.student-record-overview{display:grid;align-content:start;gap:1rem;min-width:0}.student-record-workspace{min-width:0}.student-record-card{min-width:0;padding:1.5rem;border:1px solid var(--record-border);border-radius:20px;background:#fff}.student-record-section-heading{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.student-record-section-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f5f5f7;color:var(--record-muted);flex-shrink:0}.student-record-section-heading>div{min-width:0}.student-record-section-heading h2{margin:0;color:#1d1d1f;font-size:.9375rem;font-weight:650;line-height:1.45;letter-spacing:-.015em}.student-record-section-heading p{margin:.2rem 0 0;color:var(--record-muted);font-size:.75rem;line-height:1.5}.student-record-section-heading>button{margin-left:auto;flex-shrink:0}.student-record-info{display:grid;gap:1.2rem;margin:0}.student-record-info dt{display:flex;align-items:center;gap:.4rem;color:var(--record-muted);font-size:.75rem;line-height:1.4}.student-record-info dd{margin:.35rem 0 0;color:#1d1d1f;font-size:.875rem;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.student-record-info a{color:inherit;text-decoration:none}.student-record-info a:hover{color:#0071e3;text-decoration:underline;text-underline-offset:3px}.student-record-attendance-rate{display:grid;gap:.35rem}.student-record-attendance-rate strong{font-size:2rem;line-height:1.2;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.student-record-attendance-rate>span{color:var(--record-muted);font-size:.75rem;line-height:1.5}.student-record-attendance-counts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0 .65rem;padding-block:.8rem;border-top:1px solid var(--record-border);border-bottom:1px solid var(--record-border)}.student-record-attendance-counts>span{display:flex;justify-content:space-between;gap:.5rem;color:var(--record-muted);font-size:.8125rem}.student-record-attendance-counts b{color:#1d1d1f;font-weight:600}.student-record-detail .student-record-text-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:.375rem;min-height:36px;padding:.25rem 0;border:0;background:transparent;color:#0071e3;font-size:.75rem;font-weight:550;line-height:1.45;box-shadow:none}.student-record-text-button:hover{text-decoration:underline;text-underline-offset:3px}.student-record-manage{padding:.2rem .5rem}.student-record-manage summary{padding:.7rem 0;color:var(--record-muted);font-size:.75rem;cursor:pointer}.student-record-manage p{margin:0 0 .75rem;color:var(--record-muted);font-size:.75rem;line-height:1.7}.student-record-tabs{display:flex;width:fit-content;max-width:100%;gap:.25rem;margin-bottom:1rem;padding:.25rem;border:1px solid var(--record-border);border-radius:13px;background:#eeeef0}.student-record-tabs [role=tab]{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.5rem 1rem;border:0;border-radius:10px;background:transparent;color:var(--record-muted);font-size:.8125rem;font-weight:550;white-space:nowrap;box-shadow:none;transition:background .12s ease,color .12s ease}.student-record-tabs [aria-selected=true]{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px #0000000d}.student-record-tabs button:active{background:#e4e4e8}.student-record-panel{display:grid;gap:1rem;min-width:0}.student-record-panel[hidden]{display:none}.student-record-checks{padding:1rem 1.2rem;border:1px solid #eeddbb;border-radius:16px;background:#fffaf0}.student-record-checks>header{display:flex;align-items:center;gap:.5rem;color:#90610b}.student-record-checks h2{margin:0;font-size:.8125rem;font-weight:600}.student-record-checks ul{display:grid;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none}.student-record-checks li{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#805b18;font-size:.75rem;line-height:1.6}.student-record-checks button{min-height:32px;padding:.3rem .65rem;border:1px solid #eeddbb;border-radius:999px;background:#fff;color:#805b18;font-size:.75rem;flex-shrink:0}.student-record-enrollments{display:grid;gap:1rem}.student-record-enrollment{padding:1.2rem;border:1px solid var(--record-border);border-radius:16px;background:#fff}.student-record-enrollment.past{background:#fafafa}.student-record-enrollment>header,.student-record-enrollment>header>div{display:flex;align-items:center;gap:.5rem}.student-record-enrollment>header{justify-content:space-between;flex-wrap:wrap}.student-record-enrollment h3{margin:0;font-size:.9375rem;font-weight:600;line-height:1.45}.student-record-detail .student-record-icon-button{display:grid;place-items:center;width:34px;min-width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--record-muted);box-shadow:none}.student-record-icon-button:hover{background:#f0f0f3;color:#1d1d1f}.student-record-detail .student-subject-status-picker{min-width:104px}.student-record-detail .student-subject-status-picker .student-picker-trigger{min-height:36px;border-radius:10px}.student-record-detail .student-subject-status-picker .student-picker-trigger b{font-size:.75rem}.student-record-enrollment-dates{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem}.student-record-enrollment-dates>div{display:flex;align-items:center;gap:.45rem;color:var(--record-muted);font-size:.75rem}.student-record-date .fancy-date-trigger{min-height:36px;padding:.25rem .5rem;border:1px solid #eeeef0;border-radius:8px;background:#f5f5f7;color:#515154;font-size:.75rem;box-shadow:none}.student-record-classes{margin-top:1rem;padding-top:.75rem;border-top:1px solid #eeeef0}.student-record-classes>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--record-muted);font-size:.75rem}.student-record-class{display:flex;align-items:center;gap:.5rem;padding:.85rem 0}.student-record-class+.student-record-class{border-top:1px solid #f0f0f2}.student-record-class>span,.student-record-assignment-option>span:first-child{display:grid;min-width:0;flex:1;gap:.3rem}.student-record-class b,.student-record-assignment-option b{color:#1d1d1f;font-size:.8125rem;line-height:1.5;font-weight:550;overflow-wrap:anywhere}.student-record-class small,.student-record-assignment-option small{color:var(--record-muted);font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}.student-record-class-empty{margin:.75rem 0 0;color:var(--record-muted);font-size:.75rem}.student-record-assignment,.student-record-add-subject{margin:.85rem 0;padding:1rem;border-radius:12px;background:#f5f5f7}.student-record-assignment>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.student-record-assignment>header strong{color:#515154;font-size:.8125rem}.student-record-assignment>header button{display:grid;place-items:center;min-width:32px;min-height:32px;border:0;border-radius:50%;background:transparent;color:var(--record-muted)}.student-record-assignment-option{display:flex;align-items:center;width:100%;gap:.75rem;margin-top:.5rem;padding:.75rem;border:1px solid var(--record-border);border-radius:10px;background:#fff;text-align:left}.student-record-assignment-option:hover{border-color:#b8d7f8;background:#fafcff}.student-record-assignment-option>span:last-child{display:flex;align-items:center;gap:.25rem;color:#0071e3;font-size:.75rem;white-space:nowrap}.student-record-add-subject>p{margin:0 0 .65rem;color:var(--record-muted);font-size:.75rem}.student-record-add-subject>div{display:flex;flex-wrap:wrap;gap:.4rem}.student-record-add-subject button{display:flex;align-items:center;gap:.4rem;min-height:36px;padding:.45rem .75rem;border:1px solid var(--record-border);border-radius:999px;background:#fff;color:#515154;font-size:.75rem}.student-record-empty{display:grid;justify-items:center;gap:.4rem;padding:2rem 1rem;color:var(--record-muted);font-size:.8125rem;line-height:1.6;text-align:center}.student-record-empty>span{font-size:.75rem}.student-record-empty.compact{padding:1rem}.student-record-class-history{border:1px solid var(--record-border);border-radius:16px;background:#fff;overflow:hidden}.student-record-class-history>summary{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;color:#515154;cursor:pointer;font-size:.8125rem;font-weight:550}.student-record-class-history>summary:after{content:"⌄";margin-left:.3rem;color:var(--record-muted)}.student-record-class-history[open]>summary:after{transform:rotate(180deg)}.student-record-class-history summary small{margin-left:auto;color:var(--record-muted);font-size:.75rem;font-weight:450}.student-record-class-history>div{padding:0 1.25rem .5rem}.student-record-class-history-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-top:1px solid #eeeef0}.student-record-class-history-row>span:first-child{display:grid;gap:.3rem}.student-record-class-history-row b{font-size:.8125rem;font-weight:550}.student-record-class-history-row small,.student-record-class-history-row>span:last-child{color:var(--record-muted);font-size:.75rem;line-height:1.5}.student-record-lesson{display:flex;align-items:flex-start;gap:1rem;width:100%;padding:1.2rem .4rem;border:0;border-radius:8px;background:transparent;text-align:left;box-shadow:none}.student-record-lesson+.student-record-lesson{border-top:1px solid #eeeef0}.student-record-lesson:hover{background:#fafafa}.student-record-lesson>time{display:grid;justify-items:center;gap:.2rem;width:48px;padding:.6rem .3rem;border-radius:11px;background:#f5f5f7;flex-shrink:0;font-variant-numeric:tabular-nums}.student-record-lesson>time b{color:#1d1d1f;font-size:1.125rem;line-height:1.2;font-weight:600}.student-record-lesson>time span{color:var(--record-muted);font-size:.6875rem}.student-record-lesson-copy{display:grid;gap:.4rem;min-width:0;flex:1}.student-record-lesson-title{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.student-record-lesson-title>b{color:#1d1d1f;font-size:.875rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.student-record-attendance,.student-record-pre-notified{display:inline-flex;padding:.2rem .5rem;border-radius:6px;font-size:.6875rem;line-height:1.4;font-weight:500}.student-record-attendance.present{background:#eef8f1;color:#27733c}.student-record-attendance.absent{background:#fff0f0;color:#b4232a}.student-record-attendance.late{background:#fff7e8;color:#90610b}.student-record-pre-notified{background:#f2f2f7;color:var(--record-muted)}.student-record-lesson-copy>small{color:var(--record-muted);font-size:.75rem;line-height:1.5}.student-record-lesson-content{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#515154;font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere}.student-record-lesson-note{display:flex;align-items:flex-start;gap:.4rem;color:var(--record-muted);font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}.student-record-lesson-note svg{margin-top:.1rem}.student-record-lesson-link{margin-top:.3rem;color:#86868b}.student-record-undo{position:fixed;z-index:1000;bottom:calc(1.5rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;width:max-content;max-width:calc(100vw - 2rem);padding:.8rem 1rem;border-radius:14px;background:#27272b;color:#fff;font-size:.8125rem;box-shadow:0 8px 28px #00000026}.student-record-undo button{min-height:36px;padding:.3rem .65rem;border:0;border-radius:8px;background:#ffffff1c;color:#fff;font-size:.8125rem;white-space:nowrap}.student-record-memo-panel .student-memo-card{margin:0!important;padding:1.5rem!important;border:1px solid var(--record-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.student-record-memo-panel :is(.student-memo-card>h3,.student-counsel-title){display:flex;align-items:center;gap:.5rem!important;margin-bottom:1rem!important;color:#1d1d1f!important;font-size:.9375rem!important;line-height:1.5}.student-record-memo-panel .student-memo-list{gap:.75rem!important}.student-record-memo-panel .student-memo-item{padding:1rem!important;border:1px solid var(--record-border)!important;border-radius:12px!important;background:#fafafa!important;box-shadow:none!important}.student-record-memo-panel .student-memo-item.important{background:#fffaf0!important;border-color:#edb!important}.student-record-memo-panel .student-memo-item>div{min-width:0}.student-record-memo-panel .student-memo-actions{gap:.4rem!important}.student-record-memo-panel .student-memo-item button{min-height:32px;font-size:.75rem!important}.student-record-memo-panel .student-memo-text{font-size:.8125rem!important;line-height:1.75;color:#1d1d1f!important;overflow-wrap:anywhere}.student-record-memo-panel .student-memo-author{margin-top:.5rem!important;color:var(--record-muted)!important;font-size:.6875rem!important}.student-record-memo-panel .student-memo-card :is(input:not([type=checkbox]),textarea){min-width:0;padding:.65rem .85rem!important;border:1px solid var(--record-border)!important;border-radius:10px!important;background:#f5f5f7!important;color:#1d1d1f!important;font-size:.875rem!important;box-shadow:none!important}.student-record-memo-panel .student-memo-card :is(input,textarea):focus-visible{outline:2px solid #0071e3!important;outline-offset:2px}.student-record-memo-panel .student-memo-input-row{flex-wrap:wrap;gap:.6rem!important;margin-top:1rem}.student-record-memo-panel .student-memo-input-row .student-memo-input{flex-basis:180px;min-height:44px}.student-record-memo-panel .student-memo-add{min-height:40px;border:0!important;border-radius:999px!important;padding:.5rem 1rem!important;background:#0071e3!important;color:#fff!important;font-size:.8125rem!important;box-shadow:none!important}.student-record-memo-panel .student-counsel-tabs{background:#eeeef0!important;padding:.25rem!important;border-radius:10px!important}.student-record-memo-panel .student-counsel-tabs button{min-height:32px;border-radius:7px!important;color:var(--record-muted)!important;font-size:.75rem!important}.student-record-memo-panel .student-counsel-tabs button.active{background:#fff!important;color:#1d1d1f!important;box-shadow:0 1px 3px #0000000d!important}.student-record-memo-panel .student-counsel-header{gap:.75rem;flex-wrap:wrap}.student-record-memo-panel .student-counsel-header h3{margin:0!important}.student-record-memo-panel .student-counsel-body{color:#1d1d1f}@media(max-width:1000px){.student-record-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr);gap:1rem}.student-record-card,.student-record-memo-panel .student-memo-card{padding:1.2rem!important}}@media(max-width:760px){.student-record-hero{align-items:flex-start;flex-wrap:wrap;padding:1.4rem;border-radius:20px}.student-record-layout{display:flex;flex-direction:column;gap:1.25rem}.student-record-workspace{width:100%;order:-1}.student-record-overview{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.student-record-manage{grid-column:1 / -1}.student-record-tabs{width:100%}.student-record-tabs button{flex:1;min-width:0;padding-inline:.4rem}.student-record-checks li{align-items:flex-start}.student-record-detail .student-record-icon-button{width:44px;min-width:44px;height:44px}.student-record-detail .student-record-button,.student-record-date .fancy-date-trigger,.student-record-detail .student-subject-status-picker .student-picker-trigger,.student-record-tabs [role=tab]{min-height:44px}}@media(max-width:480px){.student-record-hero{padding:1.25rem;gap:1.25rem}.student-record-overview{grid-template-columns:minmax(0,1fr)}.student-record-section-heading{flex-wrap:wrap}.student-record-enrollment{padding:1rem}.student-record-checks li{flex-wrap:wrap;gap:.4rem}.student-record-memo-panel .student-memo-item{flex-direction:column}.student-record-memo-panel .student-memo-item>div{width:100%}.student-record-memo-panel .student-memo-actions{justify-content:flex-start!important}.student-record-memo-panel .student-memo-card :is(input:not([type=checkbox]),textarea){font-size:1rem!important}.student-record-lesson{gap:.6rem}}@media(prefers-reduced-motion:reduce){.student-record-detail *,.student-record-detail *:after{animation:none!important;transition:none!important}.student-record-detail .student-record-button:active{transform:none}}@media(prefers-contrast:more){.student-record-detail{--record-border: #9b9ba2;--record-muted: #414145}.student-record-tabs [aria-selected=true]{outline:1px solid #1d1d1f}}body .student-withdraw-modal{font-family:inherit}body .student-withdraw-heading>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:1rem;border-radius:13px;background:#f2f2f7;color:#6e6e73}body .student-withdraw-heading>small{color:#6e6e73;font-size:.75rem}body .student-withdraw-heading h2{margin:.4rem 0 .65rem;color:#1d1d1f;font-size:1.5rem;line-height:1.3;font-weight:650;letter-spacing:-.02em}body .student-withdraw-heading p{margin:0 0 1.5rem;color:#6e6e73;font-size:.8125rem;line-height:1.7}body .student-withdraw-reason-field{display:block;margin-top:1rem;color:#1d1d1f;font-size:.8125rem;font-weight:550}body .student-withdraw-reason-field small{margin-left:.4rem;color:#6e6e73;font-size:.6875rem;font-weight:400}body .student-withdraw-reason-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:.5rem;padding:.85rem;border:1px solid #d2d2d7;border-radius:12px;background:#fff;color:#1d1d1f;font:inherit;font-weight:400;line-height:1.6;resize:vertical;box-shadow:none}body .student-withdraw-reason-field textarea:focus-visible{outline:2px solid #0071e3;outline-offset:2px}body .student-withdraw-error{color:#b42318;font-size:.8125rem;line-height:1.6}body .student-withdraw-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e5ea}body .student-withdraw-actions button{min-height:44px;padding:.65rem 1rem;border:0;border-radius:999px;background:#f2f2f7;color:#1d1d1f;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:none}body .student-withdraw-actions button.is-destructive{background:#c83232;color:#fff}body .student-withdraw-actions button:active:not(:disabled){filter:brightness(.93)}body .student-withdraw-actions button:disabled{opacity:.5;cursor:default}body .student-withdraw-actions button:focus-visible{outline:2px solid #0071e3;outline-offset:2px}body .extra-session-modal .extra-form-types{min-width:0;margin:0 0 1rem;padding:0;border:0}body .extra-session-modal .extra-form-types legend,body .extra-session-modal .extra-form-field-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:0 0 .5rem;padding:0;color:#1d1d1f;font-size:.8125rem;font-weight:600;line-height:1.5}body .extra-session-modal .extra-form-types legend small,body .extra-session-modal .extra-form-field-heading small{padding:.15rem .4rem;border-radius:5px;background:#f2f2f7;color:#6e6e73;font-size:.6875rem;font-weight:500}body .extra-session-modal .extra-form-type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}body .extra-session-modal .extra-form-type-option{position:relative;display:flex;flex-direction:column;gap:.7rem;min-width:0;padding:.9rem;border:1px solid #d2d2d7;border-radius:13px;background:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease}body .extra-session-modal .extra-form-type-option:hover{border-color:#a9c8ea;background:#fafcff}body .extra-session-modal .extra-form-type-option:active{background:#edf5ff}body .extra-session-modal .extra-form-type-option.selected{border-color:#0071e3;background:#f0f7ff;box-shadow:inset 0 0 0 1px #0071e3}body .extra-session-modal .extra-form-type-option input{position:absolute;width:1px;height:1px;opacity:0}body .extra-session-modal .extra-form-type-option:focus-within{outline:3px solid #0071e3;outline-offset:3px}body .extra-session-modal .extra-form-type-symbol{display:flex;align-items:center;color:#6e6e73}body .extra-session-modal .extra-form-type-option.selected .extra-form-type-symbol{color:#0071e3}body .extra-session-modal .extra-form-type-copy{display:grid;gap:.35rem;min-width:0}body .extra-session-modal .extra-form-type-copy b{color:#1d1d1f;font-size:.8125rem;font-weight:600;line-height:1.4}body .extra-session-modal .extra-form-type-copy small{color:#6e6e73;font-size:.6875rem;font-weight:450;line-height:1.65;word-break:keep-all}body .extra-session-modal .extra-form-type-check{position:absolute;top:.9rem;right:.8rem;color:#0071e3;opacity:0}body .extra-session-modal .extra-form-type-option.selected .extra-form-type-check{opacity:1}body .extra-session-modal .extra-form-date-subject{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;align-items:start}body .extra-session-modal .extra-form-date-subject .acm-field{min-width:0;margin:0}body .extra-session-modal .extra-form-picker .student-picker-trigger{min-height:48px;padding:.7rem .8rem;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font-family:inherit;box-shadow:none}body .extra-session-modal .extra-form-picker .student-picker-trigger small{display:none}body .extra-session-modal .extra-form-picker .student-picker-trigger b{font-size:.8125rem;line-height:1.5;font-weight:550}body .extra-session-modal .extra-form-picker .student-picker-trigger:hover{border-color:#a9c8ea;background:#fafcff}body .extra-session-modal .extra-form-picker.is-open .student-picker-trigger{border-color:#0071e3;background:#f0f7ff}body .extra-session-modal .extra-form-picker .student-picker-trigger:focus-visible{outline:3px solid #0071e3;outline-offset:2px}body .extra-session-modal .extra-form-picker .student-picker-chevron{margin-left:auto;color:#0071e3}body .extra-session-modal .extra-form-date .fancy-date-trigger{min-height:48px;padding:.7rem .8rem;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#1d1d1f;font-size:.8125rem;font-weight:550;box-shadow:none}body .extra-session-modal .extra-form-date .fancy-date-trigger svg{color:#6e6e73}body .extra-session-modal .extra-form-readonly{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.7rem .8rem;border:1px solid #e5e5ea;border-radius:10px;background:#f5f5f7;color:#6e6e73;font-size:.8125rem;line-height:1.5}body .extra-session-modal .extra-form-readonly>span{flex:1;min-width:0}body .extra-session-modal .extra-form-readonly svg{flex-shrink:0}body .extra-session-modal .extra-form-import{margin:1rem 0;border:1px solid #e5e5ea;border-radius:13px;background:#fafafa;overflow:hidden}body .extra-session-modal .extra-form-import-trigger{display:flex;align-items:center;width:100%;gap:.7rem;padding:.9rem;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer;box-shadow:none}body .extra-session-modal .extra-form-import-trigger:hover:not(:disabled){background:#f2f6fb}body .extra-session-modal .extra-form-import-trigger:active:not(:disabled){background:#eaf2fc}body .extra-session-modal .extra-form-import-trigger:disabled{cursor:default;opacity:1}body .extra-session-modal .extra-form-import-trigger:focus-visible{outline:2px solid #0071e3;outline-offset:-3px}body .extra-session-modal .extra-form-import-symbol{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:#edf3fa;color:#0071e3}body .extra-session-modal .extra-form-import-trigger>span:nth-child(2){display:grid;gap:.25rem;min-width:0;flex:1}body .extra-session-modal .extra-form-import-trigger strong{color:#1d1d1f;font-size:.8125rem;font-weight:600;line-height:1.4}body .extra-session-modal .extra-form-import-trigger small{color:#6e6e73;font-size:.6875rem;font-weight:450;line-height:1.6}body .extra-session-modal .extra-form-import-count{padding:.2rem .4rem;border-radius:7px;background:#eeeef0;color:#6e6e73;font-size:.6875rem;font-weight:550;white-space:nowrap}body .extra-session-modal .extra-form-import-chevron{flex-shrink:0;color:#6e6e73;transition:transform .12s ease}body .extra-session-modal .extra-form-import-trigger.expanded .extra-form-import-chevron{transform:rotate(180deg)}body .extra-session-modal .extra-form-import-list{padding:0 .9rem .75rem;border-top:1px solid #e5e5ea;background:#fff}body .extra-session-modal .extra-form-import-list>p{margin:.7rem 0 .2rem;color:#6e6e73;font-size:.6875rem}body .extra-session-modal .extra-form-import-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.75rem 0;border:0;border-radius:6px;background:transparent;text-align:left;font-family:inherit;cursor:pointer;box-shadow:none}body .extra-session-modal .extra-form-import-item+.extra-form-import-item{border-top:1px solid #eeeef0}body .extra-session-modal .extra-form-import-item:hover:not(:disabled){background:#f8fbff}body .extra-session-modal .extra-form-import-item:disabled{cursor:not-allowed;opacity:.6}body .extra-session-modal .extra-form-import-date{display:grid;justify-items:center;width:40px;padding:.4rem;gap:.1rem;border-radius:9px;background:#f5f5f7;flex-shrink:0}body .extra-session-modal .extra-form-import-date b{color:#1d1d1f;font-size:.9375rem;line-height:1.2;font-weight:600}body .extra-session-modal .extra-form-import-date small{color:#6e6e73;font-size:.625rem;line-height:1.4}body .extra-session-modal .extra-form-import-copy{display:grid;gap:.25rem;flex:1;min-width:0}body .extra-session-modal .extra-form-import-copy b{color:#1d1d1f;font-size:.8125rem;font-weight:550;line-height:1.5;overflow-wrap:anywhere}body .extra-session-modal .extra-form-import-copy small{color:#6e6e73;font-size:.6875rem;line-height:1.6;overflow-wrap:anywhere}body .extra-session-modal .extra-form-import-action{display:flex;align-items:center;gap:.25rem;color:#0071e3;font-size:.6875rem;font-weight:550;white-space:nowrap}body .extra-session-modal .extra-form-import-item:disabled .extra-form-import-action{color:#6e6e73}body .extra-session-modal .extra-form-import-applied{display:flex;align-items:flex-start;gap:.4rem;padding:.7rem .9rem;border-top:1px solid #e5e5ea;background:#edf7f0;color:#27733c;font-size:.75rem;line-height:1.5}body .extra-session-modal .extra-form-import-applied>svg{margin-top:.1rem;flex-shrink:0}body .extra-session-modal .extra-form-import-applied b{font-weight:600}body .extra-session-modal .extra-form-import-applied small{display:block;margin-top:.2rem;font-size:.6875rem;font-weight:450}@media(max-width:600px){body .extra-session-modal .extra-form-type-options{grid-template-columns:minmax(0,1fr)}body .extra-session-modal .extra-form-type-option{flex-direction:row;align-items:center;gap:.75rem;padding:.8rem}body .extra-session-modal .extra-form-type-copy{padding-right:1.1rem;gap:.15rem}body .extra-session-modal .extra-form-type-symbol{width:28px;flex-shrink:0}body .extra-session-modal .extra-form-type-check{top:50%;transform:translateY(-50%)}body .extra-session-modal .extra-form-date-subject{grid-template-columns:minmax(0,1fr)}body .extra-session-modal .extra-form-import-trigger{flex-wrap:wrap}body .extra-session-modal .extra-form-import-item{gap:.5rem}}@media(prefers-reduced-motion:reduce){body .extra-session-modal :is(.extra-form-type-option,.extra-form-import-chevron){transition:none}}@media(prefers-contrast:more){body .extra-session-modal :is(.extra-form-type-option,.extra-form-import,.extra-form-picker .student-picker-trigger,.extra-form-date .fancy-date-trigger){border-color:#797980}body .extra-session-modal .extra-form-type-option.selected{border-color:#005ab6}}body .fancy-date-input .fancy-date-trigger{min-height:40px;gap:.5rem;padding:.65rem .75rem;border:1px solid #d2d2d7;border-radius:10px;background:#fff;color:#6e6e73;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.4;box-shadow:none;transition:background .12s ease,border-color .12s ease}body .fancy-date-input .fancy-date-trigger.has-value{color:#1d1d1f}body .fancy-date-input .fancy-date-trigger:hover:not(:disabled),body .fancy-date-input .fancy-date-trigger.open{border-color:#0071e3;background:#f5f9ff;box-shadow:none}body .fancy-date-input .fancy-date-trigger:active:not(:disabled){background:#eaf3ff}body .fancy-date-input .fancy-date-trigger:disabled{color:#6e6e73;background:#f5f5f7;cursor:default;opacity:.75}body .fancy-date-input .fancy-date-trigger svg{flex:0 0 auto;color:#6e6e73}body .fancy-date-input .fancy-date-trigger .fancy-date-chevron{margin-left:auto;color:#0071e3}body .fancy-date-input .fancy-date-trigger:disabled .fancy-date-chevron{display:none}body .fancy-date-input .fancy-date-trigger:focus-visible{outline:3px solid #0071e3;outline-offset:2px}body .fancy-date-panel-v2{width:348px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:1rem;border:1px solid #dedee3;border-radius:20px;background:#fffffff7;color:#1d1d1f;font-family:inherit;box-shadow:0 14px 40px #0000001f,0 2px 8px #0000000f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:none;overflow-y:auto;overscroll-behavior:contain;z-index:10000}body .fancy-date-panel-v2 button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#1d1d1f;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.4;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:background .1s ease}body .fancy-date-panel-v2 button svg{display:block;flex-shrink:0}body .fancy-date-panel-v2 button:hover:not(:disabled){background:#f2f2f7}body .fancy-date-panel-v2 button:active:not(:disabled){background:#e5e5ea}body .fancy-date-panel-v2 button:disabled{opacity:.35;cursor:default}body .fancy-date-panel-v2 button:focus-visible{outline:2px solid #0071e3;outline-offset:-2px}body .fancy-date-panel-v2 .fancy-date-toolbar{display:flex;justify-content:space-between;align-items:center;margin:-.25rem 0 .5rem;color:#6e6e73;font-size:.6875rem;font-weight:500;letter-spacing:.015em}body .fancy-date-panel-v2 .fancy-date-close{width:32px;height:32px;border-radius:50%;background:#f5f5f7;color:#6e6e73}body .fancy-date-panel-v2 .fancy-date-head{gap:.5rem;margin:0 0 .8rem}body .fancy-date-panel-v2 .fancy-date-month-title{width:auto;height:auto;min-height:40px;justify-content:flex-start;gap:.35rem;padding:.35rem .4rem;margin-left:-.4rem;border-radius:8px;color:#1d1d1f;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em}body .fancy-date-panel-v2 .fancy-date-month-title svg{color:#0071e3}body .fancy-date-panel-v2 .fancy-date-navigation{display:flex;gap:.2rem}body .fancy-date-panel-v2 .fancy-date-navigation button{width:40px;height:40px;border-radius:50%;color:#0071e3}body .fancy-date-panel-v2 .fancy-date-weekdays,body .fancy-date-panel-v2 .fancy-date-grid{gap:2px}body .fancy-date-panel-v2 .fancy-date-weekdays{margin:0 0 .35rem}body .fancy-date-panel-v2 .fancy-date-weekdays span{padding:.3rem 0;color:#6e6e73;font-size:.6875rem;font-weight:500;line-height:1.5}body .fancy-date-panel-v2 .fancy-date-weekdays span:first-child{color:#c44040}body .fancy-date-panel-v2 .fancy-date-weekdays span:last-child{color:#0071e3}body .fancy-date-panel-v2 .fancy-date-grid button{width:100%;height:auto;min-height:40px;aspect-ratio:1;border-radius:50%;font-size:.875rem;font-weight:500;transform:none;box-shadow:none}body .fancy-date-panel-v2 .fancy-date-grid button:hover:not(:disabled){background:#f2f2f7;transform:none;box-shadow:none}body .fancy-date-panel-v2 .fancy-date-grid button.sunday:not(.selected){color:#c44040}body .fancy-date-panel-v2 .fancy-date-grid button.saturday:not(.selected){color:#0071e3}body .fancy-date-panel-v2 .fancy-date-grid button.outside:not(.selected){color:#aeaeb2}body .fancy-date-panel-v2 .fancy-date-grid button.today:not(.selected){color:#0071e3;background:transparent;box-shadow:inset 0 0 0 1px #0071e3}body .fancy-date-panel-v2 .fancy-date-grid button.selected,body .fancy-date-panel-v2 .fancy-date-months button.selected{background:#0071e3;color:#fff;box-shadow:none;font-weight:600}body .fancy-date-panel-v2 .fancy-date-grid button.selected:hover{background:#0064cc}body .fancy-date-panel-v2 .fancy-date-grid button:disabled{opacity:.25;background:transparent;box-shadow:none}body .fancy-date-panel-v2 .fancy-date-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;min-height:254px;align-content:start}body .fancy-date-panel-v2 .fancy-date-months button{min-height:52px;border-radius:12px}body .fancy-date-panel-v2 .fancy-date-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #e5e5ea}body .fancy-date-panel-v2 .fancy-date-footer>span{color:#6e6e73;font-size:.6875rem;font-weight:500;line-height:1.5}body .fancy-date-panel-v2 .fancy-date-footer button{min-height:36px;padding:.35rem .7rem;border-radius:8px;background:#f2f7fd;color:#0071e3;font-size:.8125rem;font-weight:600}@media(pointer:coarse){body .fancy-date-input .fancy-date-trigger{min-height:44px}body .fancy-date-panel-v2 .fancy-date-close,body .fancy-date-panel-v2 .fancy-date-navigation button,body .fancy-date-panel-v2 .fancy-date-footer button{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){body .fancy-date-panel-v2 button,body .fancy-date-input .fancy-date-trigger{transition:none}}@media(prefers-reduced-transparency:reduce){body .fancy-date-panel-v2{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){body .fancy-date-panel-v2,body .fancy-date-input .fancy-date-trigger{border-color:#797980;background:#fff}body .fancy-date-panel-v2 .fancy-date-grid button.outside:not(.selected){color:#6e6e73}}.attendance-page{gap:18px}.attendance-header-panel{border:1px solid var(--surface-border, #E5E5EA);border-radius:22px;background:var(--surface-card, #FFF);overflow:hidden}.attendance-header-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px}.attendance-header-title{display:flex;align-items:center;gap:14px;min-width:0}.attendance-header-title>span{width:44px;height:44px;border-radius:14px;background:#f2f6fc;color:#0071e3;display:grid;place-items:center;flex:none}.attendance-header-title h2{margin:0;color:var(--text-primary, #1D1D1F);font-size:clamp(22px,2vw,28px);line-height:1.2;letter-spacing:-.025em;font-weight:720}.attendance-header-title p{margin:6px 0 0;color:var(--text-secondary, #6E6E73);font-size:12px;line-height:1.5}.attendance-header-settings{width:44px;height:44px;border:1px solid var(--surface-border, #E5E5EA);border-radius:13px;background:var(--surface-card, #FFF);color:var(--text-secondary, #6E6E73);display:grid;place-items:center;flex:none;cursor:pointer}.attendance-header-controls{padding:16px 24px;border-top:1px solid var(--surface-border, #E5E5EA);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.attendance-date-navigation{display:flex;align-items:center;gap:6px;min-width:0}.attendance-page .attendance-icon-btn{width:44px;height:44px;border-radius:12px;background:var(--surface-section, #F5F5F7);color:var(--text-primary, #1D1D1F);box-shadow:none;flex:none;transition:background .12s ease}.attendance-page .attendance-icon-btn:hover:not(:disabled){transform:none;box-shadow:none;background:#e9edf3}.attendance-page .attendance-date-navigation .fancy-date-trigger{min-height:44px;font-size:13px;font-family:inherit;box-shadow:none}.attendance-date-reset{min-height:44px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:#0071e3;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}.attendance-page .attendance-date-reset:disabled{color:var(--text-secondary, #6E6E73);opacity:.55;cursor:default}.attendance-view-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:4px;background:var(--surface-section, #F2F2F7);border-radius:13px}.attendance-view-switch button{min-height:36px;min-width:78px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary, #6E6E73);font:inherit;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background .12s ease,color .12s ease}.attendance-view-switch button[aria-pressed=true]{background:var(--surface-card, #FFF);color:var(--text-primary, #1D1D1F);box-shadow:0 1px 4px #00000014}.attendance-page .attendance-summary-strip{margin:0}.attendance-page .attendance-sheet-card{padding:0;border:1px solid var(--surface-border, #E5E5EA)!important;border-radius:20px;background:var(--surface-card, #FFF)!important;box-shadow:none!important;overflow:hidden}.attendance-page .attendance-sheet-head{padding:20px 22px;align-items:center;border-bottom:1px solid var(--surface-border, #E5E5EA);background:var(--surface-card, #FFF)}.attendance-page .attendance-sheet-head strong{font-size:17px;line-height:1.35;letter-spacing:-.015em;color:var(--text-primary, #1D1D1F);font-weight:700}.attendance-page .attendance-sheet-head span{color:var(--text-secondary, #6E6E73);font-size:11px;line-height:1.5}.attendance-page .attendance-sheet-period{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin:0;padding:7px 10px;border-radius:9px;background:var(--surface-section, #F5F5F7);font-variant-numeric:tabular-nums}.attendance-page .attendance-sheet-scroll{padding:0;max-height:66vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.attendance-page .attendance-sheet-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-family:inherit}.attendance-page .attendance-sheet-table th,.attendance-page .attendance-sheet-table td{padding:8px 4px;border-radius:0;border-bottom:1px solid var(--surface-border, #E5E5EA);text-align:center;vertical-align:middle;height:64px;background:var(--surface-card, #FFF)}.attendance-page .attendance-sheet-table thead th{position:sticky;top:0;z-index:2;height:56px;background:var(--surface-section, #F5F5F7);color:var(--text-primary, #1D1D1F);-webkit-backdrop-filter:none;backdrop-filter:none}.attendance-page .attendance-sheet-table thead th b{color:inherit;font-size:13px;font-weight:650}.attendance-page .attendance-sheet-table thead th span{color:var(--text-secondary, #6E6E73);font-size:10px}.attendance-page .attendance-sheet-table thead th.weekend{color:#61728a}.attendance-page .attendance-sheet-table thead th.selected{background:#eaf3ff;color:#06c;box-shadow:inset 0 -2px #0071e3}.attendance-page .attendance-sheet-table td.selected{background:#f4f8ff}.attendance-page .attendance-sheet-table .teacher-col{position:sticky;left:0;z-index:3;width:180px;min-width:180px;padding:10px 14px;display:table-cell;text-align:left;box-shadow:1px 0 var(--surface-border, #E5E5EA);background:var(--surface-card, #FFF)}.attendance-page .attendance-sheet-table thead .teacher-col{z-index:4;background:var(--surface-section, #F5F5F7);color:var(--text-primary, #1D1D1F);font-size:12px;font-weight:650}.attendance-page .attendance-sheet-table .teacher-col>small{display:block;margin-top:5px;color:var(--text-secondary, #6E6E73);font-size:10px;font-weight:450}.attendance-sheet-person{display:flex;align-items:center;gap:10px;min-width:0}.attendance-page .attendance-sheet-avatar{width:30px;height:30px;display:grid;place-items:center;flex:none;font-size:12px}.attendance-page .attendance-sheet-teacher-copy{min-width:0;gap:5px}.attendance-page .attendance-sheet-teacher-copy b{color:var(--text-primary, #1D1D1F);font-size:12px;font-weight:650;overflow-wrap:anywhere}.attendance-page .attendance-sheet-teacher-copy small{display:flex;flex-wrap:wrap;gap:7px}.attendance-page .attendance-sheet-teacher-copy em{color:var(--text-secondary, #6E6E73);font-size:9px;background:none;padding:0}.attendance-page .attendance-sheet-cell{width:44px;height:48px;padding:4px 0;border-radius:10px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:none;font-family:inherit;font-variant-numeric:tabular-nums;transition:background .12s ease}.attendance-page .attendance-sheet-cell strong{font-size:12px;line-height:1.2;font-weight:650}.attendance-page .attendance-sheet-cell small{font-size:9px;line-height:1.2;font-weight:500}.attendance-page .attendance-sheet-cell:hover{transform:none;box-shadow:inset 0 0 0 1px currentColor}.attendance-page .attendance-sheet-cell.off,.attendance-page .attendance-sheet-cell.scheduled{background:transparent;color:#7c8593}.attendance-page .attendance-sheet-table tbody tr:hover>th{background:var(--surface-section, #F5F5F7)}.attendance-page .attendance-sheet-table tbody tr:last-child>*{border-bottom:0}.attendance-sheet-footer{padding:14px 22px;border-top:1px solid var(--surface-border, #E5E5EA)}.attendance-page .attendance-sheet-legend{justify-content:flex-start;gap:10px 16px}.attendance-page .attendance-sheet-legend span{padding:0;background:none;box-shadow:none;color:var(--text-secondary, #6E6E73);font-size:10px;gap:5px}.attendance-page .attendance-sheet-legend i{width:20px;height:22px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:650;font-style:normal}.attendance-sheet-footer p{margin:10px 0 0;color:var(--text-secondary, #6E6E73);font-size:10px;line-height:1.5}.attendance-page .attendance-sheet-empty{height:120px;color:var(--text-secondary, #6E6E73);font-size:13px}.attendance-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.attendance-header-panel button:focus-visible,.attendance-sheet-card button:focus-visible,.attendance-sheet-scroll:focus-visible{outline:3px solid #0071E3;outline-offset:-3px}.attendance-header-panel button:active:not(:disabled){background-color:#e6edf7}@media(max-width:600px){.attendance-header-heading{padding:18px 16px;gap:10px}.attendance-header-title{gap:10px}.attendance-header-title>span{display:none}.attendance-header-title p{font-size:11px}.attendance-header-controls{padding:12px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.attendance-date-navigation{display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;gap:4px}.attendance-page .attendance-icon-btn{width:36px}.attendance-page .attendance-date-navigation .fancy-date-input{min-width:0;width:100%}.attendance-page .attendance-date-navigation .fancy-date-trigger{min-width:0;width:100%;padding:0 7px;font-size:12px;gap:4px}.attendance-date-reset{padding:0 6px;font-size:11px}.attendance-view-switch button{min-height:40px}.attendance-page .attendance-sheet-head{padding:16px;align-items:flex-start}.attendance-page .attendance-sheet-period{display:none}.attendance-sheet-footer{padding:14px 16px}}@media(prefers-reduced-motion:reduce){.attendance-page .attendance-icon-btn,.attendance-page .attendance-sheet-cell,.attendance-view-switch button{transition:none}}@media(prefers-contrast:more){.attendance-header-panel,.attendance-page .attendance-sheet-card{border-color:#6e6e73!important}.attendance-page .attendance-sheet-table th,.attendance-page .attendance-sheet-table td{border-bottom-color:#8e8e93}}body .attendance-correction-modal.attendance-correction-v2{width:min(700px,94vw)!important;max-height:90dvh!important;padding:0!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:26px!important;background:#fff!important;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.att-correction-sheet{display:flex;flex-direction:column;min-height:0;max-height:90dvh;color:#1d1d1f;font-family:inherit}.att-correction-sheet svg{flex-shrink:0;vertical-align:middle}.att-correction-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid #E5E5EA}.att-correction-header h2{margin:0;color:#1d1d1f;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.025em}.att-correction-header p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:7px 0 0;color:#6e6e73;font-size:12px;line-height:1.5}.att-correction-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;display:flex;flex-direction:column;gap:20px}.att-correction-original{padding:18px;border-radius:16px;background:#f5f5f7}.att-correction-original h3{margin:0 0 14px;font-size:12px;font-weight:650;color:#6e6e73}.att-correction-original dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.att-correction-original dt{display:flex;align-items:center;gap:6px;font-size:11px;color:#6e6e73}.att-correction-original dt svg{font-size:16px}.att-correction-original dd{margin:8px 0 0;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}.att-correction-original p{margin:14px 0 0;color:#6e6e73;font-size:11px;line-height:1.5}fieldset.att-correction-fields{min-width:0;border:0;padding:0;margin:0;display:grid;gap:14px}.att-correction-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.att-correction-section-heading h3{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:650}.att-correction-section-heading>button{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 9px;border:0;border-radius:9px;background:#f5f5f7;color:#0071e3;font:inherit;font-size:11px;cursor:pointer}.att-correction-times{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.att-correction-time-field{min-width:0}.att-correction-time-field>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:36px;margin-bottom:5px}.att-correction-time-field>div:first-child>span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6e6e73}.att-correction-time-field>div:first-child>button{min-height:36px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#0071e3;font:inherit;font-size:11px;cursor:pointer}.att-correction-time-field .time-input{min-height:52px;border:1px solid #D2D2D7;border-radius:12px;background:#fff;box-shadow:none}.att-correction-time-field .time-input input{height:50px;font-size:17px;font-variant-numeric:tabular-nums}.att-correction-time-field .time-input:focus-within{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}.att-correction-fields .student-picker-trigger{min-height:62px}.att-correction-help{margin:-6px 0 0;color:#6e6e73;font-size:11px;line-height:1.6}.att-correction-note{display:grid;gap:9px}.att-correction-note>span{display:flex;align-items:center;gap:6px;font-size:12px;color:#6e6e73}.att-correction-note small{margin-left:auto;color:#86868b;font-size:10px}.att-correction-note textarea{min-height:88px;width:100%;box-sizing:border-box;padding:12px;border:1px solid #D2D2D7;border-radius:12px;background:#fff;color:#1d1d1f;font:inherit;font-size:12px;line-height:1.6;resize:vertical;box-shadow:none}.att-correction-note textarea:focus{outline:0;border-color:#0071e3;box-shadow:0 0 0 3px #0071e31f}.att-correction-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px 18px;border:1px solid #E5E5EA;border-radius:14px;background:#fafafc}.att-correction-preview>span{display:inline-flex;align-items:center;gap:6px;color:#6e6e73;font-size:12px}.att-correction-preview>strong{font-size:14px;font-weight:650}.att-correction-preview p{grid-column:1 / -1;margin:0;color:#6e6e73;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}.att-correction-preview p span{padding:0 6px}.att-correction-preview small{grid-column:1 / -1;color:#8a5a16;font-size:11px;line-height:1.5}.att-correction-error{display:flex;align-items:center;gap:8px;margin:0;padding:14px 16px;border-radius:12px;background:#fff1f0;color:#b42318;font-size:12px;line-height:1.6}.att-correction-schedules,.att-correction-history{border-top:1px solid #E5E5EA;padding-top:4px}.att-correction-sheet summary{display:flex;align-items:center;gap:7px;min-height:44px;list-style:none;font-size:12px;font-weight:650;cursor:pointer}.att-correction-sheet summary::-webkit-details-marker{display:none}.att-correction-sheet summary>span{margin-left:auto;color:#86868b;font-size:11px;font-weight:500}.att-correction-chevron{color:#86868b;transition:transform .15s ease}.att-correction-sheet details[open] .att-correction-chevron{transform:rotate(90deg)}.att-correction-schedules ul,.att-correction-history ol{margin:8px 0 0;padding:0;list-style:none}.att-correction-schedules li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;font-size:12px}.att-correction-schedules li strong{font-weight:550}.att-correction-schedules li span{flex-shrink:0;color:#6e6e73;font-variant-numeric:tabular-nums}.att-correction-schedules>p{margin:8px 0 0;color:#6e6e73;font-size:12px}.att-correction-history ol{max-height:260px;overflow-y:auto}.att-correction-history li{padding:14px 0;border-top:1px solid #E5E5EA}.att-correction-history li:first-child{border-top:0;padding-top:0}.att-correction-history li>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;font-size:12px}.att-correction-history time{color:#86868b;font-size:10px}.att-correction-history p{margin:8px 0 0;color:#6e6e73;font-size:11px;line-height:1.5}.att-correction-history blockquote{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:#f5f5f7;color:#6e6e73;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.att-correction-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid #E5E5EA;background:#fff}.att-correction-actions>span{color:#86868b;font-size:10px;line-height:1.5}.att-correction-actions>div{display:flex;gap:8px;flex-shrink:0}.att-correction-actions button{min-height:44px;padding:0 16px;border:0;border-radius:11px;background:#f5f5f7;color:#1d1d1f;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.att-correction-actions button.primary{background:#0071e3;color:#fff}.att-correction-sheet button:disabled{opacity:.5;cursor:default}.att-correction-sheet button:active:not(:disabled){filter:brightness(.96)}.att-correction-sheet button:focus-visible,.att-correction-sheet summary:focus-visible{outline:3px solid #0071E3;outline-offset:2px}@media(max-width:600px){body .attendance-correction-modal.attendance-correction-v2{width:100%!important;max-width:100%!important;border-radius:22px 22px 0 0!important}.att-correction-header{padding:20px 16px}.att-correction-header h2{font-size:20px}.att-correction-body{padding:20px 16px;gap:18px}.att-correction-original{padding:16px}.att-correction-original dd{font-size:15px}.att-correction-times{gap:10px}.att-correction-actions{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch;gap:10px}.att-correction-actions>div{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.att-correction-chevron{transition:none}}@media(prefers-contrast:more){.att-correction-original,.att-correction-preview{border:1px solid #6E6E73}.att-correction-help,.att-correction-actions>span{color:#3a3a3c}}body .class-workspace-v2{border:1px solid rgba(0,0,0,.08);border-radius:26px!important;background:var(--surface-card, #FFF);font-family:inherit}.class-workspace-v2 svg{flex-shrink:0;vertical-align:middle}.class-workspace-v2 .class-workspace-head{min-height:80px;padding:20px 24px;background:var(--surface-card, #FFF);border-bottom:1px solid var(--surface-border, #E5E5EA)}.class-workspace-v2 .class-workspace-head h3{margin:0;font-size:20px;line-height:1.3;letter-spacing:-.02em;color:var(--text-primary, #1D1D1F)}.class-workspace-v2 .class-workspace-head p{margin:5px 0 0;color:var(--text-secondary, #6E6E73);font-size:11px;line-height:1.5}.class-workspace-tools{display:flex;align-items:center;gap:12px;flex:none}.class-workspace-tools>button:first-child{min-height:44px;padding:0 11px;border:0;border-radius:11px;background:var(--surface-section, #F5F5F7);color:var(--text-primary, #1D1D1F);display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.class-workspace-tools>button[aria-expanded=true]{background:#eaf3ff;color:#06c}.class-workspace-tools>button>span{color:var(--text-secondary, #6E6E73);font-size:11px;font-variant-numeric:tabular-nums}.class-workspace-v2 .class-workspace-layout{height:min(710px,calc(90dvh - 110px));display:grid;grid-template-columns:minmax(0,1fr)}.class-workspace-v2 .class-workspace-layout.has-class-list{grid-template-columns:230px minmax(0,1fr)}.class-workspace-v2 .class-workspace-sidebar{padding:14px 10px;background:var(--surface-section, #F5F5F7);border-right:1px solid var(--surface-border, #E5E5EA)}.class-workspace-v2 .class-workspace-sidebar>label{min-height:44px;padding:0 10px;border-color:var(--surface-border, #E5E5EA);border-radius:11px;box-shadow:none}.class-workspace-v2 .class-workspace-sidebar input{font-size:11px;line-height:1.4}.class-workspace-v2 .class-workspace-sidebar>div{min-height:0;display:flex;flex-direction:column;gap:5px}.class-workspace-v2 .class-workspace-sidebar>div>button{min-height:66px;grid-template-columns:30px minmax(0,1fr);padding:10px 8px;gap:8px;border-radius:12px;flex:none}.class-workspace-v2 .class-workspace-sidebar>div>button.active{background:var(--surface-card, #FFF);box-shadow:0 1px 4px #0000000f}.class-workspace-v2 .class-workspace-sidebar>div>button>.class-list-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e9ecf1;color:#6e6e73}.class-workspace-v2 .class-workspace-sidebar>div>button.active>.class-list-symbol{background:#eaf3ff;color:#0071e3}.class-workspace-v2 .class-workspace-sidebar strong{color:var(--text-primary, #1D1D1F);font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.class-workspace-v2 .class-workspace-sidebar small{color:var(--text-secondary, #6E6E73);font-size:10px}.class-list-empty{margin:18px 0;color:#6e6e73;text-align:center;font-size:12px}.class-workspace-v2 .class-workspace-main{padding:26px;background:var(--surface-card, #FFF)}.class-workspace-v2 .class-workspace-main>header{display:block;padding-bottom:22px}.class-workspace-v2 .class-workspace-main>header .class-detail-subject{display:inline-flex;align-items:center;gap:6px;color:#0071e3;font-size:12px;font-weight:650}.class-workspace-v2 .class-workspace-main>header h4{margin:8px 0 10px;font-size:clamp(23px,2.8vw,30px);line-height:1.25;letter-spacing:-.025em;color:var(--text-primary, #1D1D1F);overflow-wrap:anywhere}.class-workspace-v2 .class-workspace-main>header p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:var(--text-secondary, #6E6E73);font-size:12px;line-height:1.5}.class-workspace-v2 .class-unified-detail{padding:0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;overflow:visible}.class-workspace-v2 .class-info-panel,.class-workspace-v2 .class-roster-panel{margin:0;padding:18px;border:1px solid var(--surface-border, #E5E5EA);border-radius:18px;background:var(--surface-card, #FFF)}.class-workspace-v2 .class-info-panel-head,.class-workspace-v2 .class-roster-heading,.class-workspace-v2 .class-workspace-schedule-head{min-height:44px;margin:0 0 12px;padding:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.class-workspace-v2 .class-info-panel-head>span{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:650}.class-workspace-v2 .class-roster-heading strong,.class-workspace-v2 .class-workspace-schedule-head strong{font-size:14px;font-weight:650}.class-workspace-v2 .class-info-panel-head>button,.class-workspace-v2 .class-workspace-schedule-head>button{min-height:38px;padding:0 10px;border:0;border-radius:10px;background:var(--surface-section, #F5F5F7);color:#0071e3;font:inherit;font-size:11px;font-weight:650}.class-info-readonly{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;margin:10px 0 0}.class-info-readonly>div{min-width:0}.class-info-readonly>.wide{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--surface-border, #E5E5EA)}.class-info-readonly dt{display:flex;align-items:center;gap:5px;color:var(--text-secondary, #6E6E73);font-size:10px;line-height:1.4}.class-info-readonly dd{margin:7px 0 0;color:var(--text-primary, #1D1D1F);font-size:12px;font-weight:550;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.class-workspace-v2 .class-info-fields{gap:12px}.class-workspace-v2 .class-info-fields .wide{grid-column:1 / -1}.class-workspace-v2 .class-info-fields label>span{color:var(--text-secondary, #6E6E73);font-size:11px}.class-workspace-v2 .class-info-fields input{min-height:44px;height:44px;border-color:var(--surface-border, #E5E5EA);border-radius:11px;font:inherit;font-size:12px}.class-workspace-v2 .student-picker-trigger{min-height:54px;font-family:inherit}.class-info-locked{grid-column:1 / -1;margin:0;display:flex;align-items:center;gap:5px;color:var(--text-secondary, #6E6E73);font-size:10px;line-height:1.5}.class-workspace-v2 .class-info-actions{margin-top:18px}.class-workspace-v2 .class-info-actions button{min-height:40px;border:0;border-radius:10px;background:var(--surface-section, #F5F5F7);font-family:inherit;font-size:12px}.class-workspace-v2 .class-info-actions button.primary{background:#0071e3}.class-workspace-v2 .class-roster-add>label{min-height:44px;background:var(--surface-section, #F5F5F7);border:1px solid transparent;border-radius:11px}.class-workspace-v2 .class-roster-add input{font:inherit;font-size:11px;line-height:1.4}.class-workspace-v2 .class-roster-results>button{min-height:48px}.class-workspace-v2 .class-roster-list{margin-top:14px;border:0;border-radius:0}.class-workspace-v2 .class-roster-list>div{min-height:66px;padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto 36px;gap:8px;border-top-color:var(--surface-border, #E5E5EA)}.class-workspace-v2 .class-roster-list strong{color:var(--text-primary, #1D1D1F);font-size:13px}.class-workspace-v2 .class-roster-list small{color:var(--text-secondary, #6E6E73);font-size:10px;line-height:1.5}.class-workspace-v2 .class-roster-list em{color:var(--text-secondary, #6E6E73);font-size:10px}.class-workspace-v2 .class-roster-list>div>button{width:36px;height:40px;border-radius:10px}.class-workspace-v2 .class-roster-empty{padding:24px 0;font-size:12px;line-height:1.5}.class-workspace-v2 .class-workspace-schedule-panel{margin:18px 0 0;padding:18px;border:1px solid var(--surface-border, #E5E5EA);border-radius:18px;background:var(--surface-card, #FFF);container-type:inline-size}.class-time-list{display:grid;gap:10px}.class-time-list>article{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border-radius:12px;background:var(--surface-section, #F5F5F7)}.class-time-day,.class-time-list strong{display:inline-flex;align-items:center;gap:7px;color:var(--text-primary, #1D1D1F);font-size:12px;line-height:1.5}.class-time-list strong{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.class-time-type{padding:4px 8px;border-radius:7px;background:var(--surface-card, #FFF);color:var(--text-secondary, #6E6E73);font-size:10px;white-space:nowrap}.class-time-list p{grid-column:1 / -1;margin:0;color:var(--text-secondary, #6E6E73);font-size:11px;line-height:1.5}.class-time-list>p{padding:20px 0;text-align:center;font-size:12px}.class-workspace-v2 .class-schedule-editor-row{grid-template-columns:minmax(100px,.7fr) minmax(0,1.8fr) minmax(80px,.7fr) minmax(80px,.7fr) 36px;gap:10px}.class-workspace-v2 .class-schedule-editor-row .type{min-width:0}.class-workspace-v2 .class-schedule-editor-row label{font-size:11px}.class-workspace-v2 .class-schedule-editor-row .student-picker-trigger{min-height:62px}.class-workspace-v2 .class-schedule-editor-row .time-seg{padding:0 6px!important}.class-workspace-v2 .class-schedule-editor-row .day-chip-selector{padding:8px;flex-direction:column;align-items:stretch;gap:6px}.class-workspace-v2 .class-schedule-editor-row .day-chip-summary{min-height:24px;padding:0;border-radius:0;background:transparent;box-shadow:none;color:#6e6e73;font-weight:550}.class-workspace-v2 .class-schedule-editor-row .day-chip-list{gap:4px}.class-workspace-v2 .class-schedule-editor-row .day-chip-button{width:30px;height:34px;border-radius:8px;background:#f5f5f7;color:#6e6e73;box-shadow:none;font-weight:600}.class-workspace-v2 .class-schedule-editor-row .day-chip-button.active{background:#eaf3ff;color:#06c}.class-workspace-v2 .class-schedule-editor-row button.remove{position:static;width:36px;height:44px;border-radius:10px;margin:0}.class-workspace-v2 .class-schedule-editor-list>article{background:var(--surface-section, #F5F5F7);padding:16px}.class-workspace-v2 .class-schedule-editor-toolbar button{min-height:40px;font-size:11px;border-radius:10px}.class-workspace-v2 .class-schedule-editor-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.class-workspace-v2 .class-schedule-editor-range p{grid-column:1 / -1;margin:0}.class-detail-lifecycle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding:20px 0 0;border-top:1px solid var(--surface-border, #E5E5EA)}.class-detail-lifecycle strong{color:var(--text-primary, #1D1D1F);font-size:12px;font-weight:650}.class-detail-lifecycle p{margin:5px 0 0;color:var(--text-secondary, #6E6E73);font-size:11px;line-height:1.5}.class-detail-lifecycle>button{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--surface-border, #E5E5EA);border-radius:11px;background:var(--surface-card, #FFF);color:#b42318;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}.class-detail-lifecycle>button:hover{background:#fff1f0}.class-workspace-v2 button:disabled{opacity:.5;cursor:default}.class-workspace-v2 button:focus-visible,.class-workspace-v2 input:focus-visible{outline:3px solid #0071E3;outline-offset:2px}.class-workspace-v2 button:active:not(:disabled){filter:brightness(.97)}@container (max-width: 640px){.class-workspace-v2 .class-schedule-editor-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.class-workspace-v2 .class-schedule-editor-row .type{grid-column:1}.class-workspace-v2 .class-schedule-editor-row .day{grid-column:2 / -1}.class-workspace-v2 .class-schedule-editor-toolbar{align-items:stretch;flex-direction:column}.class-workspace-v2 .class-schedule-editor-toolbar>div:last-child{justify-content:flex-end}}@media(max-width:767px){body .class-workspace-v2{max-width:100%!important;border-radius:22px 22px 0 0!important}.class-workspace-v2 .class-workspace-head{padding:16px;gap:10px}.class-workspace-v2 .class-workspace-head p{display:none}.class-workspace-tools{gap:8px}.class-workspace-v2 .class-workspace-layout,.class-workspace-v2 .class-workspace-layout.has-class-list{display:block;height:auto;max-height:calc(90dvh - 84px);overflow:auto}.class-workspace-v2 .class-workspace-sidebar{max-height:240px;padding:12px;border-right:0;border-bottom:1px solid var(--surface-border, #E5E5EA)}.class-workspace-v2 .class-workspace-sidebar>div{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.class-workspace-v2 .class-workspace-sidebar>div>button{flex:none;min-height:60px}.class-workspace-v2 .class-workspace-main{overflow:visible;padding:20px 16px 28px}.class-workspace-v2 .class-unified-detail{grid-template-columns:minmax(0,1fr);gap:14px}.class-workspace-v2 .class-info-fields{grid-template-columns:minmax(0,1fr)}.class-workspace-v2 .class-roster-list>div{grid-template-columns:minmax(0,1fr) auto 36px}.class-workspace-v2 .class-roster-list em{grid-column:auto}.class-time-list>article{grid-template-columns:minmax(0,1fr) auto}.class-time-list strong{grid-column:1;grid-row:2;font-size:14px}.class-time-type{grid-column:2;grid-row:1 / 3}.class-workspace-v2 .class-schedule-editor-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.class-workspace-v2 .class-schedule-editor-row .type,.class-workspace-v2 .class-schedule-editor-row .day{grid-column:1 / -1}.class-workspace-v2 .class-schedule-editor-toolbar{align-items:stretch;flex-direction:column}.class-workspace-v2 .class-schedule-editor-toolbar>div:last-child{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.class-workspace-v2 button{transition:none}}@media(prefers-contrast:more){.class-workspace-v2 .class-info-panel,.class-workspace-v2 .class-roster-panel,.class-workspace-v2 .class-workspace-schedule-panel{border-color:#6e6e73}}.exam-archive-browser,.exam-type-picker{font-family:inherit}.exam-progress-section .exam-progress-section-head>div:last-child{flex-wrap:wrap}.exam-archive-button>span{min-width:20px;padding:2px 5px;border-radius:6px;background:#e9eaee;color:#515154;font-size:10px}.exam-progress-card>.exam-card-exam-label{display:flex;align-items:center;gap:7px;margin:10px 0 6px;min-width:0;color:#6e6e73;font-size:11px}.exam-card-exam-label em{flex-shrink:0;padding:3px 7px;border-radius:6px;background:#f2f2f7;color:#515154;font-size:10px;font-style:normal;font-weight:650}.exam-card-exam-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-progress-card :is(svg,.exam-progress-dday svg){flex-shrink:0}.exam-browser-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:18px 28px;border-bottom:1px solid #e5e5ea}.exam-collection-switch{display:inline-flex;flex-shrink:0;gap:3px;padding:4px;border-radius:12px;background:#f2f2f7}.exam-collection-switch>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border:0;border-radius:9px;background:transparent;color:#6e6e73;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.exam-collection-switch>button.selected{background:#fff;color:#1d1d1f;box-shadow:0 2px 6px #00000012}.exam-collection-switch>button>span{color:#86868b;font-size:10px;font-variant-numeric:tabular-nums}.exam-browser-toolbar>.workspace-search{flex:1;min-width:200px;margin:0}.exam-browser-filters{display:grid;gap:10px;margin-bottom:20px}.exam-browser-filters>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.exam-browser-filters>div>span{width:32px;flex-shrink:0;color:#86868b;font-size:11px}.exam-browser-filters button{min-height:34px;padding:6px 11px;border:1px solid #e5e5ea;border-radius:18px;background:#fff;color:#6e6e73;font:inherit;font-size:11px;cursor:pointer}.exam-browser-filters button.selected{border-color:#0071e3;background:#eef5ff;color:#0071e3;font-weight:650}.exam-browser-result-count{margin-bottom:12px;color:#86868b;font-size:11px}.exam-archive-browser .exam-progress-cards{display:grid}.exam-archive-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;text-align:center}.exam-archive-empty>svg{color:#86868b}.exam-archive-empty strong{color:#1d1d1f;font-size:16px;letter-spacing:-.015em}.exam-archive-empty p{margin:0;color:#6e6e73;font-size:12px;line-height:1.6}.exam-archive-notice{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;border-radius:12px;background:#f5f5f7;color:#6e6e73;font-size:12px;line-height:1.6}.exam-archive-notice>svg{flex-shrink:0;color:#515154}.exam-new-record-hint{margin:0 0 20px;color:#6e6e73;font-size:12px;line-height:1.6}.exam-type-picker{min-width:0;margin:0 0 20px;padding:0;border:0}.exam-type-picker legend{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;padding:0;color:#667085;font-size:11px;font-weight:650}.exam-type-picker>div{display:flex;gap:4px;width:fit-content;max-width:100%;padding:4px;border-radius:12px;background:#f2f2f7}.exam-type-picker button{min-height:38px;padding:8px 18px;border:0;border-radius:9px;background:transparent;color:#6e6e73;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.exam-type-picker button.selected{background:#fff;color:#0071e3;box-shadow:0 2px 6px #0000000f}.exam-type-picker:disabled button{cursor:default}.exam-progress-section .exam-archive-button:focus-visible,.exam-type-picker button:focus-visible{outline:3px solid rgba(0,113,227,.35);outline-offset:2px}.exam-type-picker button:not(:disabled):active{transform:scale(.98)}@media(max-width:620px){.exam-progress-section .exam-progress-section-head{flex-wrap:wrap;gap:14px}.exam-progress-section .exam-progress-section-head>div:last-child{flex-direction:row;align-items:center;justify-content:flex-start}.exam-browser-toolbar{padding:16px;gap:12px}.exam-browser-toolbar>.workspace-search{min-width:0;flex-basis:100%}.exam-collection-switch{width:100%}.exam-collection-switch>button{flex:1}.exam-archive-browser .exam-browser-layout>aside{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}.exam-archive-browser .exam-browser-layout>aside>button{flex:1 1 140px}.exam-type-picker>div{width:100%}.exam-type-picker button{flex:1;padding:8px}}@media(prefers-reduced-motion:reduce){.exam-type-picker button:active{transform:none!important}}@media(prefers-contrast:more){.exam-browser-filters button{border-color:#6e6e73}.exam-card-exam-label em,.exam-type-picker button,.exam-archive-button>span{color:#1d1d1f}}.student-care-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:0;margin:0;max-width:100%;background:transparent}.student-care-nav>button{min-height:44px;padding:8px 4px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#86868b;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.student-care-nav>button:hover{color:#1d1d1f}.student-care-nav>button.selected{border-bottom-color:#0071e3;background:transparent;color:#0071e3;box-shadow:none}.student-manager .student-command-surface{container-type:inline-size;margin-bottom:18px;padding:22px 24px;border:1px solid #e5e5ea;border-radius:18px;background:#fff;overflow:visible}.student-workspace-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:60px}.student-workspace-heading:has(>.student-care-nav){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.student-workspace-heading>.student-care-nav{justify-self:center}.student-workspace-title>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.student-workspace-heading>div:first-child{min-width:0}.student-workspace-heading h2{margin:0;color:#1d1d1f;font-size:clamp(24px,2.4vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.03em}.student-workspace-heading p{margin:8px 0 0;color:#6e6e73;font-size:12px;line-height:1.6}.student-workspace-actions{display:flex;align-items:center;justify-self:end;gap:8px}.student-workspace-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:0;border-radius:11px;background:#f2f2f7;color:#515154;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.student-workspace-actions>button.primary{background:#0071e3;color:#fff}.student-workspace-actions svg{flex-shrink:0}.student-workspace-count{color:#86868b;font-size:11px;font-variant-numeric:tabular-nums}.student-manager .student-control-shell{display:grid;width:100%;box-sizing:border-box;grid-template-columns:minmax(240px,.9fr) minmax(0,2fr);justify-content:stretch;align-items:stretch;padding:18px 0 0;margin-top:18px;border-top:1px solid #eeeef0;gap:12px 16px}.student-manager .student-search-row{min-width:0;width:100%;align-items:stretch}.student-manager .student-search-box{height:auto;min-height:52px}.student-manager .student-filter-row{width:100%;min-width:0;align-items:stretch}.student-manager .student-filter-row:not(:has(.student-picker:nth-child(4))){grid-template-columns:repeat(3,minmax(0,1fr))}.student-manager .student-filter-footer{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.student-filter-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.student-manager .student-filter-footer:not(:has(.student-floor-tabs)){grid-template-columns:minmax(0,1fr) auto}.student-manager .student-sort-picker{justify-self:end;margin-left:0}.student-manager .student-care-workspace{padding:0;border:0;border-radius:0;background:transparent}.student-manager .care-workspace-controls{width:100%;box-sizing:border-box;margin:18px 0 0;padding:18px 0 14px;border-top:1px solid #eeeef0}.student-manager .care-search{min-height:44px;padding:0 12px;border-color:transparent;border-radius:11px}.student-manager .care-search:focus-within{border-color:#0071e3;box-shadow:0 0 0 3px #0071e317}.student-manager .student-care-results{min-width:0}.student-workspace-refinements{display:flex;align-items:center;flex-wrap:wrap;gap:10px}:is(.student-care-workspace,.counseling-timeline,.counseling-record) :is(button,input,textarea,select){font-family:inherit}.student-care-workspace svg,.counseling-timeline svg,.counseling-record svg{flex-shrink:0}.care-workspace-intro,.counseling-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.care-workspace-intro h3{margin:0;color:#1d1d1f;font-size:23px;letter-spacing:-.025em}.care-workspace-intro p,.counseling-section-heading p{margin:8px 0 20px;color:#6e6e73;font-size:12px;line-height:1.65}.care-workspace-intro>span,.counseling-section-heading>small{flex-shrink:0;padding:6px 10px;border-radius:9px;background:#f5f5f7;color:#6e6e73;font-size:11px}.care-workspace-controls{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:14px;margin:8px 0 20px}.care-search{display:flex;gap:9px;align-items:center;min-height:44px;padding:0 14px;border:1px solid #e5e5ea;border-radius:12px;color:#86868b;background:#f5f5f7}.care-search input{min-width:0;width:100%;padding:10px 0;border:0;outline:0;background:transparent;color:#1d1d1f;font-size:13px}.care-followup-filter{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid #e5e5ea;border-radius:12px;background:#fff;color:#515154;font-size:12px;cursor:pointer}.care-followup-filter.selected{border-color:#0071e3;background:#eef5ff;color:#0071e3}.care-followup-filter>span{font-variant-numeric:tabular-nums;font-weight:650}.care-result-count{margin:18px 0 12px;color:#86868b;font-size:11px}.care-empty{width:100%;grid-column:1/-1;margin:0;padding:44px 16px;color:#86868b;font-size:13px;line-height:1.6;text-align:center}.counseling-timeline{margin-top:28px}.counseling-section-heading>div>span{display:flex;align-items:center;gap:8px;color:#1d1d1f;font-size:17px;font-weight:650}.counseling-timeline-list{display:grid;gap:16px}.counseling-record{min-width:0;padding:22px;border:1px solid #e5e5ea;border-radius:18px;background:#fff}.counseling-record.important{border-color:#dbc89a}.counseling-record>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.counseling-record>header>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:#86868b;font-size:11px}.counseling-record time{color:#515154;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.counseling-record-states>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:7px;background:#f5f5f7;color:#6e6e73;font-size:10px}.counseling-record-states>span.unreviewed{color:#0071e3;background:#eef5ff}.counseling-student-link{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:0;border:0;background:transparent;color:#1d1d1f;font-size:17px;font-weight:650;cursor:pointer}.counseling-student-link small{color:#86868b;font-size:11px;font-weight:400}.counseling-record-body{color:#1d1d1f;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.counseling-record-body p:first-child{margin-top:0}.counseling-record-body.collapsed{max-height:7.2em;overflow:hidden}.counseling-expand{display:flex;align-items:center;gap:6px;min-height:34px;padding:4px 0;border:0;background:transparent;color:#0071e3;font-size:12px;cursor:pointer}.counseling-record>footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px;padding-top:14px;border-top:1px solid #eeeef0}.counseling-record>footer>button,.counseling-followup>button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:7px 10px;border:0;border-radius:9px;background:#f5f5f7;color:#515154;font-size:11px;cursor:pointer}.counseling-record>footer svg{width:15px;height:15px}.counseling-record>footer>.counseling-delete{margin-left:auto;color:#b42318}.counseling-followup{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;border-radius:12px;background:#f5f5f7}.counseling-followup>svg{margin-top:3px;color:#86868b}.counseling-followup>div{flex:1;min-width:0;display:grid;gap:5px}.counseling-followup span,.counseling-followup small{color:#6e6e73;font-size:11px;line-height:1.5}.counseling-followup strong{color:#1d1d1f;font-size:13px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.counseling-followup.due{background:#fff7eb}.counseling-followup.completed>svg{color:#24834b}.counseling-followup>button{flex-shrink:0;border:1px solid #dedee3;background:#fff}.counseling-composer{margin-bottom:24px;padding:18px;border-radius:16px;background:#f5f5f7}.counseling-composer fieldset{min-width:0;margin:0;padding:0;border:0}.counseling-body-label{display:grid;gap:10px}.counseling-body-label>span{display:flex;align-items:center;gap:7px;color:#515154;font-size:12px;font-weight:650}.counseling-composer textarea,.counseling-followup-form input{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #dedee3;border-radius:12px;background:#fff;color:#1d1d1f;font-size:13px;line-height:1.7;resize:vertical}.counseling-composer textarea{min-height:108px}.counseling-optional{margin-top:12px}.counseling-optional>summary{display:flex;align-items:center;gap:8px;min-height:36px;color:#515154;font-size:12px;cursor:pointer;list-style:none}.counseling-optional>summary::-webkit-details-marker{display:none}.counseling-optional>summary>small{color:#86868b;font-size:10px}.counseling-optional>summary>svg{margin-left:auto}.counseling-optional[open]>summary>svg{transform:rotate(180deg)}.counseling-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.counseling-followup-choice{display:flex;align-items:center;gap:6px;min-height:38px;color:#515154;font-size:12px}.counseling-followup-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.counseling-followup-form>label{min-width:0;display:grid;gap:6px}.counseling-followup-form>label:first-child{grid-column:1/-1}.counseling-followup-form label>span{display:inline-flex;align-items:center;gap:5px;color:#6e6e73;font-size:11px}.counseling-followup-form .fancy-date-trigger{width:100%;min-height:42px}.counseling-composer-footer{display:flex;align-items:center;gap:8px;margin-top:16px}.counseling-composer-footer>label{display:flex;align-items:center;gap:5px;margin-right:auto;color:#6e6e73;font-size:12px}.counseling-composer-footer>button{min-height:38px;padding:9px 13px;border:0;border-radius:10px;background:#fff;color:#515154;font-size:12px;cursor:pointer}.counseling-composer-footer>button.primary{background:#0071e3;color:#fff;font-weight:600}.counseling-composer-footer svg{width:14px;vertical-align:middle}.counseling-error{margin:12px 0 0;color:#b42318;font-size:12px;line-height:1.6}.care-alert-switch{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#f2f2f7}.care-alert-switch>button{min-height:36px;padding:8px 13px;border:0;border-radius:9px;background:transparent;color:#6e6e73;font-size:12px;cursor:pointer}.care-alert-switch>button.selected{background:#fff;color:#1d1d1f;box-shadow:0 2px 6px #0000000f}.care-alert-switch>button>span{margin-left:6px;color:#86868b;font-size:10px}.care-threshold{display:flex;align-items:flex-start;gap:8px;margin:20px 0;color:#86868b;font-size:12px;line-height:1.7}.care-threshold svg{margin-top:3px}.care-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.care-alert-card{min-width:0;padding:20px;border:1px solid #e5e5ea;border-radius:16px;background:#fff}.care-alert-card>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.care-alert-card>header>div{display:grid;gap:6px}.care-alert-card strong{color:#1d1d1f;font-size:17px}.care-alert-card header div>span,.care-alert-card>p{color:#86868b;font-size:11px}.care-alert-metric{color:#b15b00;font-size:13px;font-weight:650}.care-alert-classes{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.care-alert-classes>span{padding:5px 8px;border-radius:7px;background:#f5f5f7;color:#6e6e73;font-size:11px}.care-score-summary{display:flex;flex-wrap:wrap;gap:18px;padding:14px;border-radius:10px;background:#f5f5f7;color:#6e6e73;font-size:12px}.care-score-summary b{margin-left:6px;color:#1d1d1f;font-size:16px}.care-alert-card details>summary{display:flex;align-items:center;justify-content:space-between;min-height:38px;color:#515154;font-size:12px;cursor:pointer;list-style:none}.care-alert-card details>summary::-webkit-details-marker{display:none}.care-alert-card ul{margin:8px 0;padding:0;list-style:none}.care-alert-card li{padding:12px 0;border-top:1px solid #eeeef0;color:#6e6e73;font-size:11px}.care-alert-card li>span{margin-left:10px}.care-alert-card li p{margin:6px 0 0;line-height:1.6;overflow-wrap:anywhere}.care-alert-card footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid #eeeef0}.care-alert-card footer>button{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:0;border-radius:9px;background:#f5f5f7;color:#0071e3;font-size:12px;cursor:pointer}.admin-operations-home>.admin-monthly-summary{margin-top:20px;margin-bottom:20px}:is(.student-care-nav,.student-care-workspace,.counseling-timeline) button:not(:disabled):active{transform:scale(.98)}:is(.student-care-nav,.student-care-workspace,.counseling-timeline) :is(button,input,textarea,summary):focus-visible{outline:3px solid rgba(0,113,227,.3);outline-offset:2px}:is(.student-care-workspace,.counseling-timeline) button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.student-manager .student-command-surface{padding:18px;border-radius:18px}.student-workspace-heading,.student-workspace-heading:has(>.student-care-nav){grid-template-columns:minmax(0,1fr);gap:14px}.student-workspace-actions{width:auto;justify-content:flex-end}.student-workspace-heading>.student-care-nav{grid-column:1;grid-row:auto;justify-self:stretch}.care-workspace-controls,.care-alert-grid{grid-template-columns:1fr}.counseling-record{padding:16px}.counseling-form-grid,.counseling-followup-form{grid-template-columns:1fr}.counseling-followup{flex-wrap:wrap}.counseling-followup>div{flex-basis:calc(100% - 30px)}.counseling-followup>button{margin-left:26px}.student-care-nav{width:100%;box-sizing:border-box;gap:12px;justify-content:space-between}.student-care-nav>button{flex:1;padding:8px 4px}}@media(max-width:420px){.student-manager .student-command-surface{padding:16px}}@container (max-width: 1100px){.student-manager .student-control-shell{grid-template-columns:minmax(0,1fr)}.student-workspace-heading:has(>.student-care-nav){grid-template-columns:minmax(0,1fr) auto;gap:14px}.student-workspace-heading>.student-care-nav{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:flex-start}}@container (max-width: 600px){.student-workspace-heading,.student-workspace-heading:has(>.student-care-nav){grid-template-columns:minmax(0,1fr)}.student-workspace-heading>.student-care-nav{grid-row:3;justify-content:space-between}.student-workspace-actions{grid-row:2}.student-manager .student-filter-row,.student-manager .student-filter-row:not(:has(.student-picker:nth-child(4))){grid-template-columns:repeat(2,minmax(0,1fr))}.student-manager .student-filter-footer{grid-template-columns:minmax(0,1fr) auto}.student-manager .student-filter-status{grid-column:1/-1}.student-manager .student-filter-footer:not(:has(.student-floor-tabs)) .student-filter-status{grid-column:auto}}.student-workspace-header button:not(:disabled):active{transform:scale(.98)}.student-workspace-header button:focus-visible{outline:3px solid rgba(0,113,227,.3);outline-offset:2px}@media(prefers-reduced-motion:reduce){:is(.student-care-nav,.student-care-workspace,.counseling-timeline) button:active{transform:none!important}.student-workspace-header button:active{transform:none!important}}@media(prefers-contrast:more){.counseling-record,.care-alert-card,.care-search{border-color:#6e6e73}.care-threshold,.counseling-record header span{color:#515154}}.today-operations-panel{container-type:inline-size}.operations-live-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border-color, #e8e8ed);color:#6e6e73;font-size:.72rem;line-height:1.5}.operations-live-summary>span:first-child{display:inline-flex;align-items:center;gap:5px}.operations-live-summary strong{color:#1d1d1f;font-weight:650;font-variant-numeric:tabular-nums}.operations-lesson-group h4{display:flex;gap:8px;align-items:baseline;margin:0;padding:14px 16px 7px;color:#1d1d1f;font-size:.78rem;font-weight:650}.operations-lesson-group h4 span{color:#86868b;font-weight:500;font-variant-numeric:tabular-nums}.operations-lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 8px;gap:4px 8px}.operations-lesson-row{appearance:none;display:grid;grid-template-columns:42px minmax(0,1fr) minmax(105px,auto) 14px;align-items:center;gap:10px;width:100%;min-width:0;min-height:96px;padding:12px 10px;border:0;border-radius:12px;background:transparent;color:#1d1d1f;font:inherit;text-align:left;cursor:pointer;box-shadow:none;transition:background-color .12s ease}.operations-lesson-row.is-live{background:#f1f9f5}.operations-lesson-row:hover{background:#f5f5f7}.operations-lesson-row.is-live:hover{background:#e8f4ee}.operations-lesson-row:active{background:#ededf1}.operations-lesson-row:focus-visible,.operations-history summary:focus-visible{outline:3px solid #0071e3;outline-offset:-3px}.operations-lesson-row time{color:#1d1d1f;font-size:.8rem;font-weight:650;font-variant-numeric:tabular-nums}.operations-lesson-main,.operations-lesson-status{display:flex;flex-direction:column;min-width:0;gap:4px}.operations-lesson-main strong{color:#1d1d1f;font-size:.82rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.operations-lesson-main small{color:#6e6e73;font-size:.68rem;line-height:1.5}.operations-lesson-room{display:inline-flex;align-items:center;gap:4px}.operations-lesson-status{align-items:flex-end}.operations-phase{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 9px;border-radius:999px;background:#f2f2f7;color:#6e6e73;font-size:.68rem;font-weight:650;font-style:normal;line-height:1.4;white-space:nowrap}.operations-phase.is-live{background:#dff3e8;color:#16734b}.operations-phase.is-soon{background:#edf4ff;color:#0067cd}.operations-lesson-status small{color:#6e6e73;font-size:.64rem;line-height:1.5;text-align:right;font-variant-numeric:tabular-nums}.operations-lesson-status .operations-journal{display:inline-flex;align-items:center;gap:4px;color:#86868b}.operations-lesson-status .operations-journal.is-missing{color:#946200}.operations-lesson-arrow{color:#a1a1a6}.operations-history{border-top:1px solid #e8e8ed}.operations-history summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:12px 16px;color:#6e6e73;font-size:.76rem;font-weight:550;cursor:pointer;list-style:none}.operations-history summary::-webkit-details-marker{display:none}.operations-history summary span{color:#86868b;font-weight:450}.operations-history summary svg{margin-left:auto;flex-shrink:0;transition:transform .16s ease}.operations-history[open]>summary svg{transform:rotate(180deg)}.operations-day-done{display:flex;align-items:center;gap:7px;padding:18px 16px;color:#6e6e73;font-size:.8rem}.operations-availability-message{margin:0;padding:12px 16px;color:#946200;background:#fffbf0;font-size:.76rem;line-height:1.5}.room-status-room.is-active .room-status-state{background:#e7f5ed;color:#16734b}@container (max-width: 780px){.operations-lesson-list{grid-template-columns:minmax(0,1fr)}}@container (max-width: 440px){.operations-live-summary{flex-wrap:wrap;gap:5px}.operations-lesson-row{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.operations-lesson-arrow{display:none}.operations-lesson-status small{max-width:112px}}@media(prefers-reduced-motion:reduce){.operations-lesson-row,.operations-history summary svg{transition:none}}
