.school-clock{color:#111827;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;width:370px;min-height:58px;display:block;position:absolute;top:50%;left:76px;overflow:hidden;transform:translateY(-50%)}.school-clock-style-toggle{z-index:4;color:#475569;width:21px;height:21px;font:inherit;cursor:pointer;background:#ffffffe6;border:1px solid #94a3b8;border-radius:999px;place-items:center;padding:0;font-size:12px;font-weight:950;line-height:1;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0f172a24}.school-clock-style-toggle:hover{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.school-clock-style-toggle:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.school-clock-period{box-sizing:border-box;padding-right:20px}.school-clock.school-clock-clean{background:#fff;border:2px solid #64748b;box-shadow:0 5px 18px #0f172a1a}.school-clock.school-clock-clean .school-clock-main{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}.school-clock.school-clock-clean .school-clock-time,.school-clock.school-clock-clean .school-clock-middle,.school-clock.school-clock-clean .school-clock-period{border-color:#e2e8f0}.school-clock.school-clock-clean .school-clock-flip-unit{box-shadow:none;color:#0f172a;text-shadow:none;background:0 0;border:0}.school-clock.school-clock-clean .school-clock-flip-unit:after{display:none}.school-clock.school-clock-clean .school-clock-date-unit{color:#334155;font-weight:850}.school-clock.school-clock-clean .school-clock-colon{color:#2563eb}.school-clock.school-clock-clean .school-clock-period .school-clock-current-chip{color:#1d4ed8;box-shadow:none;background:#eff6ff;border-color:#bfdbfe}.school-clock.school-clock-clean .school-clock-period strong{color:#0f172a}.school-clock.school-clock-clean .school-clock-period strong.moon{color:#64748b}.school-clock.school-clock-clean .school-clock-style-toggle{color:#64748b;box-shadow:none;background:#f8fafc;border-color:#dbe4ee}.school-clock-main,.school-clock-period{flex-direction:column;justify-content:center;align-items:center;display:flex}.school-clock-main{background:#f8fafc;flex-direction:row;gap:9px;min-height:58px;padding:4px 8px}.school-clock-time{perspective:360px;border-left:1px solid #cbd5e1;align-items:center;padding-left:10px;display:flex}.school-clock-time strong{letter-spacing:.03em;white-space:nowrap;font-size:23px;line-height:1}.school-clock-middle{border-left:1px solid #cbd5e1;align-self:stretch;place-items:center;min-width:58px;display:grid}.school-clock-date-flip{transform-origin:50%;transform-style:preserve-3d;align-items:center;animation:.347s cubic-bezier(.2,.75,.3,1) school-clock-flip-in;display:flex}.school-clock-flip{transform-origin:50%;transform-style:preserve-3d;justify-content:center;align-items:center;gap:3px;animation:.347s cubic-bezier(.2,.75,.3,1) school-clock-flip-in;display:flex}.school-clock-flip-unit{color:#f8fafc;letter-spacing:.04em;text-shadow:0 1px 1px #000;background:linear-gradient(#334155 0 50%,#1e293b 50% 100%);border:1px solid #0f172a;border-radius:5px;justify-content:center;align-items:center;width:37px;height:34px;font-size:24px;font-weight:900;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 2px 3px #0f172a38}.school-clock-flip-unit:after{content:"";background:#020617cc;height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 1px #ffffff14}.school-clock-date-unit{letter-spacing:0;white-space:nowrap;flex:0 0 150px;width:150px;padding:0 5px;font-size:24px}.school-clock-colon{color:#0f172a;font-size:24px;font-weight:900;animation:1s step-end infinite school-clock-colon-blink;display:inline-block}@keyframes school-clock-flip-in{0%{opacity:.2;transform:rotateX(-82deg)scaleY(.82)}55%{opacity:1;transform:rotateX(10deg)scaleY(1)}to{opacity:1;transform:rotateX(0)scaleY(1)}}@keyframes school-clock-colon-blink{0%,49%{opacity:1}50%,to{opacity:0}}.school-clock-staggered .school-clock-date-flip,.school-clock-staggered .school-clock-flip{animation:none}.school-clock-staggered .school-clock-character{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform, opacity;display:inline-block}.school-clock-staggering .school-clock-character{transform-origin:50%;transform-style:preserve-3d;animation:.32s linear 20ms both school-clock-stagger-step}.school-clock-staggering .school-clock-colon{animation:10ms 20ms both school-clock-colon-reveal,1s step-end .35s infinite school-clock-colon-blink}@keyframes school-clock-stagger-step{0%{opacity:0;filter:brightness(.72);transform:rotateX(-88deg)scaleY(.78)}16%{opacity:1;filter:brightness(1.12);transform:rotateX(0)scaleY(1)}18%{opacity:1;filter:brightness(.76);transform:rotateX(-88deg)scaleY(.8)}36%{opacity:1;filter:brightness(1.08);transform:rotateX(0)scaleY(1)}38%{opacity:1;filter:brightness(.8);transform:rotateX(-88deg)scaleY(.82)}57%{opacity:1;filter:brightness(1.06);transform:rotateX(0)scaleY(1)}59%{opacity:1;filter:brightness(.84);transform:rotateX(-88deg)scaleY(.84)}80%{opacity:1;filter:brightness(1.03);transform:rotateX(8deg)scaleY(1)}to{opacity:1;transform:rotateX(0)scaleY(1)}}@keyframes school-clock-colon-reveal{0%{opacity:0}to{opacity:1}}.school-clock-period{background:0 0;border-left:1px solid #cbd5e1;flex:auto;align-self:stretch;min-width:76px}.school-clock-period.weekend{background:0 0}.school-clock-period span{font-size:10px;font-weight:800}.school-clock-period .school-clock-current-chip{color:#be123c;background:#fff1f2;border:1px solid #fb7185;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:17px;padding:0 5px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 1px 2px #be123c1f}.school-clock-period strong{margin-top:1px;font-size:22px;line-height:1.05}.school-clock-period strong.lunch,.school-clock-period strong.break{font-size:17px}.school-clock-period strong.night{white-space:nowrap;font-size:15px}.school-clock-period strong.moon{color:#334155;margin:0;font-family:Georgia,serif;font-size:38px;font-weight:400;line-height:1}.school-clock-period strong.after-hours-message{color:#475569;white-space:nowrap;margin:0;font-size:14px;font-weight:900;line-height:1.15}.school-clock-period .weekend-message{text-shadow:none;filter:none;flex-direction:column;gap:3px;margin:0;font-size:14px;line-height:1.05;display:flex}.school-clock-period .weekend-message span{color:#475569;font-size:inherit;text-shadow:none;font-weight:900}@media (max-width:1180px){.school-clock{display:none}}@media (prefers-reduced-motion:reduce){.school-clock-staggering:not(.school-clock-force-motion) .school-clock-character{animation-duration:.01ms;animation-delay:0s}}.persistence-badge{color:#334155;white-space:nowrap;background:#f8fafc;border:1.5px solid #64748b;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:28px;padding:4px 9px;font-size:12px;font-weight:900;line-height:1.15;display:inline-flex}.persistence-badge i{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.persistence-badge.is-read{color:#475569;background:#f1f5f9;border-color:#64748b}.persistence-badge.is-instant{color:#065f46;background:#d1fae5;border-color:#047857}.persistence-badge.is-manual{color:#1e3a8a;background:#dbeafe;border-color:#1d4ed8}.persistence-badge.is-dirty{color:#9a3412;background:#ffedd5;border-color:#c2410c}@media (max-width:760px){.persistence-badge{min-height:26px;padding:3px 8px;font-size:11px}}.save-feedback{color:#334155;background:#f8fafc;border:2px solid #64748b;border-radius:11px;align-items:center;gap:8px;width:100%;margin:12px 0 0;padding:10px 12px;font-size:14px;font-weight:800;line-height:1.4;display:flex}.save-feedback strong{color:#fff;white-space:nowrap;background:currentColor;border-radius:999px;flex:none;padding:3px 8px;font-size:12px}.save-feedback span{overflow-wrap:anywhere;min-width:0}.save-feedback button{min-height:36px;color:inherit;font:inherit;background:#fff;border:2px solid;border-radius:8px;flex:none;margin-left:auto;padding:0 11px;font-size:12px;font-weight:950}.save-feedback.is-saving{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.save-feedback.is-success{color:#047857;background:#ecfdf5;border-color:#059669}.save-feedback.is-error{color:#b91c1c;background:#fff1f2;border-color:#dc2626}.save-feedback.is-info{color:#475569;background:#f8fafc;border-color:#64748b}@media (max-width:760px){.save-feedback{flex-wrap:wrap;align-items:flex-start;padding:9px 10px;font-size:13px}.save-feedback button{min-height:44px;margin-left:auto}}.account-name-with-chip .namta-point-chip{color:#80500c;white-space:nowrap;background:linear-gradient(115deg,#fff8ce,#ffedaa);border:2px solid #f4bc38;border-radius:999px;align-items:center;padding:8px 13px;font-size:15px;font-weight:900;line-height:1.3;display:inline-flex;box-shadow:0 3px 9px #b9821420}.namta-point-admin{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.namta-point-admin>strong{color:#94630d;white-space:nowrap}.namta-point-admin>button{color:#80500c;font:inherit;cursor:pointer;background:#fff4cb;border:1px solid #e5bb58;border-radius:9px;padding:6px 9px}.namta-point-overlay{z-index:1100;background:#14213d80;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.namta-point-dialog{box-sizing:border-box;color:#172554;text-align:left;background:#fff;border:2px solid #e5bb58;border-radius:20px;width:min(420px,100%);max-height:90dvh;padding:24px;overflow:auto}.namta-point-dialog h2{margin:0 0 12px;font-size:21px}.namta-point-dialog label{gap:6px;margin:12px 0;display:grid}.namta-point-dialog input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:10px}.namta-point-dialog footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.namta-point-dialog footer button{color:#80500c;font:inherit;background:#fff4cb;border:1px solid #e5bb58;border-radius:10px;padding:9px 12px}@media (max-width:620px){.account-name-with-chip .namta-point-chip{padding:6px 9px;font-size:12px}}@font-face{font-family:Pretendard;src:local(Pretendard Variable),local(Pretendard),url(./PretendardVariable-CJuje-Rk.woff2)format("woff2-variations");font-style:normal;font-weight:45 920;font-display:swap}:root{color:#111827;font-synthesis:none;background:#eef4ff;font-family:Pretendard,Malgun Gothic,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,select{font:inherit}button{color:inherit}button:not(:disabled),[role=button]:not([aria-disabled=true]){cursor:pointer!important}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed!important}@media (min-width:761px) and (pointer:fine){html[data-staff-cursor=starcraft] body,html[data-staff-cursor=starcraft] body *{cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cfilter%20id='glow'%20x='-40%25'%20y='-40%25'%20width='180%25'%20height='180%25'%3e%3cfeGaussianBlur%20stdDeviation='1.2'%20result='blur'/%3e%3cfeMerge%3e%3cfeMergeNode%20in='blur'/%3e%3cfeMergeNode%20in='SourceGraphic'/%3e%3c/feMerge%3e%3c/filter%3e%3c/defs%3e%3cpath%20d='M3%202%2011%2029l5-10%208%209%204-4-9-8%2010-5Z'%20fill='%23063d26'%20stroke='%237cff6b'%20stroke-width='2'%20stroke-linejoin='round'%20filter='url(%23glow)'/%3e%3cpath%20d='m8%208%205%2014m7-12%205-2m-5%207%205%204'%20fill='none'%20stroke='%23d9ffb3'%20stroke-width='1.4'%20stroke-linecap='round'/%3e%3c/svg%3e") 3 2,auto!important}html[data-staff-cursor=sky-sparkle] body,html[data-staff-cursor=sky-sparkle] body *{cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cpath%20d='M3%202%2011%2029l5-10%208%209%204-4-9-8%2010-5Z'%20fill='%23dbeafe'%20stroke='%231d4ed8'%20stroke-width='2'%20stroke-linejoin='round'/%3e%3cpath%20d='m24%202%201.4%203.6L29%207l-3.6%201.4L24%2012l-1.4-3.6L19%207l3.6-1.4Z'%20fill='%23fde047'%20stroke='%23b45309'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3c/svg%3e") 3 2,auto!important}html[data-staff-cursor=peach-blossom] body,html[data-staff-cursor=peach-blossom] body *{cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cpath%20d='M3%202%2011%2029l5-10%208%209%204-4-9-8%2010-5Z'%20fill='%23fff1f2'%20stroke='%23be185d'%20stroke-width='2'%20stroke-linejoin='round'/%3e%3cpath%20d='M24%203c1.8-2.2%204.4.8%202.7%202.5%202.7-.1%202.8%203.7.1%203.4%201.5%202.2-2%204-3.1%201.4-1.1%202.6-4.6.8-3.1-1.4-2.7.3-2.6-3.5.1-3.4-1.7-1.7.9-4Z'%20fill='%23f9a8d4'%20stroke='%239d174d'%20stroke-width='.8'/%3e%3ccircle%20cx='24'%20cy='7'%20r='1.3'%20fill='%23fef08a'/%3e%3c/svg%3e") 3 2,auto!important}}.web-home{background:radial-gradient(circle at 18% 12%,#bfdbfe94,#0000 34%),radial-gradient(circle at 86% 82%,#c7d2fe80,#0000 34%),linear-gradient(145deg,#eff6ff 0%,#f8fafc 50%,#eef2ff 100%);justify-content:center;place-items:center;min-height:100vh;padding:28px;display:grid}.web-home.has-announcement{grid-template-columns:minmax(0,920px);gap:0}.web-home-stage{flex-direction:column;justify-self:center;align-items:center;width:min(920px,100%);display:flex}.student-home-stage,.staff-home-stage{width:min(840px,100%)}.web-home-clock{justify-content:center;align-items:center;width:100%;height:102px;display:flex;position:relative}.web-home-clock .school-clock{flex:0 700px;width:min(700px,100%);min-height:78px;margin:0;display:block;position:relative;top:auto;left:auto;transform:none}.web-home-clock .school-clock-main{grid-template-columns:max-content max-content 82px minmax(180px,1fr);gap:0;min-height:78px;padding:0;display:grid}.web-home-clock .school-clock-date-flip{justify-content:stretch;width:100%;padding:0 30px}.web-home-clock .school-clock-date-flip.split-date-cards{justify-content:center;gap:4px}.web-home-clock .school-clock-date-unit{flex-basis:100%;width:100%;height:52px;padding:0;font-family:inherit;font-size:31px;font-weight:900}.web-home-clock .split-date-cards .school-clock-date-unit{border-radius:5px;flex:none;width:max-content;min-width:0;padding:0 1px;font-size:31px}.web-home-clock .school-clock-time{justify-content:center;height:100%;padding:0 30px}.web-home-clock .school-clock-time .school-clock-flip-unit{width:49px;height:52px;padding:0 1px;font-size:31px}.web-home-clock .school-clock-colon{font-size:30px}.web-home-clock .school-clock-period strong.current-period{white-space:nowrap;font-size:42px;line-height:1}.web-home-clock .school-clock-period strong .school-clock-character{font-size:inherit}.web-home-clock .school-clock-period strong.lunch,.web-home-clock .school-clock-period strong.break{font-size:32px}.web-home-clock .school-clock-period strong.night{font-size:30px}.web-home-clock .school-clock-period strong.after-hours-message{font-size:clamp(27px,2.2vw,32px)}.web-home-clock .school-clock-period strong.weekend-message{font-size:28px}.web-home-clock .school-clock-period .school-clock-current-chip{min-width:38px;height:22px;padding:0 7px;font-size:14px}.web-home-weather{flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1;display:flex}.web-home-weather-icon{filter:drop-shadow(0 2px 2px #0f172a2e);font-size:31px}.web-home-weather-temperature{color:#334155;white-space:nowrap;font-size:13px;font-weight:950;line-height:1}.web-home-weather-placeholder{width:1em;height:1em}.web-home-card{background:#fffffff7;border:2px solid #1e3a8a;border-radius:26px;grid-template-rows:1fr auto;grid-template-columns:270px minmax(0,1fr);align-items:center;gap:15px 44px;width:min(920px,100%);min-height:520px;padding:54px 58px 38px;display:grid;position:relative;box-shadow:0 28px 80px #1e3a8a2b}.web-home-card,.unified-login-card,.public-meal-page,.utility-hub-shell,.exam-timer-shell,.seating-randomizer-layout,.textbook-viewer-shell,.today-news-slide,.help-shell,.version-history-shell,.staff-portal-card,.student-home-stage .student-test-page{view-transition-name:portal-card}::view-transition-group(portal-card){animation-duration:.25s;animation-timing-function:cubic-bezier(.22,.78,.28,1)}::view-transition-old(root){animation:.135s ease-out both portal-screen-out}::view-transition-new(root){animation:.19s ease-out 55ms both portal-screen-in}::view-transition-old(portal-card){animation:.13s ease-out both portal-card-out}::view-transition-new(portal-card){animation:.185s ease-out 60ms both portal-card-in}@keyframes portal-screen-out{to{opacity:0;transform:translateY(-6px)}}@keyframes portal-screen-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-card-out{to{opacity:0}}@keyframes portal-card-in{0%{opacity:0}to{opacity:1}}.web-home-copyright{color:#64748b;letter-spacing:.12em;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-size:14px;font-weight:850;display:flex}.web-home-copyright i{background:#94a3b8;border-radius:999px;width:3px;height:3px}.web-home-copyright a{color:#475569;letter-spacing:0;background:#ffffffb8;border:1px solid #94a3b8;border-radius:999px;padding:1px 7px;font-size:13px;font-weight:900;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.web-home-copyright a:hover{color:#1e3a8a;background:#dbeafe;border-color:#2563eb;outline:none}.web-home-copyright a:focus-visible{color:#1e3a8a;background:#dbeafe;border-color:#2563eb;outline:none}.web-page-card-stack{flex-direction:column;align-items:center;width:100%;display:flex}.web-page-copyright{margin-top:10px}.web-app-frame{flex-direction:column;min-height:100dvh;display:flex}.web-app-frame>main{flex:auto;min-height:0}.web-global-copyright{color:#64748b;letter-spacing:.08em;white-space:nowrap;flex:none;justify-content:center;align-self:center;align-items:center;gap:10px;margin:4px auto 10px;font-size:11px;font-weight:850;line-height:1;display:flex}.web-global-copyright i{background:#94a3b8;border-radius:999px;width:3px;height:3px}body:has(.web-home-copyright) .web-global-copyright{display:none}body:has(.is-simulated-fullscreen) .web-global-copyright{display:none}@media (min-width:761px){.web-app-frame:has(>.web-staff-app-shell){height:100dvh;min-height:0;overflow:hidden}.web-app-frame>.web-staff-app-shell{flex:auto;height:auto}}.web-home-announcement{background:#fffffffa;border:2px solid #1e3a8a;border-radius:16px;flex-direction:column;width:100%;padding:15px;display:flex;box-shadow:0 18px 48px #1e3a8a40}.web-home-announcement-stack{z-index:100;flex-direction:column;gap:10px;display:flex;position:fixed}.web-home-announcement-stack.is-desktop{width:280px;top:50%;left:calc(50% + 478px);transform:translateY(-50%)}.web-home-announcement-stack .web-home-announcement{animation:.18s ease-out both web-announcement-arrive}@keyframes web-announcement-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.web-home-announcement>header{align-items:center;gap:8px;display:flex}.web-home-announcement>header span{color:#1e3a8a;background:#dbeafe;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:950}.web-home-announcement>header strong{color:#172554;overflow-wrap:anywhere;min-width:0;font-size:18px}.web-home-announcement>p{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:10px 0;font-weight:750;line-height:1.55}.web-home-announcement>small{color:#64748b;font-size:11px;font-weight:800;display:block}.web-home-announcement>footer{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.web-home-announcement>footer label{color:#475569;align-items:center;gap:6px;font-size:12px;font-weight:850;display:flex}.web-home-announcement>footer input{accent-color:#2563eb;width:17px;height:17px}.web-home-announcement>footer button{background:#dbeafe;border:2px solid #111827;border-radius:9px;min-height:34px;padding:0 14px;font-weight:950}.web-version{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:2px solid #1e3a8a;border-radius:999px;padding:5px 11px;font-size:14px;font-weight:900;position:absolute}.web-home-account-row{display:contents}.web-home-session{z-index:5;align-items:center;gap:6px;display:flex;position:absolute;top:18px;right:20px}.web-home-session button{color:#1e3a8a;white-space:nowrap;cursor:pointer;background:#eff6ff;border:2px solid #1e3a8a;border-radius:999px;min-height:34px;padding:5px 11px;font-size:14px;font-weight:900;line-height:1}.web-home-session-name{align-items:center;gap:6px;max-width:230px;display:inline-flex;overflow:hidden}.web-home-session-name>span:first-child{text-overflow:ellipsis;overflow:hidden}.account-name-with-chip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-name-with-chip>span:first-of-type{color:inherit!important;font-size:inherit!important}.student-guidance-self-count{color:#b91c1c;min-width:30px;height:30px;font:inherit;cursor:pointer;background:#fee2e2;border:2px solid #dc2626;border-radius:999px;place-items:center;padding:0 7px;font-size:13px;font-weight:950;line-height:1;display:inline-grid;box-shadow:0 3px 8px #b91c1c2e}.account-role-chip{white-space:nowrap;border:1px solid;border-radius:999px;place-items:center;min-height:25px;padding:0 9px;line-height:1;font-size:12px!important;font-weight:950!important;display:inline-grid!important}.account-role-chip.student-affairs{background:#fef3c7;color:#92400e!important}.account-role-chip.admin{background:#fee2e2;color:#991b1b!important}.account-role-chip.homeroom{background:#d1fae5;color:#065f46!important}.web-home-session-name:hover{color:#172554;background:#dbeafe}.web-home-session-name:focus-visible{color:#172554;background:#dbeafe}.web-home-session-logout{color:#b91c1c!important;background:#fee2e2!important;border-color:#b91c1c!important}.web-home-session-logout:hover{color:#fff!important;background:#dc2626!important}.web-home-session-logout:focus-visible{color:#fff!important;background:#dc2626!important}.web-version:hover{background:#dbeafe}.web-logo-spinner{width:234px;height:234px;box-shadow:none;cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;justify-self:center;padding:0}.web-logo-spinner.is-dragging{cursor:grabbing}.web-logo-spinner:focus-visible{outline-offset:5px;border-radius:50%;outline:3px solid #2563eb}.web-logo{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;width:100%;height:100%;display:block}.web-title{text-align:center;justify-self:stretch;min-width:0}.web-title p{color:#475569;white-space:nowrap;margin:0 0 12px;font-size:clamp(16px,2.2vw,26px);font-weight:900}.web-title-brand{display:inline-flex;position:relative}.web-title-brand .web-version{z-index:2;top:0;right:0;transform:translate(42%,-42%)}.web-title-install-button{cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.web-title-install-button:hover h1{transform:translateY(-2px);box-shadow:0 14px 30px #1e3a8a57}.web-title-install-button:focus-visible{outline-offset:5px;border-radius:22px;outline:3px solid #2563eb}.web-title h1{background:linear-gradient(135deg,#172554,#1e3a8a);border:3px solid #1e3a8a;border-radius:22px;margin:0;padding:12px 25px 16px;font-size:clamp(52px,8vw,82px);font-style:normal;line-height:1;display:inline-flex;box-shadow:0 10px 25px #1e3a8a47}.web-title-install-button h1{transition:transform .13s,box-shadow .13s}.web-title h1 span{color:#fff}.web-title h1 em{color:#fde047;font-style:normal}.web-install-dialog-backdrop{z-index:200;background:#0f172a7a;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.web-install-dialog{background:#fff;border:2px solid #1e3a8a;border-radius:20px;width:min(470px,100%);max-height:calc(100dvh - 36px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #0f172a4d}.web-install-dialog h2{color:#172554;margin:0 0 14px;font-size:24px}.web-install-dialog p{color:#334155;margin:9px 0;font-size:15px;font-weight:700;line-height:1.55}.web-home-announcement a{color:#1d4ed8;text-underline-offset:2px;font-weight:900;text-decoration:underline}.web-install-dialog .web-install-dialog-note{color:#475569;background:#f1f5f9;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:13px}.web-install-mobile-steps{color:#334155;margin:8px 0 0;padding-left:25px;font-size:16px;font-weight:700;line-height:1.65}.web-install-mobile-steps li+li{margin-top:6px}.web-install-dialog-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px;display:grid}.web-install-dialog-actions>.secondary:only-child{grid-column:1/-1}.web-install-dialog button{color:#172554;cursor:pointer;background:#dbeafe;border:2px solid #1e3a8a;border-radius:10px;padding:10px 14px;font-size:16px;font-weight:900}.web-install-dialog .web-install-dialog-primary{color:#fff;text-align:center;background:#1e3a8a;border:2px solid #1e3a8a;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-size:16px;font-weight:900;text-decoration:none;display:inline-flex}.web-install-dialog button.secondary{color:#475569;background:#fff}.web-login-entry-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1fr);align-items:center;gap:14px;width:97%;margin-inline-start:auto;margin-inline-end:auto;display:grid}.web-login-entry{--folder-border:#1e3a8a;--folder-tab-from:#93c5fd;--folder-tab-to:#60a5fa;border:2px solid var(--folder-border);text-align:left;isolation:isolate;border-radius:11px 19px 22px 22px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:138px;margin-top:14px;padding:10px 3px;transition:transform .16s,background .16s,box-shadow .16s,filter .16s;display:flex;position:relative;box-shadow:inset 0 2px #ffffff9e,inset 0 -9px 18px #0f172a14,0 12px 19px -9px #0f172a57}.web-login-entry:before{z-index:-1;border:2px solid var(--folder-border);background:linear-gradient(180deg, var(--folder-tab-from), var(--folder-tab-to));content:"";border-bottom:0;border-radius:12px 15px 0 0;width:45%;height:22px;position:absolute;top:-15px;left:-2px;box-shadow:inset 0 2px #ffffff8c}.web-login-entry.login{--folder-border:#1d4ed8;--folder-tab-from:#93c5fd;--folder-tab-to:#60a5fa;color:#172554;background:linear-gradient(#dbeafe 0%,#93c5fd 45%,#60a5fa 100%);min-height:138px}.web-login-entry.meal{--folder-border:#c2410c;--folder-tab-from:#fdba74;--folder-tab-to:#fb923c;color:#7c2d12;background:linear-gradient(#ffedd5 0%,#fdba74 45%,#fb923c 100%)}.web-login-entry.viewer{--folder-border:#6d28d9;--folder-tab-from:#c4b5fd;--folder-tab-to:#a78bfa;color:#4c1d95;background:linear-gradient(#ede9fe 0%,#c4b5fd 45%,#a78bfa 100%)}.web-login-entry.arcade{--folder-border:#047857;--folder-tab-from:#6ee7b7;--folder-tab-to:#34d399;color:#065f46;background:linear-gradient(#d1fae5 0%,#6ee7b7 45%,#34d399 100%)}.web-login-entry.meal,.web-login-entry.arcade{min-height:138px}.web-login-entry.login:hover{background:linear-gradient(#eff6ff 0%,#bfdbfe 40%,#60a5fa 100%)}.web-login-entry.meal:hover{background:linear-gradient(#fff7ed 0%,#fed7aa 40%,#fb923c 100%)}.web-login-entry.viewer:hover{background:linear-gradient(#faf5ff 0%,#ddd6fe 40%,#a78bfa 100%)}.web-login-entry.arcade:hover{background:linear-gradient(#ecfdf5 0%,#a7f3d0 40%,#34d399 100%)}.web-login-entry:hover{transform:translateY(-4px)scale(1.025);box-shadow:inset 0 2px #ffffffb8,inset 0 -9px 18px #0f172a0f,0 17px 24px -10px #0f172a66}.web-login-entry.viewer:hover,.web-login-entry.login:hover,.web-login-entry.meal:hover,.web-login-entry.arcade:hover{filter:saturate(1.08)brightness(1.03)}@media (prefers-reduced-motion:reduce){.web-login-entry{transition:none}}.web-login-entry:hover{z-index:40}.web-login-entry:focus-visible{z-index:40}.web-login-entry .portal-menu-icon{flex:none;width:34px;height:34px;position:static}.web-login-entry.viewer .portal-menu-icon{color:#6d28d9}.web-login-entry.login .portal-menu-icon{color:#1d4ed8}.web-login-entry.meal .portal-menu-icon{color:#c2410c}.web-login-entry.arcade .portal-menu-icon{color:#047857}@media (min-width:761px) and (max-width:1600px),(min-width:761px) and (max-height:800px){body:has(.web-home){overflow:hidden}.web-home{min-height:100dvh;padding:10px 18px}.web-home-stage{width:min(1150px,100%)}.web-home-clock{height:82px}.web-home-clock .school-clock{flex-basis:650px;min-height:68px}.web-home-clock .school-clock-main{min-height:68px}.web-home-card{grid-template-columns:218px minmax(0,1fr);gap:12px 32px;width:min(1150px,100%);min-height:450px;padding:42px 46px 27px}.web-logo-spinner{width:194px;height:194px}.web-title p{margin-bottom:9px;font-size:20px}.web-title h1{padding:10px 22px 13px;font-size:64px}.web-login-entry{gap:6px;min-height:112px;padding:10px 5px}.web-login-entry.meal,.web-login-entry.arcade,.web-login-entry.login{min-height:112px}.web-login-entry strong{font-size:22px}.web-login-entry small{font-size:12px}.web-home-copyright{margin-top:8px;font-size:11px}.web-home-copyright a{font-size:11px}.web-home-announcement-stack.is-desktop{width:min(250px,50vw - 428px);min-width:210px;left:auto;right:12px}}.web-login-entry.login .portal-menu-icon{width:38px;height:38px}.web-login-entry-copy{text-align:center;gap:4px;width:100%;min-width:0;padding:0;display:grid}.web-login-entry-copy strong{text-overflow:ellipsis;white-space:nowrap;background:#ffffffb8;border:2px solid;border-radius:999px;justify-self:center;max-width:100%;padding:5px 11px 6px;font-size:20px;font-weight:950;display:inline-flex;overflow:hidden;box-shadow:0 3px 8px #0f172a1f}.web-login-entry.login .web-login-entry-copy strong{font-size:22px}.web-login-entry[data-tooltip]:after,.staff-portal-grid button[data-tooltip]:after,.student-feature-grid button[data-tooltip]:after,.web-version[data-tooltip]:after{z-index:30;color:#fff;content:attr(data-tooltip);text-align:center;white-space:normal;opacity:0;pointer-events:none;background:#111827;border-radius:8px;width:max-content;max-width:260px;padding:7px 10px;font-size:12px;font-weight:800;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,5px)}.web-version[data-tooltip]:after{top:calc(100% + 8px);bottom:auto}.web-login-entry[data-tooltip]:after{top:calc(100% + 9px);bottom:auto}.web-login-entry[data-tooltip]:hover:after,.staff-portal-grid button[data-tooltip]:hover:after,.student-feature-grid button[data-tooltip]:hover:after,.web-version[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)}.web-login-entry[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.staff-portal-grid button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.student-feature-grid button[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.web-version[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.viewer-shell{background:#eef4ff;min-height:100vh;padding:18px}.viewer-header{background:#fff;border:2px solid #1e3a8a;border-radius:16px;align-items:center;gap:14px;max-width:1800px;margin:0 auto 12px;padding:10px 14px;display:flex;position:relative;box-shadow:0 7px 20px #1e3a8a1a}.brand-button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-button:-webkit-any(button){cursor:pointer}.brand-button:is(button){cursor:pointer}.brand-button:-webkit-any(button):hover{transform:translateY(-1px)}.brand-button:is(button):hover{transform:translateY(-1px)}.brand-button:-webkit-any(button):focus-visible{outline-offset:4px;border-radius:12px;outline:3px solid #2563eb}.brand-button:is(button):focus-visible{outline-offset:4px;border-radius:12px;outline:3px solid #2563eb}.brand-button img{object-fit:contain;width:58px;height:58px}.brand-button span{flex-direction:column;display:flex}.brand-button strong{color:#172554;font-size:26px;font-weight:950}.brand-button small{color:#64748b;font-size:13px;font-weight:800}.print-brand{display:none}.header-actions{gap:7px;margin-left:auto;display:flex}.header-actions button,.view-tabs button,.selector-bar button,.load-state button{background:#fff;border:2px solid #111827;border-radius:9px;font-weight:900;transition:transform .11s,background .11s,box-shadow .11s}.header-actions button:hover,.view-tabs button:hover,.selector-bar button:hover,.load-state button:hover{background:#dbeafe;transform:translateY(-1px);box-shadow:0 4px 10px #1e40af29}.header-actions button{padding:9px 13px}.view-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:1800px;margin:0 auto 10px;display:grid}.view-tabs button{padding:12px;font-size:17px}.view-tabs button.active{color:#172554;background:#bfdbfe}.view-tabs small{color:#64748b}.selector-bar{background:#fff;border:1px solid #94a3b8;border-radius:12px;align-items:center;gap:7px;max-width:1800px;margin:0 auto 10px;padding:9px;display:flex}.selector-bar button{background:var(--selector-color,#fff);min-width:90px;padding:8px 12px}.selector-bar button.active{outline-offset:-3px;outline:3px solid #2563eb}.teacher-selector label{font-weight:900}.teacher-selector select{background:#fff;border:2px solid #111827;border-radius:9px;min-width:210px;padding:9px 12px;font-weight:900}.class-selector{grid-template-columns:1fr;display:grid}.class-selector-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.class-selector button{width:100%;min-width:0;padding-top:7px;padding-bottom:7px}.whole-timetable-card,.single-timetable-card{background:#fff;border:2px solid #111827;border-radius:14px;max-width:1800px;margin:0 auto;padding:12px;box-shadow:0 8px 24px #0f172a14}.section-title-row{justify-content:center;align-items:center;gap:12px;margin-bottom:10px;display:flex}.section-title-row h2{margin:0;font-size:24px}.section-title-row span{color:#475569;background:#e2e8f0;border-radius:999px;padding:4px 9px;font-size:13px;font-weight:900}.middle-school-hours{color:#16a34a;margin-left:5px;font-style:normal;font-weight:950}.table-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto;border:2px solid #111827;border-radius:10px;overflow:auto}.viewer-shell table{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:100%}.viewer-shell th,.viewer-shell td{text-align:center;border-bottom:1px solid #111827;border-right:1px solid #111827;padding:0}.viewer-shell tr:last-child>*{border-bottom:0}.viewer-shell tr>:last-child{border-right:0}.viewer-shell thead th{z-index:3;background:var(--grade-color,#e2e8f0);height:42px;font-size:15px;font-weight:950;position:sticky;top:0}.viewer-shell thead tr>th{border-bottom:2px solid #111827!important}.viewer-shell tbody th{background:#f8fafc;font-size:16px;font-weight:950}.period-heading{border-right:2px solid #111827!important}.whole-timetable{min-width:0}.whole-timetable thead th:first-child{width:clamp(20px,3.2vw,48px)}.whole-timetable thead th:nth-child(2){width:clamp(22px,3.4vw,50px)}.whole-timetable thead th:nth-child(2),.single-timetable thead th:first-child{border-right:2px solid #111827!important}.whole-timetable tbody tr{height:66px}.whole-timetable tbody th:first-child{border-right-width:2px}.whole-timetable thead th,.whole-timetable tbody th{font-size:clamp(7px,1vw,15px)}.whole-timetable .lesson{padding:clamp(0px,.25vw,4px)}.whole-timetable .lesson strong{font-size:clamp(7px,1.05vw,15px)}.whole-timetable .lesson span{font-size:clamp(6px,.85vw,12px)}.single-timetable-card{width:100%}.single-timetable-card .table-scroll{overflow-x:auto}.single-timetable{min-width:0}.single-timetable thead th{font-size:clamp(11px,1.25vw,15px)}.single-timetable thead th:first-child{width:clamp(42px,7vw,72px)}.single-timetable tbody tr{height:86px}.class-timetable-card .single-timetable tbody tr{height:65px}.teacher-timetable-card .single-timetable tbody tr{height:61px}.lesson{background:var(--lesson-color);flex-direction:column;justify-content:center;align-items:center;gap:2px;height:100%;min-height:64px;padding:4px;display:flex}.single-timetable .lesson{min-height:84px;padding:clamp(1px,.4vw,4px)}.class-timetable-card .single-timetable .lesson{min-height:63px}.teacher-timetable-card .single-timetable .lesson{min-height:59px}.middle-school-cell{background:#dcfce7}.teacher-timetable-card .single-timetable .middle-school-lesson{color:#166534;background:#dcfce7}.lesson strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;font-weight:950;overflow:hidden}.lesson span{color:#475569;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:800;overflow:hidden}.single-timetable .lesson strong{font-size:clamp(11px,1.45vw,16px)}.single-timetable .lesson span{font-size:clamp(9px,1.1vw,13px)}.free-period{background:#e5e7eb}.empty-cell{background:#fff;min-height:62px;display:block}.single-timetable .empty-cell{min-height:84px}.class-timetable-card .single-timetable .empty-cell{min-height:63px}.teacher-timetable-card .single-timetable .empty-cell{min-height:59px}.viewer-shell footer{color:#64748b;text-align:center;max-width:1800px;margin:9px auto 0;font-size:12px;font-weight:700}.load-state{text-align:center;place-content:center;gap:10px;min-height:100vh;padding:30px;display:grid}.load-state button{justify-self:center;padding:9px 14px}.error-state h1{margin:0}.student-auth-shell{background:radial-gradient(circle at 18% 12%,#bfdbfe94,#0000 34%),radial-gradient(circle at 86% 82%,#c7d2fe80,#0000 34%),linear-gradient(145deg,#eff6ff 0%,#f8fafc 50%,#eef2ff 100%);place-items:start center;min-height:100vh;padding:10px 28px 28px;display:grid}.unified-login-screen{background:radial-gradient(circle at 18% 12%,#93c5fd9e,#0000 34%),radial-gradient(circle at 86% 82%,#bfdbfea8,#0000 34%),linear-gradient(145deg,#eff6ff 0%,#f8fbff 50%,#dbeafe 100%)}.student-home-shell,.portal-subpage-shell{place-items:center;padding:28px}.student-auth-card,.student-test-page{background:#fffffffa;border:2px solid #1e3a8a;border-radius:24px;width:min(520px,100%);padding:38px;position:relative;box-shadow:0 24px 70px #1e3a8a29}.student-auth-card{width:min(560px,100%);padding:26px 34px 32px}.unified-login-card{border-color:#1d4ed8;box-shadow:0 24px 70px #1d4ed833}.unified-login-card .student-auth-home{color:#1e3a8a;background:#eff6ff;border-color:#1d4ed8}.unified-login-card .student-auth-brand{border-bottom-color:#bfdbfe}.student-auth-card.staff-login-card{border-color:#15803d;box-shadow:0 24px 70px #15803d24}.student-auth-toolbar{justify-content:flex-end;margin-bottom:8px;display:flex}.student-auth-home{background:#fff;border:2px solid #111827;border-radius:10px;padding:7px 12px;font-weight:900;position:static}.student-auth-brand{border-bottom:1px solid #dbeafe;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:8px 0 20px;display:grid}.staff-login-card .student-auth-brand{border-bottom-color:#bbf7d0}.student-auth-logo{object-fit:contain;background:#fff;border:1px solid #dbeafe;border-radius:22px;width:108px;height:108px;margin:0;padding:6px;display:block}.student-auth-logo-button{border-radius:22px}.student-auth-logo-button img{background:#fff;border:1px solid #dbeafe;border-radius:22px;width:108px;height:108px;padding:6px}.student-auth-logo-button:hover{transform:rotate(4deg)scale(1.03)}.staff-login-card .student-auth-logo{border-color:#bbf7d0}.student-auth-title{text-align:left;min-width:0}.student-auth-title>span,.student-test-header span{color:#2563eb;font-size:14px;font-weight:950}.student-auth-title h1{color:#172554;margin:4px 0 6px;font-size:37px;font-weight:950}.student-auth-title p{color:#64748b;margin:0;font-size:14px;font-weight:750}.staff-login-card .student-auth-title>span{color:#15803d}.student-login-form{gap:8px;margin-top:20px;display:grid}.student-login-form label{margin-top:5px;font-size:15px;font-weight:900}.student-login-form input{color:#111827;width:100%;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:11px;padding:13px 14px;font-size:17px;font-weight:750}.student-login-form input:focus{border-color:#2563eb;outline:3px solid #2563eb29}.login-save-options{flex-wrap:wrap;gap:14px 22px;margin-top:2px;display:flex}.login-save-option{color:#334155;cursor:pointer;align-items:center;gap:7px;font-size:14px;font-weight:850;display:inline-flex}.login-save-option input{accent-color:#2563eb;cursor:pointer;width:17px;height:17px;margin:0}.login-save-help{color:#64748b;margin:0;font-size:12px;font-weight:700;line-height:1.45}.student-login-error{color:#dc2626;margin:3px 0 0;font-size:14px;font-weight:900}.student-login-submit{color:#172554;background:#dbeafe;border:2px solid #111827;border-radius:12px;margin-top:10px;padding:13px;font-size:18px;font-weight:950}.student-login-submit:disabled{cursor:wait;opacity:.68;transform:none}.password-reset-request-panel{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;gap:8px;margin-top:4px;padding:12px;display:grid}.password-reset-request-panel p{color:#78350f;margin:0;font-size:12px;font-weight:800;line-height:1.45}.password-reset-request-panel button{color:#78350f;min-height:43px;font:inherit;cursor:pointer;background:#fef3c7;border:2px solid #92400e;border-radius:10px;font-size:14px;font-weight:950}.password-reset-request-panel button:hover{background:#fde68a}.password-reset-request-panel button:disabled{cursor:default;opacity:.65}.password-reset-request-panel small{font-size:12px;font-weight:850;line-height:1.4}.password-reset-request-panel small.is-success{color:#166534}.password-reset-request-panel small.is-error{color:#b91c1c}.password-recovery-entry{justify-content:center;margin-top:2px;display:flex}.password-recovery-entry>button{color:#1d4ed8;font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:900;text-decoration:underline}.password-recovery-form{background:#eff6ff;border:2px solid #93c5fd;border-radius:13px;gap:8px;margin-top:3px;padding:13px;display:grid}.password-recovery-form p{color:#1e3a8a;margin:0 0 2px;font-size:12px;font-weight:800;line-height:1.5}.password-recovery-form label{margin-top:2px;font-size:13px}.password-recovery-form>button{color:#1e3a8a;min-height:43px;font:inherit;cursor:pointer;background:#dbeafe;border:2px solid #1d4ed8;border-radius:10px;margin-top:4px;font-weight:950}.password-recovery-form>button:disabled{cursor:wait;opacity:.65}.password-recovery-form small{font-size:12px;font-weight:850;line-height:1.45}.password-recovery-form small.is-success{color:#166534}.password-recovery-form small.is-error{color:#b91c1c}.admin-mfa-login-panel{background:#f5f3ff;border:2px solid #a78bfa;border-radius:13px;gap:8px;padding:13px;display:grid}.admin-mfa-login-panel>strong{color:#4c1d95;font-size:16px}.admin-mfa-login-panel>p{color:#5b21b6;margin:0;font-size:12px;font-weight:800}.admin-mfa-login-panel .admin-mfa-trust-option{align-items:center;gap:8px;margin:2px 0;font-size:13px;display:flex}.admin-mfa-login-panel .admin-mfa-trust-option input{width:18px;height:18px;margin:0}.admin-mfa-login-panel>div{gap:8px;display:flex}.admin-mfa-login-panel>div button{color:#4c1d95;min-height:42px;font:inherit;background:#ede9fe;border:2px solid #6d28d9;border-radius:10px;flex:1;font-weight:950}.staff-login-card .student-login-submit{color:#14532d;background:#dcfce7}.staff-login-card .student-login-form input:focus{border-color:#15803d;outline-color:#15803d29}.staff-login-card .student-login-submit:hover{background:#bbf7d0}.student-auth-home:hover,.student-login-submit:hover,.student-test-actions button:hover{background:#bfdbfe;transform:translateY(-1px);box-shadow:0 5px 13px #1e40af2e}.staff-portal-shell,.screen-loading{background:linear-gradient(145deg,#eff6ff 0%,#f8fafc 50%,#eef2ff 100%);min-height:100vh;display:grid}.staff-portal-shell{place-items:center;padding:28px}.screen-loading{color:#172554;place-items:center;padding:28px;font-size:25px;font-weight:950}.staff-portal-card{background:#fffffffa;border:2px solid #1e3a8a;border-radius:24px;width:min(840px,100%);padding:24px 38px 38px;position:relative;box-shadow:0 24px 70px #1e3a8a29}.staff-portal-card>header{border-bottom:2px solid #dbeafe;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding-bottom:24px;display:grid}.staff-portal-card>header .portal-session-actions{align-self:start;position:static}.portal-home-logo-button{box-sizing:border-box;cursor:pointer;background:0 0;border:0;flex:none;margin:0;padding:0;overflow:hidden}.portal-home-logo-button img{object-fit:contain;max-width:100%;max-height:100%;display:block}.portal-home-logo-button:focus-visible{outline-offset:4px;border-radius:50%;outline:3px solid #2563eb}.staff-portal-card>header .portal-home-logo-button{background:0 0;border:0;border-radius:50%;min-width:0;padding:0}.staff-portal-card>header .portal-home-logo-button:hover{background:0 0;transform:rotate(4deg)scale(1.03)}.staff-portal-card>header .portal-home-logo-button img{width:92px;height:92px}.staff-portal-card>header span{color:#2563eb;font-size:14px;font-weight:950}.staff-portal-card>header h1{color:#172554;margin:4px 0 6px;font-size:32px;font-weight:950}.staff-portal-card>header p{color:#64748b;margin:0;font-size:14px;font-weight:800}.staff-portal-actions{gap:8px;display:flex}.staff-portal-card>header button{background:#fff;border:2px solid #111827;border-radius:10px;min-width:92px;padding:10px 14px;font-weight:900}.staff-portal-card>header button:hover{background:#dbeafe;transform:translateY(-1px)}.staff-primary-workspace{display:block}.staff-student-search{background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:2px solid #a7f3d0;border-radius:16px;margin-top:18px;padding:15px;position:relative}.staff-student-search>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.staff-student-search>header div{align-items:baseline;gap:9px;display:flex}.staff-student-search>header span{color:#047857;letter-spacing:.08em;font-size:10px;font-weight:950}.staff-student-search>header h2{color:#064e3b;margin:0;font-size:19px;font-weight:950}.staff-student-search>header p{color:#64748b;margin:0;font-size:12px;font-weight:800}.staff-student-search-fields{grid-template-columns:.55fr .55fr 1.35fr 2fr;gap:9px;display:grid}.staff-student-search-fields label{color:#065f46;gap:5px;min-width:0;font-size:12px;font-weight:950;display:grid}.staff-student-search-fields select,.staff-student-search-fields input{box-sizing:border-box;color:#064e3b;width:100%;min-height:42px;font:inherit;background:#fff;border:2px solid #6ee7b7;border-radius:10px;padding:9px 12px;font-weight:850}.staff-student-search-fields :-webkit-any(select,input):focus{border-color:#059669;outline:3px solid #05966921}.staff-student-search-fields :is(select,input):focus{border-color:#059669;outline:3px solid #05966921}.staff-student-name-field{position:relative}.staff-student-search-results{z-index:15;background:#fff;border:2px solid #6ee7b7;border-radius:12px;max-height:300px;padding:7px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 15px 32px #065f4633}.staff-student-search-results button{color:#064e3b;text-align:left;cursor:pointer;background:#f0fdf4;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 11px;display:flex}.staff-student-search-results button+button{margin-top:5px}.staff-student-search-results button:hover{background:#d1fae5}.staff-student-search-results button:focus-visible{background:#d1fae5}.staff-student-search-results button strong{font-size:14px}.staff-student-search-results button span{color:#475569;font-size:12px;font-weight:800}.staff-student-search-results p,.staff-student-search-results small{color:#64748b;margin:7px;font-size:12px;font-weight:800;display:block}.staff-student-search-status{color:#64748b;margin:9px 1px 0;font-size:12px;font-weight:800}.staff-student-search-status.error{color:#b91c1c}.staff-student-selected{color:#065f46;gap:10px;margin-top:12px;display:grid}.staff-student-selected-identity{align-items:center;gap:9px;display:flex}.staff-student-selected-identity strong{font-size:15px}.staff-student-selected-identity span{color:#065f46;background:#d1fae5;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.staff-student-timetable-button{color:#1e3a8a;text-align:left;cursor:pointer;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:min(100%,680px);padding:11px 14px;display:flex}.staff-student-timetable-button:hover{background:#dbeafe;border-color:#1d4ed8;transform:translateY(-1px)}.staff-student-timetable-button:focus-visible{outline-offset:2px;outline:3px solid #2563eb33}.staff-student-timetable-button strong{font-size:14px;font-weight:950}.staff-student-timetable-button span{color:#475569;font-size:11px;font-weight:800}.staff-student-number-copy{background:#ffffffb8;border:1px dashed #34d399;border-radius:12px;width:min(100%,680px);padding:10px}.staff-student-number-copy>p{align-items:baseline;gap:8px;margin:0 0 8px;display:flex}.staff-student-number-copy>p strong{color:#065f46;font-size:13px;font-weight:950}.staff-student-number-copy>p span{color:#64748b;font-size:11px;font-weight:800}.staff-student-number-copy>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.staff-student-number-copy button{color:#064e3b;text-align:center;cursor:pointer;background:#fff;border:2px solid #34d399;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;padding:7px 4px;display:flex}.staff-student-number-copy button:hover{background:#ecfdf5;border-color:#059669;transform:translateY(-1px)}.staff-student-number-copy button:focus-visible{outline-offset:2px;outline:3px solid #05966938}.staff-student-number-copy button>span{color:#047857;font-size:10px;font-weight:900}.staff-student-number-copy button>strong{font-variant-numeric:tabular-nums;letter-spacing:.03em;overflow-wrap:anywhere;max-width:100%;font-size:15px;line-height:1.2}.staff-student-number-copy button:nth-child(3)>strong{letter-spacing:0;font-size:12px}.staff-student-number-copy button>small{color:#047857;white-space:nowrap;font-size:10px;font-weight:950}.staff-student-number-copy output{color:#047857;margin-top:7px;font-size:11px;font-weight:850;display:block}.staff-student-number-copy output.error{color:#b91c1c}.staff-management-menu{background:linear-gradient(135deg,#f8fbff,#eff6ff);border:2px solid #93c5fd;border-radius:16px;margin-top:18px;padding:14px}.staff-management-menu h2{color:#1e3a8a;margin:0;font-size:18px;font-weight:950}.staff-portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.staff-portal-grid.has-admin-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-portal-grid button{color:#172554;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 55%,#ecfeff 100%);border:2px solid #111827;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:100px;padding:10px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex;position:relative;box-shadow:0 6px 16px #2563eb14}.staff-portal-grid button:nth-child(2){background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 55%,#fdf2f8 100%)}.staff-portal-grid button:nth-child(3){background:linear-gradient(135deg,#fff1f2 0%,#ffe4e6 55%,#fdf2f8 100%)}.staff-portal-grid button:nth-child(4),.student-feature-grid button.utilities{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 55%,#fef3c7 100%)}.staff-portal-grid button:hover{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 55%,#cffafe 100%);border-color:#1d4ed8;box-shadow:0 10px 24px #2563eb24}.staff-portal-grid button:focus-visible{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 55%,#cffafe 100%);border-color:#1d4ed8;box-shadow:0 10px 24px #2563eb24}.staff-portal-grid button:nth-child(2):hover{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.staff-portal-grid button:nth-child(2):focus-visible{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.staff-portal-grid button:nth-child(3):hover{background:linear-gradient(135deg,#ffe4e6 0%,#fecdd3 55%,#fce7f3 100%)}.staff-portal-grid button:nth-child(3):focus-visible{background:linear-gradient(135deg,#ffe4e6 0%,#fecdd3 55%,#fce7f3 100%)}.staff-portal-grid button:nth-child(4):hover,.student-feature-grid button.utilities:hover{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 55%,#fde68a 100%)}.staff-portal-grid button:nth-child(4):focus-visible{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 55%,#fde68a 100%)}.student-feature-grid button.utilities:focus-visible{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 55%,#fde68a 100%)}.staff-portal-grid .portal-menu-icon{width:28px;height:28px}.staff-portal-grid strong{font-size:18px;font-weight:950}.staff-portal-grid small{color:#475569;text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:11px;font-weight:750;line-height:1.25}.teacher-today-dashboard{background:linear-gradient(135deg,#f8fbff,#eff6ff);border:2px solid #bfdbfe;border-radius:16px;margin-top:14px;padding:14px}.teacher-today-dashboard>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-today-dashboard>header span:not(.persistence-badge){color:#2563eb;font-size:12px;font-weight:950}.teacher-today-dashboard h2{color:#172554;margin:0;font-size:23px;font-weight:700;line-height:1.2}.teacher-home-timetable-scroll{margin-top:8px}.teacher-home-timetable{min-width:560px}.teacher-home-timetable thead th{height:34px}.teacher-home-timetable td{height:55px}.teacher-home-timetable-state{color:#64748b;text-align:center;background:#fff;border-radius:10px;margin:8px 0 0;padding:13px;font-weight:800}.teacher-home-timetable-state.is-error{color:#b91c1c}.teacher-today-lessons>p{color:#64748b;text-align:center;background:#fff;border-radius:10px;width:100%;margin:0;padding:13px;font-weight:800}.teacher-today-lessons>p.is-error{color:#b91c1c}.teacher-today-lessons>button{color:#172554;background:#fff;border:1.5px solid #93c5fd;border-radius:10px;align-content:center;gap:2px;width:100%;min-width:0;min-height:74px;padding:8px;display:grid;position:relative}.teacher-today-lessons>button.is-current{background:#fce7f3;border-color:#f472b6}.teacher-today-lessons>button.is-current:hover{background:#fbcfe8}.teacher-today-lessons>button.is-current:focus-visible{background:#fbcfe8}.teacher-current-lesson-check{color:#9d174d;background:#f9a8d4;border:1px solid #db2777;border-radius:999px;justify-content:center;align-items:center;width:19px;height:19px;font-size:13px;font-weight:950;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.teacher-today-lessons b{color:#2563eb;font-size:12px}.teacher-today-lessons strong{font-size:15px}.teacher-today-lessons span{color:#64748b;font-size:12px;font-weight:800}.teacher-work-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;display:grid}.teacher-work-summary>p{color:#64748b;text-align:center;background:#fff;border-radius:9px;grid-column:1/-1;margin:0;padding:9px 11px;font-size:12px;font-weight:800}.teacher-work-summary>p.is-unavailable{background:#f8fafc}.teacher-work-summary>button{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-height:43px;padding:8px 11px;display:flex}.teacher-work-summary>button span{font-size:12px;font-weight:900}.teacher-work-summary>button strong{white-space:nowrap;font-size:13px;font-weight:950}.teacher-work-summary>button.has-pending{color:#92400e;background:#fffbeb;border-color:#f59e0b}.teacher-work-summary>button.is-clear{color:#166534;background:#f0fdf4;border-color:#86efac}.teacher-today-lessons-heading{color:#172554;justify-content:flex-start;align-items:center;gap:8px;margin-top:0;display:flex}.teacher-today-lessons-heading strong{font-size:23px;font-weight:700;line-height:1.2}.teacher-today-date-chip,.teacher-today-weekday-chip{white-space:nowrap;background:#dbeafe;border:1.5px solid #93c5fd;border-radius:999px;align-items:center;min-height:24px;padding:1px 9px;line-height:1.2;display:inline-flex;color:#1e3a8a!important;font-size:17px!important;font-weight:700!important}.teacher-today-date-chip{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6!important}.teacher-today-work-heading{margin-top:14px}.teacher-today-dashboard>nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px;display:grid}.teacher-today-dashboard>nav button{color:#172554;background:#dbeafe;border:1.5px solid #1e40af;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:60px;padding:6px 9px;font-size:18px;font-weight:900;display:flex;position:relative}.teacher-today-dashboard>nav button>span{min-width:0}.teacher-today-dashboard>nav .portal-menu-icon{flex:none;width:20px;height:20px}.teacher-today-dashboard>nav .teacher-shortcut-attendance{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 55%,#fdf2f8 100%);border-color:#7c3aed}.teacher-today-dashboard>nav .teacher-shortcut-evaluation{background:linear-gradient(135deg,#fff1f2 0%,#ffe4e6 55%,#fdf2f8 100%);border-color:#e11d48}.teacher-today-dashboard>nav .teacher-training-shortcut{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 55%,#ecfeff 100%);border-color:#059669}.teacher-today-dashboard>nav .teacher-homeroom-shortcut{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 55%,#ecfeff 100%);border-color:#0284c7}.teacher-today-dashboard>nav .teacher-shortcut-attendance:hover{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.teacher-today-dashboard>nav .teacher-shortcut-attendance:focus-visible{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.teacher-today-dashboard>nav .teacher-shortcut-evaluation:hover{background:linear-gradient(135deg,#ffe4e6 0%,#fecdd3 55%,#fce7f3 100%)}.teacher-today-dashboard>nav .teacher-shortcut-evaluation:focus-visible{background:linear-gradient(135deg,#ffe4e6 0%,#fecdd3 55%,#fce7f3 100%)}.teacher-today-dashboard>nav .teacher-training-shortcut:hover{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 55%,#cffafe 100%)}.teacher-today-dashboard>nav .teacher-training-shortcut:focus-visible{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 55%,#cffafe 100%)}.teacher-today-dashboard>nav .teacher-homeroom-shortcut:hover{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 55%,#cffafe 100%)}.teacher-today-dashboard>nav .teacher-homeroom-shortcut:focus-visible{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 55%,#cffafe 100%)}.teacher-shortcut-timetable .portal-menu-icon{color:#2563eb}.teacher-shortcut-attendance .portal-menu-icon{color:#7c3aed}.teacher-shortcut-evaluation .portal-menu-icon{color:#e11d48}.teacher-training-shortcut .portal-menu-icon{color:#059669}.teacher-homeroom-shortcut .portal-menu-icon{color:#0284c7}.teacher-training-credit{box-sizing:border-box;color:#047857;letter-spacing:.04em;background:#ffffffe0;border:1px solid #6ee7b7;border-radius:999px;justify-content:center;align-items:center;min-width:27px;height:17px;padding:0 5px;font-size:9px;font-weight:950;line-height:1;display:inline-flex;position:absolute;top:5px;right:6px}.teacher-evaluation-badge{box-sizing:border-box;color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:11px;font-weight:950;line-height:1;display:grid;position:absolute;top:-8px;right:-6px;box-shadow:0 3px 8px #b91c1c47}.teacher-personal-title-actions{justify-content:flex-end;gap:6px;display:flex}.portal-menu-icon{color:#1e3a8a;fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:36px;height:36px}.staff-portal-grid button:nth-child(2) .portal-menu-icon,.student-feature-grid button.subject-enrollment .portal-menu-icon{color:#7c3aed}.staff-portal-grid button:nth-child(3) .portal-menu-icon{color:#e11d48}.staff-portal-grid button:nth-child(4) .portal-menu-icon,.student-feature-grid button.utilities .portal-menu-icon{color:#c2410c}.portal-cursor-name-chip{z-index:10000;color:#134e4a;opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;will-change:left, top, opacity, transform;background:#ccfbf1f5;border:1px solid #0f766e;border-radius:999px;align-items:center;gap:5px;max-width:150px;padding:3px 8px 3px 5px;font-size:11px;font-weight:900;line-height:1;transition:opacity 70ms,transform 70ms;display:inline-flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(13px,12px)scale(.94);box-shadow:0 3px 10px #0f766e38}.portal-cursor-name-chip.is-visible{opacity:1;transform:translate(13px,12px)scale(1)}.portal-cursor-name-chip i{background:#14b8a6;border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 2px #fff}.portal-cursor-name-chip span{text-overflow:ellipsis;min-width:0;overflow:hidden}.portal-session-logout{z-index:4;color:#b91c1c;background:#fee2e2;border:2px solid #b91c1c;border-radius:10px;min-width:82px;padding:7px 12px;font-weight:950;position:absolute;top:18px;right:20px}.portal-session-logout:hover{color:#fff;background:#dc2626;transform:translateY(-1px)}.portal-session-logout:focus-visible{color:#fff;background:#dc2626;transform:translateY(-1px)}.staff-portal-card>header .portal-session-logout:hover{color:#fff;background:#dc2626;border-color:#991b1b}.staff-portal-card>header .portal-session-logout:focus-visible{color:#fff;background:#dc2626;border-color:#991b1b}.portal-session-actions{z-index:4;justify-content:flex-end;align-items:center;gap:7px;display:flex;position:absolute;top:18px;right:20px}.portal-session-actions .portal-session-logout{position:static}.session-expiry-notice{z-index:10050;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));color:#78350f;background:#fffbeb;border:2px solid #d97706;border-radius:14px;align-items:center;gap:14px;max-width:min(460px,100vw - 32px);padding:13px 14px;display:flex;position:fixed;box-shadow:0 16px 40px #78350f33}.session-expiry-notice>div{gap:2px;min-width:0;display:grid}.session-expiry-notice strong{font-size:15px;font-weight:950}.session-expiry-notice span{font-size:12px;font-weight:750;line-height:1.35}.session-expiry-notice button{color:#451a03;background:#f59e0b;border:2px solid #92400e;border-radius:9px;flex:none;padding:9px 12px;font-weight:950}.session-expiry-notice button:disabled{cursor:wait;opacity:.65}.draft-recovery-note{color:#475569;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;margin:0 0 10px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.4}@media (min-width:761px){.portal-session-actions.admin-actions{grid-template-columns:repeat(4,116px);justify-content:end;align-items:stretch;display:grid}.portal-session-actions.teacher-actions{grid-template-columns:repeat(2,116px);justify-content:end;align-items:stretch;display:grid}.staff-portal-card>header .portal-session-actions button{box-sizing:border-box;width:116px;min-width:116px}.staff-portal-card>header .portal-session-cursor{height:42px;min-height:42px;padding:5px}}@media (max-width:760px){.portal-session-cursor{display:none!important}.staff-portal-card>header .portal-session-actions.admin-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.staff-portal-card>header .portal-session-actions.admin-actions button{width:100%;min-width:0}.teacher-today-dashboard>header{align-items:flex-start}.teacher-today-dashboard{min-width:0;padding:10px;overflow:hidden}.teacher-home-timetable-scroll{width:100%;overflow:hidden}.teacher-home-timetable{width:100%;min-width:0}.teacher-home-timetable td{height:clamp(40px,11vw,46px)}.teacher-today-lessons>p{box-sizing:border-box;grid-column:1/-1}.teacher-today-lessons>button{gap:1px;min-width:0;min-height:62px;padding:5px 3px;overflow:hidden}.teacher-today-lessons b{font-size:10px}.teacher-today-lessons strong{overflow-wrap:anywhere;max-width:100%;font-size:12px;line-height:1.15}.teacher-today-lessons span{overflow-wrap:anywhere;max-width:100%;font-size:10px;line-height:1.15}.teacher-today-dashboard>nav{grid-template-columns:1fr}.teacher-personal-title-actions{flex-wrap:wrap}.staff-student-search{padding:13px}.staff-student-search>header{flex-direction:column;align-items:flex-start;gap:3px}.staff-student-search>header p{font-size:11px}.staff-student-search-fields{grid-template-columns:.55fr .55fr 1.35fr;gap:7px}.staff-student-name-field{grid-column:1/-1}.staff-student-search-fields select,.staff-student-search-fields input{min-height:44px;padding:8px 7px}.staff-student-search-results{max-height:240px}.staff-student-search-results button{flex-direction:column;align-items:flex-start;gap:2px}.staff-student-timetable-button{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:3px;width:100%}.staff-student-number-copy{box-sizing:border-box;width:100%}.staff-student-number-copy>p{flex-direction:column;align-items:flex-start;gap:2px}.staff-student-number-copy>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.session-expiry-notice{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.session-expiry-notice button{width:100%}}.portal-session-change-password{color:#1e3a8a;background:#dbeafe;border:2px solid #1d4ed8;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-orders{color:#92400e;white-space:nowrap;background:#fef3c7;border:2px solid #b45309;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-main-home{color:#172554;white-space:nowrap;background:#f1f5f9;border:2px solid #334155;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-main-home:hover{background:#cbd5e1;transform:translateY(-1px)}.portal-session-main-home:focus-visible{background:#cbd5e1;transform:translateY(-1px)}.namtalk-launch-wrap{display:contents;position:relative}.web-home-primary-actions{z-index:5;align-items:center;gap:7px;display:flex;position:absolute;top:18px;left:20px}.portal-session-namtalk{color:#36513e;white-space:nowrap;background:#edf4ee;border:2px solid #5f7f68;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-weight:950;display:inline-flex}.portal-session-namtalk-mark{border-radius:6px;flex:0 0 20px;width:20px;height:20px}.portal-session-namtalk:hover{background:#d7e7da;transform:translateY(-1px)}.portal-session-namtalk:focus-visible{background:#d7e7da;transform:translateY(-1px)}.portal-session-namtalk:disabled{cursor:wait;opacity:.7;transform:none}.portal-session-namtalk.web-home-namtalk{color:#172554;background:#eff6ff;border-color:#1e3a8a;min-height:34px;padding:5px 11px;position:static;box-shadow:0 3px 9px #1e3a8a1f}.web-home-desk-mode{color:#155e75;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:#ecfeff;border:2px solid #0e7490;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:5px 11px;font-weight:950;display:inline-flex;box-shadow:0 3px 9px #0e74901f}.web-home-desk-mode:hover{background:#cffafe;transform:translateY(-1px)}.web-home-desk-mode:focus-visible{background:#cffafe;transform:translateY(-1px)}.portal-session-namtalk.web-home-namtalk:hover{background:#dbeafe}.portal-session-namtalk.web-home-namtalk:focus-visible{background:#dbeafe}.namtalk-launch-error{z-index:10060;color:#991b1b;background:#fef2f2;border:1px solid #b91c1c;border-radius:10px;max-width:min(360px,100vw - 32px);padding:10px 12px;font-size:12px;font-weight:850;position:fixed;bottom:16px;right:16px}.portal-session-meetings{color:#115e59;white-space:nowrap;background:#ccfbf1;border:2px solid #0f766e;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-meetings:hover{background:#99f6e4;transform:translateY(-1px)}.portal-session-meetings:focus-visible{background:#99f6e4;transform:translateY(-1px)}.portal-session-announcements{color:#92400e;background:#fef3c7;border:2px solid #b45309;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-orders-management{position:relative}.portal-session-order-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:11px;font-weight:950;line-height:1;display:inline-grid;position:absolute;top:-9px;right:-9px;box-shadow:0 2px 6px #7f1d1d4d}.portal-session-textbooks{color:#14532d;background:#dcfce7;border:2px solid #15803d;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-site-management{color:#075985;white-space:nowrap;background:#e0f2fe;border:2px solid #0369a1;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-site-management:hover{background:#bae6fd;transform:translateY(-1px)}.portal-session-site-management:focus-visible{background:#bae6fd;transform:translateY(-1px)}.portal-session-student-record{color:#183b63;white-space:nowrap;background:#e8f0f8;border:2px solid #1e4e78;border-radius:10px;padding:7px 11px;font-weight:950}.portal-session-student-record:hover{background:#cfe2f3;transform:translateY(-1px)}.portal-session-student-record:focus-visible{background:#cfe2f3;transform:translateY(-1px)}.student-record-standalone-shell{background:linear-gradient(145deg,#edf4fa 0%,#f8fafc 48%,#eef7f6 100%);min-height:100vh;padding:clamp(12px,2vw,28px)}.personal-notification-management-shell{background:linear-gradient(145deg,#fff1f2,#fdf2f8 50%,#eff6ff);min-height:100vh;padding:28px}.personal-notification-management-card{box-sizing:border-box;background:#fffffff7;border:3px solid #be185d;border-radius:24px;width:min(900px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #be185d1f}.personal-notification-management-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.personal-notification-management-card>header span{color:#be185d;font-weight:950}.personal-notification-management-card>header h1{color:#831843;margin:3px 0;font-size:32px}.personal-notification-management-card>header p{color:#64748b;margin:0;font-weight:800}.personal-notification-management-card>header button{color:#9d174d;min-height:42px;font:inherit;background:#fce7f3;border:2px solid #be185d;border-radius:10px;padding:0 14px;font-weight:950}.personal-notification-management-notice{color:#9d174d;background:#fdf2f8;border:1px solid #f9a8d4;border-radius:12px;margin:22px 0 18px;padding:12px 14px;font-size:14px;font-weight:800;line-height:1.5}.personal-notification-form{grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:14px;display:grid}.personal-notification-form label{color:#334155;gap:6px;min-width:0;font-weight:900;display:grid}.personal-notification-form input,.personal-notification-form select,.personal-notification-form textarea{box-sizing:border-box;color:#172554;width:100%;font:inherit;background:#fff;border:2px solid #cbd5e1;border-radius:10px;padding:10px 11px;font-size:15px;font-weight:700}.personal-notification-form textarea{resize:vertical;line-height:1.55}.personal-notification-target-type{align-content:start;place-self:start;width:min(150px,100%);height:-moz-fit-content;height:fit-content}.personal-notification-target-type select{min-width:0}.personal-notification-form input:focus,.personal-notification-form select:focus,.personal-notification-form textarea:focus{border-color:#ec4899;outline:3px solid #ec48992e}.personal-notification-student-selects{grid-template-columns:1.05fr .75fr 1.35fr;gap:7px;min-width:0;display:grid}.personal-notification-student-selects select{min-width:0}.personal-notification-class-selects{grid-template-columns:1fr 1fr;gap:7px;min-width:0;display:grid}.personal-notification-class-selects select{min-width:0}.personal-notification-student-picker{grid-template-columns:minmax(120px,1.25fr) minmax(0,2fr);align-items:start;gap:7px;min-width:0;display:grid}.personal-notification-student-search{gap:6px;min-width:0;display:grid}.personal-notification-student-search-results{background:#fff7fb;border:1px solid #f9a8d4;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:170px;padding:6px;display:grid;overflow-y:auto}.personal-notification-student-search-results button{color:#831843;min-width:0;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #f9a8d4;border-radius:8px;padding:5px 7px;font-size:12px;font-weight:850}.personal-notification-student-search-results button:hover,.personal-notification-student-search-results button.selected{background:#fce7f3;border-color:#be185d}.personal-notification-student-search-results button:focus-visible{background:#fce7f3;border-color:#be185d}.personal-notification-student-search-results small{color:#64748b;text-align:center;grid-column:1/-1;padding:7px}.personal-notification-teacher-picker{background:#fff7fb;border:2px solid #f9a8d4;border-radius:12px;min-width:0;margin:0;padding:12px 14px 14px}.personal-notification-teacher-picker legend{color:#831843;padding:0 7px;font-weight:950}.personal-notification-teacher-picker p{color:#64748b;margin:4px 0;font-weight:800}.personal-notification-teacher-grid{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:5px;display:grid}.personal-notification-teacher-grid button{color:#831843;min-width:0;min-height:38px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:2px solid #f9a8d4;border-radius:9px;padding:5px 2px;font-size:13px;font-weight:900}.personal-notification-teacher-grid button:hover{background:#fce7f3;border-color:#db2777}.personal-notification-teacher-grid button:focus-visible{background:#fce7f3;border-color:#db2777}.personal-notification-teacher-grid button.selected{color:#fff;background:#be185d;border-color:#9d174d;box-shadow:0 0 0 3px #be185d26}.personal-notification-form-wide{grid-column:1/-1}.personal-notification-all-target{color:#9d174d;background:#fff7fb;border:2px dashed #f9a8d4;border-radius:10px;grid-column:1/-1;padding:12px 14px;font-weight:850}.personal-notification-form-actions{justify-content:flex-end;gap:9px;padding-top:2px;display:flex}.personal-notification-form-actions button{color:#831843;min-height:44px;font:inherit;background:#fbcfe8;border:2px solid #9d174d;border-radius:10px;padding:0 16px;font-weight:950}.personal-notification-form-actions button:disabled{cursor:not-allowed;opacity:.48}.personal-notification-form-actions button.secondary{color:#475569;background:#f8fafc;border-color:#94a3b8}.personal-notification-management-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-weight:850}.personal-notification-management-success{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-weight:850}.personal-notification-history{border-top:1px solid #dbe3f0;margin-top:24px;padding-top:18px}.personal-notification-history header{justify-content:space-between;align-items:center;gap:12px;display:flex}.personal-notification-history h2{color:#172554;margin:0;font-size:20px}.personal-notification-history ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.personal-notification-history li{background:#f6f8fc;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.personal-notification-history li>div{gap:3px;min-width:0;display:grid}.personal-notification-history li.is-cancelled{opacity:.72;background:#f1f5f9}.personal-notification-recall{color:#be123c;min-height:32px;font:inherit;background:#fff1f2;border:1px solid #be123c;border-radius:8px;flex:none;padding:0 10px;font-size:13px;font-weight:900}.personal-notification-recall:disabled{color:#64748b;cursor:default;background:#e2e8f0;border-color:#94a3b8}.personal-notification-pagination{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.personal-notification-pagination button{color:#334155;min-height:34px;font:inherit;background:#fff;border:1px solid #94a3b8;border-radius:8px;padding:0 12px;font-size:13px;font-weight:850}.personal-notification-pagination button:disabled{opacity:.45;cursor:not-allowed}.personal-notification-pagination span{color:#475569;font-size:13px;font-weight:900}.personal-notification-history li span{color:#64748b;font-size:.88rem}.personal-notification-preview{background:#fff7fb;border:2px solid #f9a8d4;border-radius:16px;margin-top:22px;padding:18px}.personal-notification-preview>header{color:#831843;justify-content:space-between;align-items:center;gap:10px;display:flex}.personal-notification-preview>header span{color:#075985;background:#e0f2fe;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950}.personal-notification-preview>header span.important{color:#b91c1c;background:#fee2e2}.personal-notification-preview-target{color:#be185d;margin:14px 0 6px;font-size:13px;font-weight:900}.personal-notification-preview h2{color:#172554;margin:0 0 9px;font-size:22px}.personal-notification-preview>p:not(.personal-notification-preview-target){color:#334155;white-space:pre-wrap;margin:0;line-height:1.65}.personal-notification-preview small{color:#64748b;margin-top:14px;font-weight:750;display:block}.student-personal-notifications-list{gap:12px;display:grid}.student-personal-notification-card{background:#fff;border:1px solid #dbe3f0;border-radius:14px;padding:16px;box-shadow:0 5px 16px #1f35580f}.student-personal-notification-card.is-read{opacity:.72}.student-personal-notification-card-heading{color:#64748b;justify-content:space-between;gap:10px;font-size:.85rem;display:flex}.student-personal-notification-card h3{color:#172554;margin:8px 0 6px}.student-personal-notification-card p{white-space:pre-wrap;margin:0 0 12px;line-height:1.6}.student-personal-notification-card>small{color:#64748b;margin:0 0 10px;font-weight:800;display:block}.student-personal-notification-card button{color:#2455a4;cursor:pointer;background:#e8f2ff;border:0;border-radius:9px;min-height:40px;padding:8px 15px;font-size:14px;font-weight:850}.student-personal-notification-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.student-personal-notification-card-actions small{color:#64748b;margin:0;font-weight:800}.student-personal-notification-card-actions .reply{color:#155e75;background:#ecfeff;border:1px solid #0891b2}.student-feature-card{position:relative}.student-feature-unread-badge{color:#fff;background:#dc2626;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:950;line-height:1;display:inline-grid;position:absolute;top:10px;right:12px;box-shadow:0 2px 5px #7f1d1d40}.portal-session-cursor{color:#075985;white-space:nowrap;background:#e0f2fe;border:2px solid #0369a1;border-radius:10px;place-items:center;min-width:92px;min-height:42px;padding:5px 8px;font-weight:950;display:grid}.portal-cursor-preview{width:30px;height:30px;display:inline-block;position:relative}.portal-cursor-glyph{filter:drop-shadow(0 1px 1px #0f172a2e);width:28px;height:28px;position:absolute;top:0;left:0}.portal-cursor-glyph.is-default>path{fill:#fff;stroke:#0f172a;stroke-width:1.8px;stroke-linejoin:round}.portal-cursor-glyph.is-starcraft>path:first-child{fill:#063d26;stroke:#7cff6b;stroke-width:2px;stroke-linejoin:round}.portal-cursor-glyph.is-starcraft .cursor-glyph-detail{fill:none;stroke:#d9ffb3;stroke-width:1.4px;stroke-linecap:round}.portal-cursor-glyph.is-sky-sparkle>path:first-child{fill:#dbeafe;stroke:#1d4ed8;stroke-width:2px;stroke-linejoin:round}.portal-cursor-glyph.is-sky-sparkle .cursor-glyph-detail{fill:#fde047;stroke:#b45309;stroke-width:1px;stroke-linejoin:round}.portal-cursor-glyph.is-peach-blossom>path:first-child{fill:#fff1f2;stroke:#be185d;stroke-width:2px;stroke-linejoin:round}.portal-cursor-glyph.is-peach-blossom .cursor-glyph-detail{fill:#f9a8d4;stroke:#9d174d;stroke-width:.8px}.portal-cursor-preview.mode-default{width:78px}.portal-cursor-skin-label{color:#075985;letter-spacing:-.3px;white-space:nowrap;font-size:9px;font-weight:950;line-height:1;position:absolute;top:10px;left:31px}.portal-cursor-preview>span{color:#134e4a;text-overflow:ellipsis;white-space:nowrap;background:#ccfbf1;border:1px solid #0f766e;border-radius:999px;max-width:62px;padding:2px 5px;font-size:8px;font-weight:950;line-height:1;position:absolute;top:10px;left:18px;overflow:hidden}.portal-cursor-preview.mode-name-chip{width:78px}.portal-session-cursor:hover{background:#bae6fd;transform:translateY(-1px)}.portal-session-cursor:focus-visible{background:#bae6fd;transform:translateY(-1px)}.portal-session-textbooks:hover{background:#bbf7d0;transform:translateY(-1px)}.portal-session-textbooks:focus-visible{background:#bbf7d0;transform:translateY(-1px)}.portal-session-announcements:hover{background:#fde68a;transform:translateY(-1px)}.portal-session-announcements:focus-visible{background:#fde68a;transform:translateY(-1px)}.portal-session-member-management:hover{background:#ddd6fe;transform:translateY(-1px)}.portal-session-member-management:focus-visible{background:#ddd6fe;transform:translateY(-1px)}.portal-session-change-password:hover{background:#bfdbfe;transform:translateY(-1px)}.portal-session-change-password:focus-visible{background:#bfdbfe;transform:translateY(-1px)}.portal-session-orders:hover{background:#fde68a;transform:translateY(-1px)}.portal-session-orders:focus-visible{background:#fde68a;transform:translateY(-1px)}.web-staff-app-shell{--staff-theme:#2563eb;--staff-soft:#dbeafe;--staff-hover:#93c5fd;--staff-gradient-a:#eff6ff;--staff-gradient-b:#dbeafe;--staff-gradient-c:#eef2ff;width:100%;min-width:0;height:100vh;background:#f3f4f6;height:100dvh;min-height:0;overflow:hidden}.web-staff-app-shell.theme-attendance{--staff-theme:#7c3aed;--staff-soft:#f3e8ff;--staff-hover:#d8b4fe;--staff-gradient-a:#faf5ff;--staff-gradient-b:#f3e8ff;--staff-gradient-c:#fdf2f8}.web-staff-app-shell.theme-evaluation{--staff-theme:#e11d48;--staff-soft:#ffe4e6;--staff-hover:#fda4af;--staff-gradient-a:#fff1f2;--staff-gradient-b:#ffe4e6;--staff-gradient-c:#fdf2f8}.web-staff-app-shell>.app,.web-staff-app-shell>.attendance-app{width:100%;height:100%}.web-staff-app-shell .app-header,.web-staff-app-shell .attendance-header{box-shadow:0 5px 14px #0f172a14;border-color:#111827!important;border-radius:12px!important}.web-staff-app-shell .attendance-header{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.web-staff-app-shell .attendance-header.subject-management-header,.web-staff-app-shell .attendance-header.evaluation-header{min-height:82px;background:#fff!important;border:2px solid #111827!important;padding:10px 12px!important;box-shadow:0 5px 14px #0f172a14!important}.web-staff-app-shell .attendance-header.subject-management-header .attendance-header-brand,.web-staff-app-shell .attendance-header.evaluation-header .attendance-header-brand{background:0 0;border:0;min-height:66px}.web-staff-app-shell .attendance-header-brand{box-sizing:border-box;background:#fff;border:2px solid #111827;border-radius:12px}.web-staff-app-shell .app-header h1{box-sizing:border-box;min-height:46px;box-shadow:0 4px 10px color-mix(in srgb, var(--staff-theme) 14%, transparent);justify-content:center;align-items:center;background:linear-gradient(135deg, var(--staff-gradient-a), var(--staff-gradient-b) 55%, var(--staff-gradient-c))!important;color:#111827!important;-webkit-text-fill-color:#111827!important;border:2px solid #111827!important;border-radius:13px!important;margin:0!important;padding:4px 18px!important;font-size:30px!important;font-weight:950!important;line-height:1.05!important;display:inline-flex!important}.web-staff-app-shell .attendance-header-title h1{box-sizing:border-box;height:auto;min-height:0;box-shadow:none;justify-content:center;align-items:center;color:#111827!important;-webkit-text-fill-color:#111827!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:30px!important;font-weight:950!important;line-height:1.05!important;display:inline-flex!important}.web-staff-app-shell .timetable-header-action,.web-staff-app-shell .attendance-header-actions button,.web-staff-app-shell .attendance-header-toggle-row button{color:#111827!important;-webkit-text-fill-color:#111827!important;background:#fff!important;border:2px solid #111827!important;border-radius:999px!important;min-height:30px!important;padding:4px 11px!important;font-size:12px!important;font-weight:950!important;line-height:1!important}.web-staff-app-shell .timetable-header-action.action-home,.web-staff-app-shell .attendance-header-actions button.home{background:#fef3c7!important}.web-staff-app-shell .timetable-header-action.action-user.active,.web-staff-app-shell .attendance-header-actions button.active.user{background:#dcfce7!important}.web-staff-app-shell .timetable-header-action.action-admin.active,.web-staff-app-shell .attendance-header-actions button.active.admin{background:#fee2e2!important}.web-staff-app-shell .timetable-header-action.action-hide,.web-staff-app-shell .attendance-header-actions button:last-child{background:#f3e8ff!important}.web-staff-app-shell .timetable-header-action.action-pdf,.web-staff-app-shell .attendance-header-actions button.pdf{background:#dbeafe!important}.web-staff-app-shell .timetable-header-action.action-excel,.web-staff-app-shell .attendance-header-actions button.excel{background:#dcfce7!important}.web-staff-app-shell .timetable-header-action:not(:disabled):hover,.web-staff-app-shell .attendance-header-actions button:not(:disabled):hover,.web-staff-app-shell .attendance-header-toggle-row button:not(:disabled):hover{filter:brightness(1.01)saturate(1.35);box-shadow:0 4px 10px color-mix(in srgb, var(--staff-theme) 24%, transparent);transform:translateY(-1px)}.web-staff-app-shell .panel,.web-staff-app-shell .attendance-panel,.web-staff-app-shell .evaluation-subnav,.web-staff-app-shell .evaluation-page{border:2px solid #111827;border-radius:11px;box-shadow:0 3px 8px #0f172a0d}.web-staff-app-shell .panel h2,.web-staff-app-shell .attendance-panel h2{color:#111827;font-size:18px;font-weight:950}.web-staff-app-shell .right-sidebar-menu-button,.web-staff-app-shell .panel button:not(.color-button),.web-staff-app-shell .attendance-panel button,.web-staff-app-shell .evaluation-subnav button{color:#111827;-webkit-text-fill-color:#111827;border:2px solid #111827;border-radius:9px;min-height:38px;font-size:14px;font-weight:900;line-height:1.2}.web-staff-app-shell .right-sidebar-menu-button:not(.grade-1):not(.grade-2):not(.grade-3):not(.teacher-view-button):not(.class-view-button),.web-staff-app-shell .attendance-panel button:not(.grade-1):not(.grade-2):not(.grade-3):not(.primary):not(.danger),.web-staff-app-shell .evaluation-subnav button{background:var(--staff-soft)}.web-staff-app-shell .right-sidebar-menu-button:not(.grade-1):not(.grade-2):not(.grade-3):not(.teacher-view-button):not(.class-view-button):not(:disabled):hover,.web-staff-app-shell .panel button:not(.color-button):not(.primary-button):not(.secondary-button):not(.danger-button):not(.delete-button):not(.placement-evaluation-button):not(:disabled):hover,.web-staff-app-shell .attendance-panel button:not(.grade-1):not(.grade-2):not(.grade-3):not(.primary):not(.danger):not(:disabled):hover,.web-staff-app-shell .evaluation-subnav button:not(:disabled):hover{border-color:var(--staff-theme);background:var(--staff-hover);filter:brightness(1.02)saturate(1.18);box-shadow:0 4px 10px color-mix(in srgb, var(--staff-theme) 22%, transparent);transform:translateY(-1px)}.web-staff-app-shell .right-sidebar-menu-button.is-active,.web-staff-app-shell .attendance-panel button.active,.web-staff-app-shell .evaluation-subnav button.active{box-shadow:inset 0 0 0 1px var(--staff-theme);border-color:var(--staff-theme)!important}.admin-mode-login-backdrop{z-index:10000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.admin-mode-login-card{background:#fff;border:3px solid #111827;border-radius:22px;width:min(420px,100%);padding:28px;box-shadow:0 24px 70px #0f172a4d}.admin-mode-login-card h2{color:#172554;margin:0;font-size:27px;font-weight:950}.admin-mode-login-card>p{color:#64748b;margin:7px 0 20px;font-weight:800}.admin-mode-login-card form{gap:8px;display:grid}.admin-mode-login-card label{color:#334155;margin-top:5px;font-weight:900}.admin-mode-login-card input{width:100%;min-height:48px;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:11px;padding:9px 12px;font-weight:800}.admin-mode-login-card input:focus{border-color:#2563eb;outline:3px solid #2563eb2b}.admin-mode-login-actions{grid-template-columns:1fr 1.35fr;gap:10px;margin-top:14px;display:grid}.admin-mode-login-actions button{color:#172554;min-height:48px;font:inherit;cursor:pointer;background:#e2e8f0;border:2px solid #111827;border-radius:11px;font-weight:950}.admin-mode-login-actions button[type=submit]{background:#dbeafe}.admin-mode-login-actions button:hover{filter:saturate(1.2);background:#bfdbfe;transform:translateY(-1px)}.password-change-card{max-width:560px}.password-change-logout{color:#334155;min-height:44px;font:inherit;cursor:pointer;background:#f1f5f9;border:2px solid #111827;border-radius:11px;font-weight:900}.announcement-management-shell,.member-management-shell,.staff-meeting-shell{background:linear-gradient(145deg,#ecfeff,#f8fafc 48%,#f0fdfa);min-height:100vh;padding:24px}.announcement-management-card{background:#fffffff7;border:3px solid #172554;border-radius:24px;width:min(860px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #1e40af1f}.announcement-management-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.announcement-management-card>header span{color:#b45309;font-weight:950}.announcement-management-card>header h1{color:#172554;margin:3px 0;font-size:32px}.announcement-management-card>header p{color:#64748b;margin:0;font-weight:800}.announcement-management-card>header button{background:#fef3c7;border:2px solid #111827;border-radius:11px;min-height:46px;padding:0 18px;font-weight:950}.announcement-create-form{background:#fffbeb;border:2px solid #f59e0b;border-radius:18px;gap:13px;margin-top:20px;padding:18px;display:grid}.announcement-create-form label{color:#78350f;gap:6px;font-weight:950;display:grid}.announcement-create-form input,.announcement-create-form textarea,.announcement-create-form select{width:100%;min-width:0;font:inherit;resize:vertical;background:#fff;border:2px solid #94a3b8;border-radius:10px;padding:10px 12px;font-weight:750}.announcement-period-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.announcement-editing-label{color:#1e3a8a;background:#dbeafe;border-radius:10px;padding:9px 12px;font-size:16px}.announcement-form-actions{justify-content:flex-end;gap:9px;display:flex}.announcement-form-actions button{color:#334155;min-height:46px;font:inherit;background:#fff;border:2px solid #111827;border-radius:11px;padding:0 18px;font-weight:950}.announcement-form-actions button[type=submit]{color:#78350f;background:#fde68a;flex:1}.announcement-form-actions button:disabled{opacity:.6;cursor:wait}.announcement-management-message{color:#1e3a8a;background:#dbeafe;border-radius:10px;margin:14px 0 0;padding:12px 14px;font-weight:900}.announcement-review-backdrop{z-index:12000;background:#0f172a94;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.announcement-review-dialog{background:#fff;border:3px solid #1d4ed8;border-radius:20px;width:min(620px,100%);max-height:calc(100vh - 36px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #0f172a47}.announcement-review-dialog.is-all{border-color:#dc2626}.announcement-review-dialog.is-staff{border-color:#2563eb}.announcement-review-dialog>header span{border-radius:999px;padding:5px 10px;font-size:13px;font-weight:950;display:inline-flex}.announcement-review-dialog.is-all>header span{color:#b91c1c;background:#fee2e2}.announcement-review-dialog.is-staff>header span{color:#1d4ed8;background:#dbeafe}.announcement-review-dialog h2{color:#172554;margin:8px 0 0;font-size:27px}.announcement-review-audience{color:#334155;background:#f8fafc;border-radius:11px;margin:14px 0;padding:12px 14px;font-weight:900;line-height:1.45}.announcement-review-dialog.is-all .announcement-review-audience{color:#9f1239;background:#fff1f2}.announcement-review-dialog dl{gap:9px;margin:0;display:grid}.announcement-review-dialog dl>div{border:1px solid #cbd5e1;border-radius:10px;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:11px;display:grid}.announcement-review-dialog dt{color:#64748b;font-weight:950}.announcement-review-dialog dd{color:#172554;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:850;line-height:1.45}.announcement-review-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:16px;display:grid}.announcement-review-actions button{color:#334155;min-height:48px;font:inherit;background:#f1f5f9;border:2px solid #111827;border-radius:11px;font-weight:950}.announcement-review-actions button.confirm{color:#172554;background:#dbeafe}.announcement-review-dialog.is-all .announcement-review-actions button.confirm{color:#7f1d1d;background:#fecaca}.announcement-review-actions button:disabled{cursor:wait;opacity:.6}.announcement-history{margin-top:22px}.announcement-history>header{border-bottom:2px solid #cbd5e1;justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.announcement-history>header h2{color:#172554;margin:0;font-size:23px}.announcement-history>header span{color:#475569;background:#e2e8f0;border-radius:999px;padding:4px 10px;font-weight:950}.announcement-active-list>header span{color:#1e3a8a;background:#dbeafe}.announcement-active-list .announcement-history-list article{background:#eff6ff;border-color:#93c5fd}.announcement-history>p{color:#64748b;font-weight:800}.announcement-history-list{gap:10px;margin-top:12px;display:grid}.announcement-history-list article{background:#f8fafc;border:2px solid #cbd5e1;border-radius:13px;padding:14px}.announcement-history-list strong{color:#172554;font-size:17px}.announcement-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.announcement-title-row>span{color:#1e3a8a;background:#dbeafe;border-radius:999px;flex:none;padding:3px 9px;font-size:12px;font-weight:950}.announcement-history-list p{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;line-height:1.5}.announcement-history-list small{color:#64748b;font-weight:800}.announcement-history-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.announcement-history-actions small{overflow-wrap:anywhere;min-width:0}.announcement-item-buttons{flex:none;gap:7px;display:flex}.announcement-history-actions button{color:#334155;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:2px solid #64748b;border-radius:9px;flex:none;padding:0 11px;font-size:13px;font-weight:950}.announcement-history-actions button.edit{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.announcement-history-actions button.end{color:#b91c1c;background:#fee2e2;border-color:#b91c1c}.announcement-history-actions button:disabled{opacity:.55;cursor:wait}.announcement-past-title-list article{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.announcement-past-title-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.announcement-past-title-list button{color:#b91c1c;min-height:32px;font:inherit;cursor:pointer;background:#fee2e2;border:2px solid #b91c1c;border-radius:9px;flex:none;padding:0 11px;font-size:12px;font-weight:950}.announcement-past-title-list button:disabled{opacity:.55;cursor:wait}.staff-meeting-card{background:#fffffff7;border:3px solid #134e4a;border-radius:24px;width:min(960px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #0f766e1f}.staff-meeting-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.staff-meeting-card>header span{color:#0f766e;font-weight:950}.staff-meeting-card>header h1{color:#172554;margin:3px 0;font-size:32px}.staff-meeting-card>header p{color:#64748b;margin:0;font-weight:800}.staff-meeting-card>header button{color:#115e59;min-height:44px;font:inherit;white-space:nowrap;background:#ccfbf1;border:2px solid #134e4a;border-radius:11px;padding:0 16px;font-weight:950}.staff-meeting-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.staff-meeting-tabs button{color:#115e59;min-height:48px;font:inherit;background:#f0fdfa;border:2px solid #5eead4;border-radius:12px;font-size:17px;font-weight:950}.staff-meeting-tabs button.active{background:#99f6e4;border-color:#0f766e;box-shadow:inset 0 -3px #0f766e}.staff-meeting-create{background:#f0fdfa;border:2px solid #99f6e4;border-radius:15px;align-items:end;gap:12px;margin-top:14px;padding:16px;display:flex}.staff-meeting-create>div{color:#134e4a;flex:1;gap:3px;display:grid}.staff-meeting-create strong{font-size:19px}.staff-meeting-create small{color:#64748b;font-weight:800}.staff-meeting-create label{color:#134e4a;gap:4px;font-weight:950;display:grid}.staff-meeting-create input{min-height:42px;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:9px;padding:0 10px;font-weight:850}.staff-meeting-create button{color:#115e59;min-height:42px;font:inherit;background:#99f6e4;border:2px solid #0f766e;border-radius:10px;padding:0 15px;font-weight:950}.staff-meeting-editor{background:#f0fdfa;border:2px solid #99f6e4;border-radius:16px;gap:12px;margin-top:14px;padding:18px;display:grid}.staff-meeting-editor h2,.staff-meeting-list>h2{color:#134e4a;margin:0;font-size:25px}.staff-meeting-document-title{border-bottom:2px solid #134e4a;justify-content:space-between;align-items:center;gap:14px;padding-bottom:12px;display:flex}.staff-meeting-document-title>div{flex:1;align-items:center;gap:10px;display:flex}.staff-meeting-document-title>div>span{color:#92400e;background:#fef3c7;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950}.staff-meeting-title-date{align-items:center;gap:9px;display:flex}.staff-meeting-date-chips{color:#111827;white-space:nowrap;align-items:center;gap:5px;font-size:22px;font-weight:950;line-height:1;display:inline-flex}.staff-meeting-date-chips>span{color:#111827;background:#ccfbf1;border:2px solid #0f766e;border-radius:999px;padding:5px 10px;font-size:22px;font-weight:950}.staff-meeting-new-controls{justify-content:flex-end;align-items:end;gap:8px;margin-left:auto;display:flex}.staff-meeting-new-controls>input{min-height:40px;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:9px;padding:0 7px;font-size:12px;font-weight:850}.staff-meeting-current-output{gap:5px;display:flex}.staff-meeting-current-output button{color:#334155;min-height:40px;font:inherit;white-space:nowrap;background:#fff;border:2px solid #334155;border-radius:9px;padding:0 10px;font-size:12px;font-weight:950}.staff-meeting-current-output button:first-child{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}.staff-meeting-close{color:#b91c1c;min-height:42px;font:inherit;white-space:nowrap;background:#fee2e2;border:2px solid #b91c1c;border-radius:10px;padding:0 15px;font-weight:950}.staff-meeting-privacy-warning{color:#dc2626;text-align:center;margin:-12px 0 0;padding:8px 8px 3px;font-weight:900}.staff-meeting-writing-guide{color:#475569;text-align:center;white-space:nowrap;border-bottom:2px solid #94a3b8;margin:0;padding:3px 8px 8px;font-size:clamp(9px,1.05vw,14px);font-weight:800}.staff-meeting-department-table{background:#fff;border:2px solid #334155;border-radius:12px;overflow:hidden}.staff-meeting-department-row{border-bottom:1px solid #64748b;grid-template-columns:145px minmax(0,1fr);display:grid}.staff-meeting-department-row:last-child{border-bottom:0}.staff-meeting-department-row>strong{color:#422006;text-align:center;background:#fef3c7;border-right:1px solid #64748b;place-items:center;padding:12px 8px;font-size:16px;display:grid}.staff-meeting-department-row>div{min-width:0;padding:8px}.staff-meeting-department-row textarea{color:#172554;width:100%;min-width:0;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:8px 10px;font-weight:750;line-height:1.5;display:block}.staff-meeting-section-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.staff-meeting-section-actions small{color:#64748b;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:800;display:flex}.staff-meeting-section-actions small time{white-space:nowrap}.staff-meeting-save-state,.staff-meeting-save-user{white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:1px 7px;font-weight:950;display:inline-flex}.staff-meeting-save-state{color:#065f46;background:#d1fae5;border:1px solid #10b981}.staff-meeting-save-user{color:#075985;background:#e0f2fe;border:1px solid #38bdf8}.staff-meeting-section-actions button{color:#115e59;min-height:32px;font:inherit;background:#ccfbf1;border:1px solid #0f766e;border-radius:8px;flex:none;padding:0 10px;font-size:12px;font-weight:950}.staff-meeting-editor-row{grid-template-columns:190px minmax(0,1fr);gap:10px;display:grid}.staff-meeting-editor label{color:#134e4a;gap:5px;font-weight:950;display:grid}.staff-meeting-editor input,.staff-meeting-editor textarea{width:100%;min-width:0;font:inherit;resize:vertical;background:#fff;border:2px solid #94a3b8;border-radius:10px;padding:10px 12px;font-weight:750}.staff-meeting-editor-actions{justify-content:flex-end;gap:8px;display:flex}.staff-meeting-editor-actions button{color:#334155;min-height:42px;font:inherit;background:#fff;border:2px solid #334155;border-radius:10px;padding:0 16px;font-weight:950}.staff-meeting-editor-actions button[type=submit]{color:#115e59;background:#99f6e4;border-color:#0f766e;min-width:150px}.staff-meeting-message{color:#1e3a8a;background:#dbeafe;border-radius:10px;margin:12px 0 0;padding:10px 13px;font-weight:900}.staff-meeting-list{gap:10px;margin-top:22px;display:grid}.staff-meeting-list details{background:#fff;border:2px solid #cbd5e1;border-radius:13px;overflow:hidden}.staff-meeting-list summary{color:#172554;cursor:pointer;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;display:grid}.staff-meeting-list summary span{color:#0f766e;font-weight:950}.staff-meeting-list summary small{color:#64748b;font-weight:800}.staff-meeting-archive-actions{background:#f8fafc;border-top:1px solid #cbd5e1;justify-content:flex-end;gap:7px;padding:8px 10px;display:flex}.staff-meeting-archive-actions button{color:#334155;min-height:34px;font:inherit;background:#fff;border:1px solid #334155;border-radius:8px;padding:0 11px;font-size:12px;font-weight:950}.staff-meeting-archive-actions button:first-child{color:#115e59;background:#ccfbf1;border-color:#0f766e}.staff-meeting-archive-table{border-top:2px solid #cbd5e1}.staff-meeting-archive-table>div{border-bottom:1px solid #cbd5e1;grid-template-columns:145px minmax(0,1fr);display:grid}.staff-meeting-archive-table>div:last-child{border-bottom:0}.staff-meeting-archive-table strong{color:#422006;background:#fef3c7;border-right:1px solid #cbd5e1;place-items:center;padding:10px;display:grid}.staff-meeting-archive-table p{color:#334155;white-space:pre-wrap;margin:0;padding:10px 12px;line-height:1.5}.staff-meeting-archive-edit{gap:6px;padding:7px;display:grid}.staff-meeting-archive-edit textarea{width:100%;min-width:0;font:inherit;resize:vertical;border:1px solid #94a3b8;border-radius:7px;padding:8px;line-height:1.45}.staff-meeting-archive-edit button{color:#115e59;min-height:32px;font:inherit;background:#ccfbf1;border:1px solid #0f766e;border-radius:8px;justify-self:end;padding:0 10px;font-size:12px;font-weight:950}.staff-meeting-list article{background:#fff;border:2px solid #cbd5e1;border-radius:14px;padding:15px}.staff-meeting-record-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.staff-meeting-record-heading time{color:#0f766e;font-size:13px;font-weight:950}.staff-meeting-record-heading h3{color:#172554;margin:3px 0 0;font-size:18px}.staff-meeting-record-heading button{color:#115e59;min-height:34px;font:inherit;background:#ccfbf1;border:2px solid #0f766e;border-radius:9px;padding:0 12px;font-weight:950}.staff-meeting-list article>p{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;line-height:1.6}.staff-meeting-list article>small{color:#64748b;font-weight:800}.staff-meeting-empty{color:#64748b;text-align:center;background:#f8fafc;border-radius:12px;padding:22px;font-weight:850}.member-management-card{background:#fffffff5;border:3px solid #172554;border-radius:24px;width:min(1080px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #1e40af1f}.site-management-shell{background:linear-gradient(145deg,#eff6ff,#ecfeff);min-height:100vh;padding:28px}.site-management-card{box-sizing:border-box;background:#fffffff7;border:3px solid #075985;border-radius:24px;width:min(1080px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #0369a124}.site-management-card.has-management-tabs{width:min(1320px,100%)}.site-management-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.site-management-card>header span{color:#0284c7;font-weight:950}.site-management-card>header h1{color:#0c4a6e;margin:3px 0;font-size:32px}.site-management-card>header p{color:#64748b;margin:0;font-weight:800}.site-management-card>header button,.site-audit-panel>header button{color:#075985;min-height:42px;font:inherit;background:#e0f2fe;border:2px solid #075985;border-radius:10px;padding:0 14px;font-weight:950}.site-management-tabs{background:#f0f9ff;border:2px solid #bae6fd;border-radius:15px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:20px;padding:6px;display:grid}.site-management-tabs button{color:#475569;min-height:46px;font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;font-weight:950}.site-management-tabs button:hover{color:#075985;background:#e0f2fe}.site-management-tabs button.active{color:#075985;background:#fff;border-color:#0369a1;box-shadow:0 4px 12px #0369a11f}.site-management-tab-panel{min-width:0}.admin-security-management{background:#f8fbff;border:2px solid #93c5fd;border-radius:16px;gap:14px;margin-top:18px;padding:18px;display:grid}.admin-security-management>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-security-management>header span{color:#2563eb;letter-spacing:.08em;font-size:12px;font-weight:950}.admin-security-management>header h2{color:#1e3a8a;margin:2px 0 0}.admin-security-management button{color:#1e3a8a;min-height:40px;font:inherit;cursor:pointer;background:#dbeafe;border:2px solid #2563eb;border-radius:10px;padding:0 13px;font-weight:950}.admin-security-management button:disabled{cursor:wait;opacity:.6}.admin-security-management button.danger{color:#991b1b;background:#fee2e2;border-color:#dc2626}.admin-security-intro,.admin-security-message{color:#334155;border-radius:10px;margin:0;padding:11px 13px;font-weight:800;line-height:1.5}.admin-security-intro{background:#eff6ff}.admin-security-message{color:#92400e;background:#fef3c7}.admin-security-enabled{color:#166534;background:#f0fdf4;border:2px solid #86efac;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.admin-security-enabled span{font-size:13px;font-weight:800}.admin-security-devices{gap:10px;display:grid}.admin-security-devices>header{justify-content:space-between;align-items:center;display:flex}.admin-security-devices h3{color:#1e3a8a;margin:0}.admin-security-devices>div{gap:8px;display:grid}.admin-security-devices article{background:#fff;border:1px solid #bfdbfe;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-security-devices article>div{gap:3px;min-width:0;display:grid}.admin-security-devices article strong,.admin-security-devices article small{overflow-wrap:anywhere}.admin-security-devices article small{color:#64748b;font-weight:750}.admin-security-setup,.admin-security-start{background:#faf5ff;border:2px solid #c4b5fd;border-radius:13px;gap:11px;padding:16px;display:grid}.admin-security-setup h3,.admin-security-setup p,.admin-security-start p{margin:0}.admin-security-setup label{color:#4c1d95;gap:6px;font-weight:900;display:grid}.admin-security-setup input{box-sizing:border-box;width:100%;min-height:42px;font:inherit;background:#fff;border:2px solid #c4b5fd;border-radius:9px;padding:0 11px}.admin-security-secret{align-items:center;gap:8px;min-width:0;display:flex}.admin-security-secret code{color:#312e81;overflow-wrap:anywhere;background:#fff;border:1px solid #c4b5fd;border-radius:8px;flex:1;min-width:0;padding:11px}.admin-security-setup>small{color:#64748b;font-weight:800;line-height:1.5}.member-management-embedded,.record-management-embedded,.file-management-embedded,.member-management-embedded-card,.record-management-embedded-card,.file-management-embedded-card{min-width:0}.site-management-actions{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.site-management-actions button{color:#075985;min-height:44px;font:inherit;background:#e0f2fe;border:2px solid #0369a1;border-radius:11px;padding:0 15px;font-weight:950}.site-management-actions button:first-child{color:#065f46;background:#d1fae5;border-color:#047857}.site-management-actions button.danger{color:#b91c1c;background:#fee2e2;border-color:#b91c1c}.site-management-actions button:disabled{opacity:.55;cursor:wait}.site-management-note,.site-management-message{border-radius:10px;margin:14px 0 0;padding:11px 13px;font-weight:850}.site-management-note{color:#475569;background:#f1f5f9}.site-academic-term-panel{background:#faf5ff;border:2px solid #c4b5fd;border-radius:16px;margin-top:18px;padding:16px}.site-academic-term-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.site-academic-term-panel h2{color:#5b21b6;margin:0;font-size:20px}.site-academic-term-panel button{color:#5b21b6;min-height:40px;font:inherit;background:#ede9fe;border:2px solid #7c3aed;border-radius:10px;padding:0 14px;font-weight:950}.site-academic-term-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.site-academic-term-grid label,.site-academic-term-readonly{color:#4c1d95;gap:6px;font-weight:900;display:grid}.site-academic-term-grid input,.site-academic-term-readonly input{box-sizing:border-box;color:#1e1b4b;width:100%;min-height:42px;font:inherit;background:#fff;border:2px solid #c4b5fd;border-radius:10px;padding:0 11px;font-weight:850}.site-academic-term-readonly{margin-top:10px}.site-management-message{color:#92400e;background:#fef3c7}.site-management-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.site-management-counts span{color:#075985;background:#f0f9ff;border:2px solid #bae6fd;border-radius:13px;place-items:center;gap:3px;min-height:82px;font-weight:900;display:grid}.site-management-counts strong{font-size:25px}.site-audit-panel{margin-top:22px}.site-audit-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.site-audit-panel h2{color:#0c4a6e}.site-audit-table-wrap{border:2px solid #94a3b8;border-radius:13px;max-height:520px;overflow:auto}.site-audit-table-wrap table{border-collapse:collapse;width:100%;font-size:13px}.site-audit-table-wrap th,.site-audit-table-wrap td{text-align:left;border:1px solid #cbd5e1;padding:9px 10px}.site-audit-table-wrap th{color:#0c4a6e;background:#e0f2fe;position:sticky;top:0}.site-audit-table-wrap td:first-child,.site-audit-table-wrap td:nth-child(3),.site-audit-table-wrap td:nth-child(4){white-space:nowrap}.site-audit-table-wrap td strong,.site-audit-table-wrap td small{display:block}.site-audit-table-wrap td small{color:#64748b;margin-top:2px}.file-management-shell{background:linear-gradient(145deg,#ecfdf5,#eff6ff 55%,#f8fafc);min-height:100vh;padding:28px}.file-management-card{box-sizing:border-box;background:#fffffffa;border:3px solid #0f766e;border-radius:24px;width:min(1180px,100%);margin:0 auto;padding:26px;box-shadow:0 20px 50px #0f766e21}.file-management-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.file-management-card>header span{color:#0d9488;font-weight:950}.file-management-card>header h1{color:#134e4a;margin:3px 0;font-size:32px}.file-management-card>header p{color:#64748b;margin:0;font-weight:800}.file-management-card>header button,.file-management-toolbar button{color:#115e59;min-height:42px;font:inherit;cursor:pointer;background:#ccfbf1;border:2px solid #0f766e;border-radius:10px;padding:0 14px;font-weight:950}.file-management-toolbar{background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:12px 14px;display:flex}.file-management-toolbar p{color:#475569;margin:0;font-size:14px;font-weight:800;line-height:1.45}.file-management-toolbar button:disabled{opacity:.6;cursor:wait}.file-management-message{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:14px 0 0;padding:11px 13px;font-weight:850}.file-management-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.file-management-summary article{color:#115e59;text-align:center;background:linear-gradient(145deg,#f0fdfa,#fff);border:2px solid #99f6e4;border-radius:16px;place-items:center;gap:5px;min-height:104px;padding:12px;display:grid}.file-management-summary span{color:#475569;font-size:14px;font-weight:900}.file-management-summary strong{color:#134e4a;font-size:29px;font-weight:950}.file-management-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.file-management-breakdown>div{background:#f8fafc;border:2px solid #bae6fd;border-radius:16px;min-width:0;padding:15px}.file-management-breakdown h2{color:#164e63;margin:0 0 11px;font-size:18px}.file-management-chips{flex-wrap:wrap;gap:7px;display:flex}.file-management-chips span{color:#115e59;overflow-wrap:anywhere;background:#ccfbf1;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:850}.file-management-chips.secondary span{color:#1e3a8a;background:#dbeafe}.file-management-list{margin-top:22px}.file-management-list>header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.file-management-list h2{color:#134e4a;margin:0;font-size:22px}.file-management-list p{color:#64748b;margin:4px 0 0;font-size:13px;font-weight:800}.file-management-list small{color:#64748b;text-align:right;font-weight:800}.file-management-table-wrap{border:2px solid #94a3b8;border-radius:13px;margin-top:11px;overflow-x:auto}.file-management-table-wrap table{border-collapse:collapse;width:100%;min-width:850px;font-size:13px}.file-management-table-wrap th,.file-management-table-wrap td{text-align:left;border:1px solid #cbd5e1;padding:10px}.file-management-table-wrap th{color:#134e4a;white-space:nowrap;background:#ccfbf1}.file-management-table-wrap td:nth-child(2){color:#334155;overflow-wrap:anywhere;max-width:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.file-management-table-wrap td:nth-child(n+3){white-space:nowrap}.file-management-table-wrap td[colspan]{color:#64748b;text-align:center;padding:28px;font-family:inherit;font-weight:850}.file-management-open-link{color:#075985;text-underline-offset:3px;font-family:inherit;font-weight:950;text-decoration:underline}.file-management-download-link{color:#115e59;background:#ccfbf1;border:1px solid #0f766e;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-family:inherit;font-weight:950;text-decoration:none;display:inline-flex}.member-management-card>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.member-management-card>header span{color:#7c3aed;font-weight:950}.member-management-card>header h1{color:#172554;margin:3px 0;font-size:32px}.member-management-card>header p{color:#64748b;margin:0;font-weight:800}.member-management-card>header button{min-height:46px;font:inherit;cursor:pointer;background:#e0e7ff;border:2px solid #111827;border-radius:11px;padding:0 18px;font-weight:950}.member-create-panel,.member-filter-bar{background:#f8fafc;border:2px solid #cbd5e1;border-radius:18px;margin-top:18px;padding:15px}.member-create-panel{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#c4b5fd}.member-create-panel summary{color:#4c1d95;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:18px;font-weight:950;list-style:none;display:flex}.member-create-panel summary::-webkit-details-marker{display:none}.member-create-panel summary:after{content:"+";color:#7c3aed;background:#fff;border:2px solid #7c3aed;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:auto;font-size:22px;line-height:1;display:grid}.member-create-panel[open] summary:after{content:"−"}.member-create-panel summary small{color:#7c3aed;font-size:13px;font-weight:800}.member-create-panel[open] .member-create-form{border-top:1px solid #ddd6fe;margin-top:15px;padding-top:15px}.member-create-form{gap:12px;display:grid}.member-create-form-student{grid-template-columns:1.05fr 1.4fr 1.15fr .8fr .8fr .8fr}.member-create-form-teacher,.member-create-form-test{grid-template-columns:repeat(3,minmax(0,1fr))}.member-create-form label,.member-filter-bar label,.member-roster-box>label{color:#334155;gap:6px;font-weight:900;display:grid}.member-create-form label{min-width:0}.member-create-form input,.member-create-form select,.member-filter-bar input,.member-filter-bar select,.member-roster-box input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:10px;padding:0 12px;font-weight:800}.member-create-form input.member-auto-login-id{color:#4c1d95;cursor:default;background:#ede9fe;border-color:#a78bfa}.member-create-form button{color:#1e3a8a;min-height:46px;font:inherit;cursor:pointer;background:#dbeafe;border:2px solid #111827;border-radius:12px;grid-column:1/-1;font-weight:950}.member-create-actions{grid-column:1/-1;grid-template-columns:1fr;gap:8px;display:grid}.member-create-actions button{grid-column:auto}.member-create-form .member-checkbox{grid-column:1/-1;align-items:center;gap:10px;display:flex}.member-create-form .member-checkbox input{accent-color:#7c3aed;flex:none;width:20px;height:20px;min-height:0;padding:0}.member-create-form-student .member-create-password{grid-column:1/3}.member-create-form-student .member-checkbox{grid-column:3/-1;align-self:end;min-height:44px}.member-create-form-teacher .member-create-password,.member-create-form-test .member-create-password{grid-column:1}.member-create-form-teacher .member-checkbox,.member-create-form-test .member-checkbox{grid-column:2/-1;align-self:end;min-height:44px}.member-roster-box{gap:10px;margin-top:14px;display:grid}.member-roster-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;max-height:220px;padding-right:4px;display:grid;overflow:auto}.member-roster-list button{text-align:left;font:inherit;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:12px;gap:2px;padding:12px 14px;font-weight:900;display:grid}.member-roster-list button.active{background:#eff6ff;border-color:#2563eb}.member-roster-list strong{color:#172554;font-size:17px}.member-roster-list span,.member-roster-list small{color:#475569}.member-filter-bar{background:linear-gradient(135deg,#f0f9ff,#ecfeff);border-color:#bae6fd;gap:10px;display:grid}.member-filter-row{grid-template-columns:70px 1fr;align-items:center;gap:12px;display:grid}.member-filter-category-row{grid-template-columns:70px 1fr auto}.member-filter-row>strong{color:#164e63;font-weight:950}.member-filter-buttons{flex-wrap:wrap;gap:8px;display:flex}.member-filter-buttons button{color:#334155;min-width:82px;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:2px solid #94a3b8;border-radius:11px;padding:0 15px;font-weight:900}.member-filter-buttons button:hover{background:#cffafe;border-color:#06b6d4;transform:translateY(-1px)}.member-filter-buttons button.active{color:#1e3a8a;background:#dbeafe;border-color:#2563eb;box-shadow:0 3px #2563eb29}.member-filter-buttons button.student-affairs{color:#92400e;border-color:#f59e0b}.member-filter-buttons button.student-affairs.active{background:#fef3c7;box-shadow:0 3px #f59e0b2e}.member-filter-buttons button:disabled{cursor:default;opacity:.42;transform:none}.member-filter-count{color:#92400e;min-width:72px;min-height:40px;font:inherit;white-space:nowrap;background:#fef3c7;border:2px solid #f59e0b;border-radius:999px;place-items:center;padding:0 14px;font-weight:950;display:inline-grid}.member-class-filter-content{align-items:center;gap:12px;min-width:0;display:flex}.member-class-filter-content>.member-filter-buttons{flex:none}.member-filter-search{flex:1;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:8px;min-width:0;display:grid}.member-filter-search span{color:#164e63;font-weight:950}.member-actions{justify-content:center;gap:8px;display:flex}.member-management-header-actions,.member-management-inline-actions{align-items:center;gap:8px;display:flex}.member-management-header-actions button,.member-management-inline-actions button{color:#155e75;background:#cffafe;border-color:#0e7490}.member-management-header-actions button:hover,.member-management-inline-actions button:hover{background:#a5f3fc;border-color:#0891b2}.member-management-inline-actions{justify-content:flex-end;margin-bottom:10px}.member-actions button.danger{color:#b91c1c;background:#fee2e2}.member-actions button.danger.confirm{color:#fff;background:#dc2626}.member-access-level-cell button.student-affairs{color:#475569;white-space:nowrap;background:#f8fafc;border-color:#94a3b8;min-height:34px}.member-access-level-cell button.student-affairs.active{color:#92400e;background:#fef3c7;border-color:#d97706}.member-access-level-cell button.staff-admin{color:#475569;white-space:nowrap;background:#f8fafc;border-color:#94a3b8;min-height:34px}.member-access-level-cell button.staff-admin.active{color:#991b1b;background:#fee2e2;border-color:#dc2626}.member-admin-property{color:#065f46;white-space:nowrap;background:#d1fae5;border:1px solid #047857;border-radius:999px;place-items:center;min-height:34px;padding:0 10px;font-size:12px;font-weight:950;display:inline-grid}.member-management-card>header p{max-width:58ch}.member-management-message{color:#92400e;background:#fef3c7;border-radius:11px;margin:18px 0 0;padding:12px 15px;font-weight:900}.member-transfer-dialog{background:#f5f3ff;border:2px solid #a78bfa;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px;padding:10px 14px;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.member-transfer-dialog h2{color:#4c1d95;background:#ede9fe;border-radius:999px;flex:none;align-items:center;margin:0;padding:5px 12px;font-size:25px;font-weight:950;display:inline-flex}.member-transfer-line{white-space:nowrap;flex-wrap:nowrap;flex:680px;align-items:center;gap:10px;min-width:0;font-weight:850;display:flex;overflow-x:auto}.member-transfer-line>span{font-size:calc(1em + 3px)}.member-transfer-line>span,.member-transfer-line>strong,.member-transfer-fields label{box-sizing:border-box;background:#fff;border:2px solid #94a3b8;border-radius:999px;align-items:center;min-height:40px;padding:0 10px;display:inline-flex}.member-transfer-line>strong{color:#4c1d95;background:#ede9fe;border-color:#a78bfa;font-size:0}.member-transfer-line>strong:after{content:"→";font-size:24px}.member-transfer-fields label{gap:0;margin-top:0;padding:0 4px 0 10px}.member-transfer-fields label select,.member-transfer-fields label input{background:0 0;border:0;outline:0}.member-transfer-dialog label{gap:6px;margin-top:10px;display:grid}.member-transfer-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.member-transfer-line .member-transfer-fields{flex:0 auto;gap:6px;display:flex}.member-transfer-line .member-transfer-fields select,.member-transfer-line .member-transfer-fields input{box-sizing:border-box;width:100px}.member-transfer-line .member-transfer-fields label{margin-top:0;display:inline-flex}.member-transfer-actions{flex:none;gap:8px;display:flex;margin-top:0!important}.member-transfer-fields select{min-height:40px;font:inherit;border:2px solid #94a3b8;border-radius:8px;padding:0 8px}.member-transfer-dialog input{min-height:40px;font:inherit;border:2px solid #94a3b8;border-radius:8px;padding:0 10px}.member-transfer-actions button{color:#1e3a8a;min-height:40px;font:inherit;cursor:pointer;background:#dbeafe;border:2px solid #111827;border-radius:10px;padding:0 16px;font-weight:950}.member-transfer-actions button:hover{background:#bfdbfe;border-color:#2563eb}.member-table-wrap{border:2px solid #111827;border-radius:14px;margin-top:20px;overflow:auto}.member-table{border-collapse:collapse;width:100%;font-size:16px}.member-table th,.member-table td{text-align:center;border:1px solid #64748b;padding:12px 14px;font-weight:800}.member-table th{color:#312e81;background:#ede9fe;font-weight:950;position:sticky;top:0}.member-table tbody tr.member-row-teacher>td{background:#ecfdf5}.member-table tbody tr.member-row-grade-1>td{background:#fffbeb}.member-table tbody tr.member-row-grade-2>td{background:#eff6ff}.member-table tbody tr.member-row-grade-3>td{background:#fff1f2}.member-table tbody tr.member-row-test>td{background:#faf5ff}.member-status-cell strong,.member-status-cell span{display:block}.member-status-cell span{color:#64748b;white-space:nowrap;margin-top:3px;font-size:13px}.member-table button{color:#1e3a8a;min-height:38px;font:inherit;cursor:pointer;background:#dbeafe;border:2px solid #111827;border-radius:9px;padding:0 12px;font-weight:900}.member-table button.confirm{color:#b91c1c;background:#fee2e2}.member-homeroom-cell select{color:#115e59;min-height:36px;font:inherit;background:#f0fdfa;border:2px solid #0f766e;border-radius:9px;padding:0 9px;font-size:13px;font-weight:900}.student-test-account{color:#475569;text-align:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;gap:3px;margin-top:20px;padding:13px 15px;font-size:13px;display:grid}.student-test-account strong{color:#172554;font-size:14px}.student-test-page{width:min(840px,100%)}.student-home-stage .student-test-page{padding:28px}.student-test-header{background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 62%,#eef2ff 100%);border:1px solid #bfdbfe;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.student-test-header>div{text-align:left;min-width:0}.student-test-header h1{color:#172554;margin:4px 0;font-size:28px}.student-test-header p{color:#64748b;margin:0;font-weight:850}.student-test-header img{object-fit:contain;background:#fff;border:1px solid #dbeafe;border-radius:18px;width:80px;height:80px;padding:5px}.student-test-header .student-home-logo{background:0 0;border:0;border-radius:18px;min-width:0;padding:0}.student-test-header .student-home-logo:hover{background:0 0;transform:rotate(4deg)scale(1.03)}.student-test-header .portal-session-logout,.student-test-header .portal-session-actions{align-self:start;position:static}.student-test-content{min-height:230px;padding:18px 2px 0}.student-test-content h2{margin:0 0 10px;font-size:24px}.student-test-content>p{color:#475569;font-weight:750;line-height:1.6}.student-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:0;display:grid}.student-feature-grid button{color:#172554;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 55%,#ecfeff 100%);border:2px solid #111827;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:142px;padding:14px 10px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex;position:relative;box-shadow:0 6px 16px #2563eb14}.student-feature-grid button.subject-enrollment{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 55%,#fdf2f8 100%)}.student-feature-grid button.namtalk{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 55%,#ecfeff 100%);border-color:#0f766e}.student-feature-grid button.namtalk .portal-session-namtalk-mark{border-radius:12px;width:44px;height:44px}.student-feature-grid button.student-affairs{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 55%,#fff7ed 100%);border-color:#b45309}.student-feature-grid button.student-affairs .portal-menu-icon{color:#b45309}.student-feature-grid button.school-meal{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 55%,#fef3c7 100%)}.student-feature-grid-one{grid-template-columns:1fr}.student-feature-grid button:hover{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 55%,#cffafe 100%);border:3px solid #1d4ed8;box-shadow:0 10px 24px #2563eb24}.student-feature-grid button:focus-visible{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 55%,#cffafe 100%);border:3px solid #1d4ed8;box-shadow:0 10px 24px #2563eb24}.student-feature-grid button.subject-enrollment:hover{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.student-feature-grid button.subject-enrollment:focus-visible{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 55%,#fce7f3 100%)}.student-feature-grid button.namtalk:hover{background:linear-gradient(135deg,#ccfbf1 0%,#99f6e4 55%,#cffafe 100%);border-color:#0f766e}.student-feature-grid button.namtalk:focus-visible{background:linear-gradient(135deg,#ccfbf1 0%,#99f6e4 55%,#cffafe 100%);border-color:#0f766e}.student-feature-grid button.student-affairs:hover{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 55%,#fed7aa 100%);border-color:#92400e}.student-feature-grid button.student-affairs:focus-visible{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 55%,#fed7aa 100%);border-color:#92400e}.student-feature-grid button.school-meal:hover{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 55%,#fde68a 100%)}.student-feature-grid button.school-meal:focus-visible{background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 55%,#fde68a 100%)}.student-feature-grid button.unavailable{cursor:not-allowed;filter:grayscale(.3);opacity:.64}.student-feature-grid button.unavailable:hover{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 55%,#fdf2f8 100%);border:2px solid #111827;box-shadow:0 6px 16px #2563eb14}.student-feature-grid button.unavailable:focus-visible{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 55%,#fdf2f8 100%);border:2px solid #111827;box-shadow:0 6px 16px #2563eb14}.student-feature-grid strong{font-size:20px;font-weight:950}.student-feature-grid small{color:#475569;text-align:center;overflow-wrap:anywhere;max-width:100%;font-size:12px;font-weight:750;line-height:1.35}.student-test-notice{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:12px;margin-top:16px;padding:13px 15px;font-size:14px;font-weight:850}.student-test-actions{justify-content:flex-end;gap:9px;display:flex}.student-test-actions button{background:#fff;border:2px solid #111827;border-radius:10px;padding:10px 15px;font-weight:900}.student-test-actions .student-logout-button{background:#dbeafe}.student-feature-page{text-align:center}.student-feature-label{color:#2563eb;font-size:14px;font-weight:950}.student-feature-page h1{color:#172554;margin:8px 0 10px;font-size:30px}.student-feature-page>p{color:#475569;margin:0;font-weight:750}.jinhaksa-page-shell{box-sizing:border-box;background:linear-gradient(145deg,#eef2ff,#f5f3ff 48%,#ecfeff);min-height:100vh;padding:24px}.jinhaksa-card{box-sizing:border-box;background:#fffffff5;border:3px solid #8b5cf6;border-radius:28px;width:min(1440px,100%);margin:0 auto;padding:28px;box-shadow:0 22px 50px #4c1d9524}.jinhaksa-card>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.jinhaksa-card>header span{color:#7c3aed;font-size:13px;font-weight:950}.jinhaksa-card>header h1{color:#312e81;margin:4px 0 0;font-size:32px}.jinhaksa-card button{color:#312e81;min-height:44px;font:inherit;cursor:pointer;background:#e0e7ff;border:2px solid #312e81;border-radius:13px;padding:0 18px;font-weight:900}.jinhaksa-card button:hover{background:#c7d2fe}.jinhaksa-card button:focus-visible{background:#c7d2fe}.jinhaksa-card button:disabled{cursor:wait;opacity:.6}.jinhaksa-security-notice{color:#164e63;background:#ecfeff;border:2px solid #67e8f9;border-radius:16px;margin:22px 0 14px;padding:16px 18px;font-weight:850;line-height:1.6}.jinhaksa-submitted{color:#166534;background:#dcfce7;border-radius:13px;margin:0 0 14px;padding:12px 16px;font-weight:850}.jinhaksa-student-form{gap:15px;display:grid}.jinhaksa-student-form label,.jinhaksa-unlock-dialog label{color:#334155;gap:7px;font-weight:900;display:grid}.jinhaksa-student-form input,.jinhaksa-unlock-dialog input{box-sizing:border-box;color:#0f172a;min-height:50px;font:inherit;background:#fff;border:2px solid #94a3b8;border-radius:13px;padding:0 14px}.jinhaksa-student-form input:focus,.jinhaksa-unlock-dialog input:focus{border-color:#7c3aed;outline:3px solid #ddd6fe}.jinhaksa-student-form>button{background:linear-gradient(135deg,#ddd6fe,#bfdbfe);min-height:52px;margin-top:4px}.jinhaksa-message{color:#92400e;background:#fef3c7;border-radius:12px;margin:14px 0 0;padding:12px 15px;font-weight:850}.jinhaksa-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.jinhaksa-roster article{background:#f8fafc;border:2px solid #cbd5e1;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;display:grid}.jinhaksa-roster article.is-submitted{background:#f0fdf4;border-color:#86efac}.jinhaksa-roster article>strong{color:#172554}.jinhaksa-roster article>span{color:#64748b;text-align:right;white-space:nowrap;grid-column:2;font-size:13px;font-weight:800}.jinhaksa-roster article>div{flex-wrap:wrap;grid-column:1/-1;align-items:stretch;gap:6px;width:100%;display:flex}.jinhaksa-roster article button{white-space:nowrap;flex:1 1 0;min-width:0;min-height:36px;padding:0 8px;font-size:12px}.jinhaksa-reveal-toolbar{color:#4c1d95;background:#f5f3ff;border:2px solid #a78bfa;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:850;display:flex}.jinhaksa-credential-values{grid-column:1/-1;gap:6px;margin:0;display:grid}.jinhaksa-credential-values>div{background:#fff;border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;padding:7px 9px;display:grid}.jinhaksa-credential-values dt{color:#64748b;font-size:12px;font-weight:900}.jinhaksa-credential-values dd{overflow-wrap:anywhere;color:#0f172a;min-width:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:850}.jinhaksa-unlock-backdrop{z-index:1000;background:#0f172a8c;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.jinhaksa-unlock-dialog{box-sizing:border-box;background:#fff;border:3px solid #8b5cf6;border-radius:22px;width:min(440px,100%);padding:24px;box-shadow:0 24px 70px #0f172a4d}.jinhaksa-unlock-dialog h2{color:#312e81;margin:0}.jinhaksa-unlock-dialog p{color:#475569;font-weight:750}.jinhaksa-unlock-dialog>div{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (max-width:1120px){.jinhaksa-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.jinhaksa-page-shell{padding:8px}.jinhaksa-card{border-width:2px;border-radius:20px;padding:18px 14px}.jinhaksa-card>header h1{font-size:25px}.jinhaksa-card>header button{padding:0 12px}.jinhaksa-security-notice{padding:13px;font-size:14px}.jinhaksa-roster{grid-template-columns:1fr}.jinhaksa-reveal-toolbar{flex-direction:column;align-items:stretch}}.student-feature-placeholder{color:#475569;background:#eff6ff;border:2px dashed #93c5fd;border-radius:16px;place-items:center;min-height:230px;margin:26px 0;padding:24px;font-weight:850;display:grid}.student-feature-back{background:#dbeafe;border:2px solid #111827;border-radius:11px;padding:11px 17px;font-weight:950}.student-feature-back:hover{background:#bfdbfe}.student-personal-notifications{text-align:left;gap:18px;margin-top:22px;display:grid}.student-personal-notifications>header{border-bottom:1px solid #bae6fd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:15px;display:flex}.student-personal-notifications>header span{color:#0891b2;letter-spacing:.12em;font-size:12px;font-weight:950}.student-personal-notifications>header h2{color:#172554;margin:4px 0 0;font-size:28px}.student-personal-notifications-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.student-personal-notifications-actions>strong{color:#155e75;background:#ecfeff;border:1px solid #67e8f9;border-radius:999px;flex:none;padding:7px 11px;font-size:13px}.student-personal-notifications-actions>button{color:#fff;cursor:pointer;background:#0891b2;border:1px solid #0891b2;border-radius:12px;min-height:38px;padding:8px 15px;font-weight:900}.student-personal-notifications-actions>.student-personal-notifications-back{color:#334155;background:#fff;border-color:#cbd5e1}.student-personal-notifications-empty{text-align:center;background:linear-gradient(145deg,#f0fdfa,#f0f9ff);border:2px dashed #67e8f9;border-radius:18px;align-content:center;place-items:center;gap:10px;min-height:230px;padding:30px;display:grid}.student-personal-notifications-empty .portal-menu-icon{color:#0891b2;width:54px;height:54px}.student-personal-notifications-empty>strong{color:#164e63;font-size:19px}.student-personal-notifications-empty>p{color:#64748b;word-break:keep-all;max-width:520px;margin:0;font-size:14px;font-weight:750;line-height:1.55}.student-personal-notifications>.student-feature-back{justify-self:end}.student-guidance-history-backdrop{z-index:1200;background:#0f172a94;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.student-guidance-history-dialog{text-align:left;background:#fff;border:2px solid #fca5a5;border-radius:18px;gap:12px;width:min(480px,100%);max-height:min(680px,86dvh);padding:20px;display:grid;overflow:auto;box-shadow:0 24px 70px #0f172a47}.student-guidance-history-dialog>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-guidance-history-dialog>header span{color:#dc2626;letter-spacing:.12em;font-size:11px;font-weight:950}.student-guidance-history-dialog h2{color:#7f1d1d;margin:3px 0 0;font-size:23px}.student-guidance-history-dialog>header button{color:#b91c1c;min-height:36px;font:inherit;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:9px;padding:6px 12px;font-weight:900}.student-guidance-history-dialog>p{color:#64748b;margin:0;font-size:13px;font-weight:750}.student-guidance-history-list{gap:8px;display:grid}.student-guidance-history-list article{background:snow;border:1px solid #fecaca;border-radius:11px;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.student-guidance-history-list time{color:#991b1b;font-size:13px;font-weight:950}.student-guidance-history-list article>div{flex-wrap:wrap;gap:5px;display:flex}.student-guidance-history-list article span{color:#991b1b;background:#fee2e2;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.student-guidance-history-empty{color:#94a3b8;text-align:center;padding:28px 12px;font-weight:850}.student-affairs-page{text-align:left;margin-top:4px}.student-affairs-page>header{border-bottom:2px solid #fde68a;justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;display:flex}.student-affairs-page>header span{color:#b45309;letter-spacing:.13em;font-size:12px;font-weight:950}.student-affairs-page>header h1{color:#451a03;margin:4px 0;font-size:32px}.student-affairs-page>header p{color:#78716c;margin:0;font-size:14px;font-weight:800}.student-affairs-page>header button{color:#78350f;min-height:42px;font:inherit;white-space:nowrap;background:#fff7ed;border:2px solid #92400e;border-radius:11px;padding:0 16px;font-weight:950}.student-affairs-tabs{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;gap:8px;margin:18px 0;padding:5px;display:flex}.student-affairs-tabs button{color:#9a3412;min-height:43px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:8px 12px;font-weight:950}.student-affairs-tabs button.is-active{color:#fff;background:#9a3412;box-shadow:0 5px 14px #9a341233}.student-council-calendar-nav{align-items:center;gap:8px!important;display:flex!important}.student-council-calendar-nav button{color:#9a3412;cursor:pointer;background:#fff7ed;border:1px solid #fdba74;border-radius:9px;width:34px;height:34px;font-size:22px;font-weight:950}.student-council-calendar-nav strong{color:#78350f;text-align:center;min-width:104px}.student-council-calendar-layout{grid-template-columns:minmax(0,1.8fr) minmax(210px,.72fr);align-items:start;gap:14px;display:grid}.student-council-calendar{background:#fff;border:1px solid #fed7aa;border-radius:13px;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px;display:grid}.student-council-calendar>b{color:#9a3412;text-align:center;padding:4px 0;font-size:11px}.student-council-calendar>b:first-child{color:#dc2626}.student-council-calendar>i{min-height:62px}.student-council-calendar>button{color:#57534e;min-width:0;min-height:62px;font:inherit;text-align:left;cursor:pointer;background:#fffdfa;border:1px solid #e7e5e4;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;padding:5px;display:flex;overflow:hidden}.student-council-calendar>button.is-today{background:#fffbeb;border:2px solid #f59e0b}.student-council-calendar>button.has-event{background:#fff7ed}.student-council-calendar>button>span{border-radius:50%;align-self:flex-start;place-items:center;width:20px;height:20px;font-size:11px;font-weight:950;display:grid}.student-council-calendar>button.is-today>span{color:#451a03;background:#f59e0b}.student-council-calendar>button small{color:#9a3412;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:900;line-height:1.2;overflow:hidden}.student-council-calendar>button em{color:#78716c;font-size:9px;font-style:normal;font-weight:900}.student-council-calendar-form{background:#fff7ed;border:1px solid #fed7aa;border-radius:13px;gap:9px;padding:13px;display:grid}.student-council-calendar-form h3,.student-council-event-list h3{color:#451a03;margin:0;font-size:16px}.student-council-calendar-form label{color:#78350f;gap:4px;font-size:11px;font-weight:950;display:grid}.student-council-calendar-form input{color:#292524;width:100%;min-height:38px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #fdba74;border-radius:8px;padding:7px 9px}.student-council-calendar-form>button{color:#fff;min-height:39px;font:inherit;cursor:pointer;background:#9a3412;border:0;border-radius:9px;font-weight:950}.student-council-calendar-form>button:disabled{opacity:.55;cursor:wait}.student-council-calendar-form>p{color:#9a3412;margin:0;font-size:11px;font-weight:850;line-height:1.35}.student-council-event-list{gap:7px;display:grid}.student-council-event-list article{background:#fff;border:1px solid #fed7aa;border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;display:grid}.student-council-event-list time{color:#c2410c;font-size:12px;font-weight:950}.student-council-event-list article>div{gap:2px;min-width:0;display:grid}.student-council-event-list strong{color:#292524;font-size:13px}.student-council-event-list small{overflow-wrap:anywhere;color:#78716c;font-size:11px}.student-council-event-list article>button{color:#b91c1c;font:inherit;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:900}.student-affairs-panel{background:linear-gradient(145deg,#fffdf8,#fff);border:1px solid #fed7aa;border-radius:18px;gap:18px;padding:22px;display:grid;box-shadow:0 12px 30px #92400e12}.student-affairs-panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-affairs-panel-heading>div{align-items:center;gap:9px;display:flex}.student-affairs-panel-heading>div>span{color:#451a03;background:#f59e0b;border-radius:50%;place-items:center;width:35px;height:35px;font-size:13px;font-weight:950;display:grid}.student-affairs-panel-heading h2{color:#451a03;margin:0;font-size:23px}.student-affairs-panel-heading>p{color:#78716c;margin:0;font-size:13px;font-weight:800}.student-guidance-form,.student-council-post-form{gap:18px;display:grid}.student-guidance-student-fields{grid-template-columns:minmax(160px,1.35fr) repeat(3,minmax(100px,.7fr)) minmax(140px,1fr);gap:10px;display:grid}.student-guidance-student-fields>label{min-width:0}.student-guidance-student-fields label,.student-guidance-note,.student-council-post-form label,.student-affairs-month-picker{color:#78350f;gap:6px;font-size:13px;font-weight:950;display:grid}.student-guidance-student-fields input,.student-guidance-student-fields select,.student-guidance-note input,.student-council-post-form input,.student-council-post-form textarea,.student-affairs-month-picker input{color:#292524;width:100%;min-height:46px;font:inherit;box-sizing:border-box;background:#fff;border:2px solid #fdba74;border-radius:11px;padding:9px 12px;font-weight:850}.student-guidance-student-fields input[type=date]{min-width:0;max-width:100%}.student-guidance-selected-name output{color:#a8a29e;box-sizing:border-box;background:#fafaf9;border:2px solid #e7e5e4;border-radius:11px;align-items:center;width:100%;min-height:46px;padding:9px 12px;display:flex}.student-guidance-selected-name output.is-selected{color:#166534;background:#f0fdf4;border-color:#22c55e}.student-guidance-note input::placeholder{color:#c4b5a5}.student-council-post-form textarea{resize:vertical;min-height:126px;line-height:1.55}.student-guidance-issues{border:1px solid #fed7aa;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:16px;display:grid}.student-guidance-issues legend{color:#78350f;padding:0 7px;font-weight:950}.student-guidance-issues legend small{color:#78716c;margin-left:7px;font-weight:750}.student-guidance-issues label{color:#57534e;cursor:pointer;background:#fff;border:2px solid #e7e5e4;border-radius:12px;align-items:center;gap:10px;min-height:58px;padding:10px 14px;font-weight:900;display:flex}.student-guidance-issues label.is-checked{color:#7c2d12;background:#ffedd5;border-color:#ea580c}.student-guidance-issues input{accent-color:#c2410c;width:22px;height:22px}.student-affairs-form-actions{align-items:center;gap:13px;display:flex}.student-affairs-form-actions button{color:#fff;min-height:45px;font:inherit;cursor:pointer;background:#9a3412;border:0;border-radius:11px;padding:9px 20px;font-weight:950}.student-affairs-form-actions button:disabled{cursor:wait;opacity:.55}.student-affairs-form-actions p,.student-affairs-status{color:#9a3412;margin:0;font-size:13px;font-weight:900}.student-affairs-month-picker{grid-template-columns:auto minmax(0,1fr);align-items:center;display:flex}.student-affairs-month-picker input{width:160px;min-height:40px}.student-affairs-summary-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.student-affairs-summary-actions>button{color:#fff;min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:#9a3412;border:1px solid #9a3412;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:950}.student-affairs-summary-actions>button:disabled{cursor:wait;opacity:.55}.student-guidance-summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.student-guidance-summary-cards article{background:#fff7ed;border:1px solid #fed7aa;border-radius:13px;gap:5px;padding:15px;display:grid}.student-guidance-summary-cards span{color:#9a3412;font-size:13px;font-weight:900}.student-guidance-summary-cards strong{color:#431407;font-size:28px}.student-guidance-summary-cards small{margin-left:3px;font-size:12px}.student-affairs-table-wrap{background:#fff;border:1px solid #e7e5e4;border-radius:13px;width:100%;overflow-x:auto}.student-affairs-table-wrap table{border-collapse:collapse;color:#44403c;width:100%;font-size:13px}.student-affairs-table-wrap th,.student-affairs-table-wrap td{text-align:center;border-bottom:1px solid #e7e5e4;padding:11px 12px}.student-affairs-table-wrap thead th{color:#7c2d12;white-space:nowrap;background:#fff7ed;font-weight:950}.student-affairs-table-wrap tbody tr:last-child>*{border-bottom:0}.student-guidance-record-table{min-width:820px}.student-guidance-record-table td:nth-child(2){gap:2px;display:grid}.student-guidance-record-table td:nth-child(2) small{color:#78716c}.student-guidance-record-note{white-space:normal;overflow-wrap:anywhere;max-width:280px;text-align:left!important}.student-guidance-record-table td:last-child button,.student-council-post-list button{color:#b91c1c;font:inherit;cursor:pointer;background:#fff1f2;border:1px solid #fca5a5;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:900}.student-guidance-issue-chips{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.student-guidance-issue-chips span{color:#9a3412;background:#ffedd5;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.student-guidance-record-heading,.student-council-list-heading{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.student-guidance-record-heading h3,.student-council-list-heading h3{color:#451a03;margin:0;font-size:18px}.student-guidance-record-heading span,.student-council-list-heading span{color:#78716c;font-size:13px;font-weight:850}.student-affairs-empty{color:#a8a29e;text-align:center;font-weight:850;padding:34px!important}.student-council-post-list{gap:10px;display:grid}.student-council-post-list article{background:#fff;border:1px solid #e7e5e4;border-radius:13px;padding:17px 18px}.student-council-post-list article>header{justify-content:space-between;align-items:flex-start;gap:13px;display:flex}.student-council-post-list h3{color:#292524;margin:0;font-size:17px}.student-council-post-list header p{color:#a8a29e;margin:4px 0 0;font-size:12px;font-weight:800}.student-council-post-body{color:#44403c;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0;line-height:1.65}.student-council-pagination{justify-content:center;align-items:center;gap:12px;display:flex}.student-council-pagination button{color:#9a3412;min-width:70px;min-height:36px;font:inherit;background:#fff7ed;border:1px solid #fdba74;border-radius:9px;font-weight:900}.student-council-pagination button:disabled{opacity:.4}.student-council-pagination span{color:#57534e;font-size:13px;font-weight:900}.school-meal-page{text-align:left}.school-meal-heading{border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.school-meal-heading-main{align-items:center;gap:12px;min-width:0;display:flex}.school-meal-heading label{color:#475569;align-items:center;gap:10px;font-size:14px;font-weight:900;display:flex}.school-meal-heading input{color:#172554;min-height:42px;font:inherit;background:#fff;border:2px solid #93c5fd;border-radius:10px;padding:7px 10px;font-size:16px;font-weight:900}.school-meal-heading button{background:#dbeafe;border:2px solid #111827;border-radius:10px;padding:9px 13px;font-weight:900}.school-meal-heading .school-tool-home-logo{background:0 0;border:0;border-radius:50%;flex:none;padding:0}.school-meal-heading .school-tool-home-logo:hover{background:0 0;transform:rotate(4deg)scale(1.03)}.school-meal-heading .school-tool-home-logo img{width:46px;height:46px}.school-meal-list{gap:14px;margin-top:18px;display:grid}.school-meal-list article{background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-radius:16px;padding:18px 20px}.school-meal-type{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-meal-type strong,.school-meal-type span{border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:5px 12px;font-weight:950;display:inline-flex}.school-meal-type strong{font-size:22px}.school-meal-type span{font-size:18px}.meal-breakfast .school-meal-type strong,.meal-breakfast .school-meal-type span{color:#115e59;background:#ccfbf1;border-color:#5eead4}.meal-lunch .school-meal-type strong,.meal-lunch .school-meal-type span{color:#075985;background:#e0f2fe;border-color:#7dd3fc}.meal-dinner .school-meal-type strong,.meal-dinner .school-meal-type span{color:#9d174d;background:#fce7f3;border-color:#f9a8d4}.school-meal-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin:14px 0 0;padding-left:22px;display:grid}.school-meal-list li{color:#334155;font-size:21px;font-weight:800;line-height:1.45}.school-meal-source{color:#64748b;text-align:right;margin:14px 2px 0;font-size:12px;font-weight:750}.school-meal-allergens{background:#f8fafc;border:1px solid #cbd5e1;border-radius:14px;margin-top:16px}.school-meal-allergens summary{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 15px;font-weight:950}.school-meal-allergens[open] summary{border-bottom:1px solid #cbd5e1}.school-meal-allergen-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px;display:grid}.school-meal-allergen-grid span{color:#475569;background:#fff;border-radius:9px;align-items:center;gap:7px;min-width:0;padding:7px 9px;font-size:13px;font-weight:800;display:flex}.school-meal-allergen-grid strong{color:#172554;background:#e2e8f0;border-radius:999px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:12px;display:inline-grid}.student-test-page.personal-timetable-page{width:min(980px,100%)}.student-test-page.teacher-personal-timetable-page{padding-top:5px}.web-personal-timetable{text-align:left;margin-top:24px}.teacher-personal-timetable-page .web-personal-timetable{margin-top:0}.web-personal-clock{margin-bottom:10px}.web-personal-clock .school-clock-main{grid-template-columns:max-content max-content 82px minmax(180px,1fr)}.web-personal-clock .school-clock-period .weekend-message{white-space:nowrap;flex-direction:row;gap:.35em}.web-personal-heading{background:#eff6ff;border:2px solid #1e3a8a;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.web-personal-heading>div{gap:3px;display:grid}.web-personal-heading strong{color:#172554;font-size:22px;font-weight:950}.web-personal-heading span{color:#475569;font-size:14px;font-weight:850}.web-personal-heading button{background:#dbeafe;border:2px solid #111827;border-radius:10px;padding:9px 13px;font-weight:950}.web-personal-heading button:hover{background:#bfdbfe}.teacher-personal-heading{gap:4px;margin-bottom:12px;display:grid}.teacher-personal-heading>.teacher-personal-title-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.teacher-personal-title-row button{white-space:nowrap;flex:none;align-self:auto;margin-left:auto}.teacher-personal-day-short{display:none}.web-personal-selections{background:#f8fafc;border:1px solid #94a3b8;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:12px 0;padding:12px 14px;display:grid}.web-personal-selections>strong{white-space:nowrap;color:#172554;font-weight:950}.web-personal-selections>div{flex-wrap:wrap;gap:7px;display:flex}.web-personal-selections span{color:#14532d;background:#dcfce7;border:1px solid #16a34a;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:14px;font-weight:950;display:inline-flex}.web-personal-selections span small{color:#475569;font-size:11px;font-weight:800}.web-personal-selections em{color:#64748b;font-size:14px;font-style:normal;font-weight:800}.student-personal-warning{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;margin:10px 0;padding:11px 13px;font-size:14px;font-weight:900}.web-personal-table-scroll{border:2px solid #111827;border-radius:14px;overflow:auto}.web-personal-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:700px}.web-personal-table th,.web-personal-table td{text-align:center;border:1px solid #111827;border-top:0;border-left:0}.web-personal-table tr>:last-child{border-right:0}.web-personal-table tbody tr:last-child>*{border-bottom:0}.web-personal-table thead th{background:#e2e8f0;height:46px;font-size:15px;font-weight:950}.web-personal-table thead th:first-child,.web-personal-table tbody th{width:66px}.web-personal-table tbody th{background:#f1f5f9;font-size:16px;font-weight:950}.web-personal-table td{height:82px;padding:3px;position:relative}.web-personal-table td.hr-block{background:#fff!important}.web-personal-table td.has-conflict{background:#fee2e2!important}.web-current-lesson-marker{z-index:1;background:#dc2626;border-radius:999px;width:12px;height:12px;position:absolute;bottom:5px;right:5px;box-shadow:0 0 0 2px #ffffffe6}.web-personal-lesson{place-items:center;gap:2px;display:grid}.web-personal-lesson+.web-personal-lesson{border-top:1px dashed #dc2626;margin-top:4px;padding-top:4px}.web-personal-lesson strong{font-size:17px;font-weight:850}.web-personal-lesson span{color:#475569;font-size:13px;font-weight:750}.web-personal-lesson small{color:#166534;font-size:10px;font-weight:800}.web-personal-lesson.is-today-changed,.web-personal-lesson.is-today-changed strong,.web-personal-lesson.is-today-changed span{color:#b91c1c}.web-personal-lesson.is-today-mock,.web-personal-lesson.is-today-mock strong,.web-personal-lesson.is-today-mock span{color:#dc2626}.web-personal-lesson.is-today-removed{color:#6b7280;opacity:.78}.web-personal-lesson.is-today-removed strong,.web-personal-lesson.is-today-removed span{color:#6b7280;text-decoration:line-through}.web-personal-lesson small.today-change-changed,.web-personal-lesson small.today-change-mock{color:#dc2626}.web-personal-lesson small.today-change-removed{color:#6b7280}.student-test-page.course-survey-page{width:min(920px,100%)}.student-course-survey{text-align:left;margin-top:24px}.student-survey-heading{background:#f5f3ff;border:2px solid #6d28d9;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.student-survey-heading>div{gap:3px;display:grid}.student-survey-heading strong{color:#4c1d95;font-size:22px;font-weight:950}.student-survey-heading span{color:#64748b;font-size:14px;font-weight:850}.student-survey-heading button,.student-survey-submit-row button{color:#2e1065;background:#ede9fe;border:2px solid #111827;border-radius:10px;padding:9px 13px;font-weight:950}.student-survey-heading button:hover,.student-survey-submit-row button:hover{background:#ddd6fe}.student-survey-notice,.student-survey-error{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;margin:12px 0;padding:11px 13px;font-size:14px;font-weight:850}.student-survey-error{color:#b91c1c;background:#fef2f2;border-color:#ef4444}.student-survey-form{gap:12px;display:grid}.student-survey-target{background:#faf5ff;border:1px solid #c4b5fd;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.student-survey-target strong{color:#4c1d95;font-size:17px}.student-survey-target span{color:#64748b;font-size:13px;font-weight:800}.student-survey-form fieldset{background:#fff;border:1px solid #a78bfa;border-radius:12px;margin:0;padding:12px 14px 14px}.student-survey-form legend{color:#4c1d95;align-items:center;gap:7px;padding:0 6px;font-size:16px;font-weight:950;display:flex}.student-survey-form legend span{color:#fff;background:#7c3aed;border-radius:999px;place-items:center;width:25px;height:25px;font-size:13px;display:grid}.student-survey-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-survey-course-card{background:#f8fafc;border:2px solid #cbd5e1;border-radius:12px;transition:border-color .15s,box-shadow .15s,background .15s;overflow:hidden}.student-survey-course-card:has(input:checked){background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.student-survey-course-card.is-info-open{grid-column:1/-1}.student-survey-options label{cursor:pointer;display:block}.student-survey-options input{opacity:0;pointer-events:none;position:absolute}.student-survey-course-main{color:#334155;text-align:left;gap:6px;min-height:76px;padding:12px;display:grid}.student-survey-course-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-survey-course-heading strong{color:#1e293b;font-size:16px;font-weight:950}.student-survey-course-heading>span{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:4px;display:flex}.student-survey-course-heading small{color:#475569;white-space:nowrap;background:#e2e8f0;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:900}.student-survey-course-summary{color:#64748b;font-size:13px;font-weight:750;line-height:1.45}.student-survey-options input:checked+.student-survey-course-main .student-survey-course-heading strong{color:#4c1d95}.student-survey-options input:focus-visible+.student-survey-course-main{outline-offset:-3px;outline:3px solid #2563eb40}.student-survey-course-info{color:#475569;border-top:1px solid #ddd6fe;gap:8px;padding:11px 12px 13px;font-size:12px;display:grid}.student-survey-course-info>strong{color:#6d28d9;font-size:13px;font-weight:950}.student-survey-course-info dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:0;display:grid}.student-survey-course-info dl>div{grid-template-columns:64px minmax(0,1fr);gap:8px;display:grid}.student-survey-course-info dl>div.wide{grid-column:1/-1}.student-survey-course-info dt{color:#64748b;font-weight:900}.student-survey-course-info dd{color:#334155;white-space:pre-wrap;margin:0;font-weight:750;line-height:1.55}.student-survey-course-info>p{color:#64748b;margin:0}.student-survey-review{background:#fff;border:2px solid #7c3aed;border-radius:16px;gap:14px;padding:18px;display:grid;box-shadow:0 10px 28px #4c1d9514}.student-survey-review>header{align-items:center;gap:12px;display:flex}.student-survey-review>header>span{color:#fff;background:#7c3aed;border-radius:999px;flex:none;place-items:center;width:42px;height:42px;font-size:24px;font-weight:950;display:grid}.student-survey-review h2{color:#4c1d95;margin:0;font-size:22px;font-weight:950}.student-survey-review header p{color:#64748b;margin:3px 0 0;font-size:13px;font-weight:750}.student-survey-review-groups{gap:9px;display:grid}.student-survey-review-groups article{background:#faf5ff;border:1px solid #ddd6fe;border-radius:12px;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:12px;display:grid}.student-survey-review-groups article>div{align-items:center;gap:8px;min-width:0;display:flex}.student-survey-review-groups article>div>span{color:#fff;background:#7c3aed;border-radius:999px;flex:none;place-items:center;width:25px;height:25px;font-size:12px;font-weight:950;display:grid}.student-survey-review-groups article>div>strong{color:#4c1d95;min-width:0;font-size:14px;font-weight:950}.student-survey-review-groups article>div>small{color:#7c3aed;white-space:nowrap;margin-left:auto;font-size:11px;font-weight:900}.student-survey-review-groups ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.student-survey-review-groups li{color:#312e81;background:#fff;border:1px solid #a78bfa;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:14px;font-weight:950;display:inline-flex}.student-survey-review-groups li small{color:#64748b;font-size:10px;font-weight:850}.student-survey-applicant-counts{background:#f8f7ff;border:1px solid #c4b5fd;border-radius:14px;gap:12px;padding:15px;display:grid}.student-survey-applicant-counts>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-survey-applicant-counts h3{color:#312e81;margin:0;font-size:18px;font-weight:950}.student-survey-applicant-counts header p{color:#64748b;margin:3px 0 0;font-size:12px;font-weight:750}.student-survey-applicant-counts header>strong{color:#5b21b6;background:#ede9fe;border-radius:999px;flex:none;padding:6px 9px;font-size:12px;font-weight:950}.student-survey-counts-status{color:#64748b;text-align:center;background:#fff;border-radius:10px;margin:0;padding:12px;font-size:13px;font-weight:800}.student-survey-counts-status.is-error{color:#be123c;background:#fff1f2}.student-survey-count-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-survey-count-groups article{background:#fff;border:1px solid #ddd6fe;border-radius:11px;min-width:0;padding:12px}.student-survey-count-groups h4{color:#4c1d95;margin:0 0 9px;font-size:14px;font-weight:950}.student-survey-count-groups ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.student-survey-count-groups li>div{align-items:center;gap:6px;display:flex}.student-survey-count-groups li strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:850;overflow:hidden}.student-survey-count-groups li small{color:#6d28d9;background:#ede9fe;border-radius:999px;flex:none;padding:2px 5px;font-size:9px;font-weight:950}.student-survey-count-groups li b{color:#475569;white-space:nowrap;margin-left:auto;font-size:12px;font-weight:950}.student-survey-count-groups li>span{background:#e2e8f0;border-radius:999px;height:5px;margin-top:4px;display:block;overflow:hidden}.student-survey-count-groups li>span i{border-radius:inherit;background:#a78bfa;height:100%;display:block}.student-survey-count-groups li.is-selected>span i{background:#7c3aed}.student-survey-applicant-counts>small{color:#64748b;text-align:right;font-size:11px;font-weight:750}.student-survey-review-time{color:#64748b;text-align:right;margin:0;font-size:12px;font-weight:800}.student-survey-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.student-survey-review-actions button{color:#4c1d95;background:#ede9fe;border:2px solid #7c3aed;min-height:46px;padding:10px 14px;font-size:15px;font-weight:950}.student-survey-review-actions button.contact{color:#fff;background:#7c3aed}.student-survey-review-actions>small{color:#64748b;text-align:right;grid-column:1/-1;font-size:12px;font-weight:800}.student-survey-submit-row{justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.student-survey-submit-row>span{color:#64748b;font-size:13px;font-weight:800}.student-survey-submit-row button{background:#ddd6fe;min-width:145px;padding:11px 16px;font-size:16px}.student-survey-submit-row button:disabled{cursor:wait;opacity:.65}@media (max-width:760px){.file-management-shell{padding:10px}.file-management-card{border-width:2px;border-radius:18px;min-width:0;padding:16px 12px}.file-management-card>header{align-items:flex-start}.file-management-card>header h1{font-size:26px}.file-management-card>header p{font-size:12px}.file-management-card>header button{flex:none;min-height:38px;padding:0 10px;font-size:12px}.file-management-toolbar{flex-direction:column;align-items:stretch}.file-management-toolbar button{width:100%}.file-management-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.file-management-summary article{min-height:78px;padding:8px}.file-management-summary strong{font-size:22px}.file-management-breakdown{grid-template-columns:1fr}.file-management-list>header{flex-direction:column;align-items:flex-start}.file-management-list small{text-align:left}.site-management-shell{padding:10px}.site-management-card{border-width:2px;border-radius:18px;padding:16px 12px}.site-management-card>header{align-items:flex-start}.site-management-card>header h1{font-size:26px}.site-management-card>header p{font-size:12px}.site-management-card>header button{flex:none;min-height:38px;padding:0 10px;font-size:12px}.site-management-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px;padding:5px}.site-management-tabs button{min-height:42px;font-size:13px}.admin-security-management{padding:13px 10px}.admin-security-management>header{align-items:flex-start}.admin-security-management>header h2{font-size:21px}.admin-security-management>header button{min-height:36px;padding:0 9px;font-size:12px}.admin-security-enabled{flex-direction:column;align-items:flex-start}.admin-security-devices article{flex-direction:column;align-items:stretch}.admin-security-devices article button{width:100%}.admin-security-secret{flex-direction:column;align-items:stretch}.admin-security-secret button{width:100%}.site-management-actions{grid-template-columns:1fr;display:grid}.site-management-actions button{width:100%}.site-academic-term-panel>header{align-items:flex-start}.site-academic-term-grid,.site-management-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.site-management-counts span{text-align:center;min-height:68px;font-size:12px}.site-audit-table-wrap{max-height:58vh}.site-audit-table-wrap table{min-width:720px}.personal-notification-management-shell{padding:10px}.personal-notification-management-card{border-width:2px;border-radius:18px;min-width:0;padding:16px 12px;overflow-x:hidden}.personal-notification-management-card>header{align-items:flex-start}.personal-notification-management-card>header h1{font-size:26px}.personal-notification-management-card>header p{font-size:12px}.personal-notification-management-card>header button{flex:none;min-height:38px;padding:0 10px;font-size:12px}.personal-notification-form{grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:8px}.personal-notification-form input[type=datetime-local]{width:100%;min-width:0;max-width:100%;padding:9px 7px;font-size:13px;display:block}.personal-notification-student-selects{grid-template-columns:1.1fr .72fr 1.18fr}.personal-notification-student-picker{grid-template-columns:minmax(92px,1.15fr) minmax(0,2fr);gap:5px}.personal-notification-student-picker input,.personal-notification-student-picker select{padding-inline-start:5px;padding-inline-end:5px;font-size:12px}.personal-notification-student-search-results{grid-template-columns:1fr}.personal-notification-teacher-picker{padding:10px}.personal-notification-teacher-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.personal-notification-teacher-grid button{min-height:38px;padding-inline-start:1px;padding-inline-end:1px;font-size:12px}.personal-notification-form-wide{grid-column:1/-1}.personal-notification-form-actions{justify-content:stretch}.personal-notification-form-actions button{flex:1;padding:0 9px;font-size:13px}.web-global-copyright{letter-spacing:.05em;gap:7px;margin:3px auto 7px;font-size:8px}.web-home-card,.unified-login-card,.public-meal-page,.utility-hub-shell,.help-shell,.version-history-shell,.staff-portal-card,.student-home-stage .student-test-page{view-transition-name:none}.web-home{place-items:start center;padding:10px 10px 16px}.web-home-stage{width:100%;min-width:0;max-width:100%}.web-staff-app-shell{height:auto;min-height:100dvh;overflow:hidden visible}.web-staff-app-shell>.attendance-app{height:auto;min-height:100dvh;overflow:visible}.web-staff-app-shell .attendance-header.subject-management-header,.web-staff-app-shell .attendance-header.evaluation-header{min-height:64px;box-shadow:none!important;background:0 0!important;border:0!important;padding:6px 8px!important}.web-staff-app-shell .attendance-layout,.web-staff-app-shell .evaluation-layout,.web-staff-app-shell .attendance-workspace,.web-staff-app-shell .evaluation-workspace{height:auto;min-height:0;overflow:visible}.web-staff-app-shell .attendance-header{box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.web-staff-app-shell .attendance-header-brand{box-sizing:border-box;background:#fff;border:2px solid #111827;border-radius:12px}.web-staff-app-shell .attendance-header-title{z-index:1;pointer-events:none;justify-content:center;align-items:center;display:flex;top:0;bottom:0;left:64px;right:78px;position:absolute!important}.web-staff-app-shell .attendance-header-title h1{height:auto;min-height:0;box-shadow:none;opacity:1;visibility:visible;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important;font-size:clamp(22px,7vw,27px)!important;display:inline-flex!important}.web-staff-app-shell .attendance-header .school-clock{display:none}.web-home-card{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:8px;width:100%;min-width:0;max-width:100%;min-height:0;padding:34px 12px clamp(14px,2.4vh,20px)}.web-home-copyright{letter-spacing:.08em;flex-wrap:wrap;gap:5px 8px;margin-top:9px;font-size:9px}.web-home-copyright a{font-size:10px}.web-home-clock{display:none}.web-home-clock .school-clock{width:100%;min-height:48px;display:block;transform:none}.web-home-clock .school-clock-main{grid-template-columns:minmax(126px,1.25fr) minmax(78px,.9fr) 42px minmax(68px,.8fr);min-height:48px}.web-personal-clock .school-clock-main{grid-template-columns:minmax(126px,1.25fr) minmax(78px,.9fr) 42px minmax(68px,.8fr)}.web-home-clock .school-clock-date-unit{width:100%;height:28px;padding:0;font-size:18px}.web-home-clock .school-clock-date-flip{padding:0}.web-home-clock .split-date-cards .school-clock-date-unit{width:auto;padding:0 1px;font-size:18px}.web-home-clock .school-clock-time{padding:0 5px}.web-home-clock .school-clock-time .school-clock-flip-unit{width:27px;height:28px;padding:0 1px;font-size:18px}.web-home-clock .school-clock-colon{font-size:18px}.web-home-clock .school-clock-middle,.web-home-clock .school-clock-period{min-width:0}.web-home-clock .school-clock-period strong{font-size:16px}.web-home-clock .school-clock-period strong.current-period{white-space:nowrap;font-size:26px;line-height:1}.web-home-clock .school-clock-period strong.lunch,.web-home-clock .school-clock-period strong.break{font-size:20px}.web-home-clock .school-clock-period strong.night,.web-home-clock .school-clock-period strong.after-hours-message{white-space:normal;font-size:clamp(16px,4.4vw,19px)}.web-home-clock .school-clock-period strong.weekend-message{font-size:17px}.web-home-clock .school-clock-period .school-clock-current-chip{min-width:29px;height:16px;padding:0 4px;font-size:10px}.web-home-weather{gap:1px}.web-home-weather-icon{font-size:20px}.web-home-weather-temperature{font-size:10px}.web-logo-spinner{border-radius:0;justify-self:center;width:129px;height:129px;margin-top:20px;padding:0}.web-title{text-align:center;min-width:0;margin-bottom:30px}.web-title p{white-space:normal;overflow-wrap:anywhere;margin-bottom:5px;font-size:14px}.web-title h1{border-radius:17px;padding:8px 18px 10px;font-size:44px}.web-login-entry-grid{margin-inline-start:0;margin-inline-end:0;grid-template-columns:minmax(0,1fr);gap:20px;width:100%;min-width:0;margin-top:8px}.web-login-entry{border-radius:14px;flex-direction:row;justify-content:flex-start;gap:14px;min-width:0;min-height:89px;padding:8px 16px}.web-login-entry.login{min-height:106px}.web-login-entry .portal-menu-icon{width:25px;height:25px}.web-login-entry.login .portal-menu-icon{width:28px;height:28px}.web-login-entry-copy{text-align:left;gap:2px;padding:0}.web-login-entry-copy strong{font-size:23px}.web-login-entry.login .web-login-entry-copy strong{font-size:25px}.viewer-shell{padding:8px}.viewer-header{flex-wrap:wrap}.header-actions{width:100%}.header-actions button{flex:1}.view-tabs button{padding:9px 4px;font-size:14px}.grade-selector{grid-template-columns:repeat(2,1fr);display:grid}.selector-bar button{min-width:0}.single-timetable-card{padding:6px}.whole-timetable tbody tr,.single-timetable tbody tr{height:auto}.whole-timetable .lesson,.single-timetable .lesson{gap:0;min-height:0;padding:2px 0;line-height:1.2}.whole-timetable .empty-cell,.single-timetable .empty-cell{min-height:1.8em}.whole-timetable .lesson strong{font-size:clamp(5px,1.9vw,8px)}.whole-timetable .lesson span{font-size:clamp(5px,1.55vw,7px)}.single-timetable .lesson strong{font-size:clamp(11px,4vw,16px)}.single-timetable .lesson span{font-size:clamp(9px,3.2vw,13px)}.single-timetable tbody th{font-size:13px}.single-timetable tr>:not(:last-child){border-right:2px solid #111827}.student-auth-shell{padding:10px}.student-home-shell,.portal-subpage-shell{place-items:start center}.student-auth-card,.student-test-page{padding:30px 22px 24px}.student-auth-card{padding:18px 18px 24px}.student-auth-toolbar{margin-bottom:4px}.student-auth-brand{gap:13px;padding:3px 0 16px}.student-auth-logo,.student-auth-logo-button img{border-radius:17px;width:78px;height:78px;padding:4px}.student-auth-title h1{font-size:29px}.student-auth-title p{font-size:12px;line-height:1.35}.student-login-form{margin-top:16px}.student-home-stage .student-test-page{padding:8px}.student-test-header{border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px}.student-test-header h1{font-size:clamp(19px,6vw,24px);line-height:1.2}.student-test-header p{font-size:12px;line-height:1.35}.student-test-header img{border-radius:13px;width:56px;height:56px;padding:4px}.student-test-header .portal-session-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;width:100%;display:grid}.student-test-header .portal-session-actions button{box-sizing:border-box;white-space:nowrap;width:100%;min-width:0;min-height:42px;padding:6px 8px;font-size:12px}.student-test-header .portal-session-namtalk-mark{flex-basis:18px;width:18px;height:18px}.roster-student-click-hint,.roster-heading-actions{display:none!important}.roster-grid{grid-template-columns:minmax(0,1fr)!important}.student-test-content{padding-top:10px}.student-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.student-feature-grid-one{grid-template-columns:1fr}.student-feature-grid button{gap:3px;min-height:84px;padding:8px 6px}.student-feature-grid .portal-menu-icon{width:24px;height:24px}.student-feature-grid button.namtalk .portal-session-namtalk-mark{border-radius:8px;width:28px;height:28px}.student-feature-grid strong{font-size:16px}.student-feature-grid small{font-size:10px;line-height:1.2}.student-affairs-page{width:100%;min-width:0;margin-top:0;overflow:hidden}.student-affairs-page>header{align-items:center;gap:10px;padding:2px 2px 14px}.student-affairs-page>header h1{margin:2px 0;font-size:25px;line-height:1.15}.student-affairs-page>header p{word-break:keep-all;max-width:230px;font-size:12px;line-height:1.35}.student-affairs-page>header button{border-width:1px;min-height:38px;padding:0 11px;font-size:12px}.student-affairs-tabs{border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:12px 0;padding:4px;display:grid;overflow:visible}.student-affairs-tabs button{word-break:keep-all;min-width:0;min-height:42px;padding:7px 3px;font-size:12px;line-height:1.2}.student-affairs-panel{box-shadow:none;border-radius:14px;gap:14px;padding:12px}.student-affairs-panel-heading{flex-direction:column;align-items:stretch;gap:8px}.student-affairs-panel-heading>div{gap:7px}.student-affairs-panel-heading>div>span{width:30px;height:30px;font-size:11px}.student-affairs-panel-heading h2{font-size:20px}.student-affairs-panel-heading>p{word-break:keep-all;padding-left:37px;font-size:11px;line-height:1.4}.student-council-calendar-nav{justify-content:center}.student-council-calendar-layout{grid-template-columns:1fr;gap:10px}.student-council-calendar{gap:2px;padding:5px}.student-council-calendar>i,.student-council-calendar>button{min-height:48px}.student-council-calendar>button{border-radius:6px;padding:3px}.student-council-calendar>button>span{width:17px;height:17px;font-size:10px}.student-council-calendar>button small{font-size:8px}.student-council-calendar-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-council-calendar-form h3,.student-council-calendar-form label:nth-of-type(3),.student-council-calendar-form>p{grid-column:1/-1}.student-council-calendar-form>button{align-self:end}.student-guidance-history-dialog{border-radius:15px;padding:15px}.student-guidance-history-dialog h2{font-size:20px}.student-guidance-history-list article{grid-template-columns:1fr;gap:6px}.student-guidance-form,.student-council-post-form{gap:14px}.student-guidance-student-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px}.student-guidance-student-fields label:first-child,.student-guidance-selected-name{grid-column:1/-1}.student-guidance-student-fields label,.student-guidance-note{gap:5px;font-size:12px}.student-guidance-student-fields input,.student-guidance-student-fields select,.student-guidance-note input{min-height:44px;padding:8px;font-size:14px}.student-guidance-selected-name output{min-height:44px;padding:8px 11px;font-size:16px;font-weight:950}.student-guidance-issues{grid-template-columns:1fr;gap:7px;padding:10px}.student-guidance-issues legend{padding:0 4px;font-size:13px}.student-guidance-issues legend small{margin:3px 0 0;font-size:10px;display:block}.student-guidance-issues label{min-height:48px;padding:8px 12px}.student-guidance-issues input{width:24px;height:24px}.student-guidance-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.student-guidance-summary-cards article{padding:12px}.student-guidance-summary-cards span{font-size:11px}.student-guidance-summary-cards strong{font-size:24px}.student-affairs-month-picker{justify-content:space-between;width:100%}.student-affairs-month-picker input{width:min(170px,62%)}.student-affairs-summary-actions{grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.student-affairs-summary-actions>button{min-height:44px;padding:8px 10px;font-size:12px}.student-guidance-grade-table{table-layout:fixed;font-size:11px!important}.student-guidance-grade-table th,.student-guidance-grade-table td{padding:9px 3px}.student-guidance-record-heading{margin-top:0}.student-guidance-record-table{min-width:0;display:block;border-collapse:separate!important}.student-guidance-record-table thead{display:none}.student-guidance-record-table tbody{gap:9px;padding:9px;display:grid}.student-guidance-record-table tbody tr{background:#fffdf8;border:1px solid #fed7aa;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:11px;display:grid}.student-guidance-record-table tbody td{text-align:left;overflow-wrap:anywhere;border:0;grid-column:1/-1;padding:4px 0;display:block}.student-guidance-record-table tbody td:before{color:#9a3412;margin-bottom:3px;font-size:10px;font-weight:950;display:block}.student-guidance-record-table tbody td:first-child{color:#78350f;grid-column:1;font-weight:950}.student-guidance-record-table tbody td:first-child:before{content:"날짜"}.student-guidance-record-table tbody td:nth-child(2):before{content:"학생"}.student-guidance-record-table tbody td:nth-child(3):before{content:"지도 항목"}.student-guidance-record-table tbody td:nth-child(4):before{content:"기타사항"}.student-guidance-record-table tbody td:nth-child(5):before{content:"기록자"}.student-guidance-record-table tbody td:nth-child(6){grid-area:1/2;align-self:center;padding:0}.student-guidance-record-table tbody td:nth-child(6):before{content:none}.student-guidance-record-table td:nth-child(2){grid-template-columns:auto minmax(0,1fr);justify-content:start;align-items:baseline;gap:3px 7px;display:grid}.student-guidance-record-table td:nth-child(2):before{grid-column:1/-1}.student-guidance-record-table td:nth-child(2) small{font-size:13px;font-weight:850}.student-guidance-record-note{max-width:none}.student-guidance-issue-chips{justify-content:flex-start}.student-guidance-record-table tbody tr:has(.student-affairs-empty){border:0;padding:0;display:block}.student-guidance-record-table .student-affairs-empty{text-align:center;padding:28px 12px!important}.student-guidance-record-table .student-affairs-empty:before{content:none}.student-affairs-form-actions{flex-direction:column;align-items:stretch}.student-affairs-form-actions button{width:100%}.student-affairs-form-actions p{text-align:center;line-height:1.4}.student-council-post-list article{padding:14px}.student-council-post-list article>header{gap:8px}.student-council-post-list h3{font-size:15px;line-height:1.35}.student-council-post-body{margin-top:10px;font-size:13px;line-height:1.6}.school-meal-heading{align-items:stretch}.school-meal-heading-main{gap:8px}.school-meal-heading .school-tool-home-logo img{width:40px;height:40px}.school-meal-heading label{flex-direction:column;align-items:flex-start;gap:5px}.school-meal-list ul{grid-template-columns:1fr}.school-meal-allergen-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}.student-auth-shell{overflow-x:hidden}.teacher-personal-shell{place-items:start center;min-height:100dvh;padding:10px 4px;overflow-y:auto}.student-test-page.personal-timetable-page{width:100%;max-width:100%;padding:22px 6px;overflow:hidden}.student-test-page.personal-timetable-page .web-personal-clock{display:none}.student-test-page.teacher-personal-timetable-page{min-width:0;padding:5px 4px 16px;overflow:hidden visible}.web-personal-timetable{width:100%;min-width:0;margin-top:18px}.teacher-personal-timetable-page .web-personal-timetable{margin-top:0}.web-personal-heading{flex-direction:column;align-items:flex-start;gap:9px;padding:11px 10px}.teacher-personal-heading{justify-content:stretch;place-items:stretch stretch;gap:4px;width:100%;min-width:0;margin-bottom:10px;padding:9px 8px;display:grid}.teacher-personal-heading>.teacher-personal-title-row{grid-template-columns:minmax(0,1fr) auto;justify-self:stretch;align-items:center;gap:8px;width:auto;min-width:0;display:grid}.teacher-personal-title-row strong{overflow-wrap:anywhere;min-width:0;font-size:clamp(15px,4.7vw,18px);line-height:1.2}.teacher-personal-title-row button{place-self:center end;min-height:36px;margin-left:0;padding:7px 10px;font-size:13px}.teacher-personal-management-button{display:none}.teacher-personal-heading>span{font-size:12px;line-height:1.3}.teacher-personal-day-long{display:none}.teacher-personal-day-short{display:inline}.web-personal-heading strong{font-size:18px}.web-personal-heading button{align-self:stretch}.web-personal-selections{grid-template-columns:1fr;gap:8px;min-width:0;padding:10px}.web-personal-selections>div{min-width:0}.web-personal-selections span{white-space:normal;max-width:100%}.web-personal-table-scroll{border-radius:10px;width:100%;overflow:hidden}.web-personal-table{width:100%;min-width:0}.web-personal-table thead th{height:36px;padding:1px;font-size:11px}.web-personal-table thead th:first-child,.web-personal-table tbody th{width:30px}.web-personal-table tbody th{padding:1px;font-size:12px}.web-personal-table td{height:64px;padding:1px;overflow:hidden}.web-personal-table.teacher-home-timetable td{height:clamp(40px,11vw,46px)}.teacher-personal-timetable-page .web-personal-table td{height:clamp(52px,15vw,64px)}.web-personal-lesson{gap:1px;min-width:0}.web-personal-lesson strong{overflow-wrap:anywhere;max-width:100%;font-size:clamp(8px,2.8vw,11px);line-height:1.15}.web-personal-lesson span{overflow-wrap:anywhere;max-width:100%;font-size:clamp(7px,2.35vw,9px)}.web-personal-lesson small{overflow-wrap:anywhere;max-width:100%;font-size:7px;line-height:1.15}.student-test-page.course-survey-page{padding:24px 12px}.student-survey-heading{align-items:flex-start}.student-survey-heading strong{font-size:18px}.student-survey-target,.student-survey-submit-row{flex-direction:column;align-items:stretch}.student-survey-options{grid-template-columns:1fr}.staff-portal-shell{place-items:start center;padding:6px}.staff-portal-card{border-radius:18px;flex-direction:column;padding:14px 12px 16px;display:flex}.staff-portal-card>header{order:1}.staff-portal-card>.teacher-today-dashboard{order:2}.staff-portal-card>.staff-primary-workspace{order:3}.staff-portal-card>header{grid-template-columns:auto minmax(0,1fr);gap:9px;padding-bottom:12px}.staff-portal-card>header .portal-home-logo-button img{width:58px;height:58px}.staff-portal-card>header h1{margin:2px 0 4px;font-size:23px}.staff-portal-card>header p{font-size:12px}.staff-portal-card>header .portal-session-actions,.staff-portal-card>header .portal-session-actions.admin-actions,.staff-portal-card>header .portal-session-actions.teacher-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;width:100%;display:grid}.staff-portal-card>header .portal-session-actions button{box-sizing:border-box;white-space:nowrap;width:100%;min-width:0;min-height:42px;padding:6px 7px;font-size:12px}.staff-portal-card>header .portal-session-namtalk-mark{flex-basis:18px;width:18px;height:18px}.staff-portal-actions{grid-column:1/-1}.staff-portal-actions button{flex:1}.teacher-today-dashboard{border-radius:14px;margin-top:10px;padding:9px}.teacher-today-lessons-heading{flex-wrap:wrap;gap:5px}.teacher-today-lessons-heading strong{margin-right:2px;font-size:20px}.teacher-today-date-chip,.teacher-today-weekday-chip{min-height:22px;padding-inline-start:7px;padding-inline-end:7px;font-size:14px!important}.teacher-home-timetable-scroll{margin-top:6px}.teacher-today-work-heading{margin-top:10px}.teacher-today-dashboard h2{font-size:20px}.teacher-today-dashboard>nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.teacher-today-dashboard>nav button{gap:5px;min-height:50px;padding:5px 7px;font-size:15px}.teacher-today-dashboard>nav .portal-menu-icon{width:18px;height:18px}.teacher-work-summary{margin-top:7px}.staff-student-search,.staff-management-menu{border-radius:14px;margin-top:12px;padding:11px}.staff-portal-grid,.staff-portal-grid.has-admin-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.staff-portal-grid button{gap:2px;min-height:68px;padding:6px}.staff-portal-grid .portal-menu-icon{width:20px;height:20px}.staff-portal-grid strong{font-size:15px}.staff-portal-grid small{font-size:9px;line-height:1.15}.web-home.has-announcement{grid-template-columns:minmax(0,1fr);gap:0}.web-home-announcement-stack.is-mobile{width:min(360px,100vw - 24px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.web-home-announcement-stack.is-mobile .web-home-announcement{padding:13px}.announcement-management-shell{padding:8px;overflow-x:hidden}.announcement-management-card{min-width:0;padding:20px 14px}.announcement-management-card>header{align-items:flex-start}.announcement-management-card>header h1{font-size:27px}.announcement-management-card>header p{display:none}.announcement-create-form,.announcement-period-fields,.announcement-period-fields label{width:100%;min-width:0;max-width:100%}.announcement-period-fields{grid-template-columns:minmax(0,1fr)}.announcement-period-fields input[type=datetime-local]{width:100%;min-width:0;max-width:100%;padding:9px 7px;font-size:13px;display:block}.announcement-review-backdrop{padding:10px}.announcement-review-dialog{border-width:2px;border-radius:16px;max-height:calc(100dvh - 20px);padding:17px 14px}.announcement-review-dialog h2{font-size:23px}.announcement-review-dialog dl>div{grid-template-columns:1fr;gap:4px}.announcement-review-actions{grid-template-columns:1fr}.announcement-history-actions{flex-direction:column;align-items:flex-start;gap:7px}.announcement-item-buttons{align-self:flex-end}.announcement-history-actions button{min-height:31px;padding:0 9px}.staff-meeting-shell{padding:8px;overflow-x:hidden}.staff-meeting-card{min-width:0;padding:20px 14px}.staff-meeting-card>header{align-items:flex-start}.staff-meeting-card>header h1{font-size:27px}.staff-meeting-card>header p{display:none}.staff-meeting-create{flex-direction:column;align-items:stretch}.staff-meeting-editor{padding:14px 11px}.staff-meeting-document-title{flex-direction:column;align-items:stretch}.staff-meeting-document-title>div{align-items:center}.staff-meeting-title-date{flex-wrap:wrap;align-items:center}.staff-meeting-new-controls{flex-direction:column;align-items:stretch}.staff-meeting-current-output{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staff-meeting-department-row{grid-template-columns:78px minmax(0,1fr)}.staff-meeting-department-row>strong{padding:8px 3px;font-size:13px}.staff-meeting-department-row>div{padding:6px}.staff-meeting-section-actions{flex-direction:column;align-items:stretch}.staff-meeting-section-actions button{align-self:flex-end}.staff-meeting-list summary{grid-template-columns:90px minmax(0,1fr)}.staff-meeting-list summary small{grid-column:1/-1}.staff-meeting-archive-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.staff-meeting-archive-actions button{min-width:0;padding:0 4px}.staff-meeting-archive-table>div{grid-template-columns:78px minmax(0,1fr)}.staff-meeting-archive-table strong{padding:8px 3px;font-size:12px}.staff-meeting-editor-row{grid-template-columns:minmax(0,1fr)}.staff-meeting-editor-actions button[type=submit]{flex:1;min-width:0}.staff-meeting-record-heading h3{font-size:16px}.member-management-shell{padding:8px;overflow-x:hidden}.member-management-card{min-width:0;padding:20px 8px;overflow:hidden}.member-management-card>header{align-items:flex-start}.member-management-card>header h1{font-size:27px}.member-management-card>header p{display:none}.member-management-card>header button{white-space:nowrap;flex:none;min-height:40px;padding:0 9px;font-size:12px}.member-create-panel summary small{display:none}.member-create-form{grid-template-columns:1fr}.member-create-form .member-create-password,.member-create-form .member-checkbox{grid-column:1}.member-filter-row{grid-template-columns:54px 1fr;gap:8px}.member-filter-category-row{grid-template-columns:54px 1fr auto}.member-filter-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.member-filter-buttons button{min-width:0;padding:0 6px}.member-filter-count{min-width:58px;padding:0 8px}.member-class-filter-content{flex-direction:column;align-items:stretch}.member-class-filter-content>.member-filter-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}.member-filter-search{grid-template-columns:42px 1fr}.member-create-panel,.member-filter-bar,.member-table-wrap{min-width:0;max-width:100%}.member-table-wrap{overflow-x:hidden}.member-table{table-layout:fixed;font-size:10px}.member-table th,.member-table td{text-overflow:ellipsis;white-space:nowrap;padding:3px 2px;line-height:1.05;overflow:hidden}.member-table th:first-child,.member-table td:first-child{width:9%}.member-table th:nth-child(2),.member-table td:nth-child(2){width:10%}.member-table th:nth-child(3),.member-table td:nth-child(3),.member-table th:nth-child(4),.member-table td:nth-child(4){width:13%}.member-table th:nth-child(5),.member-table td:nth-child(5){width:12%}.member-table th:nth-child(6),.member-table td:nth-child(6){width:24%}.member-table th:nth-child(7),.member-table td:nth-child(7){width:19%}.member-homeroom-select{min-height:22px;padding:0 2px;font-size:8px}.member-status-cell strong,.member-status-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-status-cell span{letter-spacing:-.03em;margin-top:1px;font-size:8px}.member-actions{flex-direction:column;align-items:stretch;gap:2px}.member-management-header-actions,.member-management-inline-actions{flex-wrap:wrap}.member-management-header-actions button,.member-management-inline-actions button{min-height:28px;padding:3px 7px;font-size:10px}.member-create-actions{grid-template-columns:1fr}.member-actions button{white-space:nowrap;border-width:1px;border-radius:5px;width:100%;min-width:0;min-height:20px;padding:0 1px;font-size:8.5px;line-height:1}.member-access-level-cell button.student-affairs,.member-access-level-cell button.staff-admin{border-width:1px;min-height:22px;padding:0 3px;font-size:8px}.member-admin-property{min-height:20px;padding:0 2px;font-size:8.5px}}@media print{.web-global-copyright{display:none!important}}.staff-portal-shell :-webkit-any(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.staff-portal-shell :is(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.today-school-screen :-webkit-any(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.today-school-screen :is(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.announcement-management-shell :-webkit-any(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.announcement-management-shell :is(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.staff-meeting-shell :-webkit-any(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}.staff-meeting-shell :is(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:4px solid #f59e0b;box-shadow:0 0 0 2px #fff}@media (prefers-reduced-motion:reduce){.staff-portal-shell *,.today-school-screen *,.announcement-management-shell *,.staff-meeting-shell *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:760px){.today-school-actions,.today-school-inline-info-actions{width:100%}.today-school-actions button,.today-school-inline-info-actions button,.announcement-management-card button,.staff-meeting-card button{min-height:44px}.today-school-inline-info-actions{flex-wrap:wrap;align-items:stretch}.today-school-inline-info-actions .persistence-badge{width:100%}.announcement-form-actions,.announcement-item-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.announcement-form-actions button,.announcement-item-buttons button{width:100%;min-width:0}.staff-meeting-section-actions button{width:min(180px,100%)}.save-feedback{margin-inline-start:0;margin-inline-end:0}}@media (max-width:760px) and (max-height:620px){.web-home{padding-bottom:8px}.web-home-card{padding-bottom:10px}}@media (max-width:760px){.web-home{align-items:flex-start;padding:8px 8px 14px;overflow-x:hidden}.web-home-stage{width:100%}.web-home-card{border-radius:20px;gap:5px;padding:100px 10px 16px}.web-home-account-row{z-index:5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid;position:absolute;top:14px;left:14px;right:14px}.web-home-account-row .namtalk-launch-wrap{grid-area:1/1;justify-self:start}.web-home-primary-actions{display:contents;position:static}.portal-session-namtalk.web-home-namtalk{justify-self:start;width:max-content;max-width:100%;position:static}.web-home-desk-mode{grid-area:2/1;justify-self:start;width:max-content;max-width:100%}.web-home-session{display:contents}.web-home-session-name{text-align:center;grid-area:1/2;justify-content:center;justify-self:center;width:max-content;min-width:0;max-width:100%}.web-home-session-logout{grid-area:1/3;justify-self:end}.web-logo-spinner{width:136px;height:136px;margin:0 0 14px}.web-title{margin-bottom:14px}.web-title p{margin-bottom:18px;font-size:15px}.web-title h1{padding:9px 18px 11px;font-size:48px}.web-login-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}.web-login-entry,.web-login-entry.login,.web-login-entry.meal,.web-login-entry.arcade{border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:112px;padding:12px 9px}.web-login-entry.login{min-height:112px}.web-login-entry .portal-menu-icon,.web-login-entry.login .portal-menu-icon{width:29px;height:29px}.web-login-entry-copy{text-align:center;justify-items:center}.web-login-entry-copy strong,.web-login-entry.login .web-login-entry-copy strong{justify-self:center;padding:4px 9px 5px;font-size:17px}.web-login-entry.login .web-login-entry-copy strong{font-size:16px}.web-login-entry:hover,.web-login-entry.login:hover,.web-login-entry.meal:hover,.web-login-entry.viewer:hover,.web-login-entry.arcade:hover{filter:none;animation:none;transform:none}}@media print{@page{size:A4 portrait;margin:8mm}.viewer-shell,.viewer-shell *{text-shadow:none!important;box-shadow:none!important}:root,body,#root,.viewer-shell{background:#fff}.viewer-shell{padding:0}.viewer-header,.header-actions,.view-tabs,.selector-bar,.viewer-shell footer{display:none!important}.section-title-row{justify-content:flex-start;gap:8px;margin-bottom:3mm}.print-brand{border-right:1px solid #64748b;align-items:center;gap:5px;padding-right:8px;display:inline-flex}.print-brand img{object-fit:contain;width:28px;height:28px}.print-brand strong{color:#172554;font-size:17px;font-weight:950}.whole-timetable-card,.single-timetable-card{max-width:none;box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:0;padding:0}.table-scroll{overflow:visible}.whole-timetable,.single-timetable{border-color:#000;min-width:0}.whole-timetable th,.whole-timetable td,.single-timetable th,.single-timetable td{color:#000;border-color:#000}.viewer-shell thead th{position:static}.whole-timetable thead th{height:34px}.whole-timetable tbody tr{height:29px}.single-timetable tbody tr{height:27mm!important}.lesson,.single-timetable .lesson{padding:1px;min-height:0!important}.lesson,thead th{-webkit-print-color-adjust:exact!important;-moz-print-color-adjust:exact!important;print-color-adjust:exact!important}.empty-cell,.single-timetable .empty-cell{min-height:0!important}.lesson strong{font-size:9px}.lesson span{color:#000;font-size:8px}.single-timetable .lesson strong{font-size:15px}.single-timetable .lesson span{font-size:12px}.web-current-lesson-marker{display:none!important}}.shared-save-metadata{color:#52627a;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;font-size:.84rem;display:flex}.shared-save-metadata span,.shared-save-metadata strong{border-radius:999px;align-items:center;min-height:24px;padding:2px 9px;display:inline-flex}.shared-save-metadata span{color:#075985;background:#e0f2fe}.shared-save-metadata strong{color:#166534;background:#dcfce7}.shared-change-history{background:#fffc;border:1px solid #cbd5e1;border-radius:10px;margin-top:10px}.shared-change-history>summary{color:#334155;cursor:pointer;padding:9px 11px;font-size:13px;font-weight:950}.shared-change-history ul{gap:5px;margin:0;padding:0 11px 11px;list-style:none;display:grid}.shared-change-history li{color:#475569;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.shared-change-history li strong{color:#0f766e;font-size:inherit}.shared-change-history li time{white-space:nowrap;color:#64748b}.shared-change-history.compact{background:#fff;margin-top:7px}@media (max-width:700px){.shared-change-history li{grid-template-columns:auto minmax(0,1fr)}.shared-change-history li time{grid-column:1/-1}}.student-course-survey.phase-enrollment .student-survey-heading,.student-course-survey.phase-enrollment .student-survey-target{background:#f0f9ff;border-color:#38bdf8}.student-course-survey.phase-enrollment .student-survey-heading strong,.student-course-survey.phase-enrollment .student-survey-target strong,.student-course-survey.phase-enrollment legend{color:#075985}.student-course-survey.phase-enrollment legend span{background:#0284c7}.student-course-survey.phase-enrollment fieldset{border-color:#38bdf8}.student-course-survey.phase-enrollment button{color:#075985;background:#e0f2fe;border-color:#0284c7}.student-course-survey.phase-enrollment .student-survey-course-card:has(input:checked){color:#075985;background:#e0f2fe;border-color:#0284c7}.student-course-survey.phase-enrollment .student-survey-options input:checked+.student-survey-course-main .student-survey-course-heading strong,.student-course-survey.phase-enrollment .student-survey-course-info>strong{color:#075985}@media (max-width:600px){.student-survey-heading,.student-survey-target,.student-survey-submit-row{flex-wrap:wrap}.student-survey-options,.student-survey-course-info dl{grid-template-columns:1fr}.student-survey-course-info dl>div.wide{grid-column:auto}.student-survey-review{padding:14px 12px}.student-survey-review-groups article,.student-survey-count-groups{grid-template-columns:1fr}.student-survey-applicant-counts>header{flex-direction:column}.student-survey-review-actions{grid-template-columns:1fr}}:-webkit-any(.academic-calendar-screen,.exam-timer-screen,.textbook-viewer-screen,.school-brochure-screen,.school-meal-screen,.seating-randomizer-screen,.namgo-mall-screen){background:radial-gradient(circle at 12% 10%,#fed7aac7,#0000 31%),radial-gradient(circle at 88% 88%,#ffedd5cc,#0000 34%),linear-gradient(145deg,#fff7ed 0%,#fffaf5 48%,#ffedd5 100%)}:is(.academic-calendar-screen,.exam-timer-screen,.textbook-viewer-screen,.school-brochure-screen,.school-meal-screen,.seating-randomizer-screen,.namgo-mall-screen){background:radial-gradient(circle at 12% 10%,#fed7aac7,#0000 31%),radial-gradient(circle at 88% 88%,#ffedd5cc,#0000 34%),linear-gradient(145deg,#fff7ed 0%,#fffaf5 48%,#ffedd5 100%)}:-webkit-any(.academic-calendar-shell,.exam-timer-shell,.textbook-viewer-shell,.school-brochure-shell,.school-meal-shell,.namgo-mall-shell){background:#fffffff7;border-color:#c2410c;border-radius:26px;width:min(1080px,100%);overflow:hidden;box-shadow:0 24px 70px #c2410c26}:is(.academic-calendar-shell,.exam-timer-shell,.textbook-viewer-shell,.school-brochure-shell,.school-meal-shell,.namgo-mall-shell){background:#fffffff7;border-color:#c2410c;border-radius:26px;width:min(1080px,100%);overflow:hidden;box-shadow:0 24px 70px #c2410c26}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header){border-bottom-color:#fed7aa}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header){border-bottom-color:#fed7aa}:-webkit-any(.academic-calendar-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header){grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px 30px 22px;display:grid}:is(.academic-calendar-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header){grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px 30px 22px;display:grid}:-webkit-any(.exam-timer-header,.textbook-viewer-header){min-height:76px;padding:28px 30px 22px}:is(.exam-timer-header,.textbook-viewer-header){min-height:76px;padding:28px 30px 22px}:is(.academic-calendar-home-logo,.exam-timer-header .school-tool-home-logo,.textbook-viewer-header .school-tool-home-logo,.school-brochure-logo,.school-meal-heading .school-tool-home-logo,.seating-randomizer-brand .school-tool-home-logo,.namgo-mall-header .namgo-mall-logo){box-sizing:border-box;background:0 0;border:0;border-radius:50%;place-items:center;width:76px;min-width:76px;height:76px;min-height:76px;padding:0;display:grid;overflow:hidden}:is(.academic-calendar-home-logo,.exam-timer-header .school-tool-home-logo,.textbook-viewer-header .school-tool-home-logo,.school-brochure-logo,.school-meal-heading .school-tool-home-logo,.seating-randomizer-brand .school-tool-home-logo,.namgo-mall-header .namgo-mall-logo):hover{background:0 0;transform:rotate(4deg)scale(1.03)}:is(.academic-calendar-home-logo,.exam-timer-header .school-tool-home-logo,.textbook-viewer-header .school-tool-home-logo,.school-brochure-logo,.school-meal-heading .school-tool-home-logo,.seating-randomizer-brand .school-tool-home-logo,.namgo-mall-header .namgo-mall-logo) img{object-fit:contain;width:72px;max-width:100%;height:72px;max-height:100%;display:block}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) span{color:#ea580c}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) span{color:#ea580c}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) h1{color:#9a3412}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) h1{color:#9a3412}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button){color:#9a3412;background:#fff7ed;border-color:#c2410c}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button){color:#9a3412;background:#fff7ed;border-color:#c2410c}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button):hover{background:#fed7aa;outline:none}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button):hover{background:#fed7aa;outline:none}:-webkit-any(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button):focus-visible{background:#fed7aa;outline:none}:is(.academic-calendar-header,.exam-timer-header,.textbook-viewer-header,.school-brochure-header,.school-meal-heading,.namgo-mall-header) button:not(.portal-home-logo-button):focus-visible{background:#fed7aa;outline:none}.academic-calendar-shell{padding:0 0 30px}.academic-calendar-toolbar,.academic-calendar-edit-actions,.academic-calendar-updated,.academic-calendar-months,.academic-calendar-note{margin-left:30px;margin-right:30px}.academic-calendar-header h1{font-size:clamp(28px,4vw,38px)}.exam-timer-shell{width:min(1360px,100%);padding:0 0 30px}.exam-timer-header{align-items:center;display:flex}.exam-timer-header-brand{gap:20px}.exam-timer-content{margin:22px 30px 0}.exam-timer-header h1,.textbook-viewer-header h1{font-size:clamp(28px,4vw,38px)}.textbook-viewer-shell{padding:0 0 30px}.textbook-viewer-header{align-items:center}.textbook-viewer-brand{gap:20px}.textbook-viewer-controls,.textbook-copyright-notice,.textbook-link-grid,.textbook-viewer-empty,.textbook-viewer-status{margin-left:30px;margin-right:30px}.school-brochure-shell{padding:0 30px 30px}.school-brochure-header{margin:0 -30px}.school-meal-screen{box-sizing:border-box;color:#0f172a;place-items:center;min-height:100dvh;padding:28px;display:grid}.school-meal-shell{width:min(1280px,100%);min-height:min(610px,100dvh - 56px);margin:auto}.school-meal-title{min-width:0}.school-meal-title span{color:#ea580c;letter-spacing:.13em;font-size:12px;font-weight:950;display:block}.school-meal-title h1{color:#9a3412;margin:4px 0 5px;font-size:clamp(28px,4vw,38px);line-height:1.05}.school-meal-title p{color:#64748b;margin:0;font-weight:750}.school-meal-heading-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.school-meal-date-control{color:#475569;justify-self:end;align-items:center;gap:10px;font-size:14px;font-weight:900;display:flex}.school-meal-date-control>span{white-space:nowrap}.school-meal-date-stepper{grid-template-columns:40px minmax(145px,1fr) 40px auto;align-items:center;gap:6px;display:grid}.school-meal-date-stepper button{min-width:40px;min-height:42px;padding:0;font-size:20px;line-height:1}.school-meal-date-stepper .school-meal-today-button{white-space:nowrap;min-width:48px;padding:0 10px;font-size:14px}.school-meal-date-stepper input{box-sizing:border-box;width:100%;min-width:0}.school-meal-shell>:not(.school-meal-heading){margin-left:30px;margin-right:30px}.seating-randomizer-topbar{box-sizing:border-box;background:#fffffff7;border:3px solid #c2410c;border-radius:26px;padding:18px 24px;box-shadow:0 18px 40px #c2410c1f}.seating-randomizer-topbar span{color:#ea580c}.seating-randomizer-topbar h1{color:#9a3412;font-size:clamp(28px,4vw,38px)}.seating-randomizer-topbar>button{color:#9a3412;background:#fff7ed;border-color:#c2410c}.seating-randomizer-layout{gap:18px}.seating-settings-panel,.seating-classroom{border-color:#c2410c;box-shadow:0 18px 50px #c2410c1f}.namgo-mall-shell{border-color:#c2410c;box-shadow:0 24px 70px #c2410c26}.namgo-mall-header{border-bottom-color:#fed7aa}.namgo-mall-header span{color:#ea580c}.namgo-mall-header h1{color:#9a3412}.namgo-mall-header>button:not(.portal-home-logo-button){color:#9a3412;background:#fff7ed;border-color:#c2410c}.namgo-mall-header>button:not(.portal-home-logo-button):hover{background:#fed7aa}.namgo-mall-header>button:not(.portal-home-logo-button):focus-visible{background:#fed7aa}@media (max-width:700px){:-webkit-any(.academic-calendar-screen,.exam-timer-screen,.textbook-viewer-screen,.school-brochure-screen,.school-meal-screen,.seating-randomizer-screen,.namgo-mall-screen){padding:10px}:is(.academic-calendar-screen,.exam-timer-screen,.textbook-viewer-screen,.school-brochure-screen,.school-meal-screen,.seating-randomizer-screen,.namgo-mall-screen){padding:10px}:-webkit-any(.academic-calendar-shell,.exam-timer-shell,.textbook-viewer-shell,.school-brochure-shell,.school-meal-shell,.namgo-mall-shell){border-width:2px;border-radius:20px}:is(.academic-calendar-shell,.exam-timer-shell,.textbook-viewer-shell,.school-brochure-shell,.school-meal-shell,.namgo-mall-shell){border-width:2px;border-radius:20px}:-webkit-any(.academic-calendar-header,.school-brochure-header,.namgo-mall-header){grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:18px 14px 14px}:is(.academic-calendar-header,.school-brochure-header,.namgo-mall-header){grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:18px 14px 14px}.school-meal-heading{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:18px 14px 14px}:-webkit-any(.exam-timer-header,.textbook-viewer-header){min-height:54px;padding:18px 14px 14px}:is(.exam-timer-header,.textbook-viewer-header){min-height:54px;padding:18px 14px 14px}:is(.academic-calendar-home-logo,.exam-timer-header .school-tool-home-logo,.textbook-viewer-header .school-tool-home-logo,.school-brochure-logo,.school-meal-heading .school-tool-home-logo,.seating-randomizer-brand .school-tool-home-logo,.namgo-mall-header .namgo-mall-logo){width:54px;min-width:54px;height:54px;min-height:54px}:is(.academic-calendar-home-logo,.exam-timer-header .school-tool-home-logo,.textbook-viewer-header .school-tool-home-logo,.school-brochure-logo,.school-meal-heading .school-tool-home-logo,.seating-randomizer-brand .school-tool-home-logo,.namgo-mall-header .namgo-mall-logo) img{width:52px;height:52px}.academic-calendar-header>button,.namgo-mall-header>button:not(.portal-home-logo-button){white-space:nowrap;justify-self:end;min-height:36px;padding:0 10px;font-size:12px}.academic-calendar-toolbar,.academic-calendar-edit-actions,.academic-calendar-updated,.academic-calendar-months,.academic-calendar-note,.exam-timer-content,.textbook-viewer-controls,.textbook-copyright-notice,.textbook-link-grid,.textbook-viewer-empty,.textbook-viewer-status,.school-meal-shell>:not(.school-meal-heading){margin-left:14px;margin-right:14px}.school-brochure-shell{padding:0 14px 18px}.school-brochure-header{margin:0 -14px}.school-meal-heading-actions{display:contents}.school-meal-heading-actions>button{white-space:nowrap;grid-area:1/3;align-self:center;min-height:36px;padding:0 10px;font-size:12px}.school-meal-date-control{box-sizing:border-box;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;grid-area:2/1/auto/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;margin-top:5px;padding:10px 12px;display:grid}.school-meal-date-control>span{white-space:nowrap}.school-meal-date-stepper{grid-template-columns:38px minmax(0,1fr) 38px auto;gap:5px}.school-meal-date-stepper button{min-width:38px;min-height:40px}.school-meal-date-stepper .school-meal-today-button{min-width:44px;padding:0 7px;font-size:12px}.school-meal-title h1{font-size:24px}.school-meal-title p{font-size:12px}.seating-randomizer-topbar{border-width:2px;border-radius:20px;padding:14px}}
