.usersV270 .accountGroupTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.usersV270 .accountGroupTabs button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 10px;align-items:center;text-align:left;border:1px solid #d9e6ee;background:#fff;border-radius:14px;padding:14px 16px;cursor:pointer;color:#12344d}.usersV270 .accountGroupTabs button>span{grid-row:1/3;font-size:22px}.usersV270 .accountGroupTabs button>b{font-size:15px}.usersV270 .accountGroupTabs button>small{color:#718696}.usersV270 .accountGroupTabs button.active{border-color:#0f9e90;background:#effbf8;box-shadow:0 0 0 2px #0f9e9014}.accountGroupHint,.homeroomProvisionHint{border:1px solid #dbe8ee;border-radius:12px;padding:11px 14px;margin:0 0 14px;background:#f8fbfc;color:#38586d}.homeroomProvisionHint{background:#fffaf0;border-color:#f0dfb2}.accountCreateBox{border:1px solid #dce9ee;border-radius:14px;padding:12px;margin-bottom:14px;background:#fbfdfe}.v270Create{margin-bottom:0}.fixedRoleBadge{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #d6e5eb;background:#f1f8fa;border-radius:10px;font-weight:700;color:#0b5870}.dutyScheduleBox{margin-top:12px;border-top:1px dashed #cfdde4;padding-top:12px}.dutyScheduleBox>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.dutyScheduleBox small{color:#718696;line-height:1.45}.dutyGridThreeColumns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dutyDayColumn{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.dutyDayCard{border:1px solid #dce7ec;border-radius:12px;background:#f9fcfd;padding:9px 10px}.dutyDayCard>b{display:block;font-size:13px;color:#173f58;margin-bottom:7px}.dutySessionChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dutySessionChoices label{display:flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #dce7ec;border-radius:9px;background:#fff;cursor:pointer;transition:.15s ease}.dutySessionChoices label input{position:absolute;opacity:0;pointer-events:none}.dutySessionChoices label span{font-size:13px;color:#617a89;font-weight:700}.dutySessionChoices label.selected{background:#eafaf6;border-color:#22a997;box-shadow:0 0 0 1px #22a99714}.dutySessionChoices label.selected span{color:#087768}.dutyNoneHint{display:inline-flex;margin-top:10px;padding:6px 10px;border-radius:999px;background:#f3f6f8;color:#647785;font-size:12px;font-weight:700}.dutySummary{display:flex;flex-direction:column;gap:3px;min-width:130px}.dutySummary span{font-size:12px;line-height:1.35}.dutyMissing{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3f6f8;color:#647785;font-size:12px;font-weight:700}.usersV270 table td{vertical-align:top}.usersV270 .permissionEditor{margin:14px 0}.usersV270 .dangerMini{border-color:#efb9b5;color:#a82a24;background:#fff7f6}.usersV270 .dangerMini:hover{background:#fff0ee;border-color:#dc817a}@media(max-width:1100px){.dutyGridThreeColumns{grid-template-columns:1fr 1fr}.dutyDayColumn:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:none}}@media(max-width:900px){.usersV270 .accountGroupTabs,.dutyGridThreeColumns{grid-template-columns:1fr}.dutyDayColumn,.dutyDayColumn:last-child{grid-column:auto;grid-template-columns:1fr 1fr;grid-template-rows:none}.v270Create{grid-template-columns:1fr}}@media(max-width:560px){.dutyDayColumn,.dutyDayColumn:last-child{grid-template-columns:1fr}.dutySessionChoices{grid-template-columns:1fr 1fr}}.dutyModeBanner{margin:10px 16px 0;padding:10px 14px;border-radius:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.dutyModeBanner.on{background:#eafaf4;border:1px solid #a9e5cf;color:#0b6d53}.dutyModeBanner.off{background:#f4f6f8;border:1px solid #dce3e8;color:#64748b}.dutyAdminGrid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px}.dutyTeacherList{padding:14px;align-self:start}.dutyTeacherList section{margin-top:12px}.dutyTeacherList h4{margin:10px 0 6px}.dutyTeacherList button{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #dbe6ec;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:7px;cursor:pointer}.dutyTeacherList button.active{border-color:#14b8a6;background:#ecfdf8}.dutyTeacherList button small,.dutyTeacherList button em{font-size:11px;color:#64748b;font-style:normal}.dutyEditor{padding:16px}.dutyPolicyNote{background:#f0f9ff;border:1px solid #c7e7f7;border-radius:12px;padding:10px 12px;margin-bottom:14px;color:#0c4a6e}.dutySlotStack{display:grid;gap:12px}.dutySlotCard{border:1px solid #dbe5ea;border-radius:14px;padding:12px;background:#fff}.dutySlotTop{display:grid;grid-template-columns:110px 120px 150px 150px 150px 120px auto;gap:8px;align-items:end}.dutySlotTop label{display:grid;gap:5px;font-size:12px;font-weight:700}.dutySlotTop input,.dutySlotTop select{width:100%}.dutyPermissionSplit{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px;padding-top:12px;border-top:1px dashed #d8e2e8}.dutyChecks{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.dutyChecks label{display:inline-flex;align-items:center;gap:6px;font-size:13px}.dutyChecks input{width:auto}.dutySlotTop .checkField{padding-top:0;display:flex!important;align-items:center;gap:7px}.dutySlotTop .checkField input{width:auto}.dutyAdminPage .actionsRight{margin-top:14px}@media(max-width:1200px){.dutyAdminGrid{grid-template-columns:1fr}.dutyTeacherList{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dutyTeacherList>.panelHead{grid-column:1/-1}.dutySlotTop{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.dutyTeacherList,.dutySlotTop,.dutyPermissionSplit{grid-template-columns:1fr}.dutyModeBanner{margin:8px}.dutySlotTop .dangerOutline{width:100%}}:root{--bg:#f4f8fb;--surface:#fff;--text:#173042;--muted:#6a7f8f;--line:#dbe6ec;--primary:#0f766e;--primary2:#14b8a6;--navy:#10395d;--accent:#f59e0b;--danger:#dc2626;--success:#16a34a;--shadow:0 14px 38px rgba(31,64,85,.1);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}input,select,textarea{border:1px solid #cfdde5;border-radius:10px;background:#fff;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary2);box-shadow:0 0 0 3px #14b8a61f}button:disabled{opacity:.5;cursor:not-allowed}.publicHeader{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.publicBrand{display:flex;gap:12px;align-items:center}.publicBrand>span,.brandStar{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 8px 22px #14b8a640}.publicBrand b,.publicBrand strong{display:block}.publicBrand b{font-size:13px;color:var(--navy)}.publicBrand strong{font-size:16px}.headerActions{display:flex;gap:10px}.primaryBtn,.ghostBtn,.successBtn,.dangerBtn,.miniBtn{border:0;border-radius:12px;padding:10px 15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primaryBtn{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 7px 18px #0f766e33}.ghostBtn,.miniBtn{background:#fff;border:1px solid var(--line);color:var(--navy)}.successBtn{background:#e8f8ee;color:#166534}.dangerBtn{background:#fff0f0;color:#b91c1c}.miniBtn{padding:7px 9px;font-size:12px}.wide{width:100%}.hero{min-height:385px;padding:58px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;background:radial-gradient(circle at 78% 20%,rgba(56,189,248,.25),transparent 28%),radial-gradient(circle at 92% 78%,rgba(251,113,133,.18),transparent 25%),linear-gradient(135deg,#e9fbf8,#f4f9ff 55%,#fff7ed)}.eyebrow,.kicker{font-size:11px;font-weight:900;letter-spacing:1.25px;color:var(--primary)}.hero h1{font-size:48px;line-height:1.05;margin:12px 0;color:var(--navy);letter-spacing:-1.5px}.hero h1 span{background:linear-gradient(90deg,var(--primary),#0ea5e9,#fb7185);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:.84em}.hero p{max-width:650px;color:#527083;font-size:17px}.podium{display:flex;align-items:end;justify-content:center;gap:12px;min-height:250px}.podiumCard{width:145px;border:1px solid rgba(255,255,255,.9);background:#fff;border-radius:22px 22px 8px 8px;text-align:center;padding:22px 10px;box-shadow:var(--shadow)}.podiumCard.first{height:230px;background:linear-gradient(#fff6cf,#fff);border-color:#f3d468}.podiumCard.second{height:190px}.podiumCard.third{height:165px}.podiumCard>div{font-size:34px}.podiumCard b{display:block;font-size:28px;color:var(--navy);margin:6px 0}.podiumCard small{color:var(--muted)}.container{max-width:1180px;margin:auto;padding:34px 24px 70px}.sectionHead,.pageHead,.panelHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.sectionHead h2,.pageHead h1{margin:3px 0;color:var(--navy);font-size:31px}.pageHead{margin-bottom:18px}.pageHead p,.panelHead p{margin:5px 0 0;color:var(--muted)}.filterGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;margin:18px 0;box-shadow:0 5px 18px #1f40550a}.filterGrid label,.fullField,.smallField,.profileCard label,.formGrid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#526a7a}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metricCard{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;display:flex;align-items:center;gap:13px}.metricCard>span{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#e7f8f6,#eff7ff);display:grid;place-items:center;font-size:21px}.metricCard small{display:block;color:var(--muted)}.metricCard b{display:block;font-size:25px;color:var(--navy)}.dashboardGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.span8{grid-column:span 8}.span7{grid-column:span 7}.span5{grid-column:span 5}.span4{grid-column:span 4}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 7px 22px #1f40550b}.panelHead h3{margin:2px 0;color:var(--navy);font-size:20px}.tableWrap{overflow:auto;margin-top:12px}table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#6a7f8f;padding:10px 12px;background:#f5f9fb;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid #edf2f5;vertical-align:middle}tbody tr:hover{background:#fbfdfd}td input,td select{padding:7px;font-size:12px;max-width:180px}.emptyCell{text-align:center!important;color:var(--muted);padding:28px!important}.scoreText{color:var(--primary);font-weight:900}.chartBox{margin-top:10px}.privacyNote,.warning{padding:12px 14px;border-radius:12px;font-size:13px}.privacyNote{background:#f4f8fb;color:#5f7382}.warning{background:#fff8e6;border:1px solid #f2d99a;color:#765710;margin:12px 0}.pill,.status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#e9f8f6;color:var(--primary);font-size:11px;font-weight:900}.status.locked,.status.rejected{background:#fff0f0;color:#a82626}.status.approved{background:#e8f8ee;color:#166534}.status.pending{background:#fff7df;color:#7a5a00}.appShell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#10395d,#0b4c5c);color:#fff;padding:18px 14px;display:flex;flex-direction:column}.sideBrand{display:flex;align-items:center;gap:10px;padding:8px 8px 20px;border-bottom:1px solid rgba(255,255,255,.13)}.sideBrand b,.sideBrand small{display:block}.sideBrand small{opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:14px}.sidebar nav a{padding:12px;border-radius:12px;color:#ffffffc7;font-weight:800;display:flex;gap:10px}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff21;color:#fff}.sideUser{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.13)}.sideUser b,.sideUser small{display:block}.sideUser small{opacity:.7}.sideUser button{width:100%;margin-top:10px;border:0;border-radius:10px;padding:9px;background:#fb718524;color:#ffd7dd;font-weight:800}.appContent{min-width:0}.mobileBar{display:none}.appPage{padding:28px}.appFilters{grid-template-columns:repeat(4,1fr);margin:0 0 18px}.filterButton{align-self:end;height:43px}.scoreBadge{min-width:110px;height:76px;border-radius:19px;background:linear-gradient(135deg,var(--navy),var(--primary));color:#fff;display:flex;align-items:baseline;justify-content:center;padding-top:16px;font-size:28px;font-weight:900}.scoreBadge small{font-size:13px;opacity:.75;margin-left:3px}.scoreLayout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:18px}.classPanel{padding:14px;max-height:calc(100vh - 220px);position:sticky;top:20px}.classList{overflow:auto;max-height:calc(100vh - 305px)}.classItem{width:100%;border:1px solid transparent;background:#f7fafb;border-radius:13px;padding:10px 11px;margin:6px 0;display:flex;justify-content:space-between;text-align:left}.classItem span b,.classItem span small,.classItem strong small{display:block}.classItem span b{font-size:16px;color:var(--navy)}.classItem span small,.classItem strong small{font-size:10px;color:var(--muted)}.classItem strong{text-align:right;color:var(--primary);font-size:18px}.classItem.active{border-color:#77d7cd;background:#effbf9}.classItem.done{background:#f3fbf6}.scorePanel{min-height:450px}.emptyState{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);font-size:18px}.scoreClassHead{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.scoreClassHead h2{font-size:27px;margin:5px 0;color:var(--navy)}.scoreClassHead p{margin:2px 0;color:var(--muted)}.lockBox{display:flex;gap:7px;align-items:start}.criteriaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.criterionCard{border:1px solid var(--line);border-radius:15px;padding:14px}.criterionHead{display:flex;justify-content:space-between;gap:10px}.criterionHead span{font-size:10px;color:var(--primary);font-weight:900;text-transform:uppercase}.criterionHead h4{margin:2px 0;color:var(--navy)}.criterionHead>div:last-child b{font-size:22px;color:var(--primary)}.criterionHead>div:last-child small{color:var(--muted)}.counter{display:flex;align-items:center;gap:5px;margin:10px 0}.counter button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#f5f9fa;font-weight:900}.counter input{width:74px;text-align:center;padding:7px}.countRule,.eventTitle{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px dashed #e1eaef;padding-top:9px;margin-top:9px}.countRule span b,.countRule span small,.eventTitle span b,.eventTitle span small{display:block}.countRule span small,.eventTitle span small{font-size:10px;color:var(--muted)}.eventGroup{margin-top:8px}.studentEvent{display:grid;grid-template-columns:1.3fr 1fr 36px;gap:6px;margin-top:6px}.studentEvent input{font-size:12px;padding:8px}.studentEvent button{border:0;border-radius:9px;background:#fff0f0;color:var(--danger)}.smallField{margin-top:9px}.smallField input{padding:8px;font-size:12px}.fullField{margin-top:14px}.stickySave{position:sticky;bottom:8px;margin-top:16px;padding:12px 14px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;display:flex;justify-content:space-between;align-items:center}.stickySave small,.stickySave b{display:block}.stickySave b{font-size:25px;color:var(--primary)}.commentsPanel{max-width:980px}.commentRow{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}.periodBadge{background:linear-gradient(145deg,#e9fbf8,#eff7ff);border-radius:12px;display:grid;place-items:center;align-content:center;font-size:11px;color:var(--muted)}.periodBadge b{font-size:23px;color:var(--navy)}.commentRow textarea{width:100%}.commentRow small{color:var(--muted)}.actionsRight{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fullSpan{grid-column:1/-1}.lateForm{margin-bottom:18px}.requestList{display:flex;flex-direction:column;gap:9px}.requestCard{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:12px}.requestCard h4{margin:8px 0 3px}.requestCard p{margin:2px 0}.requestCard small{color:var(--muted)}.requestActions{display:flex;align-items:center;gap:7px}.tabBar{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.tabBar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap}.tabBar button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.adminPanel{min-height:320px}.subHead{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.createStrip{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;padding:13px;border:1px solid #cfe5e3;border-radius:14px;background:linear-gradient(135deg,#f2fffd,#f7fbff);margin:12px 0}.createStrip input,.createStrip select{min-width:0}.wideInput{grid-column:span 2}.inlineCheck{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.inlineCheck input{width:18px;height:18px}.cellSub{display:block;color:var(--muted);font-size:11px}.actionCell{white-space:nowrap}.weeksGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.weekCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfd}.weekCard>div b,.weekCard>div span{display:block}.weekCard>div b{color:var(--navy)}.weekCard>div span{font-size:10px;color:var(--primary);font-weight:900}.weekCard label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;color:var(--muted);margin-top:7px}.weekCard input{padding:7px}.weekCard .miniBtn{width:100%;margin-top:8px}.profileCard{max-width:600px}.profileCard label{margin:11px 0}.profileCard input{width:100%}.authPage{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 20%,rgba(20,184,166,.18),transparent 30%),linear-gradient(135deg,#f2fbfa,#f5f9ff)}.authCard{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);text-align:center}.authLogo{width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--primary),#38bdf8);color:#fff;display:grid;place-items:center;font-size:28px;margin:auto}.authCard h1{margin:12px 0 3px;color:var(--navy)}.authCard p{color:var(--muted);margin:0 0 16px}.authCard label{display:flex;flex-direction:column;gap:5px;text-align:left;margin:10px 0;font-size:12px;font-weight:800;color:#526a7a}.authLinks{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;color:var(--primary)}.loadingBox{min-height:200px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.spinner{width:24px;height:24px;border:3px solid #dcebea;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toastHost{position:fixed;top:18px;right:18px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{width:min(380px,calc(100vw - 36px));background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;box-shadow:var(--shadow);display:flex;gap:8px;font-weight:700}.toast.error{border-color:#f2caca;color:#a82626}.toast.info{border-color:#cfe4ee;color:#38566a}@media(max-width:1100px){.hero{grid-template-columns:1fr;text-align:center}.hero p{margin:auto}.dashboardGrid .span8,.dashboardGrid .span7,.dashboardGrid .span5,.dashboardGrid .span4{grid-column:span 12}.criteriaGrid{grid-template-columns:1fr}.createStrip,.weeksGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.publicHeader{padding:10px 14px}.publicBrand b{font-size:10px}.publicBrand strong{font-size:13px}.hero{padding:36px 18px}.hero h1{font-size:37px}.container{padding:24px 14px}.metricGrid,.filterGrid,.appFilters{grid-template-columns:repeat(2,1fr)}.appShell{display:block}.sidebar{position:fixed;left:-270px;top:0;width:255px;z-index:120;transition:.2s;box-shadow:none}.navOpen .sidebar{left:0;box-shadow:20px 0 50px #00000040}.mobileBar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.mobileBar button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px}.appPage{padding:14px}.scoreLayout{grid-template-columns:1fr}.classPanel{position:static;max-height:none}.classList{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));overflow:auto}.formGrid,.createStrip,.weeksGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.publicBrand b{display:none}.publicBrand>span{width:38px;height:38px}.headerActions .ghostBtn{display:none}.hero{display:block}.hero h1{font-size:31px}.podium{margin-top:24px;min-height:170px;gap:7px}.podiumCard{width:31%;padding:13px 5px}.podiumCard.first{height:175px}.podiumCard.second{height:150px}.podiumCard.third{height:132px}.podiumCard b{font-size:21px}.filterGrid,.appFilters{grid-template-columns:1fr 1fr;padding:11px}.metricGrid{gap:8px}.metricCard{padding:12px}.metricCard b{font-size:20px}.panel{padding:13px}.appPage{padding:10px}.pageHead h1{font-size:25px}.scoreBadge{min-width:82px;height:60px;font-size:21px;padding-top:13px}.classList{grid-template-columns:repeat(2,minmax(135px,1fr))}.studentEvent{grid-template-columns:1fr 36px}.studentEvent input:nth-child(2){grid-column:1/-1;grid-row:2}.commentRow{grid-template-columns:58px 1fr}.formGrid{grid-template-columns:1fr}.requestCard{display:block}.requestActions{margin-top:10px}.createStrip{grid-template-columns:1fr}.wideInput{grid-column:auto}.weeksGrid{grid-template-columns:1fr}.toastHost{top:8px;right:8px}.toast{width:calc(100vw - 16px)}}.mutedLine{display:block;color:var(--muted);font-size:10px;margin-top:3px}.classItem.draft{background:#fff9e9;border-color:#f6d982}.classItem.draft strong{color:#b7791f}.draftStatus{background:#fff5d6!important;color:#9a6700!important}.finalizedBanner{margin:14px 0;padding:13px 15px;border:1px solid #bfe8d1;background:#f0fbf5;border-radius:14px;display:flex;flex-direction:column;gap:4px;color:#22613f}.finalizedBanner span{font-size:12px;color:#52705f}.dangerOutline{border-color:#efb9b9!important;color:#ad2c2c!important;background:#fff7f7!important}.stageTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 10px}.stageTabs button{border:1px solid var(--line);background:#f8fbfc;border-radius:14px;padding:11px;display:flex;align-items:center;gap:9px;text-align:left;color:var(--navy)}.stageTabs button:hover{border-color:#8ed8d0}.stageTabs button.active{border-color:var(--primary);background:#effbf9;box-shadow:0 0 0 2px #0d948814}.stageTabs button.done{background:#f3fbf6}.stageTabs button.done .stageNo{background:#27945d;color:#fff;border-color:#27945d}.stageTabs b,.stageTabs small{display:block}.stageTabs b{font-size:13px}.stageTabs small{font-size:10px;color:var(--muted);margin-top:2px}.stageNo{width:28px;height:28px;border:1px solid #bdd8dc;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto;background:#fff}.stageSummary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #dce8ed;border-radius:13px;background:linear-gradient(135deg,#f8fcfc,#f7faff)}.stageSummary h3{margin:2px 0 0;color:var(--navy)}.stageState{border-radius:999px;padding:6px 10px;background:#fff5d6;color:#9a6700;font-size:11px;font-weight:900}.stageState.done{background:#e8f8ee;color:#24653b}.scoreFieldset:disabled{opacity:.76}.scoreFieldset:disabled button,.scoreFieldset:disabled input,.scoreFieldset:disabled textarea{cursor:not-allowed}.emptyState.compact{min-height:90px;font-size:13px}.workflowHelp{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding:10px 12px;border-radius:12px;background:#f6f9fb;color:#597080;font-size:11px}.workflowActions{gap:14px}.scoreNow em{display:block;font-style:normal;color:var(--muted);font-size:10px;margin-top:2px}.saveButtons{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.stageDoneBtn,.finalizeBtn{border:0;border-radius:11px;padding:10px 13px;font-weight:900}.stageDoneBtn{background:#e8f7f5;color:#0b7067}.finalizeBtn{background:linear-gradient(135deg,#0f766e,#0b4f6c);color:#fff;box-shadow:0 8px 18px #0f766e33}.stageDoneBtn:disabled,.finalizeBtn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.lockedNote{font-weight:800;color:var(--muted);font-size:12px}@media(max-width:820px){.stageTabs{grid-template-columns:1fr}.workflowActions{align-items:flex-start}.saveButtons{width:100%;justify-content:stretch}.saveButtons button{flex:1;min-width:145px}}@media(max-width:600px){.stageTabs button{padding:9px}.stageSummary{align-items:flex-start}.workflowActions{position:static;display:block}.saveButtons{margin-top:10px;display:grid;grid-template-columns:1fr}.saveButtons button{width:100%}}.ledgerPanel{margin-top:18px}.ledgerFilters{margin:12px 0 14px}.ledgerTable table{min-width:1180px}.ledgerTable th:nth-child(n+3),.ledgerTable td:nth-child(n+3){min-width:190px;white-space:pre-wrap}.ledgerTable td{vertical-align:top;line-height:1.45}.pageHead>.primaryBtn{align-self:flex-start;white-space:nowrap}@media(max-width:760px){.pageHead>.primaryBtn{width:100%}.ledgerFilters{grid-template-columns:1fr}}.reportPeriodNote{margin:-4px 2px 14px;padding:9px 12px;border:1px solid #cfe9e7;border-radius:12px;background:#f4fbfa;color:#40626b;font-size:13px;font-weight:700}.penaltyProposalPanel{margin-top:18px;border:1px solid #f0c36b;background:linear-gradient(180deg,#fffdf8,#fff);border-radius:18px;padding:18px}.penaltyProposalPanel .panelHead{align-items:flex-start}.penaltyApprovedSummary{min-width:170px;border:1px solid #f59e0b;background:#fff7ed;border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.penaltyApprovedSummary small{color:#9a5b06}.penaltyApprovedSummary b{font-size:24px;color:#b45309}.penaltyApprovedSummary span{font-size:12px;color:#7c4a03}.penaltyProposalForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.penaltyProposalForm label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}.penaltyProposalForm input,.penaltyProposalForm select,.penaltyProposalForm textarea{width:100%;border:1px solid #d7e0e8;border-radius:10px;padding:10px 11px;background:#fff}.penaltyProposalForm .fullSpan{grid-column:1/-1}.warningBtn{border:0;border-radius:11px;background:#d97706;color:#fff;font-weight:800;padding:11px 16px;cursor:pointer}.warningBtn:disabled{opacity:.55;cursor:not-allowed}.penaltyProposalList{display:grid;gap:8px;margin-top:14px}.penaltyProposalItem{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff}.penaltyProposalItem>div{display:grid;gap:5px}.penaltyProposalItem p{margin:0;color:#475569}.penaltyProposalItem small{color:#526a7a}.adminPenaltyStack{display:grid;gap:18px}.penaltyRuleCreate label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700}.penaltyRuleCreate label input{min-width:90px}.penaltyRequests{display:grid;gap:10px}.penaltyRequestCard{align-items:flex-start}.penaltyRequestMain{display:grid;gap:7px;min-width:0}.requestMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.decisionBox{margin-top:5px;border-radius:10px;padding:9px 11px;background:#ecfdf5;color:#166534}.rejectedBox{background:#fff1f2;color:#9f1239}.inlineActions{display:flex;gap:8px;align-items:center}.inlineActions select{border:1px solid #d7e0e8;border-radius:9px;padding:8px 10px;background:#fff}.status.cancelled{background:#f1f5f9;color:#64748b}.status.pending{background:#fff7ed;color:#b45309}.status.approved{background:#ecfdf5;color:#166534}.status.rejected{background:#fff1f2;color:#be123c}@media(max-width:1000px){.penaltyProposalForm{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.penaltyProposalForm{grid-template-columns:1fr}.penaltyProposalForm .fullSpan{grid-column:auto}.penaltyProposalItem,.penaltyRequestCard{flex-direction:column}.penaltyApprovedSummary{align-items:flex-start;width:100%}}.commentsPanel{max-width:none;width:100%;padding:14px 16px}.commentRow{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:8px 10px;margin-bottom:7px;align-items:stretch}.commentRow textarea{width:100%;min-height:58px;max-height:150px;padding:8px 10px;line-height:1.35;resize:vertical}.periodBadge{min-height:58px}.periodBadge b{font-size:20px}.commentRow small{display:block;margin-top:3px;font-size:10px}.commentsPanel .actionsRight{margin-top:8px}.logbookRuleNote{margin:0 0 14px;padding:12px 14px;border:1px solid #bfe3de;border-radius:14px;background:linear-gradient(135deg,#f1fbf9,#f7fbff);color:#3c5f68;font-size:13px}.logbookRuleNote b{color:var(--navy)}.logbookFilters{grid-template-columns:repeat(4,minmax(0,1fr))}.logbookMetrics{margin-top:0}.logbookPanel{margin-top:14px}.logbookTable th:nth-child(1){min-width:70px}.logbookTable th:nth-child(3){min-width:180px}.logbookTable th:nth-child(4){min-width:150px}.logbookTable th:nth-child(5){min-width:240px}.logbookScoreInput{width:130px;text-align:center;font-weight:800}.logbookNoteInput{width:100%;min-width:220px}.logbookTable small{color:var(--muted);white-space:nowrap}.logbookPanel .actionsRight{margin-top:14px}.reportFormulaNote{margin:0 2px 14px;padding:9px 12px;border:1px solid #d7e5ec;border-radius:12px;background:#f8fbfd;color:#506b7b;font-size:12px}@media(max-width:900px){.logbookFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.commentRow{grid-template-columns:54px minmax(0,1fr)}}@media(max-width:600px){.logbookFilters{grid-template-columns:1fr}.commentsPanel{padding:10px}.commentRow{grid-template-columns:48px minmax(0,1fr);padding:7px}.commentRow textarea{min-height:64px}.logbookScoreInput{width:105px}}.sideInstall{padding:10px 8px 4px;margin-top:auto}.installAppBtn{border:1px solid #b9e4df;background:linear-gradient(135deg,#ecfdf9,#eef8ff);color:#0f5e58;border-radius:12px;padding:10px 14px;font-weight:900;box-shadow:0 5px 14px #0f766e14}.installAppBtn.compact{width:100%;padding:9px 10px;font-size:12px}.sidebar .installAppBtn{border-color:#fff3;background:#ffffff1a;color:#fff;box-shadow:none}.sideMeta{padding:10px 12px 9px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;line-height:1.55;color:#ffffffb8}.sideMeta b{color:#fff;font-weight:800}.sideUser{margin-top:0}.adminKickerLine{display:flex;align-items:center;gap:8px}.versionTag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#e6f7f4;color:#0f766e;font-size:10px;font-weight:900;border:1px solid #bde5df}.roleProfileGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.roleProfileCard{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfd;cursor:pointer;transition:.15s}.roleProfileCard:hover,.roleProfileCard.active{border-color:#79d4ca;background:#effbf9;box-shadow:0 0 0 2px #14b8a614}.roleProfileCard b{display:block;color:var(--navy);font-size:13px}.roleProfileCard p{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.4}.roleProfileCard small{color:var(--primary);font-weight:800;font-size:10px}.permissionEditor{margin:16px 0;border:1px solid #b9dedb;border-radius:17px;padding:16px;background:linear-gradient(135deg,#f7fffd,#f9fbff)}.permissionIdentityGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.permissionIdentityGrid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#526a7a}.permissionIdentityGrid .inlineCheck{flex-direction:row;align-items:center;align-self:end;padding-bottom:9px}.permissionToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dce9ed;border-bottom:1px solid #dce9ed;padding:11px 0;margin:8px 0 14px}.permissionToolbar b,.permissionToolbar small{display:block}.permissionToolbar small{color:var(--muted);font-size:10px;margin-top:3px}.permissionGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permissionGroup{border:1px solid #dce8ed;border-radius:13px;background:#fff;padding:11px}.permissionGroup h4{margin:0 0 8px;color:var(--navy);font-size:12px;letter-spacing:.5px}.permissionItem{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:start;padding:8px 4px;border-top:1px dashed #edf2f4}.permissionItem:first-of-type{border-top:0}.permissionItem input{width:17px;height:17px;margin-top:2px}.permissionItem span b,.permissionItem span small,.permissionItem span code{display:block}.permissionItem span b{font-size:12px;color:#183d55}.permissionItem span small{font-size:10px;color:var(--muted);line-height:1.35}.permissionItem span code{font-size:9px;color:#7b8d99;margin-top:2px}.permissionItem em{font-style:normal;font-size:9px;border-radius:999px;padding:3px 6px;background:#fff0f0;color:#a82626}.permissionItem.disabled{opacity:.62}.permissionCount{display:inline-flex;border-radius:999px;padding:4px 8px;background:#edf8f6;color:#0f766e;font-size:10px;font-weight:900}.helpPage .pageHead{align-items:flex-start}.helpIntro{margin-bottom:14px}.helpIntro h3,.helpGrid h3,.helpSafety h3{margin-top:0;color:var(--navy)}.permissionChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.permissionChips span{border-radius:999px;background:#eff7fa;border:1px solid #d9e7ed;padding:4px 8px;font-size:10px;color:#4d6979}.helpGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.helpGrid .panel{min-height:150px}.helpGrid p,.helpSafety p{color:#526a7a;margin-bottom:0}.helpSafety{margin-top:14px;border-color:#efd7a1;background:#fffaf0}@media(max-width:1150px){.roleProfileGrid{grid-template-columns:repeat(3,1fr)}.permissionIdentityGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sideInstall{margin-top:auto}.roleProfileGrid{grid-template-columns:1fr 1fr}.permissionGroups,.helpGrid{grid-template-columns:1fr}}@media(max-width:600px){.roleProfileGrid,.permissionIdentityGrid{grid-template-columns:1fr}.permissionToolbar{align-items:flex-start;flex-direction:column}.permissionToolbar .ghostBtn{width:100%}.adminKickerLine{align-items:flex-start;flex-direction:column;gap:4px}}.stageTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.stageTabs button{border:1px solid #d8e5ea;background:#fff;border-radius:14px;padding:11px 12px;display:flex;gap:9px;align-items:center;text-align:left;color:#526a7a}.stageTabs button.active{border-color:#39b7aa;background:#effbf9;box-shadow:0 0 0 2px #14b8a614}.stageTabs button.done{border-color:#b8ddc5;background:#f2fbf5}.stageTabs button small,.stageTabs button b{display:block}.stageTabs button b{color:var(--navy);font-size:12px}.stageTabs button small{font-size:9.5px;margin-top:2px;line-height:1.35}.stageNo{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#eaf3f6;color:#355f70;font-weight:900}.stageTabs button.done .stageNo{background:#daf3e3;color:#166534}.stageSummary{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #dce9ed;border-radius:14px;padding:12px 14px;background:#f9fcfd;margin-bottom:12px}.stageSummary h3{margin:2px 0;color:var(--navy)}.stageSummaryActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.stageState{border-radius:999px;padding:6px 10px;background:#fff7df;color:#7a5a00;font-size:10px;font-weight:900}.stageState.done{background:#e8f8ee;color:#166534}.stageAuditText{margin:4px 0 0;color:#567080;font-size:11px}.scoreFieldset{border:0;padding:0;margin:0;min-width:0}.scoreFieldset:disabled{opacity:.88}.scoreFieldset:disabled input,.scoreFieldset:disabled select,.scoreFieldset:disabled textarea,.scoreFieldset:disabled button{cursor:not-allowed}.workflowHelp{display:flex;flex-wrap:wrap;gap:7px 12px;margin:12px 0;padding:10px 12px;border:1px dashed #b9d9df;border-radius:12px;background:#f8fcfd;color:#4d6979;font-size:10px}.workflowHelp b{color:var(--navy)}.workflowActions{align-items:center}.singleStageSave{margin-left:auto}.lockedNote{margin-left:auto;color:#708692;font-size:11px;font-weight:800}.scoreNow em{display:block;font-style:normal;color:#6d8290;font-size:9px;margin-top:2px}.dangerOutline{border-color:#f0bcbc!important;color:#a82626!important;background:#fff8f8!important}.homeroomComments{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.homeroomCommentGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.homeroomCommentGrid article{border:1px solid #dce8ed;border-radius:12px;background:#fbfdfd;padding:10px;min-width:0}.homeroomCommentGrid b{color:var(--navy);font-size:11px}.homeroomCommentGrid p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;color:#456170;font-size:11px;min-height:36px}.homeroomCommentGrid small{display:block;color:var(--muted);font-size:9px}.commentsPanel{padding:12px 14px}.commentRow{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;padding:7px 8px;margin-bottom:6px;border:1px solid #e0e9ee;border-radius:12px;background:#fff;align-items:stretch}.commentRow.commentSaved{background:#fbfdfd;border-color:#d8e9e4}.commentEditor{min-width:0}.commentRow textarea{width:100%;min-height:52px;max-height:150px;padding:7px 9px;line-height:1.35;resize:vertical}.commentRow textarea:disabled{background:#f7fafb;color:#365363;opacity:1}.periodBadge{min-height:52px;border-radius:10px;background:#eaf8f7;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#45717b;font-size:9px}.periodBadge b{font-size:18px;color:#0f5672}.commentMetaLine{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;min-height:29px}.commentMetaLine small{color:var(--muted);font-size:9.5px;line-height:1.3}.commentMetaLine .miniBtn{flex:0 0 auto;padding:6px 9px;font-size:10px}.commentsLockNote{margin-top:8px;padding:9px 11px;border:1px dashed #bfd9df;border-radius:11px;background:#f7fbfc;color:#536e7d;font-size:10px}.ledgerTable{border:1px solid #dfe8ed;border-radius:12px;overflow:auto}.ledgerTable table{table-layout:fixed;min-width:980px;margin:0;border-spacing:0}.ledgerTable col.ledgerDateCol{width:110px}.ledgerTable col.ledgerSessionCol{width:76px}.ledgerTable th,.ledgerTable td{border-right:1px solid #e7eef1;border-bottom:1px solid #e3ebef}.ledgerTable th:last-child,.ledgerTable td:last-child{border-right:0}.ledgerTable th{padding:9px 10px;text-align:center}.ledgerTable td{padding:9px 10px;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.38;font-size:11px;min-height:42px}.ledgerTable td:first-child,.ledgerTable td:nth-child(2){white-space:nowrap;vertical-align:middle}.ledgerTable tr.ledgerMorning td{background:#fff}.ledgerTable tr.ledgerAfternoon td{background:#fcfefe}.ledgerTable tr.ledgerAfternoon td{border-bottom:2px solid #d4e1e6}.homeroomSecurityNote{margin:12px 0;padding:11px 13px;border:1px solid #cde2e5;border-radius:12px;background:#f6fbfc;color:#496675;font-size:11px}.homeroomTable table{min-width:1180px}.homeroomTable td input{max-width:none;width:100%}.homeroomTable .homeroomEmail{min-width:230px}.homeroomTable th:nth-child(3){min-width:210px}.homeroomTable th:nth-child(7){min-width:230px}.homeroomToolbar{display:flex;gap:10px;align-items:center;margin:12px 0}.homeroomToolbar input{flex:1;min-width:240px}.cellSub{display:block;margin-top:4px;color:var(--muted);font-size:9px}.actionCell{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:1000px){.stageTabs{grid-template-columns:1fr}.homeroomCommentGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stageSummary{align-items:flex-start;flex-direction:column}.stageSummaryActions{justify-content:flex-start}}@media(max-width:650px){.commentRow{grid-template-columns:46px minmax(0,1fr);padding:6px}.commentMetaLine{align-items:flex-start;flex-direction:column}.commentMetaLine .miniBtn{width:100%}.homeroomCommentGrid{grid-template-columns:1fr}.ledgerTable table{min-width:900px}.homeroomToolbar{flex-direction:column;align-items:stretch}.homeroomToolbar input{min-width:0}}.sidebar .navAdminGroup{margin:6px 0 2px}.sidebar .navAdminChildren{margin:2px 0 4px 16px;padding-left:9px;border-left:1px solid rgba(255,255,255,.16)}.sidebar .navAdminChildren a{min-height:36px;padding:8px 10px;font-size:.92rem;border-radius:10px}.sidebar .navAdminChildren a span{width:22px}.correctionSecurityNote{margin:0 0 14px;padding:12px 14px;border:1px solid #f1c7a6;border-radius:14px;background:#fff8f2;color:#7c3d12;line-height:1.5}.correctionFilters{grid-template-columns:1fr 1fr 1fr 1.4fr auto}.correctionPanel{margin-top:16px}.correctionStageGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.correctionStageCard,.correctionCommentCard{border:1px solid #dce8ef;border-radius:16px;background:#fff;padding:14px;box-shadow:0 4px 14px #0f3d560a}.correctionStageCard.hasData,.correctionCommentCard.hasData{border-color:#bcd9e5}.correctionStageCard.emptyData,.correctionCommentCard.emptyData{background:#f9fbfc}.correctionStageTop,.correctionCommentHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.correctionStageTop>div{display:flex;align-items:center;gap:8px}.correctionStageTop h4{margin:0;font-size:1.06rem}.correctionStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.correctionStats span{display:flex;flex-direction:column;align-items:center;padding:9px 6px;border-radius:12px;background:#f1f8fb}.correctionStats b{font-size:1.15rem;color:#0c4d70}.correctionStats small{color:#6b7f8e;margin-top:2px}.correctionActions{display:flex;justify-content:flex-end;margin-top:12px}.correctionCommentsGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.correctionCommentText{min-height:72px;max-height:130px;overflow:auto;margin:10px 0;padding:9px;border-radius:10px;background:#f7fafc;white-space:pre-wrap;word-break:break-word;line-height:1.45}.dangerPill{background:#fff0f0!important;color:#a82828!important;border-color:#efc3c3!important}@media(max-width:1200px){.correctionCommentsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.correctionFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.correctionFilters .filterButton{grid-column:span 2}}@media(max-width:820px){.correctionStageGrid,.correctionCommentsGrid,.correctionFilters{grid-template-columns:1fr}.correctionFilters .filterButton{grid-column:auto}.sidebar .navAdminChildren{margin-left:10px}}.studentImportPanel{margin-bottom:18px}.studentImportRow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.studentImportRow input[type=file]{flex:1;min-width:260px}.importSummary{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eefbf8;border:1px solid #b9ebe1;color:#0e5f53}.importSummary details{margin-top:8px}.studentFilters{grid-template-columns:220px minmax(260px,1fr) 260px 120px}.checkField{display:flex!important;align-items:center;gap:8px;padding-top:25px}.checkField input{width:auto!important}.studentInactive{opacity:.62}.studentEditor{max-width:720px}.studentEditor .formGrid{grid-template-columns:1fr 1fr}.studentClassBadge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px 10px;border-radius:10px;background:#eaf7fb;border:1px solid #cce8f1;color:#0b5670;font-weight:800;font-size:12px}.studentPickerWrap{position:relative;display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(160px,.75fr) 38px;gap:8px;align-items:end;width:100%}.studentPickerField{display:flex;flex-direction:column;gap:4px;margin:0!important}.studentPickerField small{font-size:10px;font-weight:800;color:#647b8d;text-transform:uppercase;letter-spacing:.03em}.studentPickerField input{width:100%}.studentPickerInput.invalid{border-color:#e34b4b!important;background:#fff7f7}.studentPickerHint{grid-column:2/4;font-size:11px;color:#b12d2d;margin-top:-4px}.studentPickerSelected{grid-column:2/4;font-size:11px;color:#087263;margin-top:-4px}.studentPickerSelected b{font-weight:800}.studentEvent.studentPickerWrap>input{min-width:0}.eventGroup datalist{display:none}.compactWarning{margin:8px 0;padding:9px 11px;font-size:12px}.rowActions{display:flex;gap:6px;flex-wrap:wrap}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2a396b;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modalCard{width:min(100%,760px);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 18px 50px #00000038;padding:20px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.iconBtn{border:0;background:transparent;font-size:24px;cursor:pointer}@media(max-width:900px){.studentFilters{grid-template-columns:1fr}.checkField{padding-top:0}.studentPickerWrap{grid-template-columns:1fr}.studentClassBadge,.studentPickerHint,.studentPickerSelected{grid-column:1}.studentEditor .formGrid{grid-template-columns:1fr}}.usersV270 .tableWrap,.homeroomAdminPage .homeroomTable,.studentAdminPage .tableWrap,.adminPanel .classCreate+.tableWrap{max-height:min(64vh,680px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;border:1px solid #e0e9ee;border-radius:12px;background:#fff}.usersV270 .tableWrap>table,.homeroomAdminPage .homeroomTable>table,.studentAdminPage .tableWrap>table,.adminPanel .classCreate+.tableWrap>table{margin:0}.usersV270 .tableWrap>table>thead>tr>th,.homeroomAdminPage .homeroomTable>table>thead>tr>th,.studentAdminPage .tableWrap>table>thead>tr>th,.adminPanel .classCreate+.tableWrap>table>thead>tr>th{position:sticky;top:0;z-index:8;background:#f5f9fb;box-shadow:0 1px #dbe6ec,0 5px 12px #1f405512}.usersV270 .tableWrap tbody tr,.homeroomAdminPage .homeroomTable tbody tr,.studentAdminPage .tableWrap tbody tr,.adminPanel .classCreate+.tableWrap tbody tr{background:#fff}.usersV270 .tableWrap tbody tr:hover,.homeroomAdminPage .homeroomTable tbody tr:hover,.studentAdminPage .tableWrap tbody tr:hover,.adminPanel .classCreate+.tableWrap tbody tr:hover{background:#fbfdfd}@media(max-width:900px){.usersV270 .tableWrap,.homeroomAdminPage .homeroomTable,.studentAdminPage .tableWrap,.adminPanel .classCreate+.tableWrap{max-height:58vh}}@media(max-width:600px){.usersV270 .tableWrap,.homeroomAdminPage .homeroomTable,.studentAdminPage .tableWrap,.adminPanel .classCreate+.tableWrap{max-height:52vh;border-radius:10px}}.dutyMinePage{display:grid;gap:16px}.dutyTodayCard{display:flex;justify-content:space-between;gap:24px;align-items:center;border:1px solid #d8e8ef;border-radius:18px;padding:18px 20px;background:#fff}.dutyTodayCard.on{border-color:#8ad8c8;background:#eefaf7}.dutyTodayCard.off{background:#f8fbfd}.dutyTodayCard h2{margin:5px 0 7px;color:#0a3f67}.dutyTodayCard p{margin:0;color:#6a7f91}.dutyIdentity{display:grid;gap:4px;text-align:right;min-width:220px}.dutyIdentity span{font-size:13px;color:#60758a}.dutySessionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dutySessionCard{border:1px solid #dbe8ee;border-radius:14px;padding:14px;background:#fbfdfe}.dutySessionCard h3{margin:0 0 8px;color:#0b4c72}.dutySessionCard p{margin:5px 0;color:#496579}.dutyScheduleTableWrap{overflow:auto;max-height:56vh;border:1px solid #e2ebef;border-radius:12px}.dutyScheduleTable{width:100%;border-collapse:separate;border-spacing:0;min-width:860px}.dutyScheduleTable th{position:sticky;top:0;z-index:2;background:#f1f7fa;color:#567084;text-transform:uppercase;font-size:12px;letter-spacing:.03em}.dutyScheduleTable th,.dutyScheduleTable td{padding:12px 14px;border-bottom:1px solid #e6eef2;text-align:left}.dutyScheduleTable tbody tr:hover{background:#f8fcfd}@media(max-width:800px){.dutyTodayCard{align-items:flex-start;flex-direction:column}.dutyIdentity{text-align:left;min-width:0}.dutySessionGrid{grid-template-columns:1fr}.dutyScheduleTableWrap{max-height:50vh}}.dutyAdminGrid{grid-template-columns:minmax(300px,1fr) minmax(0,2fr);align-items:stretch}.dutyTeacherList{height:min(74vh,780px);min-height:620px;max-height:780px;display:flex;flex-direction:column;overflow:hidden;align-self:start}.dutyTeacherList>.panelHead{flex:0 0 auto;margin-bottom:10px}.dutyTeacherGroups{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px}.dutyTeacherGroup{min-height:0;display:flex;flex-direction:column;margin:0!important;border:1px solid #dbe6ec;border-radius:12px;overflow:hidden;background:#fbfdfe}.dutyTeacherGroupTitle{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f1f6f9;border-bottom:1px solid #dbe6ec}.dutyTeacherGroupTitle h4{margin:0!important;font-size:14px}.dutyTeacherGroupTitle span{min-width:26px;height:24px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e2f7f2;color:#08735f;font-size:12px;font-weight:800}.dutyTeacherScroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px;scrollbar-gutter:stable}.dutyTeacherScroll button{margin-bottom:7px}.dutyTeacherScroll button:last-child{margin-bottom:0}.dutyEditor{min-height:min(74vh,780px)}.dutyEditor .dutySlotStack{max-height:calc(74vh - 250px);overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}@media(max-width:1200px){.dutyAdminGrid{grid-template-columns:1fr}.dutyTeacherList{height:560px;min-height:0;max-height:none;display:flex}.dutyEditor{min-height:0}.dutyEditor .dutySlotStack{max-height:none;overflow:visible}}@media(max-width:760px){.dutyTeacherList{height:520px}.dutyTeacherGroups{gap:8px}.dutyTeacherGroupTitle{padding:8px}.dutyTeacherScroll{padding:6px}}.dutyAdminCompact{padding-bottom:8px}.dutyAdminCompact .dutyCompactHead{margin-bottom:8px}.dutyAdminCompact .dutyCompactHead h1{margin-bottom:3px}.dutyAdminCompact .dutyCompactHead p{margin-top:0}.dutyScheduleWorkspace{display:grid;grid-template-rows:minmax(250px,1fr) minmax(380px,2fr);gap:10px;height:calc(100dvh - 158px);min-height:680px;max-height:930px}.dutyEditorTop{min-height:0!important;height:auto!important;display:flex;flex-direction:column;padding:12px;overflow:hidden}.dutyEditorTop .dutyEditorHead{flex:0 0 auto;margin-bottom:6px;align-items:flex-start}.dutyEditorTop .dutyEditorHead h3{margin:2px 0}.dutyEditorTop .dutyEditorHead p{margin:0;font-size:12px;line-height:1.35}.dutyPolicyCompact{flex:0 0 auto;margin:0 0 7px;padding:7px 10px;font-size:12px}.dutyEditorTop .dutySlotStackTop{flex:1;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:auto;padding-right:3px;scrollbar-gutter:stable}.dutyEditorTop .dutySlotCardCompact{padding:8px 10px;border-radius:12px}.dutyEditorTop .dutySlotTop{gap:6px}.dutyEditorTop .dutySlotTop label{gap:3px;font-size:11px}.dutyEditorTop .dutySlotTop input,.dutyEditorTop .dutySlotTop select{min-height:34px;padding-top:5px;padding-bottom:5px}.dutyEditorTop .dutyPermissionSplit{margin-top:7px;padding-top:7px;gap:14px}.dutyEditorTop .dutyChecks{margin-top:5px;gap:9px}.dutyEditorTop .dutyChecks label{font-size:12px}.dutyEditorTop .dutySaveBar{flex:0 0 auto;margin-top:7px}.dutyEditorTop .dutySaveBar .primaryBtn{min-height:36px;padding-top:7px;padding-bottom:7px}.dutyTeacherBoard{height:auto!important;min-height:0!important;max-height:none!important;display:flex;flex-direction:column;padding:12px;overflow:hidden}.dutyTeacherBoard>.dutyTeacherBoardHead{flex:0 0 auto;margin-bottom:7px}.dutyTeacherBoard>.dutyTeacherBoardHead h3{margin-bottom:2px}.dutyTeacherBoard>.dutyTeacherBoardHead p{margin:0;font-size:12px}.dutyTeacherGroupsHorizontal{flex:1;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:10px!important}.dutyTeacherGroupsHorizontal .dutyTeacherGroup{height:100%;min-height:0;margin:0!important}.dutyTeacherGroupsHorizontal .dutyTeacherGroupTitle{position:sticky;top:0;z-index:2;padding:8px 10px}.dutyTeacherGroupsHorizontal .dutyTeacherScroll{height:100%;min-height:0;overflow-y:auto;padding:7px;scrollbar-gutter:stable}.dutyTeacherGroupsHorizontal .dutyTeacherScroll button{padding:8px 10px;margin-bottom:6px;border-radius:10px}.dutyTeacherGroupsHorizontal .dutyTeacherScroll button b{line-height:1.15}.dutyTeacherGroupsHorizontal .dutyTeacherScroll button small,.dutyTeacherGroupsHorizontal .dutyTeacherScroll button em{line-height:1.2}@media(max-width:1200px){.dutyScheduleWorkspace{height:auto;max-height:none;min-height:0;grid-template-rows:auto 560px}.dutyEditorTop{overflow:visible}.dutyEditorTop .dutySlotStackTop{max-height:360px!important}.dutyTeacherBoard{height:560px!important}.dutyTeacherGroupsHorizontal{grid-template-columns:1fr 1fr!important}}@media(max-width:760px){.dutyAdminCompact .dutyCompactHead{margin-bottom:6px}.dutyScheduleWorkspace{grid-template-rows:auto auto;gap:8px}.dutyEditorTop,.dutyTeacherBoard{padding:9px}.dutyTeacherBoard{height:620px!important}.dutyTeacherGroupsHorizontal{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important}.dutyEditorTop .dutySlotStackTop{max-height:none!important;overflow:visible}.dutyEditorTop .dutyPermissionSplit,.dutyEditorTop .dutySlotTop{grid-template-columns:1fr}.dutyEditorTop .dutySlotTop .dangerOutline{width:100%}}.dutyAdminCompact{padding-top:2px!important;padding-bottom:4px!important}.dutyAdminCompact .dutyCompactHead{margin-top:-4px!important;margin-bottom:4px!important;min-height:0!important}.dutyAdminCompact .dutyCompactHead .kicker{display:block;margin-bottom:2px;line-height:1.1}.dutyAdminCompact .dutyCompactHead h1{margin:0 0 2px!important;line-height:1.08}.dutyAdminCompact .dutyCompactHead p{margin:0!important;line-height:1.2}.dutyAdminCompact .dutyScheduleWorkspace{height:calc(100dvh - 108px)!important;min-height:720px!important;max-height:none!important;grid-template-rows:minmax(340px,42%) minmax(340px,58%)!important;gap:8px!important}.dutyAdminCompact .dutyEditorTop{padding:9px 11px 7px!important}.dutyAdminCompact .dutyEditorTop .dutyEditorHead{margin-bottom:4px!important}.dutyAdminCompact .dutyEditorTop .dutyEditorHead h3{margin:0 0 1px!important}.dutyAdminCompact .dutyEditorTop .dutyEditorHead p{margin:0!important;line-height:1.2!important}.dutyAdminCompact .dutyPolicyCompact{margin:0 0 5px!important;padding:5px 9px!important;line-height:1.2}.dutyAdminCompact .dutyEditorTop .dutySlotStackTop{min-height:180px!important;overflow:auto!important;padding-right:3px}.dutyAdminCompact .dutyEditorTop .dutySlotCardCompact{padding:7px 9px!important}.dutyAdminCompact .dutyEditorTop .dutyPermissionSplit{margin-top:5px!important;padding-top:5px!important}.dutyAdminCompact .dutyEditorTop .dutySaveBar{margin-top:4px!important}.dutyAdminCompact .dutyEditorTop .dutySaveBar .primaryBtn{min-height:34px!important;padding:6px 12px!important}.dutyAdminCompact .dutyTeacherBoard{padding:9px 10px!important}.dutyAdminCompact .dutyTeacherBoard>.dutyTeacherBoardHead{margin-bottom:5px!important}.dutyAdminCompact .dutyTeacherBoard>.dutyTeacherBoardHead h3{margin:0 0 1px!important}.dutyAdminCompact .dutyTeacherBoard>.dutyTeacherBoardHead p{margin:0!important;line-height:1.2!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal{min-height:0!important;overflow:hidden!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroup{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;overflow:hidden!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroupTitle{position:relative!important;top:auto!important;z-index:4!important;flex:0 0 auto!important;padding:8px 10px!important;background:#f1f6f9!important;border-bottom:1px solid #dbe6ec!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherScroll{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding:6px!important}@media(max-width:1200px){.dutyAdminCompact .dutyCompactHead{margin-top:0!important}.dutyAdminCompact .dutyScheduleWorkspace{height:auto!important;min-height:0!important;grid-template-rows:auto 560px!important}.dutyAdminCompact .dutyEditorTop .dutySlotStackTop{min-height:0!important;max-height:430px!important}}@media(max-width:760px){.dutyAdminCompact{padding-top:0!important}.dutyAdminCompact .dutyScheduleWorkspace{grid-template-rows:auto auto!important}.dutyAdminCompact .dutyTeacherBoard{height:620px!important}.dutyAdminCompact .dutyCompactHead p{font-size:12px}}.dutyAdminCompact .dutyTeacherBoard{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;overflow:hidden!important}.dutyAdminCompact .dutyTeacherBoard>.dutyTeacherBoardHead{flex:0 0 auto!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:hidden!important;align-items:stretch!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroup{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;height:100%!important;max-height:100%!important;overflow:hidden!important;align-self:stretch!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroupTitle{position:relative!important;inset:auto!important;z-index:5!important;min-height:44px!important;box-sizing:border-box!important;padding:8px 10px!important;margin:0!important;background:#f1f6f9!important;border-bottom:1px solid #dbe6ec!important;box-shadow:0 1px #0d4a6a0a!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherScroll{min-height:0!important;height:auto!important;max-height:none!important;overflow-y:scroll!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important;padding:6px!important;margin:0!important;-webkit-overflow-scrolling:touch}@media(min-width:1201px){.dutyAdminCompact .dutyScheduleWorkspace{min-height:640px!important}.dutyAdminCompact .dutyTeacherBoard{min-height:0!important}}@media(max-width:1200px){.dutyAdminCompact .dutyTeacherBoard{overflow:hidden!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal{min-height:0!important;overflow:hidden!important}}@media(max-width:760px){.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroupTitle{min-height:42px!important}}.appShell{min-height:100dvh!important;grid-template-columns:255px minmax(0,1fr)!important;align-items:start!important}.appContent,.appPage,.panel,.adminPanel,.dutyAdminCompact,.dutyScheduleWorkspace,.dutyEditorTop,.dutyTeacherBoard,.dutyTeacherGroupsHorizontal,.dutyTeacherGroup{min-width:0!important;max-width:100%!important}.sidebar{position:sticky!important;top:0!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.sidebar .sideBrand{flex:0 0 auto!important}.sidebar nav{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important;-webkit-overflow-scrolling:touch;padding-right:3px!important}.sidebar .sideInstall,.sidebar .sideMeta,.sidebar .sideUser{flex:0 0 auto!important;min-width:0!important}.sidebar .sideUser{margin-top:0!important}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:999px}.sidebar nav::-webkit-scrollbar-track{background:transparent}@media(max-height:820px)and (min-width:761px){.sidebar{padding-top:10px!important;padding-bottom:9px!important}.sideBrand{padding-top:4px!important;padding-bottom:10px!important}.sideBrand .brandStar{width:38px!important;height:38px!important;border-radius:12px!important;font-size:19px!important}.sidebar nav{padding-top:8px!important;gap:2px!important}.sidebar nav a{padding:9px 10px!important;border-radius:10px!important}.sideInstall{margin-top:5px!important}.sideMeta{font-size:10px!important;line-height:1.3!important;padding-top:5px!important;padding-bottom:5px!important}.sideUser{padding:7px 9px!important}.sideUser button{margin-top:6px!important;padding:7px!important}}@media(max-height:620px)and (min-width:761px){.sidebar{padding-left:10px!important;padding-right:10px!important}.sideBrand{padding-bottom:7px!important}.sideBrand b{font-size:12px!important}.sideBrand small{font-size:10px!important}.sidebar nav a{padding:7px 8px!important;font-size:12px!important}.navAdminChildren a{padding-top:6px!important;padding-bottom:6px!important}.sideInstall button{min-height:30px!important;padding:5px 7px!important;font-size:10px!important}.sideMeta{font-size:9px!important;line-height:1.2!important}.sideUser b{font-size:12px!important}.sideUser small{font-size:9px!important}.sideUser button{padding:6px!important;font-size:11px!important}}.tableWrap,.stickyTableWrap,.adminTableWrap,.reportTableWrap{max-width:100%!important;min-width:0!important;overflow:auto!important;overscroll-behavior:contain!important}.panel table,.adminPanel table{max-width:none!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal,.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroup{min-width:0!important;overflow:hidden!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherGroupTitle{flex:0 0 auto!important;position:relative!important;z-index:8!important}.dutyAdminCompact .dutyTeacherGroupsHorizontal .dutyTeacherScroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}@media(max-width:1180px)and (min-width:761px){.appShell{grid-template-columns:225px minmax(0,1fr)!important}.appPage{padding-left:18px!important;padding-right:18px!important}.sidebar{padding-left:10px!important;padding-right:10px!important}}@media(max-width:760px){.appShell{grid-template-columns:1fr!important}.sidebar{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}.sidebar nav{overflow-y:auto!important}.appPage{padding-left:12px!important;padding-right:12px!important}}.homeroomHeadActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.homeroomAddBtn{min-width:118px}.homeroomAddStrip{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.1fr) minmax(280px,1.4fr) auto;gap:10px;align-items:end;margin:12px 0;padding:12px;border:1px solid #cfe5e3;border-radius:14px;background:#f5fbfa}.homeroomAddStrip>div{min-width:0}.homeroomAddStrip label{display:block;font-size:12px;font-weight:800;color:#496679;margin:0 0 5px}.homeroomAddStrip input,.homeroomAddStrip select{width:100%}.homeroomAddActions{display:flex;gap:8px;align-items:center;white-space:nowrap}.homeroomActionCell{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:330px}.homeroomDeleteBtn{border-color:#f1b5b5!important;color:#b42318!important;background:#fff7f7!important}.homeroomDeleteBtn:hover{background:#fdecec!important}@media(max-width:1200px){.homeroomAddStrip{grid-template-columns:1fr 1fr}.homeroomAddActions{grid-column:1/-1;justify-content:flex-end}.homeroomActionCell{min-width:280px}}@media(max-width:760px){.homeroomHeadActions{width:100%;justify-content:flex-start}.homeroomAddStrip{grid-template-columns:1fr}.homeroomAddActions{grid-column:auto;justify-content:stretch;flex-wrap:wrap}.homeroomAddActions button{flex:1 1 160px}.homeroomActionCell{min-width:240px}}.reportsPage .dashboardGrid{align-items:stretch}.reportsPage .reportScrollPanel{display:flex;flex-direction:column;min-height:0;height:clamp(430px,58dvh,700px);overflow:hidden}.reportsPage .reportScrollPanel>.panelHead{flex:0 0 auto;margin:0;padding:0 0 9px;background:#fff;position:relative;z-index:5}.reportsPage .reportScrollPanel>.tableWrap{flex:1 1 auto;min-height:0;overflow:auto;margin-top:0;overscroll-behavior:contain;scrollbar-gutter:stable}.reportsPage .reportScrollPanel>.tableWrap table{margin:0}.reportsPage .reportScrollPanel>.tableWrap thead th{position:sticky;top:0;z-index:4;background:#f5f9fb;box-shadow:0 1px 0 var(--line)}@media(min-width:821px){.scoreLayout{align-items:start}.scoreLayout>.classPanel{align-self:start;display:flex;flex-direction:column;height:min(720px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);min-height:360px;overflow:hidden;padding:11px 10px}.scoreLayout>.classPanel>.panelHead{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin:0 0 6px}.scoreLayout>.classPanel>.panelHead h3{margin:2px 0 0;font-size:18px;line-height:1.15;white-space:nowrap}.scoreLayout>.classPanel>.panelHead .pill{flex:0 0 auto;padding:5px 8px;white-space:nowrap}.scoreLayout>.classPanel>.classList{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}.scoreLayout>.classPanel .classItem{min-height:48px;margin:3px 0;padding:7px 9px;border-radius:11px;align-items:center;gap:8px;line-height:1.15}.scoreLayout>.classPanel .classItem>span{min-width:0}.scoreLayout>.classPanel .classItem span b{font-size:15px}.scoreLayout>.classPanel .classItem span small{margin-top:3px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreLayout>.classPanel .classItem strong{flex:0 0 auto;font-size:16px;line-height:1.05}.scoreLayout>.classPanel .classItem strong small{margin-top:3px;font-size:8px;white-space:nowrap}.scoreLayout>.classPanel .classList::-webkit-scrollbar{width:8px}.scoreLayout>.classPanel .classList::-webkit-scrollbar-thumb{background:#b8c6cc;border:2px solid #fff;border-radius:999px}.scoreLayout>.classPanel .classList::-webkit-scrollbar-track{background:transparent}}@media(min-width:821px)and (max-height:820px){.scoreLayout>.classPanel{height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);min-height:300px;padding:9px 8px}.scoreLayout>.classPanel>.panelHead{margin-bottom:4px}.scoreLayout>.classPanel>.panelHead h3{font-size:17px}.scoreLayout>.classPanel .classItem{min-height:42px;margin:2px 0;padding:5px 8px}.scoreLayout>.classPanel .classItem span b{font-size:14px}.scoreLayout>.classPanel .classItem span small,.scoreLayout>.classPanel .classItem strong small{font-size:8px}.scoreLayout>.classPanel .classItem strong{font-size:15px}}@media(min-width:821px)and (max-height:620px){.scoreLayout>.classPanel{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);min-height:260px;padding:7px}.scoreLayout>.classPanel>.panelHead{gap:5px}.scoreLayout>.classPanel>.panelHead h3{font-size:16px}.scoreLayout>.classPanel .mutedLine{margin-top:1px;line-height:1.1}.scoreLayout>.classPanel .classItem{min-height:38px;margin:2px 0;padding:4px 7px}.scoreLayout>.classPanel .classItem span b{font-size:13px}.scoreLayout>.classPanel .classItem strong{font-size:14px}}@media(max-width:1100px){.reportsPage .reportScrollPanel{height:clamp(400px,54dvh,620px)}}@media(max-width:760px){.reportsPage .reportScrollPanel{height:480px}}.navBackdrop,.sidebarClose{display:none}.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.classTools{display:grid;gap:7px;margin:0 0 7px}.classSearchField input{width:100%;padding:8px 10px;font-size:12px}.classStatusFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.classStatusFilters button{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:#526a7a;padding:6px 4px;font-size:10px;font-weight:800}.classStatusFilters button.active{border-color:var(--primary);background:#e9f8f6;color:var(--primary)}.mobileClassSelectWrap{display:none}.classListEmpty{padding:18px 8px;text-align:center;color:var(--muted);font-size:12px}.penaltyDisclosure{margin-top:18px}.penaltyDisclosure>summary{display:none}@media(max-width:820px){body.mobileNavLocked{overflow:hidden;touch-action:none}.appShell .navBackdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:#0719278f;opacity:0;pointer-events:none;transition:opacity .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.appShell.navOpen .navBackdrop{opacity:1;pointer-events:auto}.appShell .sidebar{left:0!important;width:min(88vw,340px);max-width:calc(100vw - 48px);height:100dvh;z-index:140;transform:translate(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s;box-shadow:18px 0 45px #00000047;overscroll-behavior:contain}.appShell.navOpen .sidebar{left:0!important;transform:translate(0);visibility:visible;transition:transform .22s ease}.sidebarClose{display:grid;margin-left:auto;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#ffffff1a;color:#fff;font-size:28px;line-height:1}.mobileBar{min-height:58px;padding-top:max(10px,env(safe-area-inset-top))}.mobileBar button,.mobileBar a{min-width:44px;min-height:44px;display:grid;place-items:center}.mobileBar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreLayout>.classPanel{position:static;max-height:none;min-height:0;padding:12px;overflow:visible}.scoreLayout>.classPanel>.panelHead{align-items:center;margin-bottom:8px}.classTools{margin-bottom:9px}.classSearchField input{min-height:44px;font-size:16px}.classStatusFilters button{min-height:40px;font-size:11px}.mobileClassSelectWrap{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#526a7a}.mobileClassSelect{width:100%;min-height:48px;font-size:16px;font-weight:800;color:var(--navy)}.scoreLayout>.classPanel>.classList{display:none!important}.stageTabs{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 1px 8px;margin:13px 0 9px;overscroll-behavior-inline:contain}.stageTabs button{flex:0 0 min(72vw,220px);min-height:58px;scroll-snap-align:start;padding:9px}.stageTabs button small{display:none}.stageTabs button.active small{display:block;max-width:160px}.penaltyDisclosure{border:1px solid #f0bd62;border-radius:14px;background:#fffaf2;overflow:hidden}.penaltyDisclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:11px 13px;color:var(--navy);font-weight:900;cursor:pointer}.penaltyDisclosure>summary small{color:var(--muted);font-size:10px;text-align:right;font-weight:700}.penaltyDisclosure>.penaltyProposalPanel{margin:0;border:0;border-top:1px solid #f2d69f;border-radius:0}.counter button,.miniBtn,.stageDoneBtn,.finalizeBtn,.warningBtn{min-height:44px}.counter button{width:44px;height:44px}.stickySave{bottom:max(8px,env(safe-area-inset-bottom));padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:30}.scorePanel{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}@media(max-width:600px){.scoreLayout{gap:10px}.scoreClassHead,.stageSummary{align-items:flex-start}.stageSummaryActions{align-items:flex-end}.workflowActions{display:flex;position:sticky;gap:10px}.workflowActions .scoreNow b{font-size:22px}.workflowActions .finalizeBtn{max-width:58vw;padding:10px 12px}}@media(max-width:430px){.filterGrid,.appFilters{grid-template-columns:1fr}.filterButton{width:100%}.pageHead{align-items:flex-start}.scoreBadge{flex:0 0 auto}.stageTabs button{flex-basis:78vw}.stickySave{margin-left:-5px;margin-right:-5px}}@media(prefers-reduced-motion:reduce){.appShell .sidebar,.appShell .navBackdrop{transition:none}}@media(max-width:820px){html,body,#root{min-height:100%;margin-top:0!important;padding-top:0!important}.appShell{display:block!important;min-height:100dvh!important}.appShell>.sidebar{position:fixed!important;inset:0 auto auto 0!important;margin:0!important}.appShell>.navBackdrop{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:0!important}.appShell>.appContent{position:relative!important;inset:auto!important;display:block!important;width:100%!important;min-height:100dvh!important;margin:0!important;padding:0!important;transform:none!important}.appShell .mobileBar{top:0!important;margin-top:0!important}}.publicShell{min-height:100dvh;display:flex;flex-direction:column}.publicMain{flex:1 0 auto;min-width:0}.publicFooter{flex:0 0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 18px;min-height:58px;padding:14px 22px;border-top:1px solid var(--line);background:#fff;color:#526a7a;font-size:13px;text-align:center}.publicFooter b{color:var(--navy)}.publicFooter a{color:var(--primary)}.sideInstall:empty{display:none}.sideMeta{margin-top:auto}.sideInstall:not(:empty)+.sideMeta{margin-top:0}.sidebar .navAdminToggle{width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:#ffffffc7;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;font-weight:800}.sidebar .navAdminToggle:hover,.sidebar .navAdminToggle.active{background:#ffffff21;color:#fff}.sidebar .navAdminToggle>b{font:inherit}.sidebar .navAdminToggle>small{text-align:right;font-size:15px}.sidebar .navAdminChildren{margin-top:4px}@media(max-width:600px){.publicFooter{align-items:flex-start;flex-direction:column;gap:3px;padding:12px 16px;font-size:12px;text-align:left}.sidebar .navAdminToggle{min-height:48px}}.publicOverview{align-self:stretch;height:100%;max-height:100%;overflow:auto}.publicUsefulLinks{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:9px}.publicUsefulLinksHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.publicUsefulLinksHead small{color:var(--muted);font-size:11px}.publicUsefulLink{min-height:72px;padding:12px;border:1px solid #dce8ed;border-radius:14px;background:linear-gradient(145deg,#fff,#f7fbfc);display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:11px;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.publicUsefulLink.hasImage{min-height:138px;padding:0;grid-template-columns:112px minmax(0,1fr) 26px;background:#fff}.publicUsefulLink>img{width:112px;height:100%;min-height:138px;object-fit:cover;background:#eef4f6}.publicUsefulLink:hover{transform:translateY(-1px);border-color:#8edbd2;box-shadow:0 8px 20px #0f766e1a}.publicUsefulLink>span:nth-child(2){min-width:0}.publicUsefulLink b,.publicUsefulLink small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publicUsefulLinkCopy{min-width:0}.publicUsefulLink.hasImage .publicUsefulLinkCopy{padding:12px 0}.publicUsefulLink p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0;color:#617787;font-size:11px;line-height:1.45}.publicUsefulLink b{color:var(--navy);font-size:14px}.publicUsefulLink small{color:var(--muted);font-size:11px;margin-top:2px}.publicUsefulLink>strong{color:var(--primary);font-size:17px;text-align:right}.linkTypeMark{width:42px;height:42px;border-radius:12px;background:#e8f7f5;color:var(--primary);display:grid;place-items:center;font-weight:900;font-size:17px}.linkTypeMark.facebook{background:#eaf1ff;color:#1877f2}.linkTypeMark.youtube{background:#fff0f0;color:#dc2626}.usefulLinksPage{max-width:1240px;margin:0 auto}.usefulLinkCreate{margin-bottom:16px}.usefulLinkForm{display:grid;grid-template-columns:1.1fr 1.7fr .8fr auto auto;gap:10px;align-items:end;margin-top:14px}.usefulLinkForm>label,.usefulLinkEditGrid>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:#526a7a}.usefulLinkDescription{grid-column:span 2}.usefulLinkDescription textarea{width:100%;resize:vertical}.usefulLinkImageUrl{grid-column:span 2}.switchField{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#526a7a;white-space:nowrap;min-height:42px}.switchField input{width:19px;height:19px}.usefulLinkAdminList{display:grid;gap:12px}.usefulLinkAdminCard{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px}.usefulLinkOrder{width:40px;height:40px;border-radius:12px;background:#edf8f7;color:var(--primary);display:grid;place-items:center;font-weight:900}.usefulLinkEditGrid{display:grid;grid-template-columns:1fr 1.6fr .7fr 80px;gap:10px}.usefulLinkEditGrid input,.usefulLinkEditGrid select{width:100%;min-width:0}.usefulLinkControls{display:grid;gap:4px;justify-items:start}.usefulLinkActions{display:flex;gap:6px}.usefulLinkActions .dangerBtn{padding:7px 9px;font-size:12px}@media(max-width:1100px){.publicOverview{height:auto;max-height:none;overflow:visible}.usefulLinkForm{grid-template-columns:1fr 1fr}.usefulLinkAdminCard{grid-template-columns:40px 1fr}.usefulLinkControls{grid-column:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.usefulLinkEditGrid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.publicUsefulLink{min-height:64px}.publicUsefulLink.hasImage{min-height:118px;grid-template-columns:92px minmax(0,1fr) 24px}.publicUsefulLink>img{width:92px;min-height:118px}.usefulLinkForm,.usefulLinkEditGrid{grid-template-columns:1fr}.usefulLinkDescription,.usefulLinkImageUrl{grid-column:auto}.usefulLinkAdminCard{grid-template-columns:1fr;padding:13px}.usefulLinkOrder{display:none}.usefulLinkControls{grid-column:1;display:grid;gap:6px}.usefulLinkActions{width:100%}.usefulLinkActions button,.usefulLinkControls>a{flex:1;width:100%}}.dutyQuickLink{margin-left:auto;padding:7px 11px;border-radius:10px;background:#fff;color:var(--primary);font-weight:800;white-space:nowrap}.rosterPanel{overflow:hidden}.rosterPanel .panelHead{align-items:end}.rosterSearch{width:min(360px,100%)}.rosterSearch input{width:100%}.rosterTableScroll{height:clamp(340px,calc(100dvh - 330px),650px);max-height:650px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.rosterTableScroll thead th{position:sticky;top:0;z-index:3;background:#f6fafb;box-shadow:0 1px 0 var(--line)}.classRosterPage tbody td:first-child{width:64px;text-align:center}.classRosterPage tbody td:nth-child(3){min-width:210px}.readonlyLinkList{display:grid;gap:12px}.readonlyLinkCard{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:14px}.readonlyLinkNo{width:42px;height:42px;border-radius:12px;background:#e8f7f5;color:var(--primary);display:grid;place-items:center;font-weight:900}.readonlyLinkCard>div{min-width:0}.readonlyLinkCard b,.readonlyLinkCard a{display:block}.readonlyLinkCard>div>a{margin-top:5px;color:#607789;overflow-wrap:anywhere;font-size:12px}.feedbackCreate{display:grid;gap:12px;margin-bottom:16px}.feedbackCreate>label{display:grid;gap:7px;font-weight:800}.feedbackCreate textarea,.feedbackManageForm textarea{width:100%;resize:vertical;line-height:1.55}.feedbackComposeFoot{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedbackComposeFoot small{color:var(--muted)}.feedbackFilters{margin-bottom:16px}.feedbackList{display:grid;gap:10px}.feedbackCard{padding:0;overflow:hidden}.feedbackMeta{display:flex;align-items:center;gap:9px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f8fbfc}.feedbackMeta small{margin-left:auto;color:var(--muted)}.feedbackZones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.feedbackZones>section{padding:9px 12px;min-width:0}.feedbackReportZone{background:#fff}.feedbackResponseZone{background:#f4faf9;border-left:2px solid #b9e3dd}.feedbackResponseZone.isCompact{display:block}.feedbackZoneHead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px}.feedbackZoneActions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.feedbackZoneActions button,.feedbackDeleteBtn{min-height:30px;padding:5px 8px;font-size:11px;line-height:1.1;white-space:nowrap}.feedbackZones p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.feedbackBodyText,.feedbackReadResponse p{margin:5px 0 0}.feedbackManageForm{display:grid;gap:8px;margin-top:7px}.feedbackManageForm label{display:grid;gap:4px;font-size:12px;font-weight:800;color:#526a7a}.feedbackReadResponse{margin-top:3px}.feedbackReadResponse small{display:block;margin-top:5px;color:var(--muted)}.feedbackManageSummary{display:block;margin-top:2px}.feedbackManageSummary.empty{display:flex;align-items:center;justify-content:center;min-height:38px}.feedbackOpenResponse{min-width:190px;padding:7px 12px}.feedbackEditActions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:2px}.feedbackEditActions button{min-width:150px}.feedback-new{background:#fff2c7;color:#775800}.feedback-in_progress{background:#dbeafe;color:#174ea6}.feedback-resolved{background:#dcfce7;color:#166534}.myClassRank td{background:#e9faf6!important;border-top:2px solid #5bc7b8;border-bottom:2px solid #5bc7b8}.myClassMark{display:block;margin-top:3px;color:var(--primary);font-weight:800;white-space:nowrap}@media(max-width:820px){.dutyQuickLink{width:100%;text-align:center;margin-left:0}.readonlyLinkCard{grid-template-columns:42px minmax(0,1fr)}.readonlyLinkCard>.primaryBtn{grid-column:1/-1;width:100%}.feedbackMeta{align-items:flex-start;flex-wrap:wrap}.feedbackMeta small{width:100%;margin-left:0}.feedbackZones{grid-template-columns:1fr}.feedbackResponseZone{border-left:0;border-top:3px solid #b9e3dd}.rosterPanel .panelHead{align-items:stretch;flex-direction:column}.rosterSearch{width:100%}.rosterTableScroll{height:clamp(320px,calc(100dvh - 350px),560px)}}@media(max-width:520px){.feedbackZones>section{padding:9px 10px}.feedbackComposeFoot{align-items:stretch;flex-direction:column}.feedbackComposeFoot button,.feedbackEditActions button{width:100%}.feedbackEditActions{display:grid}.feedbackZoneHead{align-items:flex-start}.feedbackZoneActions{justify-content:flex-end}.readonlyLinkCard{padding:13px}.feedbackManageForm button{width:100%}.rosterTableScroll{height:calc(100dvh - 340px);min-height:300px}}.resourceTabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}.resourceTabs button{border:0;background:transparent;padding:11px 16px;color:#647b8a;font-weight:900;border-bottom:3px solid transparent}.resourceTabs button.active{color:var(--navy);border-bottom-color:var(--primary)}.documentsPanel{min-width:0}.documentHead{align-items:center}.documentHead h1{font-size:24px;margin:0 0 4px}.documentHead p{font-size:12px}.documentFilters{padding:12px;display:grid;grid-template-columns:minmax(280px,2fr) minmax(180px,1fr) auto;gap:8px;margin-bottom:12px;border-radius:14px}.documentFilters input,.documentFilters select{width:100%;height:42px}.documentTableWrap{padding:0;overflow:auto;border-radius:14px}.documentTable{min-width:1080px;margin:0}.documentTable th{background:#1f7bcf;color:#fff;text-align:center;padding:8px 9px;font-size:10px;letter-spacing:0;border-right:1px solid rgba(255,255,255,.45)}.documentTable td{font-size:11px;padding:8px 9px;border-right:1px solid #d5e0e8;vertical-align:top}.documentTable tbody tr:nth-child(2n){background:#f2f7fb}.documentTable tbody tr:hover{background:#eaf5fd}.documentTable th:nth-child(1),.documentTable td:nth-child(1){width:52px;text-align:center}.documentTable th:nth-child(2){width:145px}.documentTable th:nth-child(4){width:125px}.documentTable th:nth-child(5),.documentTable th:nth-child(7){width:105px}.documentTable th:nth-child(8){width:95px}.documentTable td:nth-child(5),.documentTable td:nth-child(7){text-align:center;white-space:nowrap}.documentTable td strong,.documentTable td small,.documentTable td .documentTags{display:block}.documentTable td strong{color:#0c456d;line-height:1.35}.documentTable td small{color:#607789;margin-top:4px}.documentTags{font-size:9px;color:#3d6d85;margin-top:3px}.documentAccess{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.documentAccess a{display:inline-flex;border-radius:999px;background:#e8f8ee;color:#177444;padding:4px 7px;font-size:9px;font-weight:900}.documentAccess a+a{background:#e7f2fb;color:#1767a0}.documentDelete{border:0;background:#fff0f0;color:#b91c1c;border-radius:8px;width:26px;height:26px;font-weight:900}.documentModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;background:#08233585;display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.documentModalCard{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px #07203047}.documentModalHead{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.documentModalHead h2{margin:0;color:#0b4c73;font-size:18px}.documentModalHead button{border:0;background:transparent;color:#143d55;font-weight:900;font-size:22px}.documentForm{padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.documentForm label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:900;color:#243f4f}.documentForm input,.documentForm select,.documentForm textarea{width:100%;border-color:#bfd1df;border-radius:8px;padding:9px 10px}.documentForm textarea{resize:vertical}.documentTitle,.documentWide{grid-column:1/-1}.documentFile{padding:6px!important}.documentForm label>small{font-weight:600;color:var(--muted)}.documentModalActions{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 16px}.documentModalActions .primaryBtn{background:#0d628e}@media(max-width:760px){.resourceTabs button{flex:1;padding:10px 6px}.documentHead{align-items:stretch;flex-direction:column}.documentHead .primaryBtn{width:100%}.documentFilters{grid-template-columns:1fr}.documentFilters button{width:100%}.documentForm{grid-template-columns:1fr;padding:13px}.documentTitle,.documentWide{grid-column:auto}.documentModal{padding:8px}.documentModalCard{max-height:calc(100dvh - 16px)}.documentModalActions{position:sticky;bottom:0;background:#fff;padding:12px 13px;border-top:1px solid var(--line)}.documentModalActions button{flex:1}}.documentAccess{overflow-wrap:anywhere;flex-wrap:wrap}.documentAccess small{display:block;width:100%;font-size:11px}.documentDrive{margin-bottom:16px;overflow-wrap:anywhere}.documentDrive summary{cursor:pointer;font-weight:700}.documentDrive button{margin:4px}.documentsPage{max-width:1480px;margin:0 auto}.documentsPage .documentHead{margin-bottom:14px;padding:4px 2px}.documentsPage .documentHead h1{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.02em}.documentsPage .documentHead p{font-size:13px;max-width:680px}.documentAddBtn{min-height:42px;padding-inline:18px;white-space:nowrap}.documentsPage .documentDrive{margin:0 0 12px;border:1px solid #d7e4ec;border-radius:12px;background:#f8fbfd;overflow:hidden}.documentsPage .documentDrive summary{display:flex;align-items:center;gap:8px;padding:10px 13px;cursor:pointer;color:#23485e;font-size:12px;font-weight:800;list-style:none}.documentsPage .documentDrive summary::-webkit-details-marker{display:none}.documentsPage .documentDrive summary small{margin-left:auto;color:#708795;font-weight:600}.documentsPage .documentDrive>div{padding:0 13px 12px}.documentsPage .documentDrive p{font-size:12px;margin:5px 0}.driveDot{width:8px;height:8px;border-radius:50%;background:#e09b24;box-shadow:0 0 0 3px #fff1d2}.documentDrive.connected .driveDot{background:#1c9b5f;box-shadow:0 0 0 3px #dff6e9}.documentUploadNotice{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:9px 12px;border:1px solid #bde7ce;border-radius:12px;background:#effbf4;color:#16623d;font-size:12px}.documentUploadNotice>span{font-weight:800}.documentsPage .documentFilters{display:grid;grid-template-columns:minmax(280px,2.2fr) minmax(190px,1fr) auto auto;align-items:end;gap:9px;margin-bottom:12px;padding:12px;border-radius:12px}.documentsPage .documentFilters label{display:grid;gap:5px;color:#365262;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.documentsPage .documentFilters input,.documentsPage .documentFilters select{height:40px;border-radius:8px;font-size:12px}.documentsPage .documentFilters button{height:40px;white-space:nowrap}.documentsPage .documentTableWrap{padding:0;overflow:auto;border:1px solid #cedde7;border-radius:12px;box-shadow:0 6px 22px #19455f0f}.documentsPage .documentTable{width:100%;min-width:1100px;table-layout:fixed;margin:0;border-collapse:separate;border-spacing:0}.documentsPage .documentTable .colNumber{width:8%}.documentsPage .documentTable .colTitle{width:36%}.documentsPage .documentTable .colLevel{width:7%}.documentsPage .documentTable .colDate{width:6%}.documentsPage .documentTable .colAgency{width:10%}.documentsPage .documentTable .colFile{width:17%}.documentsPage .documentTable .colActions{width:7%}.documentsPage .documentTable th{position:sticky;top:0;z-index:1;height:42px;padding:7px 8px;background:#1672ba;color:#fff;border-right:1px solid rgba(255,255,255,.28);font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.025em;text-align:center}.documentsPage .documentTable th:first-child{border-radius:10px 0 0}.documentsPage .documentTable th:last-child{border-radius:0 10px 0 0}.documentsPage .documentTable td{height:auto;min-height:54px;padding:8px;border-right:1px solid #dce6ed;border-bottom:1px solid #dce6ed;color:#294454;font-size:11px;line-height:1.35;vertical-align:middle;overflow-wrap:anywhere}.documentsPage .documentTable tbody tr:nth-child(2n){background:#f5f9fc}.documentsPage .documentTable tbody tr:hover{background:#eaf5fc}.documentsPage .documentTable td:first-child,.documentsPage .documentTable td:nth-child(5),.documentsPage .documentTable td:nth-child(7){text-align:center}.documentsPage .documentTable td:nth-child(2) b{color:#1a4e6e}.documentsPage .documentTable td strong{display:-webkit-box;overflow:hidden;color:#0c456d;font-size:12px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.documentsPage .documentTable td small{display:-webkit-box;overflow:hidden;margin-top:3px;color:#718592;font-size:10px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.documentsPage .documentTags{display:block;overflow:hidden;margin-top:3px;color:#337091;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.documentLevel{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 7px;border:1px solid #cae0ee;border-radius:999px;background:#edf7fd;color:#145d89;font-size:9px;font-weight:900;text-align:center}.level-school{border-color:#cfe8d7;background:#effaf2;color:#247044}.level-city{border-color:#d8d4ee;background:#f4f1fb;color:#5d4a8a}.level-youth_team{border-color:#f0d5b6;background:#fff7ed;color:#9a5a17}.documentsPage .documentAccess{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.documentsPage .documentAccess a{display:inline-flex;max-width:100%;padding:4px 7px;border-radius:6px;background:#e7f6ee;color:#147047;font-size:9px;font-weight:900;text-decoration:none;overflow-wrap:anywhere}.documentsPage .documentAccess a~a{background:#eaf3fb;color:#17649a}.documentsPage .documentAccess .miniBtn{min-height:24px;padding:3px 6px;font-size:9px}.documentActions{display:flex;align-items:center;justify-content:center;gap:5px}.documentActions button{min-width:43px;min-height:29px;padding:4px 7px;font-size:9px}.documentActions .dangerBtn{border-radius:7px}.documentCards{display:none}.documentFileNote{padding:10px;border:1px dashed #bfd4e1;border-radius:9px;background:#f7fafc}.documentFileNote>b{color:#24495e;font-size:11px}.documentFileNote .documentAccess{justify-content:flex-start;margin-top:6px}.documentFileNote>small{display:block;margin-top:5px}.documentsPage .documentModalHead{align-items:flex-start}.documentsPage .documentModalHead .kicker{font-size:9px}.documentsPage .documentModalHead h2{margin-top:2px}.documentsPage .documentForm label>span{color:#c13b3b}.documentsPage .documentModalActions{padding-top:2px}@media(max-width:1050px){.documentsPage .documentTable .colTitle{width:34%}.documentsPage .documentTable .colFile{width:19%}}@media(max-width:760px){.documentsPage{padding-inline:0}.documentsPage .documentHead{align-items:stretch;gap:12px}.documentsPage .documentAddBtn{width:100%}.documentsPage .documentDrive summary small{display:none}.documentsPage .documentFilters{grid-template-columns:1fr 1fr}.documentsPage .documentFilters label:first-child{grid-column:1/-1}.documentsPage .documentFilters button{width:100%}.documentsPage .documentTableWrap{display:none}.documentCards{display:grid;gap:10px}.documentCard{padding:13px;border-radius:13px}.documentCard header{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px}.documentCard header>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#1672ba;color:#fff;font-size:11px;font-weight:900}.documentCard header>div{display:grid;gap:2px}.documentCard header b{color:#174c6d;font-size:11px}.documentCard header small{color:#718592;font-size:10px}.documentCard h3{margin:11px 0 9px;color:#123f5d;font-size:14px;line-height:1.4}.documentCard dl{display:grid;grid-template-columns:1fr 90px;gap:8px;margin:0;padding:9px 0;border-top:1px solid #e2ebf0;border-bottom:1px solid #e2ebf0}.documentCard dl div{min-width:0}.documentCard dt{color:#758b97;font-size:9px;font-weight:800;text-transform:uppercase}.documentCard dd{margin:3px 0 0;color:#2b495a;font-size:11px}.documentCard>p{margin:9px 0 0;color:#5d7380;font-size:11px}.documentCard footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.documentCard .documentAccess{justify-content:flex-start}.documentCard .documentActions{margin-left:auto}.documentsPage .documentModalCard{border-radius:14px}.documentsPage .documentForm{padding:13px}.documentsPage .documentModalActions{padding:11px 13px}}@media(max-width:440px){.documentsPage .documentFilters{grid-template-columns:1fr}.documentsPage .documentFilters label:first-child{grid-column:auto}.documentCard dl{grid-template-columns:1fr}.documentCard footer{align-items:flex-end;flex-direction:column}.documentCard .documentAccess,.documentCard .documentActions{width:100%}.documentCard .documentActions button{flex:1}}.reportsPage .reportPeriodNote.invalid{border-color:#efb7b2;background:#fff5f4;color:#a8322b}.documentsPage .documentTable .colIndex{width:3%}.documentsPage .documentTable .colNumber{width:9%}.documentsPage .documentTable .colTitle{width:42%}.documentsPage .documentTable .colLevel{width:8%}.documentsPage .documentTable .colDate{width:7%}.documentsPage .documentTable .colAgency,.documentsPage .documentTable .colFile{width:12%}.documentsPage .documentClickableRow{cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.documentsPage .documentTable tbody tr.documentClickableRow:hover{background:#e4f2fb}.documentsPage .documentTable tbody tr.documentClickableRow:focus{position:relative;z-index:2;outline:2px solid #0f7bbd;outline-offset:-2px;background:#edf7fd}.documentCard.documentClickableRow:focus{outline:2px solid #0f7bbd;outline-offset:2px}.documentIndicators{display:flex;align-items:center;justify-content:center;min-height:28px}.documentIndicators span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:26px;padding:3px 8px;border-radius:8px;background:#eef7fc;color:#155f8e;font-size:11px;font-weight:900}.documentOpenHint{color:#176792;font-size:10px;font-weight:800}.documentsPage .documentDetailCard{width:min(920px,100%)}.documentDetailBody{display:grid;gap:16px;padding:28px 22px 18px}.documentDetailBody>h3{margin:0;color:#101820;font-size:21px;line-height:1.4}.documentDetailMeta{margin:-4px 0 0;color:#71869a;font-size:13px;font-weight:700}.documentDateGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.documentDateGrid>div{display:grid;gap:5px;padding:13px 14px;border:1px solid #d7e4ec;border-radius:11px;background:#f8fbfd}.documentDateGrid b,.documentDetailBody section>b{color:#263f50;font-size:12px}.documentDateGrid span{color:#162b38;font-size:16px;font-weight:800}.documentDetailBody section>p{margin:6px 0 0;color:#4e6878;font-size:13px;line-height:1.55}.documentAttachments{display:grid;gap:10px;margin-top:2px}.documentAttachments h4{margin:0;color:#172f3e;font-size:16px}.documentAttachmentRow{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #d8e5ed;border-radius:10px;background:#f8fbfd}.documentAttachmentRow>.documentAccess{flex:1;justify-content:flex-start}.documentsPage .documentAttachmentRow .documentAccess a,.documentsPage .documentEditResource .documentAccess a{padding:7px 10px;font-size:13px;line-height:1.35}.documentAttachmentRow>a,.documentEditResource>a{overflow-wrap:anywhere;color:#075bd8;font-weight:700}.documentAttachmentRow .dangerBtn,.documentEditResource .dangerBtn{flex:0 0 auto;min-height:36px;padding:7px 12px;border-radius:9px}.documentNoAttachment{margin:0!important;padding:9px 11px;border:1px dashed #d8e4eb;border-radius:9px;color:#718592!important}.documentDetailActions{align-items:center;border-top:1px solid #e2eaf0;padding-top:14px!important}.documentDetailActions .dangerBtn,.documentModalActions .documentDeleteBtn{margin-right:auto}.documentEditResource{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px;border:1px solid #dbe6ec;border-radius:9px;background:#fff}.documentEditResource .documentAccess{justify-content:flex-start;margin:0}@media(max-width:1050px){.documentsPage .documentTable .colTitle{width:40%}.documentsPage .documentTable .colFile{width:14%}}@media(max-width:760px){.documentDetailBody{padding:20px 14px 14px}.documentDetailBody>h3{font-size:18px}.documentDateGrid{grid-template-columns:1fr 1fr}.documentAttachmentRow,.documentEditResource{align-items:stretch;flex-direction:column}.documentAttachmentRow .dangerBtn,.documentEditResource .dangerBtn{width:100%}.documentDetailActions{display:grid;grid-template-columns:1fr 1fr}.documentDetailActions .dangerBtn{margin:0;grid-column:1/-1;grid-row:2}.documentModalActions .documentDeleteBtn{margin:0;order:3;width:100%;flex-basis:100%}}@media(max-width:480px){.documentDateGrid{grid-template-columns:1fr}}.documentsPage .documentHeadActions{display:grid;min-width:174px;gap:8px;align-self:flex-start}.documentsPage .documentExportBtn{min-height:40px;padding-inline:16px;white-space:nowrap;background:#fff;color:#11669c;border-color:#9fc8df;font-weight:800}.documentsPage .documentExportBtn:hover:not(:disabled){background:#edf7fc;border-color:#5da5cb}@media(max-width:760px){.documentsPage .documentHeadActions,.documentsPage .documentExportBtn{width:100%}}.studentListHead{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.studentListHead h3{margin:2px 0;color:var(--navy);font-size:20px}.studentListHead p{margin:4px 0 0;color:var(--muted);font-size:13px}.studentListHead .primaryBtn{flex:0 0 auto}@media(max-width:700px){.studentListHead{align-items:stretch;flex-direction:column}.studentListHead .primaryBtn{width:100%}}
