:root{color:#20242b;background:#faf9f4;font-family:Inter,Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy: #20242b;--navy-2: #323844;--blue: #b89a2b;--blue-2: #d8c46a;--ink: #20242b;--muted: #74716a;--line: #e8debd;--soft: #fffaf0;--white: #ffffff;--green: #1a936f;--red: #c84a4a;--gold: #d1b64e;--gold-deep: #b89a2b;--shadow: 0 18px 55px rgba(74, 63, 33, .12);--radius: 8px}*{box-sizing:border-box}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:#faf9f4;letter-spacing:0}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.hwp-equation-inline{display:inline-block;max-width:100%;line-height:1;vertical-align:-.06em;white-space:nowrap}.hwp-equation-inline>.katex{font-size:1.08em;line-height:1}.hwp-equation-inline>img{display:inline-block;width:auto;max-width:100%;height:auto;vertical-align:middle}button{border:0;cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);padding:12px 13px;outline:none}textarea{min-height:104px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #b89a2b24}.login-hero{min-height:100svh;position:relative;overflow:hidden;display:grid;grid-template-rows:minmax(520px,1fr) auto;align-items:center;background:#111}.login-hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:blur(7px) saturate(.82) brightness(1.05);transform:scale(1.06)}.login-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 52% 34%,rgba(255,255,255,.1),transparent 38%),linear-gradient(180deg,#0f141a29,#0c121a5c),#ffffff3d}.login-stage{width:min(900px,calc(100% - 36px));margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:320px minmax(430px,540px);gap:32px;align-items:stretch;padding-top:30px}.teacher-login-card,.signin-card,.mini-review-card{border-radius:var(--radius);border:1px solid rgba(255,255,255,.78);background:linear-gradient(135deg,#ffffffe0,#ffffff9e),#ffffffbd;box-shadow:0 24px 70px #1722304d,inset 0 1px #ffffffdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.teacher-login-card{min-height:500px;padding:30px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.teacher-avatar-ring{width:168px;height:168px;padding:7px;border-radius:50%;border:4px solid var(--gold);background:#ffffffd6;box-shadow:0 14px 30px #4a3f2124;overflow:hidden}.teacher-avatar-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 20%;transform:scale(1.58);transform-origin:center 18%}.teacher-login-card h1{margin:28px 0 0;color:#1d2735;font-size:26px;font-weight:800}.card-divider{width:116px;height:1px;display:block;margin:14px 0 34px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}.card-divider:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}.teacher-login-card ul{width:100%;margin:0;padding:0 0 34px;list-style:none;display:grid;gap:7px;border-bottom:1px solid rgba(184,154,43,.32);color:#67707e;font-size:14px;line-height:1.5;font-weight:800}.teacher-login-card strong{margin-top:auto;color:var(--gold-deep);font-size:12px;letter-spacing:0}.signin-card{min-height:500px;padding:40px 60px;display:flex;flex-direction:column;justify-content:center}.signin-brand{display:flex;align-items:center;gap:0;margin:0 0 12px 28px;color:var(--gold-deep);font-size:12px;letter-spacing:0;font-weight:900}.signin-brand span{display:none}.signin-card h2{margin:0 0 34px;padding-left:26px;border-left:2px solid var(--gold);color:#2d333b;font-family:Georgia,Times New Roman,"Noto Serif KR",serif;font-size:37px;line-height:1.42;font-weight:500}.signin-card h2 em{color:var(--gold-deep);font-style:normal}.hero-signin-form{display:grid;gap:17px;margin-left:26px}.hero-signin-form label{display:grid;gap:8px;color:#5f6670;font-size:13px;font-weight:900}.hero-signin-form input{min-height:50px;border:1px solid rgba(255,255,255,.78);background:#ffffffd1;box-shadow:inset 0 1px #ffffffd1}.signin-submit{min-height:54px;margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius);background:linear-gradient(100deg,#d7bb50,#e7d98d 72%,#ffffffbd);color:#fff;box-shadow:0 18px 35px #b89a2b47;font-size:14px;font-weight:900;letter-spacing:4px}.signin-links{margin:12px 0 0 26px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.signin-textbook-link{min-height:56px;margin:15px 0 0 26px;padding:10px 13px;display:flex;align-items:center;gap:11px;border:1px solid rgba(184,154,43,.42);border-radius:var(--radius);color:#3d3520;background:#fff9e2b8;box-shadow:0 10px 24px #4a3f2114;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.signin-textbook-link>svg{flex:0 0 auto;color:var(--gold-deep)}.signin-textbook-link>span{min-width:0;flex:1;display:grid;gap:2px}.signin-textbook-link strong,.signin-textbook-link small{display:block}.signin-textbook-link strong{font-size:13px;font-weight:900}.signin-textbook-link small{color:#776c4e;font-size:10px;font-weight:800}.signin-textbook-link:hover{transform:translateY(-1px);border-color:#b89a2bb8;background:#fffae8e6;box-shadow:0 13px 30px #4a3f2121}.signin-textbook-link:focus-visible{outline:3px solid rgba(209,182,78,.52);outline-offset:3px}.signin-helper{align-self:center;min-height:34px;margin:0;background:transparent;color:#1f2731c2;font-size:12px;font-weight:900}.hero-login-error{margin:-4px 0 0;color:var(--red);font-size:13px;font-weight:900}.review-dock{position:relative;z-index:2;width:100%;padding:0 0 28px;overflow:hidden}.review-dock>p{margin:0 0 14px;color:var(--gold);text-align:center;font-size:12px;letter-spacing:5px;font-weight:900}.review-dock-track{width:max-content;display:flex;gap:12px;animation:reviewDock 34s linear infinite}.mini-review-card{width:200px;min-height:196px;padding:14px;color:#2c3540}.mini-review-card div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.mini-review-card div span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff6d8;color:var(--gold-deep);font-size:11px;font-weight:900}.mini-review-card strong{color:#343b44;font-size:13px}.mini-review-card small{color:#737c87;font-size:11px;font-weight:800}.mini-review-card em{display:inline-flex;margin-top:12px;padding:5px 9px;border-radius:var(--radius);background:#d1b64e2e;color:var(--gold-deep);font-size:11px;font-style:normal;font-weight:900}.mini-review-card p{margin:12px 0 0;color:#4e5762;font-size:12px;line-height:1.62;font-weight:700;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hero{min-height:min(760px,calc(100svh - 76px));background:linear-gradient(90deg,#fffffff5,#ffffffd6,#ffffff40 72%),url(/assets/hero-math-lab.png) center / cover no-repeat;position:relative;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.site-header{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-lockup{width:86px;flex:0 0 auto}.site-nav{display:flex;align-items:center;justify-content:center;gap:26px;color:#2e425c;font-size:14px;font-weight:700}.site-nav a{padding:8px 0}.hero-content{width:min(1180px,calc(100% - 32px));margin:0 auto;flex:1;display:flex;align-items:center;padding:42px 0 72px}.hero-copy{width:min(680px,100%)}.hero-logo{width:330px;margin-bottom:22px}.eyebrow{margin:0 0 10px;color:var(--blue);font-weight:900;font-size:13px}.hero h1{margin:0;color:var(--navy);font-size:58px;line-height:1.05;font-weight:900}.hero-subtitle{margin:22px 0 0;color:#243c5a;font-size:22px;line-height:1.55;font-weight:700}.hero-actions,.contact-actions,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-actions{margin-top:34px}.primary-button,.secondary-button,.icon-text-button,.icon-button,.text-button,.segmented-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);font-weight:800;line-height:1.2;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.primary-button{padding:0 18px;background:linear-gradient(90deg,var(--gold-deep),var(--gold));color:var(--white);box-shadow:0 12px 22px #b89a2b3d}.primary-button:hover,.secondary-button:hover,.icon-text-button:hover,.icon-button:hover,.segmented-button:hover{transform:translateY(-1px)}.secondary-button{padding:0 16px;background:var(--white);color:var(--navy);border:1px solid var(--line)}.secondary-button--danger{color:#bd4242;border-color:#bd42423d;background:#fff7f7}.icon-text-button{padding:0 14px;background:var(--navy);color:var(--white);white-space:nowrap}.icon-button{width:44px;height:44px;flex:0 0 44px;background:var(--white);color:var(--navy);border:1px solid var(--line)}.text-button{color:var(--muted);background:transparent;min-height:36px}.primary-button--full{width:100%}.social-actions{display:flex;gap:10px;margin-top:18px}.social-actions a{width:42px;height:42px;display:grid;place-items:center;background:#ffffffe6;border:1px solid var(--line);border-radius:var(--radius);color:var(--navy)}.trust-strip{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;z-index:2}.trust-strip div{padding:24px 28px;display:grid;gap:8px;border-right:1px solid var(--line)}.trust-strip div:last-child{border-right:0}.trust-strip strong{color:var(--navy);font-size:28px;font-weight:900}.trust-strip span{color:var(--muted);font-weight:700}.section{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:94px 0}.section-title{max-width:600px;margin-bottom:34px}.section-title--center{margin-left:auto;margin-right:auto;text-align:center}.section-title h2,.contact-band h2,.dashboard-title h1{margin:0;color:var(--navy);font-size:36px;line-height:1.25;font-weight:900}.section-title p:not(.eyebrow),.contact-band p{color:var(--muted);line-height:1.7;font-weight:700}.two-column{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:center}.teacher-panel{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 35px #4a3f2114}.teacher-portrait{width:180px;height:220px;border-radius:var(--radius);background:linear-gradient(180deg,#d1b64e33,#4a3f210d),var(--soft);border:1px solid var(--line);display:grid;place-items:center}.teacher-portrait span{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--blue-2);font-size:58px;font-weight:900}.teacher-portrait--photo{overflow:hidden;padding:0}.teacher-portrait--photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.teacher-panel h3,.feature-card h3,.content-card h3,.portal-panel h2,.admin-panel h2{margin:0;color:var(--navy)}.teacher-panel p,.feature-card p,.content-card p,.row-card p,.notice-item p,.question-item p{color:var(--muted);line-height:1.65}.check-list{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:10px}.check-list li{padding-left:24px;position:relative;font-weight:800}.check-list li:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold-deep);position:absolute;left:0;top:8px}.system-grid,.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card,.content-card,.result-card,.review-card,.task-card,.portal-panel,.chart-card,.admin-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 28px #4a3f2112}.feature-card{padding:26px;min-height:208px;animation:riseIn .62s both}.feature-card svg,.content-card svg,.task-card svg,.panel-heading>svg{color:var(--blue)}.feature-card h3,.content-card h3{margin-top:18px;font-size:20px}.result-section{width:min(1260px,calc(100% - 32px))}.result-slider{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-card{padding:26px;min-height:250px;animation:floatUp .78s both}.result-card div{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-weight:800}.result-card div strong{color:var(--navy)}.score-jump{margin:24px 0 12px;display:flex;align-items:center;gap:10px;color:var(--navy);font-size:30px;font-weight:900}.result-card small{color:var(--muted);line-height:1.55}.review-section{overflow:hidden}.review-marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.review-track{width:max-content;display:flex;gap:14px;animation:marquee 26s linear infinite}.review-track:hover{animation-play-state:paused}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.review-dock-track,.review-track{animation:none}}.review-card{width:340px;min-height:178px;padding:23px}.review-card span,.content-card span,.row-card span,.notice-item span,.question-item span,.chart-header span,.portal-user span{color:var(--muted);font-size:13px;font-weight:800}.review-card p{min-height:70px;color:#233a59;line-height:1.65;font-weight:700}.review-card strong{color:var(--blue)}.content-card{padding:26px;min-height:205px}.contact-band{width:min(1180px,calc(100% - 32px));margin:30px auto 80px;padding:42px;border-radius:var(--radius);background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-band h2,.contact-band p{color:var(--white)}.contact-band .secondary-button{background:#ffffff1a;color:var(--white);border-color:#ffffff4d}.site-footer{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:0 0 38px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:800;text-align:center}.site-footer p{margin:0}.site-footer a{color:var(--gold-deep);font-weight:900}.portal{min-height:100vh;background:linear-gradient(180deg,#fffdf8 0,#f5efe0)}.portal-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 24px;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-header>div:first-child,.portal-home-button{display:flex;align-items:center;gap:14px;min-width:0}.portal-home-button{width:fit-content;max-width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.portal-home-button:focus-visible{outline:3px solid rgba(183,154,52,.38);outline-offset:4px;border-radius:12px}.portal-header img{width:58px}.portal-header span{color:var(--gold-deep);font-weight:900;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.portal-user{display:flex;align-items:center;gap:12px}.portal-textbook-link{min-height:40px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(184,154,43,.42);border-radius:var(--radius);color:#4c4022;background:#fff9e7;font-size:13px;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.portal-textbook-link svg{flex:0 0 auto;color:var(--gold-deep)}.portal-textbook-link b{font-weight:900}.portal-textbook-link:hover{transform:translateY(-1px);border-color:#b89a2bb3;background:#fff3c9}.portal-textbook-link:focus-visible{outline:3px solid rgba(209,182,78,.5);outline-offset:2px}.portal-body{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:44px 0 70px}.dashboard-title{margin-bottom:26px}.dashboard-title h1{font-size:34px}.dashboard-title span{display:inline-block;margin-top:8px;color:var(--muted);font-weight:800}.portal-status-actions{display:flex;margin-top:18px}.student-home-hero{padding:20px 0 28px;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.1fr);align-items:center;gap:32px}.student-home-hero h1{margin:0;color:var(--navy);font-size:clamp(38px,6vw,54px);line-height:1.08}.student-home-hero>div>span{display:block;margin-top:18px;color:#21354a;font-size:18px;font-weight:800}.student-motivation-quote{margin:0;padding:4px 0 4px 28px;border-left:2px solid rgba(184,154,43,.42)}.student-motivation-quote figcaption{margin-bottom:10px;color:var(--gold-deep);font-size:12px;font-weight:900}.student-motivation-quote blockquote{margin:0;color:var(--navy);font-size:clamp(20px,2.45vw,32px);font-weight:900;line-height:1.45;word-break:keep-all}.student-exam-dday-card{min-height:168px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 24px;align-items:center;padding:24px 28px;border:1px solid rgba(184,162,64,.32);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#faf7ecd6);box-shadow:0 18px 48px #4a3f2114}.student-exam-dday-card>div{min-width:0;display:grid;gap:6px}.student-exam-dday-card span{color:var(--muted);font-size:13px;font-weight:900}.student-exam-dday-card strong{color:var(--navy);font-size:18px;line-height:1.35;word-break:keep-all}.student-exam-dday-card b{justify-self:end;color:var(--gold-deep);font-size:clamp(42px,6vw,68px);line-height:1;letter-spacing:0;white-space:nowrap}.student-exam-dday-card p{grid-column:1 / -1;margin:4px 0 0;padding-top:16px;border-top:1px solid rgba(184,162,64,.22);color:var(--navy);font-size:clamp(18px,2.1vw,26px);font-weight:900;line-height:1.45;word-break:keep-all}.student-exam-dday-card.is-urgent{border-color:#b89a2bb8;background:linear-gradient(135deg,#fffffffa,#f0e4a657);box-shadow:0 22px 58px #b89a2b29}.student-section-header{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:18px;margin-bottom:22px}.student-back-button{height:44px;width:118px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;color:var(--navy);font-size:0;font-weight:900;box-shadow:0 8px 20px #4a3f210f}.student-back-button:after{content:"뒤로가기";font-size:14px}.student-back-button:hover{transform:translateY(-1px);border-color:#b8a2407a;background:var(--white);box-shadow:0 12px 26px #4a3f211a}.student-section-header h1{margin:0;color:var(--navy);font-size:34px}.student-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:18px 0 24px}.student-menu-card{position:relative;min-height:148px;padding:24px 46px 24px 24px;display:grid;gap:10px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd6;box-shadow:0 14px 34px #4a3f2114;color:var(--navy)}.student-menu-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px #4a3f211f}.student-menu-card>svg{position:absolute;right:20px;top:20px;color:var(--gold-deep)}.student-menu-card-icon{color:var(--gold-deep)}.student-menu-card strong{color:var(--navy);font-size:17px;font-weight:900}.student-menu-card p{margin:0;color:#41566c;font-size:14px;font-weight:700;line-height:1.6}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:18px}.task-card{min-height:156px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}.task-card--primary{background:linear-gradient(135deg,var(--gold-deep),var(--gold));color:var(--white);border-color:#b89a2b75}.task-card--wide{grid-column:span 2}.task-card--primary h2,.task-card--primary span,.task-card--primary p,.task-card--primary svg{color:var(--white)}.task-card span{color:var(--blue);font-weight:900;font-size:13px}.task-card h2{margin:0;color:var(--navy);font-size:21px;line-height:1.35}.task-card-test-name{color:var(--navy);font-size:16px;font-weight:900;line-height:1.4;word-break:keep-all}.task-card-test-meta{font-size:13px}.task-card--score-link{width:100%;text-align:left;font:inherit;cursor:pointer}.task-card--score-link:hover:not(:disabled){transform:translateY(-2px);border-color:#b89a2b94;box-shadow:0 18px 40px #4a3f211f}.task-card--score-link:focus-visible{outline:3px solid rgba(184,154,43,.4);outline-offset:3px}.task-card--score-link:disabled{cursor:default}.task-card-test-link{display:inline-flex;align-items:center;gap:5px;margin-top:auto}.task-card p{margin:0;color:var(--muted);line-height:1.5;font-weight:700}.task-card.task-card--primary h2,.task-card.task-card--primary span,.task-card.task-card--primary p,.task-card.task-card--primary svg,.task-card.task-card--primary .progress-wrap strong{color:var(--white)}.task-card .assignment-detail{display:grid;gap:6px;padding:12px;border-radius:var(--radius);background:#ffffff1f}.task-card .assignment-detail strong{color:#ffffffc7;font-size:12px;letter-spacing:0}.task-card .assignment-detail p{white-space:pre-line;color:#ffffffe6;font-size:14px}.portal-grid{display:grid;gap:16px;margin-top:16px}.portal-grid--main{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}.portal-panel,.admin-panel,.chart-card{padding:24px;min-width:0}.panel-heading,.chart-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2,.admin-panel h2{font-size:24px}.video-player{height:275px;border-radius:var(--radius);background:linear-gradient(135deg,#20242beb,#604e20d6),url(/assets/hero-math-lab.png) center / cover no-repeat;position:relative;display:grid;place-items:center;color:var(--white);overflow:hidden}.video-player iframe{width:100%;height:100%;border:0}.video-player.is-watermark-fullscreen,.video-player:fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:10000;border-radius:0;background:#000}.video-fullscreen-button{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:4;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:6px;background:#111b30e0;color:#fff;box-shadow:0 6px 20px #0000003d;cursor:pointer}.video-fullscreen-button:hover{background:#111b30fa}.video-fullscreen-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.video-processing-state{width:min(88%,460px);min-height:190px;padding:28px;display:grid;place-items:center;align-content:center;gap:10px;border:1px solid rgba(255,255,255,.36);border-radius:var(--radius);background:#111b30b8;color:var(--white);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-processing-state strong{font-size:18px}.video-processing-state span{color:#f0d875;font-size:14px;font-weight:800}.video-processing-state small{max-width:360px;color:#ffffffb8;line-height:1.55}.video-processing-state.has-error{border-color:#ffd7d780}.moving-watermark{position:absolute;top:50%;left:50%;z-index:2;padding:10px 14px;border-radius:999px;background:#00000029;color:#ffffff75;font-size:15px;font-weight:800;pointer-events:none;transform:translate(-50%,-50%) rotate(-12deg);white-space:nowrap}.video-player.is-watermark-fullscreen .moving-watermark,.video-player:fullscreen .moving-watermark{padding:12px 18px;font-size:clamp(15px,2vw,22px)}.video-tracking-message{margin:10px 0 0;color:var(--muted);font-size:13px;font-weight:800}.video-timestamp-panel{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8}.video-timestamp-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.video-timestamp-heading strong{color:var(--navy)}.video-timestamp-heading span{color:var(--muted);font-size:13px;font-weight:700}.video-timestamp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;max-height:320px;overflow-y:auto}.video-timestamp-button{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;padding:8px 10px;border-radius:6px;background:transparent;color:var(--ink);text-align:left}.video-timestamp-button:hover,.video-timestamp-button:focus-visible{background:var(--soft);outline:none}.video-timestamp-button time{color:var(--gold);font-weight:800;font-variant-numeric:tabular-nums}.video-timestamp-button span{min-width:0;overflow-wrap:anywhere;line-height:1.45}.video-timestamp-input{min-height:180px;resize:vertical}.linked-material-list{display:grid;gap:10px;margin-top:12px;padding:14px;border:1px solid rgba(184,162,64,.28);border-radius:var(--radius);background:#fffae7b8}.linked-material-list>strong{color:var(--navy)}.linked-material-list>div{display:flex;flex-wrap:wrap;gap:8px}.stack-list,.notice-list,.question-list,.log-list{display:grid;gap:12px}.video-player+.stack-list,.upload-zone+.stack-list,.chart-card+.stack-list{margin-top:14px}.row-card,.notice-item,.question-item{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fffdf8}.row-card{display:grid;gap:12px}.online-test-card{display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8}.online-test-card .row-card-title b{color:var(--gold);font-size:24px;font-weight:950}.online-question-list{display:grid;gap:12px}.online-question-card{display:grid;gap:8px;padding:14px;border:1px solid rgba(184,162,64,.28);border-radius:8px;background:var(--white)}.online-question-card>span,.online-test-result>span,.online-test-result>small{color:var(--muted);font-size:13px;font-weight:800}.online-question-card strong,.online-test-result strong{color:var(--navy)}.online-question-card .question-plain-content,.online-question-card .question-rich-content{margin:0;white-space:pre-wrap;color:var(--ink);line-height:1.6}.question-rich-content{max-width:100%;overflow:auto;color:var(--ink)}.question-rich-content p{margin:0 0 8px}.question-rich-content img{max-width:100%;height:auto;vertical-align:middle}.question-crop-image{display:block;width:100%;height:auto;max-height:980px;border:1px solid #e2dbc2;border-radius:12px;background:#fff;object-fit:contain}.question-crop-image--compact{max-height:420px}.question-crop-placeholder{display:grid;min-height:180px;place-items:center;padding:18px;border:1px dashed rgba(184,162,64,.42);border-radius:12px;color:var(--muted);background:#fffdf7c2;font-size:12px;font-weight:800;text-align:center}.question-crop-placeholder--compact{min-height:132px}.online-test-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.online-test-result{display:grid;gap:5px;padding:12px;border:1px solid rgba(184,162,64,.22);border-radius:8px;background:#fffcf1d1}.online-test-result.is-correct{border-color:#4e8c673d;background:#eef9f2c2}.online-test-result.is-wrong{border-color:#d259593d;background:#fff6f6d6}.video-select-card{width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.video-select-card:hover,.video-select-card.is-active{border-color:#b8a240b8;box-shadow:0 14px 32px #b8a24029;transform:translateY(-1px)}.video-select-card.is-active{background:#fffae7f0}.row-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.row-card-title>div{min-width:0}.row-card--button{grid-template-columns:1fr 44px;align-items:center}.row-card strong,.notice-item strong,.question-item strong{display:block;color:var(--navy);margin-bottom:5px}.row-card small,.result-card small{color:var(--muted);font-weight:800}.empty-state{margin:0 0 18px;padding:18px;border:1px dashed #d8c46a;border-radius:var(--radius);background:var(--soft);color:var(--muted);font-weight:800;text-align:center}.progress-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.progress-track{height:8px;border-radius:999px;background:#eee4c7;overflow:hidden}.progress-track span{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.progress-wrap strong{color:var(--navy);font-size:13px}.upload-zone{min-height:148px;display:grid;place-items:center;gap:10px;text-align:center;border:1px dashed #d8c46a;border-radius:var(--radius);background:var(--soft);color:var(--navy);font-weight:900;cursor:pointer}.upload-zone input{display:none}.upload-zone--compact{min-height:96px}.assignment-submit-form,.question-form{display:grid;gap:12px}.assignment-submit-form{margin-bottom:18px}.assignment-submit-form select{min-height:48px}.daily-review-submit-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(185,159,47,.38);border-radius:var(--radius);background:linear-gradient(135deg,#fffdf0,#fff8d4);box-shadow:0 8px 22px #6c571214}.daily-review-submit-card.is-selected{border-color:var(--gold-deep);box-shadow:0 0 0 3px #c4a93424}.daily-review-submit-card>div{min-width:0;display:grid;gap:5px}.daily-review-submit-card span,.daily-review-submit-card small{color:var(--gold-deep);font-size:12px;font-weight:900}.daily-review-submit-card strong{color:var(--navy);font-size:18px}.daily-review-submit-card p{margin:0;color:#42546b;font-size:13px;font-weight:750;line-height:1.55}.daily-review-submit-card .secondary-button{flex:0 0 auto;background:var(--white)}.assignment-submit-select{display:grid;gap:6px}.assignment-submit-select>span{color:var(--muted);font-size:12px;font-weight:900}.daily-review-badge{display:inline-flex!important;align-items:center;width:fit-content;margin-right:7px;padding:3px 7px;border:1px solid rgba(185,159,47,.34);border-radius:999px;background:#fff7c9;color:var(--gold-deep)!important;font-size:10px!important;font-weight:950!important;line-height:1.2;vertical-align:middle}.assignment-submit-detail{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.assignment-submit-detail strong{color:var(--navy);font-size:16px}.assignment-submit-detail span,.assignment-submit-detail small{color:var(--muted);font-weight:800}.assignment-submit-detail p{margin:0;white-space:pre-line;color:#314962;font-weight:800;line-height:1.6}@media(max-width:560px){.daily-review-submit-card{align-items:stretch;display:grid}.daily-review-submit-card .secondary-button{width:100%}}.attachment-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.attachment-preview{margin:0;padding:8px;display:grid;gap:7px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.attachment-preview img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;background:var(--soft)}.attachment-preview figcaption{min-width:0;color:var(--muted);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-form,.form-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.attendance-status{margin-top:16px;padding:16px;border-radius:var(--radius);background:var(--soft);display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-weight:800}.attendance-status strong{color:var(--gold-deep)}.question-form,.consult-form,.admin-form,.login-form{display:grid;gap:12px}.consult-schedule-grid{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(180px,1fr);gap:10px}.consult-schedule-grid label{display:grid;gap:7px}.consult-schedule-grid span{color:var(--muted);font-size:13px;font-weight:900}.question-form{grid-template-columns:1fr;margin-bottom:16px}.question-item{display:grid;grid-template-columns:1fr auto;gap:10px}.question-item p{grid-column:1 / -1;margin:0}.question-attachment-upload{min-height:82px}.question-attachment-preview,.question-attachment{grid-column:1 / -1;display:grid;gap:8px}.question-attachment-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.question-attachment{padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);text-decoration:none}.question-attachment-preview img,.question-attachment img{width:min(260px,100%);max-height:190px;object-fit:contain;border-radius:var(--radius);border:1px solid var(--line);background:var(--white)}.question-attachment span{color:var(--muted);font-size:13px;font-weight:800}.question-item em{color:var(--blue);font-style:normal;font-weight:900;font-size:13px}.parent-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ring-metric{min-height:168px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:grid;place-items:center;padding:18px;position:relative;box-shadow:0 12px 28px #4a3f2112}.ring-metric svg{width:110px;height:110px;transform:rotate(-90deg)}.ring-base,.ring-value{fill:none;stroke-width:11}.ring-base{stroke:#eee4c7}.ring-value{stroke:var(--blue);stroke-linecap:round}.ring-metric strong{position:absolute;top:57px;color:var(--navy);font-size:23px;font-weight:900}.ring-metric span{color:var(--muted);font-weight:900}.chart-card--wide{min-height:330px}.chart-header{margin-bottom:8px}.chart-header strong{color:var(--blue);font-size:22px}.chart-card svg{width:100%;height:auto}.grid-lines line{stroke:#eee4c7;stroke-width:1}.score-line,.avg-line{fill:none;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.score-line{stroke:var(--blue)}.avg-line{stroke:#b9aa82;stroke-dasharray:8 9}.score-dot{fill:var(--white);stroke:var(--blue);stroke-width:5}.chart-card--animated .score-line{stroke-dasharray:1;stroke-dashoffset:1;animation:chartDrawLine 1.05s cubic-bezier(.2,.76,.28,1) forwards}.chart-card--animated .avg-line{opacity:0;animation:chartFadeIn .75s ease .22s forwards}.chart-card--animated .score-dot{opacity:0;transform:scale(.65);transform-box:fill-box;transform-origin:center;animation:chartDotPop .36s ease-out forwards}.chart-card text{fill:var(--muted);font-size:12px;font-weight:800}.chart-axis-list{display:flex;gap:8px;margin:4px 0 12px;padding:0 2px 6px;list-style:none;overflow-x:auto}.chart-axis-list li{flex:0 0 min(260px,74vw);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;border:1px solid rgba(184,162,64,.25);border-radius:8px;background:#fffdf8e0;color:var(--muted);font-size:12px;font-weight:800}.chart-axis-list li span{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:#b8a24024;color:var(--blue);font-size:11px}.chart-axis-list li strong{min-width:0;color:var(--navy);font-size:12px;line-height:1.35;word-break:keep-all}.chart-axis-list li div{min-width:0;display:grid;gap:4px}.chart-axis-list li em{color:var(--gold);font-size:11px;font-style:normal;font-weight:900}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-weight:800;font-size:13px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.legend-dot--score{background:var(--blue)}.legend-dot--avg{background:#9eb4ca}.legend-dot--top30{background:var(--gold-deep)}.top30-line{fill:none;stroke:var(--gold-deep);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;opacity:.84}.chart-card--animated .top30-line{stroke-dasharray:1;stroke-dashoffset:1;animation:chartDrawLine 1.05s cubic-bezier(.2,.76,.28,1) .12s forwards}.test-report-detail{display:grid;gap:18px}.test-report-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#faf7ece8);box-shadow:0 18px 46px #4a3f2114}.test-report-hero h2{margin:0;color:var(--navy);font-size:clamp(28px,4vw,44px);line-height:1.15;word-break:keep-all}.test-report-hero span{display:block;margin-top:8px;color:var(--muted);font-weight:900}.test-report-hero>strong{color:var(--gold-deep);font-size:clamp(42px,6vw,70px);line-height:1;white-space:nowrap}.test-report-hero small{color:var(--muted);font-size:22px}.test-report-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.test-report-metric-card{min-height:112px;padding:18px;display:grid;align-content:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe0;box-shadow:0 12px 30px #4a3f2112}.test-report-metric-card span{color:var(--muted);font-size:13px;font-weight:900}.test-report-metric-card strong{color:var(--gold-deep);font-size:clamp(22px,3vw,32px);line-height:1.1}.test-report-chart{min-height:360px}.unit-analysis-list,.question-result-table{display:grid;gap:10px}.unit-analysis-row{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(260px,1.15fr);gap:16px;align-items:center;padding:14px;border:1px solid rgba(184,162,64,.24);border-radius:var(--radius);background:var(--white)}.unit-analysis-row.needs-review{border-color:#d3696947;background:#fff8f7}.unit-analysis-row strong{color:var(--navy);font-size:16px}.unit-analysis-row span{display:block;margin-top:5px;color:var(--muted);font-weight:800}.unit-bars{display:grid;gap:8px}.unit-bars span,.unit-bars em{min-width:80px;max-width:100%;padding:7px 10px;border-radius:999px;color:var(--white);font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.unit-bars span{background:var(--gold-deep)}.unit-bars em{background:#9eb4ca}.test-report-priority{padding:24px;display:grid;gap:10px;border:1px solid rgba(184,162,64,.34);border-radius:var(--radius);background:linear-gradient(135deg,#b8a24029,#ffffffeb)}.test-report-priority h2{margin:0;color:var(--navy)}.test-report-priority strong{color:var(--navy);font-size:19px;line-height:1.55;word-break:keep-all}.test-report-priority span{color:var(--muted);font-weight:900}.wrong-note-web-panel{display:grid;gap:18px}.wrong-note-web-panel .panel-heading{align-items:center}.wrong-note-web-panel .panel-heading>div{display:grid;gap:4px}.wrong-note-web-panel .panel-heading span{color:var(--muted);font-weight:800}.wrong-note-web-panel .secondary-button{flex:0 0 auto;min-height:44px}.wrong-note-web-list{display:grid;gap:10px}.wrong-note-web-item{overflow:hidden;border:1px solid rgba(184,162,64,.32);border-radius:var(--radius);background:#fffefa}.wrong-note-web-item summary{min-height:58px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--navy);cursor:pointer;list-style-position:inside}.wrong-note-web-item summary strong{font-size:16px}.wrong-note-web-item summary>span{color:var(--muted);font-weight:800}.wrong-note-web-answer-summary,.wrong-note-web-answer-value{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.wrong-note-web-answer-value>p,.wrong-note-web-answer-value>div,.wrong-note-web-answer-value>span:not(.katex){margin:0!important;display:inline-flex!important;align-items:center}.wrong-note-web-answer-value img{width:auto!important;max-width:120px!important;height:auto!important;max-height:30px!important;vertical-align:middle!important}.wrong-note-web-prompt,.wrong-note-web-solution{padding:18px;color:var(--navy);font-size:15px;line-height:1.75}.wrong-note-web-prompt{border-top:1px solid rgba(184,162,64,.24);background:#fff}.wrong-note-web-solution{border-top:1px dashed rgba(184,162,64,.42);background:#b8a24012}.wrong-note-web-solution>strong{display:block;margin-bottom:10px;color:var(--gold-deep)}.wrong-note-web-prompt img,.wrong-note-web-prompt svg:not(.katex svg),.wrong-note-web-prompt table,.wrong-note-web-solution img,.wrong-note-web-solution svg:not(.katex svg),.wrong-note-web-solution table{max-width:100%!important;height:auto!important}.question-result-row{display:grid;grid-template-columns:70px minmax(130px,1fr) 64px 110px 48px minmax(130px,.8fr);gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(184,162,64,.22);border-radius:var(--radius);background:var(--white)}.question-result-row.is-wrong{border-color:#d3696952;background:#fff7f6}.question-result-row strong,.question-result-row b{color:var(--navy);font-size:16px}.question-result-row b{color:var(--gold-deep);text-align:center}.question-result-row.is-wrong b{color:var(--red)}.question-result-row>span,.question-result-row>em{color:var(--muted);font-style:normal;font-weight:800}.test-report-admin{margin:20px 0 18px;padding:18px;display:grid;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#faf7ece8)}.test-report-admin h3{margin:2px 0 4px;color:var(--navy);font-size:20px}.external-score-import-panel{margin:20px 0 18px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.external-score-import-panel>summary{display:flex;min-height:78px;padding:16px 18px;gap:16px;align-items:center;justify-content:space-between;color:var(--navy);cursor:pointer;list-style:none}.external-score-import-panel>summary::-webkit-details-marker{display:none}.external-score-import-panel>summary>div{display:grid;min-width:0;gap:3px}.external-score-import-panel>summary strong{font-size:18px}.external-score-import-panel>summary span{color:var(--muted);font-size:13px;font-weight:700}.external-score-import-panel>summary>svg{flex:0 0 auto;color:var(--gold-deep);transition:transform .18s ease}.external-score-import-panel[open]>summary{border-bottom:1px solid var(--line);background:var(--soft)}.external-score-import-panel[open]>summary>svg{transform:rotate(180deg)}.external-score-import-panel .test-report-admin{margin:0;border:0;border-radius:0}.test-report-failure-list{display:grid;gap:10px}.test-report-failure-list h4{margin:0;color:var(--navy)}.test-report-failure-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(211,105,105,.26);border-radius:var(--radius);background:#fff8f7}.test-report-failure-row strong{color:var(--navy)}.test-report-failure-row span{display:block;margin-top:4px;color:var(--muted);font-weight:800}@keyframes chartDrawLine{to{stroke-dashoffset:0}}@keyframes chartFadeIn{to{opacity:1}}@keyframes chartDotPop{to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.chart-card--animated .score-line,.chart-card--animated .avg-line,.chart-card--animated .top30-line,.chart-card--animated .score-dot,.bar-chart--animated .bar-track span{animation:none;opacity:1;stroke-dashoffset:0;transform:none}}.bar-chart{height:220px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end;padding-top:12px}.bar-item{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center}.bar-track{border-radius:var(--radius);background:#e1edf8;display:flex;align-items:end;overflow:hidden}.bar-track span{width:100%;background:linear-gradient(180deg,#ffffff59,#fff0 28%),linear-gradient(180deg,var(--blue-2),var(--blue));border-radius:var(--radius) var(--radius) 0 0;transform:scaleY(0);transform-origin:bottom;animation:barWaterRise .9s cubic-bezier(.2,.76,.28,1) forwards;box-shadow:inset 0 1px #ffffff57}.bar-item small{color:var(--muted);font-weight:900}@keyframes barWaterRise{to{transform:scaleY(1)}}.admin-body{width:min(1380px,calc(100% - 32px))}.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start;min-width:0}.admin-tabs{position:sticky;top:86px;width:100%;min-width:0;display:grid;gap:8px;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.admin-menu-groups,.admin-menu-items{display:grid;gap:6px}.admin-menu-groups{padding-bottom:10px;border-bottom:1px solid var(--line)}.admin-menu-detail{display:grid;gap:6px}.admin-menu-section-title{margin:4px 2px 0;color:var(--gold-dark);font-size:12px;font-weight:900}.admin-tabs button{min-height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;border-radius:var(--radius);background:transparent;color:var(--muted);font-weight:900;text-align:left;min-width:0}.admin-tabs .admin-menu-group-button{justify-content:space-between;background:#b79a3412;color:var(--navy)}.admin-tabs .admin-menu-group-button span,.admin-tabs .admin-menu-item span{flex:1}.admin-tabs .admin-menu-group-button.is-active{background:#b79a342b;color:var(--gold-dark);box-shadow:inset 3px 0 0 var(--gold)}.admin-tabs .admin-menu-item{min-height:40px;padding-left:18px}.admin-tabs .admin-menu-item.is-active{background:var(--navy);color:var(--white)}.admin-form--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form--grid textarea,.admin-form--grid .primary-button,.admin-form--grid .upload-zone{grid-column:1 / -1}.form-hint-card{display:flex;align-items:center;min-height:46px;padding:0 14px;border:1px solid rgba(184,162,64,.35);border-radius:8px;background:#fffcf1d1;color:var(--muted);font-weight:800}.video-mobile-upload-hint{grid-column:1 / -1;display:grid;gap:4px;line-height:1.55}.video-mobile-upload-hint strong{color:var(--navy)}.video-mobile-upload-hint span{font-size:13px}.video-upload-progress{margin:12px 0 0}.admin-section-divider{height:1px;margin:18px 0;background:linear-gradient(90deg,transparent,rgba(184,162,64,.45),transparent)}.checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffdf8d6}.checkbox-grid--full{grid-column:1 / -1}.checkbox-grid legend{padding:0 6px;color:var(--muted);font-size:13px;font-weight:900}.admin-control-bar--full{grid-column:1 / -1}.test-paper-editor{scroll-margin-top:20px}.test-paper-editor.is-editing{padding:14px;border:1px solid rgba(184,162,64,.38);border-radius:12px;background:#fffcf170}.test-paper-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(184,162,64,.45);border-radius:10px;background:linear-gradient(135deg,#fff9e1f5,#fffffff5);box-shadow:0 8px 20px #1522370f}.test-paper-edit-banner>div:first-child{display:grid;gap:3px}.test-paper-edit-banner strong{color:var(--navy);font-size:15px}.test-paper-edit-banner span{color:var(--muted);font-size:13px;font-weight:700}.test-paper-question-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;max-height:360px;overflow:auto}.test-paper-question-picker label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid rgba(184,162,64,.24);border-radius:8px;background:var(--white);cursor:pointer}.test-paper-question-picker span{display:grid;gap:4px;min-width:0}.test-paper-question-picker strong,.test-paper-question-picker small{overflow-wrap:anywhere}.test-paper-question-picker small{color:var(--muted);font-weight:800}.test-paper-builder{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(310px,.9fr) minmax(360px,1.15fr);gap:14px;align-items:stretch}.test-paper-builder-panel{min-width:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;padding:14px;border:1px solid rgba(184,162,64,.28);border-radius:var(--radius);background:#fffdf8e0}.test-paper-builder-panel--selected{grid-template-rows:auto auto minmax(0,1fr);background:var(--navy);color:var(--white)}.test-paper-builder-panel--answer-key{grid-template-rows:auto auto minmax(0,1fr) auto}.builder-panel-heading{min-width:0;display:flex;justify-content:space-between;gap:12px;align-items:start}.builder-panel-heading h3{margin:2px 0 0;color:var(--navy);font-size:18px}.test-paper-builder-panel--selected .builder-panel-heading h3{color:var(--white)}.test-paper-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.test-paper-filter-grid select,.test-paper-filter-grid input{min-width:0;min-height:42px;padding:9px 10px}.test-paper-filter-search{grid-column:1 / -1}.test-paper-question-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:850}.test-paper-question-pagination>div{display:flex;align-items:center;gap:8px;margin-left:auto}.test-paper-question-pagination .secondary-button{min-height:34px;padding:7px 10px}.test-paper-question-pagination strong{min-width:48px;color:var(--navy);text-align:center}.test-paper-question-list,.selected-question-list,.answer-key-list{min-height:260px;max-height:520px;display:grid;align-content:start;gap:10px;overflow:auto;padding-right:4px}.test-paper-question-card,.selected-question-card{min-width:0;display:grid;gap:10px;align-items:start;border-radius:8px}.test-paper-question-card{grid-template-columns:minmax(0,1fr);padding:12px;border:1px solid rgba(184,162,64,.22);background:var(--white)}.test-paper-question-card-heading{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.test-paper-question-card-heading>div{min-width:0}.test-paper-question-card.is-selected{border-color:#b8a240bd;background:#fff9e1e6}.test-paper-question-card strong,.selected-question-card strong{display:block;color:var(--navy);margin-bottom:4px}.test-paper-question-card small,.selected-question-card small{display:block;color:var(--muted);font-weight:800;overflow-wrap:anywhere}.test-paper-question-card .question-plain-content,.test-paper-question-card .question-rich-content--compact{margin:8px 0 0;color:var(--ink);line-height:1.6}.test-paper-question-card .question-plain-content{display:-webkit-box;max-height:6.4em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.test-paper-question-card .question-rich-content--compact{width:100%;min-height:180px;max-height:320px;padding:14px;overflow:auto;border:1px solid rgba(184,162,64,.2);border-radius:6px;background:#fffefa;font-size:13px}.test-paper-question-card .question-rich-content--compact .jjw-question-meta{display:none!important}.test-paper-question-card .question-rich-content--compact img,.test-paper-question-card .question-rich-content--compact svg:not(.katex svg),.test-paper-question-card .question-rich-content--compact table{max-width:100%!important;height:auto!important}.selected-question-summary{display:flex;align-items:baseline;gap:8px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#ffffff14}.selected-question-summary strong{color:var(--gold);font-size:30px;font-weight:950}.selected-question-summary span{color:#ffffffd1;font-weight:900}.selected-question-card{grid-template-columns:28px minmax(0,1fr) auto;padding:11px;border:1px solid rgba(255,255,255,.14);background:#fffffff0}.selected-question-card>span{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--soft);color:var(--gold-deep);font-size:12px;font-weight:950}.selected-question-controls{display:grid;grid-template-columns:repeat(3,34px);gap:5px}.selected-question-controls .table-action-button{width:34px;min-width:34px;height:34px;padding:0}.selected-question-controls .table-action-button:disabled{cursor:default;opacity:.35}.test-paper-total-score{color:var(--gold-deep);font-size:22px}.answer-key-toolbar{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);gap:7px}.answer-key-toolbar select,.answer-key-toolbar .secondary-button{min-height:40px}.answer-key-toolbar .secondary-button{padding:8px 10px;font-size:12px}.answer-key-list{gap:8px}.answer-key-row{display:grid;grid-template-columns:28px minmax(76px,.7fr) minmax(72px,.8fr) 70px minmax(120px,1.2fr);gap:6px;align-items:center;padding:8px;border:1px solid rgba(184,162,64,.24);border-radius:8px;background:var(--white)}.answer-key-row>strong{text-align:center;color:var(--gold-deep)}.answer-key-row select,.answer-key-row input{min-width:0;min-height:38px;padding:8px;font-size:13px}.answer-key-type{min-width:0;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(184,162,64,.26);border-radius:8px;background:#fbfaf4;color:var(--navy);font-size:13px;font-weight:900;white-space:nowrap}.test-paper-save-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.question-import-warning{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px;border:1px solid rgba(198,69,69,.28);border-radius:8px;background:#fff4f4db}.question-import-warning strong{display:block;color:#9d3434}.question-import-warning p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:750}.question-import-warning .secondary-button{flex:0 0 auto}.omr-workflow-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:16px;border:1px solid rgba(184,162,64,.3);border-radius:8px;background:#fff9e19e}.omr-workflow-banner strong{display:block;color:var(--navy);font-size:18px}.omr-workflow-banner p{margin:5px 0 0;color:var(--muted);font-weight:700}.omr-upload-bar{grid-template-columns:minmax(240px,1fr) auto minmax(260px,1fr)}.upload-button{position:relative;cursor:pointer}.upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.upload-button.is-disabled{cursor:wait;opacity:.55}.form-message--error{color:#b42318;background:#fff4f2;border-color:#b4231840}.omr-review-list{display:grid;gap:12px;margin:14px 0}.omr-review-list.is-busy{pointer-events:none;opacity:.72}.omr-question-counts{margin-top:14px;padding:14px 16px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:center;gap:14px;border:1px solid rgba(184,162,64,.3);border-radius:8px;background:#fffefa}.omr-question-counts>div{display:grid;gap:4px}.omr-question-counts strong{color:var(--navy)}.omr-question-counts span,.omr-question-counts em{color:var(--muted);font-size:13px;font-style:normal;font-weight:800}.omr-question-counts b{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid rgba(184,162,64,.26);border-radius:8px;background:var(--white);color:var(--navy);font-size:13px;white-space:nowrap}.omr-question-counts label{display:inline-flex;align-items:center;gap:7px;color:var(--navy);font-size:13px;font-weight:900;white-space:nowrap}.omr-question-counts input{width:68px;min-height:42px;padding:8px;text-align:center}.omr-review-card{min-width:0;scroll-margin-top:18px;padding:16px;border:1px solid rgba(184,162,64,.3);border-radius:8px;background:var(--white)}.omr-review-card:focus{outline:3px solid rgba(184,162,64,.42);outline-offset:3px}.omr-review-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.omr-review-heading h3{margin:3px 0;color:var(--navy);font-size:20px}.omr-review-heading span{color:var(--muted);font-size:13px;font-weight:700}.omr-preview-toggle{width:auto;min-width:112px;min-height:38px;padding:8px 12px;white-space:nowrap}.omr-student-match{margin-top:12px}.omr-student-match label{display:grid;grid-template-columns:90px minmax(0,340px);align-items:center;gap:10px}.omr-student-match span{color:var(--muted);font-size:13px;font-weight:900}.omr-answer-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(184,162,64,.22)}.omr-answer-review section>strong{display:block;margin-bottom:8px;color:var(--navy)}.omr-answer-grid{display:grid;grid-template-columns:repeat(10,minmax(48px,1fr));gap:6px}.omr-answer-grid--subjective{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.omr-answer-grid label{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:3px;padding:4px;border:1px solid rgba(184,162,64,.22);border-radius:6px}.omr-answer-grid label.is-ambiguous{border-color:#dc262680;background:#fff4f2}.omr-answer-grid label span{color:var(--muted);text-align:center;font-size:11px;font-weight:900}.omr-answer-grid select{min-width:0;min-height:34px;padding:4px}.omr-subjective-control{min-width:0;display:grid;grid-template-columns:26px minmax(76px,1fr);align-items:center;gap:5px;padding:5px;border:1px solid rgba(184,162,64,.24);border-radius:7px;background:var(--white)}.omr-subjective-control.is-partial{border-color:var(--gold-deep);box-shadow:inset 0 0 0 1px #b8a24029}.omr-subjective-score-controls{min-width:0;display:grid;grid-template-columns:50px minmax(112px,1fr) 54px;align-items:stretch;gap:5px}.omr-score-quick-button{min-width:0;min-height:40px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(184,162,64,.32);border-radius:6px;background:#fffefa;color:var(--muted);cursor:pointer}.omr-score-quick-button strong{font-size:15px;line-height:1}.omr-score-quick-button small{font-size:9px;font-weight:900;line-height:1}.omr-score-quick-button--zero.is-selected{border-color:#c84b4b;background:#c84b4b;color:var(--white)}.omr-score-quick-button--full.is-selected{border-color:var(--gold-deep);background:var(--gold-deep);color:var(--white)}.omr-score-quick-button:focus-visible,.omr-subjective-score-input input:focus-visible{outline:3px solid rgba(184,162,64,.28);outline-offset:2px}.omr-subjective-score-input{min-width:0;display:grid;grid-template-columns:minmax(54px,1fr) auto;align-items:center;gap:4px;padding:3px 7px;border:1px solid rgba(184,162,64,.32);border-radius:6px;background:var(--white)}.omr-subjective-score-input input{width:100%;min-width:0;min-height:32px;padding:3px 5px;border-color:#121f362e;text-align:right;font-weight:900}.omr-subjective-score-input span{white-space:nowrap;color:var(--muted);font-size:11px;font-weight:800}.omr-subjective-control>span{color:var(--muted);text-align:center;font-size:12px;font-weight:900}.omr-mark-buttons{display:grid;grid-template-columns:repeat(2,minmax(34px,1fr));gap:4px}.omr-mark-button{min-width:34px;min-height:36px;padding:4px;border:1px solid rgba(184,162,64,.32);border-radius:6px;background:#fffefa;color:var(--muted);font-size:16px;font-weight:950;line-height:1;cursor:pointer}.omr-mark-button--correct.is-selected{border-color:var(--gold-deep);background:var(--gold-deep);color:var(--white)}.omr-mark-button--wrong.is-selected{border-color:#c84b4b;background:#c84b4b;color:var(--white)}.omr-mark-button:focus-visible{outline:3px solid rgba(184,162,64,.28);outline-offset:2px}.omr-finalize-bar{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid rgba(184,162,64,.28);border-radius:8px;background:#fffefa}.omr-finalize-bar span{color:var(--muted);font-size:13px;font-weight:800}.omr-finalize-bar .primary-button{min-width:270px}.omr-statistics-panel{display:grid;gap:16px;margin-top:18px;padding:18px;border:1px solid rgba(184,162,64,.3);border-radius:8px;background:linear-gradient(135deg,#fff,#fffdf6)}.omr-report-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #efc7c0;border-radius:10px;background:#fff7f5;color:#a43e32}.omr-report-load-error p{margin:0;font-size:12px;font-weight:800;line-height:1.6}.omr-report-load-error .secondary-button{flex:none;background:var(--white)}@media(max-width:700px){.omr-report-load-error{align-items:flex-start;flex-direction:column}}.omr-statistics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;color:var(--gold-deep)}.omr-statistics-heading h3{margin:2px 0 4px;color:var(--navy);font-size:21px}.omr-statistics-heading span{color:var(--muted);font-size:13px;font-weight:800}.omr-statistics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.omr-statistics-metrics article{min-width:0;min-height:84px;padding:13px;display:grid;align-content:space-between;gap:10px;border:1px solid rgba(184,162,64,.24);border-radius:8px;background:var(--white)}.omr-statistics-metrics span{color:var(--muted);font-size:12px;font-weight:900}.omr-statistics-metrics strong{color:var(--gold-deep);font-size:21px;line-height:1.15;word-break:keep-all}.omr-statistics-metrics article:last-child strong{color:var(--navy);font-size:15px}.omr-statistics-table-wrap{margin-top:0}.omr-statistics-table{min-width:860px}.omr-statistics-table td{vertical-align:middle}.omr-statistics-table td strong,.omr-statistics-table td small{display:block}.omr-statistics-table td small{margin-top:2px;color:var(--muted);font-size:11px}.omr-score-value{color:var(--gold-deep);white-space:nowrap}.omr-preview{margin-top:14px;padding:10px;border:1px solid rgba(184,162,64,.25);border-radius:8px;background:#f8f8f6}.omr-preview img{display:block;width:100%;height:auto}.omr-preview p{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:700}.checkbox-pill{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;max-width:100%;min-height:34px;padding:7px 10px;border:1px solid rgba(184,162,64,.32);border-radius:999px;background:var(--white);color:var(--navy);font-weight:900;cursor:pointer;white-space:nowrap}.checkbox-pill span{min-width:0;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.35}.checkbox-pill input{width:18px;min-width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:var(--gold);box-shadow:none}.row-action-cluster{display:inline-flex;gap:8px;justify-content:flex-end}.student-import-actions{display:grid;grid-template-columns:minmax(190px,auto) minmax(240px,1fr);gap:10px;align-items:stretch;margin-top:14px}.student-import-actions .secondary-button,.student-import-upload{min-height:62px}.student-import-upload{min-height:62px;padding:10px 14px}.student-filter-bar{display:grid;grid-template-columns:auto minmax(180px,260px) minmax(220px,1fr);gap:10px;align-items:center;margin:18px 0 0}.student-filter-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.student-filter-tabs button{min-height:36px;padding:0 13px;border-radius:7px;background:transparent;color:var(--muted);font-weight:900;white-space:nowrap}.student-filter-tabs button.is-active{background:var(--navy);color:var(--white)}.admin-control-bar{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.1fr) minmax(130px,.5fr) auto;gap:10px;align-items:center;margin-bottom:18px}.admin-control-bar--compact{grid-template-columns:minmax(180px,.75fr) minmax(240px,1fr)}.question-bank-launch-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-bottom:12px;border:1px solid #ddd4b7;border-radius:14px;background:#fffdf6}.question-bank-launch-copy{display:grid;gap:4px}.question-bank-launch-copy strong{color:#232733;font-size:14px}.question-bank-launch-copy span{color:#5f6672;font-size:12px}.question-bank-launch-copy small{color:#8a7440;font-size:10px}.question-bank-launch-actions{display:flex;flex:0 0 auto;gap:8px}.question-bank-launch-button{text-decoration:none;white-space:nowrap}.admin-subheading{margin:22px 0 12px;color:var(--navy);font-size:18px}.admin-inline-summary{margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--soft);color:var(--muted);font-weight:800}.question-bank-editor{display:grid;gap:16px;margin:0 0 18px;padding:18px;border:1px solid rgba(184,162,64,.38);border-radius:var(--radius);background:#fffdf8}.question-bank-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.question-bank-editor-heading h3{margin:2px 0 0;color:var(--navy);font-size:20px}.question-bank-editor-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;align-items:start}.question-bank-preview{min-width:0;max-height:560px;padding:18px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.question-bank-preview .question-rich-content,.question-bank-preview .question-plain-content{min-width:0;margin:0}.question-bank-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.question-bank-editor-fields textarea,.question-bank-editor-fields input[name=tags],.question-bank-editor-actions,.question-bank-editor-fields .form-success,.question-bank-editor-fields .form-error{grid-column:1 / -1}.question-bank-editor-fields textarea{min-height:92px}.question-bank-editor-actions,.table-row-actions{display:flex;justify-content:flex-end;gap:8px}.question-bank-editor-actions .primary-button,.question-bank-editor-actions .secondary-button{min-width:112px}.table-row-actions{min-width:max-content}.score-exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:12px}.score-management-flow{display:flex;flex-direction:column;gap:14px}.score-management-flow>.score-list-filter-bar{order:0}.score-list-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,240px) auto;align-items:end;gap:14px;padding:16px;border:1px solid rgba(184,162,64,.34);border-radius:var(--radius);background:linear-gradient(135deg,#fffdf6,#fff)}.score-list-filter-bar>div,.score-list-filter-bar>label{display:grid;gap:5px}.score-list-filter-bar strong{color:var(--navy);font-size:16px}.score-list-filter-bar>div span,.score-list-filter-bar>label span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.score-list-filter-bar select{width:100%;min-height:42px}.score-list-filter-bar>b{min-height:42px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--gold-deep);background:var(--soft);font-size:13px;white-space:nowrap}@media(max-width:760px){.score-list-filter-bar{grid-template-columns:1fr;align-items:stretch}}.score-management-flow>.admin-subheading,.score-management-flow>.score-exam-grid,.score-management-flow>.score-exam-grid+.admin-inline-summary{order:1}.score-management-flow>.contextual-notification-bar,.score-management-flow>.table-wrap{order:2}.score-management-flow>.admin-control-bar,.score-management-flow>.chart-card{order:3}.score-management-flow>.score-entry-tools,.score-management-flow>.score-entry-status{order:4}.score-management-flow>.external-score-import-panel{order:5}.message-variable-buttons{display:flex;flex-wrap:wrap;gap:8px}.message-variable-buttons .secondary-button{min-height:34px;padding:7px 10px;font-size:12px}.score-exam-card{display:grid;gap:6px;min-height:104px;padding:14px;border:1px solid rgba(184,162,64,.28);border-radius:var(--radius);background:var(--white);color:var(--navy);text-align:left;box-shadow:0 12px 26px #4a3f210f}.score-exam-card strong{line-height:1.35;word-break:keep-all}.score-exam-card span,.score-exam-card em{color:var(--muted);font-style:normal;font-size:13px;font-weight:800}.score-exam-card.is-active{border-color:#b8a2409e;background:linear-gradient(135deg,#b8a2402e,#fffdf8f0);box-shadow:0 16px 34px #b8a24026}.test-report-class-list{display:grid;gap:18px}.test-report-class-group{display:grid;gap:10px}.test-report-class-group h4{margin:0;color:var(--gold-deep);font-size:15px}.test-report-exam-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.test-report-exam-card{border:1px solid rgba(184,162,64,.28);border-radius:var(--radius);background:var(--white);box-shadow:0 12px 26px #4a3f210f;overflow:hidden}.test-report-exam-card[open]{grid-column:1 / -1}.test-report-exam-card summary{min-height:88px;padding:14px;display:grid;gap:6px;cursor:pointer;list-style:none;color:var(--navy)}.test-report-exam-card summary::-webkit-details-marker{display:none}.test-report-exam-card summary strong{line-height:1.35;word-break:keep-all}.test-report-exam-card summary span{color:var(--muted);font-size:13px;font-weight:800}.test-report-exam-card .stack-list{padding:0 14px 14px}.test-report-exam-card .row-card{box-shadow:none}.exam-schedule-admin{margin:20px 0 18px;padding:18px;display:grid;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#faf7ece8)}.exam-schedule-admin h3{margin:2px 0 4px;color:var(--navy);font-size:20px}.exam-schedule-list{display:grid;gap:10px}.exam-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:12px;align-items:center;padding:14px;border:1px solid rgba(184,162,64,.26);border-radius:var(--radius);background:var(--white)}.exam-schedule-row strong{display:inline-block;margin-bottom:4px;color:var(--gold-deep);font-size:24px;line-height:1}.exam-schedule-row span{display:block;color:var(--navy);font-weight:900;line-height:1.45}.exam-schedule-row p{margin:6px 0 0;color:var(--muted);font-weight:800;line-height:1.55}.exam-schedule-row.is-urgent{border-color:#b89a2ba3;background:#fffaf0}.table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;margin-top:18px}table{width:100%;min-width:680px;border-collapse:collapse;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line)}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);color:var(--navy);font-size:13px;font-weight:900}td{color:#314962;font-weight:700;line-height:1.5}tr:last-child td{border-bottom:0}.table-action-cell{width:auto;min-width:72px;text-align:center}.table-action-group{display:inline-flex;align-items:center;justify-content:center;gap:6px}.table-action-button{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:var(--radius);background:var(--soft);color:var(--muted);border:1px solid var(--line)}.table-action-button--text{width:auto;min-width:48px;padding:0 10px;font-size:13px;font-weight:900}.table-action-button--danger{color:var(--red);background:#fff7f7;border-color:#f0d6d6}.table-action-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #4a3f211a}.student-review-controls{display:grid;gap:10px;min-width:0}.student-review-control-row{display:grid;grid-template-columns:minmax(130px,180px) minmax(92px,120px) 84px;gap:8px;align-items:end}.student-review-controls label{min-width:0;display:grid;gap:6px}.student-review-controls label span{color:var(--muted);font-size:12px;font-weight:900}.student-review-feedback{grid-column:1 / -1}.assignment-review-save-notice{margin:0;font-size:13px;font-weight:900}.assignment-review-save-notice.is-success{color:#24763b}.assignment-review-save-notice.is-warning{color:#9a6700}.assignment-review-save-notice.is-error{color:var(--red)}.student-review-stack{min-width:760px;display:grid;gap:10px}.submission-preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.submission-preview-list a,.submission-preview-button{display:grid;gap:6px;padding:7px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--muted);text-decoration:none;font-size:12px;font-weight:800;text-align:left}.submission-preview-list img,.submission-preview-button img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;background:var(--white)}.submission-preview-list span,.submission-preview-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-preview-list--parent{grid-template-columns:repeat(auto-fill,minmax(86px,110px))}.image-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#14161ab8}.image-preview-modal{position:relative;width:min(920px,100%);max-height:min(88vh,920px);padding:18px;display:grid;gap:12px;border:1px solid rgba(255,255,255,.34);border-radius:var(--radius);background:var(--white);box-shadow:0 26px 90px #00000052}.image-preview-modal img{width:100%;max-height:calc(88vh - 92px);object-fit:contain;border-radius:6px;background:var(--soft)}.image-preview-modal strong{color:var(--navy);font-size:14px}.image-preview-close{position:absolute;right:12px;top:12px;background:#ffffffeb}.review-request-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#12161e8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.review-request-modal{position:relative;width:min(520px,100%);padding:28px;display:grid;gap:14px;border:1px solid rgba(190,169,66,.34);border-radius:var(--radius);background:#fffffff5;box-shadow:0 28px 90px #21263147}.review-request-modal h2{margin:0;color:var(--navy);font-size:clamp(24px,4vw,34px);letter-spacing:0}.review-request-modal p{margin:0;color:#4d5b6a;font-weight:800;line-height:1.65}.review-request-modal textarea{min-height:150px;resize:vertical}.review-request-close{position:absolute;top:14px;right:14px;background:var(--white)}.review-request-actions{display:grid;grid-template-columns:120px 1fr;gap:10px}.review-request-admin{margin-bottom:22px;padding:18px;display:grid;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffffffa,#faf7ece6)}.review-request-admin .admin-form--grid{margin:0}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.submission-empty{margin:0;color:var(--muted);font-weight:800}.assignment-review-board{display:grid;gap:16px;margin-top:18px}.assignment-view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px}.assignment-view-tabs button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);font-weight:900}.assignment-view-tabs button.is-active{border-color:var(--navy);background:var(--navy);color:var(--white)}.assignment-achievement-section{display:grid;gap:16px;margin-top:16px}.student-assignment-report{display:grid;gap:12px;margin:14px 0 20px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fff,#f8fbfd)}.student-assignment-report-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.student-assignment-report-heading h3,.student-assignment-report-heading p{margin:0}.student-assignment-report-heading h3{color:var(--navy)}.student-assignment-report-heading>span{color:var(--muted);font-size:12px;font-weight:900}.student-assignment-report-scroll{max-width:100%;overflow:auto;border:1px solid #dfe7ed;border-radius:12px;background:var(--white)}.student-assignment-report table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.student-assignment-report th,.student-assignment-report td{min-width:150px;max-width:220px;padding:11px;border-right:1px solid #e7ecef;border-bottom:1px solid #e7ecef;text-align:center;vertical-align:top}.student-assignment-report th:first-child{position:sticky;left:0;z-index:2;min-width:170px;background:#f3f6f8;color:var(--navy);text-align:left}.student-assignment-report thead th{position:sticky;top:0;z-index:1;background:var(--navy);color:var(--white)}.student-assignment-report thead th:first-child{z-index:3;background:var(--navy);color:var(--white)}.student-assignment-report th strong,.student-assignment-report th small,.student-assignment-report td strong,.student-assignment-report td span,.student-assignment-report td small{display:block}.student-assignment-report th small{margin-top:5px;line-height:1.35}.student-assignment-report td strong{color:var(--blue);font-size:15px}.student-assignment-report td span{margin-top:3px;color:var(--muted);font-weight:900}.student-assignment-report td small{margin-top:6px;color:#50657a;line-height:1.4}.student-assignment-report .report-feedback-row td{min-width:190px;color:#50657a;line-height:1.5;text-align:left}.student-assignment-report .report-summary-row td{background:#f8fbfd}.student-assignment-report .is-focused{background:#fff4c7!important;box-shadow:inset 0 0 0 2px #e0b92f}.portal-assignment-item-breakdown{display:grid;gap:10px;margin-top:12px;padding:13px;border:1px solid #e4dcc0;border-radius:12px;background:#fffcf3}.portal-assignment-item-breakdown-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-assignment-item-breakdown-heading strong{color:var(--navy);font-size:14px}.portal-assignment-item-breakdown-heading span{padding:4px 8px;border-radius:999px;background:#f1e7bd;color:#6f5a12;font-size:11px;font-weight:900}.portal-assignment-item-list{display:grid;gap:7px}.portal-assignment-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,auto);gap:7px 12px;padding:10px 11px;border:1px solid #e7e9ec;border-left:4px solid #d2bd67;border-radius:9px;background:var(--white)}.portal-assignment-item.status-완료{border-left-color:#47a45b}.portal-assignment-item.status-다시-제출{border-left-color:#d55a4e}.portal-assignment-item.status-검수-중{border-left-color:#d3a427}.portal-assignment-item.status-제출-전{border-left-color:#98a2ad}.portal-assignment-item-title{min-width:0}.portal-assignment-item-title strong,.portal-assignment-item-title small,.portal-assignment-item-result strong,.portal-assignment-item-result span{display:block}.portal-assignment-item-title strong{color:var(--navy);font-size:13px;line-height:1.4}.portal-assignment-item-title small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.portal-assignment-item-result{text-align:right}.portal-assignment-item-result strong{color:#8d7218;font-size:17px}.portal-assignment-item-result span{margin-top:2px;color:var(--muted);font-size:10px;font-weight:900}.portal-assignment-item-progress{grid-column:1 / -1;height:6px;overflow:hidden;border-radius:999px;background:#ece8d9}.portal-assignment-item-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a88928,#d5be63)}.portal-assignment-item>p{grid-column:1 / -1;margin:0;color:#50657a;font-size:11px;line-height:1.45}@media(max-width:620px){.portal-assignment-item-breakdown{padding:10px}.portal-assignment-item{grid-template-columns:minmax(0,1fr) 76px}.portal-assignment-item-title small{white-space:normal}}.public-assignment-report-page{min-height:100vh;padding:32px clamp(16px,4vw,64px) 24px;background:#f3f6f9;color:#17283a}.public-assignment-report-page>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-radius:18px;background:linear-gradient(135deg,#17365d,#285b86);color:#fff;box-shadow:0 18px 44px #17365d33}.public-assignment-report-page>header p,.public-assignment-report-page>header h1,.public-assignment-report-page>header span{margin:0}.public-assignment-report-page>header p{color:#f0d875;font-size:13px;font-weight:900}.public-assignment-report-page>header h1{margin-top:5px;font-size:clamp(24px,3vw,36px)}.public-assignment-report-page>header span{display:block;margin-top:7px;color:#d9e6f0;font-weight:800}.public-assignment-report-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:18px 0}.public-assignment-report-summary article{display:grid;gap:5px;padding:18px;border:1px solid #dce5ec;border-radius:14px;background:#fff}.public-assignment-report-summary span{color:#62717f;font-size:12px;font-weight:900}.public-assignment-report-summary strong{color:#17365d;font-size:25px}.public-assignment-report-card{padding:22px;border:1px solid #dce5ec;border-radius:18px;background:#fff}.public-assignment-report-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}.public-assignment-report-title p,.public-assignment-report-title h2{margin:0}.public-assignment-report-title p{color:#796100;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-assignment-report-title h2{margin-top:4px;color:#17365d}.public-assignment-report-title>span{color:#62717f;font-size:12px;font-weight:900}.public-assignment-report-scroll{max-width:100%;overflow:auto;border:1px solid #dfe7ed;border-radius:12px}.public-assignment-report-scroll table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.public-assignment-report-scroll th,.public-assignment-report-scroll td{min-width:155px;max-width:230px;padding:12px;border-right:1px solid #e5ebef;border-bottom:1px solid #e5ebef;text-align:center;vertical-align:top}.public-assignment-report-scroll th:first-child{position:sticky;left:0;z-index:2;min-width:175px;background:#f5f7f9;color:#17365d;text-align:left}.public-assignment-report-scroll thead th{position:sticky;top:0;z-index:1;background:#17365d;color:#fff}.public-assignment-report-scroll thead th:first-child{z-index:3;background:#17365d;color:#fff}.public-assignment-focused-label{display:inline-block;margin-bottom:5px;padding:2px 6px;border:1px solid currentColor;border-radius:999px;font-size:10px;line-height:1.2}.public-assignment-report-scroll th strong,.public-assignment-report-scroll th small,.public-assignment-report-scroll td strong,.public-assignment-report-scroll td span,.public-assignment-report-scroll td small{display:block}.public-assignment-report-scroll th small{margin-top:5px;line-height:1.4}.public-assignment-report-scroll td strong{color:#2e6ca4;font-size:16px}.public-assignment-report-scroll td span{margin-top:3px;color:#62717f;font-weight:900}.public-assignment-report-scroll td small{margin-top:6px;color:#50657a;line-height:1.45}.public-assignment-report-scroll .comment-row td{min-width:200px;text-align:left;color:#50657a;line-height:1.55}.public-assignment-report-scroll .overall-row td{background:#f8fbfd}.public-assignment-report-scroll .is-focused{background:#fff1b8!important;box-shadow:inset 0 0 0 2px #d2a917}.public-assignment-report-page>footer{padding:18px 4px 0;color:#5d6b77;font-size:12px;text-align:center}.public-assignment-report-state{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;background:#f3f6f9;color:#17365d;text-align:center}.public-assignment-report-state h1,.public-assignment-report-state p{margin:0}.public-assignment-report-state svg{width:38px;height:38px;color:#b08d16}.public-score-report-page{min-height:100vh;padding:28px;background:#f3f6f9;color:#17365d}.public-score-report-page>header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:0 auto 16px;padding:26px 30px;border-radius:18px;background:linear-gradient(135deg,#17365d,#285b86);color:#fff}.public-score-report-page>header p,.public-score-report-page>header h1,.public-score-report-page>header span{margin:0}.public-score-report-page>header p{color:#f0d875;font-size:13px;font-weight:900}.public-score-report-page>header h1{margin-top:5px;font-size:clamp(24px,3vw,36px)}.public-score-report-page>header span{display:block;margin-top:6px;color:#d9e6f0;font-weight:800}.public-score-header-actions{display:flex;align-items:center;gap:14px}.public-score-header-actions button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.45);border-radius:10px;color:#fff;background:#ffffff14;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.public-score-header-actions button:hover{background:#ffffff2e}.public-score-student-grid,.public-score-summary{display:grid;max-width:1120px;margin:0 auto 16px;gap:10px}.public-score-student-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-score-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.public-score-student-grid article,.public-score-summary article{display:grid;gap:6px;padding:16px;border:1px solid #dce5ec;border-radius:14px;background:#fff}.public-score-student-grid span,.public-score-summary span{color:#62717f;font-size:12px;font-weight:900}.public-score-student-grid strong{font-size:15px}.public-score-summary strong{color:#17365d;font-size:24px}.public-score-summary strong small{font-size:13px}.public-score-summary .is-primary{background:#17365d}.public-score-summary .is-primary span,.public-score-summary .is-primary strong{color:#fff}.public-score-card{max-width:1120px;margin:0 auto 16px;padding:22px;border:1px solid #dce5ec;border-radius:18px;background:#fff}.public-score-title{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}.public-score-title p,.public-score-title h2{margin:0}.public-score-title p{color:#796100;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.public-score-title h2{margin-top:4px}.public-score-title>span{color:#62717f;font-size:13px;font-weight:900}.public-score-table-wrap{overflow:auto;border:1px solid #dfe7ed;border-radius:12px}.public-score-table-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:13px}.public-score-table-wrap th,.public-score-table-wrap td{padding:11px 12px;border-bottom:1px solid #e5ebef;text-align:center}.public-score-table-wrap th{background:#f4f7f9;color:#37516a}.public-score-table-wrap td:nth-child(2){text-align:left}.public-score-table-wrap .is-correct{color:#16834b}.public-score-table-wrap .is-wrong{color:#d93a32}.public-score-report-page>footer{max-width:1120px;margin:0 auto;padding:8px;color:#5d6b77;font-size:12px;text-align:center}.public-score-analysis-card{background:linear-gradient(145deg,#fff,#f9fbfd)}.public-score-comment{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:flex-start;margin-top:10px;padding:16px 18px;border:1px solid #dbe7ef;border-radius:14px;background:#f3f7fa}.public-score-comment>svg{width:22px;height:22px;margin-top:1px;color:#2e6ca4}.public-score-comment strong,.public-score-comment p{margin:0}.public-score-comment strong{display:block;margin-bottom:5px;font-size:13px}.public-score-comment p{color:#425d74;font-size:14px;font-weight:700;line-height:1.7;word-break:keep-all}.public-score-comment.is-teacher{border-color:#ead99a;background:#fffaf0}.public-score-comment.is-teacher>svg{color:#ae8814}.public-score-analysis-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.public-score-analysis-tags span{padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}.public-score-analysis-tags .is-strength{background:#e9f7f0;color:#167247}.public-score-analysis-tags .is-focus{background:#fff0ed;color:#bd3e31}.public-score-action-block{margin-top:18px;padding-top:17px;border-top:1px solid #e3eaf0}.public-score-action-block h3{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:16px}.public-score-action-block h3 svg{color:#b08d16}.public-score-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.public-score-actions li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px;border:1px solid #dfe7ed;border-radius:13px;background:#fff}.public-score-actions li>span{display:grid;place-content:center;width:25px;height:25px;border-radius:50%;background:#17365d;color:#fff;font-size:12px;font-weight:900}.public-score-actions strong,.public-score-actions p{margin:0}.public-score-actions strong{font-size:13px}.public-score-actions p{margin-top:5px;color:#5e7080;font-size:12px;font-weight:700;line-height:1.55;word-break:keep-all}.public-score-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-score-unit{padding:16px;border:1px solid #dfe7ed;border-radius:14px;background:#fff}.public-score-unit>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.public-score-unit>header div{display:grid;gap:4px;min-width:0}.public-score-unit>header strong{font-size:15px;overflow-wrap:anywhere}.public-score-unit>header span{color:#62717f;font-size:12px;font-weight:800}.public-score-unit>header em{flex:none;padding:5px 8px;border-radius:999px;background:#edf2f5;color:#50657a;font-size:11px;font-style:normal;font-weight:900}.public-score-unit.is-strength>header em{background:#e9f7f0;color:#167247}.public-score-unit.is-focus>header em{background:#fff0ed;color:#bd3e31}.public-score-progress{height:9px;margin:14px 0 9px;overflow:hidden;border-radius:999px;background:#e8eef2}.public-score-progress>span{display:block;height:100%;border-radius:inherit;background:#6285a4;transition:width .3s ease}.public-score-unit.is-strength .public-score-progress>span{background:#2f9968}.public-score-unit.is-focus .public-score-progress>span{background:#dc6557}.public-score-unit>footer{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.public-score-unit>footer strong{font-size:20px}.public-score-unit>footer span{color:#62717f;font-size:11px;font-weight:800;text-align:right}.public-score-unit>p{margin:10px 0 0;padding-top:9px;border-top:1px dashed #dfe7ed;color:#b1473b;font-size:12px;font-weight:900}.public-score-unit>small{display:block;margin-top:7px;color:#5d6973;font-size:10px;line-height:1.45}.public-score-perfect{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:20px;border:1px solid #bde2cd;border-radius:14px;background:#effaf4}.public-score-perfect>svg{width:30px;height:30px;color:#16834b}.public-score-perfect strong,.public-score-perfect p{margin:0}.public-score-perfect strong{color:#146a40}.public-score-perfect p{margin-top:5px;color:#527064;font-size:13px;line-height:1.55}.public-score-wrong-list{display:grid;gap:16px}.public-score-wrong-item{--score-question-purple: #7257a2;--score-question-purple-dark: #4c2360;--score-question-coral: #ef6b50;--score-question-soft: #f2eefb;overflow:hidden;border:1px solid #ddd7e6;border-radius:16px;background:#fff;box-shadow:0 7px 22px #4c236012}.public-score-wrong-item>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #e6dfea;background:#fbf9fd}.public-score-wrong-item>header>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.public-score-wrong-item>header strong{overflow-wrap:anywhere;font-size:14px}.public-score-question-number{flex:none;padding:6px 10px;border-radius:999px;background:var(--score-question-purple-dark);color:#fff;font-size:12px;font-weight:900}.public-score-question-meta{display:flex;flex:none;gap:7px}.public-score-question-meta span{padding:5px 8px;border:1px solid #ddd3e5;border-radius:8px;background:#fff;color:#66566f;font-size:11px;font-weight:900}.public-score-question-prompt{padding:17px 18px}.public-score-question-prompt h3{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--score-question-purple);font-size:12px}.public-score-rich-text,.public-score-plain-text,.public-score-muted-text{min-width:0;margin:0;color:#302c37;font-family:"Noto Serif KR",Batang,KoPub Batang,serif;font-size:14px;font-weight:400;line-height:1.72;letter-spacing:-.018em;word-break:keep-all;overflow-wrap:break-word}.public-score-muted-text{color:#87939d;font-weight:600}.public-score-rich-text>:first-child{margin-top:0!important}.public-score-rich-text>:last-child{margin-bottom:0!important}.public-score-rich-text :not(.katex):not(.katex *):not(.wrong-note-choice-grid):not(.wrong-note-choice-grid *){font-family:inherit!important;font-size:inherit!important;letter-spacing:inherit!important}.public-score-rich-text p,.public-score-rich-text div{min-width:0!important;max-width:100%!important;line-height:1.72!important;white-space:normal!important;overflow-wrap:break-word!important}.public-score-rich-text p{margin:0 0 10px!important}.public-score-rich-text p:last-child{margin-bottom:0!important}.public-score-rich-text .wrong-note-math-inline{display:inline-block;margin:0 .08em;overflow:visible;line-height:1;vertical-align:baseline;white-space:nowrap}.public-score-rich-text .wrong-note-math-inline>.katex,.public-score-rich-text .katex-display>.katex{font-size:1.21em;line-height:1;vertical-align:.04em}.public-score-rich-text .katex,.public-score-rich-text .katex *{max-width:none!important;white-space:nowrap!important;overflow-wrap:normal!important}.public-score-rich-text .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.public-score-rich-text img,.public-score-rich-text svg:not(.katex svg),.public-score-rich-text canvas{position:static!important;display:inline-block;float:none!important;max-width:100%!important;height:auto!important;vertical-align:middle!important}.public-score-question-crop{display:block;width:100%;height:auto;border:1px solid #e2e7ec;border-radius:10px;background:#fff;object-fit:contain}.public-score-rich-text table{width:auto!important;min-width:0!important;max-width:100%;table-layout:fixed!important;border-collapse:collapse}.public-score-rich-text td,.public-score-rich-text th{min-width:0!important;padding:5px;white-space:normal!important;overflow-wrap:break-word!important}.public-score-rich-text .wrong-note-prompt-stem>:first-child{margin-top:0!important}.public-score-rich-text .wrong-note-prompt-stem>:last-child{margin-bottom:0!important}.public-score-rich-text .wrong-note-view-box{width:100%;margin:14px 0;overflow:hidden;border:1px solid #b8b0c2;background:#fff;break-inside:avoid}.public-score-rich-text .wrong-note-view-title{padding:7px 12px 6px;border-bottom:1px solid #b8b0c2;background:#f6f3fa;color:#302c37;font-weight:700;line-height:1.3!important;text-align:center}.public-score-rich-text .wrong-note-view-body{padding:10px 13px 11px}.public-score-rich-text .wrong-note-view-box--image{width:min(100%,440px)}.public-score-rich-text .wrong-note-view-box--image .wrong-note-view-body{padding:7px 9px 9px}.public-score-rich-text .wrong-note-view-box--image .wrong-note-view-body>img{display:block!important;width:100%!important;height:auto!important;margin:0!important}.public-score-rich-text .wrong-note-view-statement{width:100%!important;margin:0 0 7px!important;padding:0!important;font-size:14px!important;line-height:1.55!important;text-align:left!important;text-indent:0!important;word-break:keep-all!important;overflow-wrap:normal!important}.public-score-rich-text .wrong-note-view-statement:last-child{margin-bottom:0!important}.public-score-rich-text .wrong-note-choice-grid{width:100%;margin-top:14px;padding:14px 15px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:14px;row-gap:12px;border-left:4px solid var(--score-question-purple);border-radius:0 10px 10px 0;background:var(--score-question-soft)}.public-score-rich-text .wrong-note-choice-grid.is-three-two .wrong-note-choice{grid-column:span 2}.public-score-rich-text .wrong-note-choice-grid.is-three-two .wrong-note-choice:nth-child(4){grid-column:1 / span 2}.public-score-rich-text .wrong-note-choice-grid.is-three-two .wrong-note-choice:nth-child(5){grid-column:3 / span 2}.public-score-rich-text .wrong-note-choice{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:4px;align-items:baseline;font-family:"Noto Serif KR",Batang,KoPub Batang,serif;font-size:14px;line-height:1.35!important}.public-score-rich-text .wrong-note-choice-label{color:var(--score-question-purple-dark);font-family:Malgun Gothic,sans-serif!important;font-size:14px!important;line-height:1!important;text-align:center}.public-score-rich-text .wrong-note-choice-content,.public-score-rich-text .wrong-note-choice-content>p,.public-score-rich-text .wrong-note-choice-content>div,.public-score-rich-text .wrong-note-choice-content>span{min-width:0!important;margin:0!important;line-height:1.35!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important}.public-score-rich-text .wrong-note-choice.is-image-only-choice{align-items:start}.public-score-rich-text .wrong-note-choice.is-image-only-choice .wrong-note-choice-label{padding-top:3px}.public-score-rich-text .wrong-note-choice.is-image-only-choice .wrong-note-choice-content{width:100%;display:flex;align-items:flex-start;justify-content:center}.public-score-rich-text .wrong-note-choice.is-image-only-choice .wrong-note-choice-content>:is(img,svg,canvas){display:block!important;margin:0 auto!important;object-fit:contain!important}.public-score-rich-text .wrong-note-choice-grid.has-uniform-image-choices .wrong-note-choice-content{height:96px;align-items:center;overflow:hidden}.public-score-rich-text .wrong-note-choice-grid.has-uniform-image-choices .wrong-note-choice-content>:is(img,svg,canvas){width:100%!important;height:100%!important;max-height:100%!important}.public-score-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 18px 14px;overflow:hidden;border:1px solid #dfe7ed;border-radius:12px}.public-score-answer-grid>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px}.public-score-answer-grid>div+div{border-left:1px solid #dfe7ed}.public-score-answer-grid dt{color:#6a7987;font-size:11px;font-weight:900}.public-score-answer-grid dd{min-width:0;margin:0;font-size:14px;font-weight:900;overflow-wrap:anywhere}.public-score-answer-grid .is-wrong{color:#cf3d32}.public-score-answer-grid .is-correct{color:#16834b}.public-score-rich-answer{display:inline-flex;align-items:center;min-height:22px;vertical-align:middle}.public-score-rich-answer>p,.public-score-rich-answer>div,.public-score-rich-answer>span:not(.katex){margin:0!important;display:inline-flex!important;align-items:center}.public-score-rich-answer img{width:auto!important;max-width:130px!important;height:auto!important;max-height:32px!important;vertical-align:middle!important}.public-score-review-tip{margin:0 18px 14px;padding:13px 14px;border-left:4px solid #d1ac2f;border-radius:0 10px 10px 0;background:#fffbec}.public-score-review-tip strong{display:flex;align-items:center;gap:6px;color:#735d14;font-size:12px}.public-score-review-tip p{margin:5px 0 0;color:#655e43;font-size:12px;font-weight:700;line-height:1.6}.public-score-solution{margin:0 18px 18px;border:1px solid #dfe7ed;border-radius:11px;background:#f8fafb}.public-score-solution summary{padding:11px 13px;cursor:pointer;color:#2f5f89;font-size:12px;font-weight:900}.public-score-solution[open] summary{border-bottom:1px solid #dfe7ed}.public-score-solution>.public-score-rich-text,.public-score-solution>.public-score-plain-text,.public-score-solution>.public-score-muted-text{padding:14px;font-size:13px}.public-score-summary-only .empty-state{line-height:1.7}.public-score-report-error small{max-width:460px;color:#6a7987;font-size:12px;font-weight:750;line-height:1.6}.public-score-report-error button{min-height:42px;padding:9px 16px;border:1px solid #17365d;border-radius:10px;color:#fff;background:#17365d;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.public-score-report-error button:hover{background:#285b86}.public-assignment-report-scroll:focus-visible,.public-score-report-page button:focus-visible,.public-lecture-shell :is(button,a,summary):focus-visible,.attendance-check-card :is(button,input):focus-visible,.signin-card :is(button,input,a):focus-visible,.login-modal :is(button,input):focus-visible{outline:3px solid #735800;outline-offset:3px}.public-score-report-page>header button:focus-visible,.public-lecture-stage .public-lecture-fullscreen:focus-visible{outline-color:#ffe071}@media(forced-colors:active){.public-assignment-report-scroll:focus-visible,.public-score-report-page button:focus-visible,.public-lecture-shell :is(button,a,summary):focus-visible,.attendance-check-card :is(button,input):focus-visible,.signin-card :is(button,input,a):focus-visible,.login-modal :is(button,input):focus-visible{outline-color:Highlight}.public-assignment-report-scroll .is-focused,.public-score-unit>header em,.public-score-analysis-tags span{border:2px solid currentColor}}@media(max-width:700px){.public-assignment-report-page{padding:14px}.public-assignment-report-page>header{padding:20px}.public-assignment-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.public-assignment-report-card{padding:14px}.public-score-report-page{padding:12px}.public-score-report-page>header{padding:20px}.public-score-student-grid,.public-score-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.public-score-card{padding:14px}.public-score-title{align-items:flex-start}.public-score-title>span{max-width:45%;text-align:right}.public-score-actions,.public-score-unit-grid{grid-template-columns:1fr}.public-score-comment{padding:14px}.public-score-wrong-item>header{align-items:flex-start}.public-score-question-meta{flex-direction:column;align-items:flex-end}.public-score-answer-grid{grid-template-columns:1fr}.public-score-answer-grid>div+div{border-top:1px solid #dfe7ed;border-left:0}}.omr-automation-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 16px;padding:12px 14px;border:1px solid #e8dfc0;border-radius:13px;background:#fffdf7}.omr-automation-summary>strong{display:flex;align-items:center;gap:6px;margin-right:4px;color:var(--navy)}.omr-automation-summary>span{padding:5px 8px;border-radius:999px;color:#8a8d96;background:#f0f1f3;font-size:12px;font-weight:750}.omr-automation-summary>span.is-on{color:#197044;background:#eaf7ef}.omr-automation-summary>button{margin-left:auto}.omr-analysis-open{min-width:102px;padding:7px 10px}.omr-analysis-open.is-active{border-color:#ad9129;color:#7f6815;background:#fff8df}.omr-analysis-detail{margin-top:18px;scroll-margin-top:18px;padding:20px;border:1px solid #dfd2a2;border-radius:16px;background:linear-gradient(150deg,#fffdf6,#fff 74%)}.omr-analysis-detail:focus-visible{outline:3px solid rgba(173,145,41,.34);outline-offset:3px}.omr-analysis-detail>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.omr-analysis-detail h3{margin:3px 0;color:var(--navy)}.omr-analysis-detail header span{color:var(--gray);font-size:13px}.omr-analysis-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:16px}.omr-analysis-grid>article{display:grid;align-content:start;gap:10px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.omr-analysis-grid textarea{min-height:150px;resize:vertical}.omr-analysis-grid article>small{color:var(--gray);line-height:1.5}.omr-analysis-unit-chips{display:flex;flex-wrap:wrap;gap:7px}.omr-analysis-unit-chips span{padding:6px 9px;border-radius:999px;color:#6f7280;background:#f1f2f4;font-size:12px;font-weight:750}.omr-analysis-unit-chips .is-strength{color:#197044;background:#eaf7ef}.omr-analysis-unit-chips .is-focus{color:#a2443f;background:#fff0ef}.omr-analysis-actions{display:grid;gap:8px;margin:2px 0 0;padding:0;list-style:none}.omr-analysis-actions li{display:flex;align-items:flex-start;gap:9px}.omr-analysis-actions li>b{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;color:#fff;background:#ad9129;font-size:11px}.omr-analysis-actions li>span{display:grid;gap:2px}.omr-analysis-actions small{color:var(--gray);line-height:1.45}.omr-analysis-limit{margin:13px 0 0;padding:10px 12px;border-radius:9px;color:#706536;background:#fff6d9;font-size:12px;line-height:1.5}@media(max-width:850px){.omr-analysis-detail>header{align-items:flex-start;flex-direction:column}.omr-analysis-grid{grid-template-columns:1fr}.omr-automation-summary>button{width:100%;margin-left:0}}.test-report-comment-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-bottom:18px;padding:22px;border:1px solid #dfd2a2;border-radius:17px;background:linear-gradient(140deg,#fffaf0,#fff 70%)}.test-report-comment-card h2{margin:4px 0 9px;color:var(--navy)}.test-report-comment-card>div>p:last-child{margin:0;color:#465064;line-height:1.7}.test-report-comment-card ol{display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none}.test-report-comment-card li{display:flex;align-items:flex-start;gap:9px;padding:10px;border-radius:10px;background:#ffffffdb}.test-report-comment-card li>b{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;color:#fff;background:#ad9129;font-size:11px}.test-report-comment-card li>span{display:grid;gap:2px}.test-report-comment-card li small{color:var(--gray);line-height:1.4}@media(max-width:760px){.test-report-comment-card{grid-template-columns:1fr;padding:17px}}@media(max-width:430px){.public-score-report-page>header .public-score-header-actions>svg{width:30px;height:30px}.public-score-header-actions{align-items:flex-end;flex-direction:column-reverse;gap:8px}.public-score-header-actions button{padding:7px 9px;font-size:10px}.public-score-student-grid{grid-template-columns:1fr 1fr}.public-score-student-grid article,.public-score-summary article{padding:13px}.public-score-summary strong{font-size:20px}.public-score-title{display:grid}.public-score-title>span{max-width:none;text-align:left}.public-score-unit>footer{align-items:flex-start;flex-direction:column}.public-score-unit>footer span{text-align:left}.public-score-wrong-item>header{display:grid}.public-score-question-meta{flex-direction:row;align-items:center}.public-score-question-prompt{padding:15px}.public-score-rich-text,.public-score-plain-text,.public-score-muted-text{font-size:13px}.public-score-rich-text .wrong-note-choice-grid{padding:12px 10px;column-gap:8px;row-gap:10px}.public-score-rich-text .wrong-note-choice{grid-template-columns:18px minmax(0,1fr);column-gap:2px;font-size:13px}.public-score-rich-text .wrong-note-choice-label,.public-score-rich-text .wrong-note-view-statement{font-size:13px!important}.public-score-answer-grid,.public-score-review-tip,.public-score-solution{margin-right:15px;margin-left:15px}}.clinic-attendance-operations{display:grid;gap:14px;padding:18px;border:1px solid #dfd3aa;border-radius:18px;background:linear-gradient(135deg,#fffdf7,#f8f3e4)}.clinic-attendance-operations__intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.clinic-attendance-operations__intro h4{margin:2px 0 5px;color:#252a36;font-size:20px}.clinic-attendance-operations__intro p:last-child{max-width:760px;margin:0;color:#737987;font-size:11px;line-height:1.65}.clinic-attendance-operations__actions{display:flex;flex-shrink:0;gap:8px}.clinic-attendance-operations__actions button{min-height:42px}.clinic-attendance-operations__actions svg{width:17px}.clinic-attendance-safety-note{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:11px;color:#765d1d;background:#dfc66b33;font-size:11px;line-height:1.5}.clinic-attendance-safety-note svg{width:17px;flex:0 0 auto}.clinic-attendance-message{margin:0;color:#a34840;font-size:11px;font-weight:750}.clinic-attendance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.clinic-attendance-metrics>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 8px;padding:11px 12px;border:1px solid #e4dcc3;border-radius:12px;background:#ffffffd1}.clinic-attendance-metrics svg{grid-row:1 / 3;width:19px;color:#b1912c}.clinic-attendance-metrics small{color:#777e8a;font-size:9px}.clinic-attendance-metrics strong{color:#252a36;font-size:17px}.clinic-attendance-metrics .is-danger{border-color:#ecc0bc;background:#fff1f0}.clinic-attendance-metrics .is-danger svg,.clinic-attendance-metrics .is-danger strong{color:#bd4942}.clinic-attendance-live-table{max-height:390px;overflow:auto;border:1px solid #e1dac4;border-radius:13px;background:#fff}.clinic-attendance-live-table table{width:100%;min-width:800px;border-collapse:collapse}.clinic-attendance-live-table th,.clinic-attendance-live-table td{padding:10px 11px;border-bottom:1px solid #eeebe2;text-align:left;vertical-align:top;font-size:11px}.clinic-attendance-live-table th{position:sticky;z-index:2;top:0;color:#747b87;background:#f7f5ef;font-size:9px}.clinic-attendance-live-table td:first-child strong,.clinic-attendance-live-table td:first-child small{display:block}.clinic-attendance-live-table td:first-child small{margin-top:2px;color:#8b9099;font-size:9px}.clinic-attendance-state{display:inline-flex;padding:5px 8px;border-radius:999px;color:#747b86;background:#f0f1f3;font-size:9px;font-weight:800}.clinic-attendance-state.is-present{color:#176f57;background:#e5f5ee}.clinic-attendance-state.is-late{color:#8b6812;background:#fff3ca}.clinic-attendance-state.is-completed{color:#285caa;background:#e9f1ff}.clinic-attendance-state.is-warning{color:#a36318;background:#fff0d9}.clinic-attendance-state.is-absent{color:#b5443e;background:#fde8e7}.clinic-projector{position:fixed;z-index:12000;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100dvh;color:#f7f3e6;background:radial-gradient(circle at 30% 30%,#273047,#10141f 54%,#090c13)}.clinic-projector>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.12)}.clinic-projector>header p,.clinic-projector>header h2{margin:0}.clinic-projector>header p{margin-bottom:3px;color:#d6bd5c;font-size:11px;font-weight:850;letter-spacing:.14em}.clinic-projector>header h2{font-size:clamp(24px,2.2vw,38px);letter-spacing:-.04em}.clinic-projector__header-actions{display:flex;gap:10px}.clinic-projector__header-actions button{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:#ffffff14;cursor:pointer}.clinic-projector>main{display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(420px,.92fr);gap:clamp(28px,5vw,82px);align-items:center;padding:clamp(24px,4vh,54px) clamp(30px,6vw,110px)}.clinic-projector__qr{display:grid;justify-items:center;gap:16px;text-align:center}.clinic-projector__qr-frame{display:grid;place-items:center;width:min(56vh,570px);aspect-ratio:1;padding:22px;border-radius:28px;color:#b89b36;background:#fff;box-shadow:0 28px 80px #0000006b,0 0 0 8px #d7be5e2e}.clinic-projector__qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.clinic-projector__qr-frame svg{width:58px;height:58px}.clinic-projector__qr>strong{font-size:clamp(16px,1.55vw,24px)}.clinic-projector__qr>span{color:#d9c56f;font-size:clamp(14px,1.2vw,19px);font-variant-numeric:tabular-nums}.clinic-projector__qr>span.is-expiring{color:#ff938b}.clinic-projector__status h3{margin:4px 0 22px;font-size:clamp(32px,4vw,64px)}.clinic-projector__metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.clinic-projector__metrics span{display:grid;gap:4px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#ffffff0f}.clinic-projector__metrics small{color:#aeb4c2;font-size:11px}.clinic-projector__metrics strong{font-size:clamp(25px,3vw,45px)}.clinic-projector__metrics .is-danger{border-color:#ff746a73;color:#ff938b;background:#ad2b232e}.clinic-projector__recent{display:grid;gap:1px;max-height:310px;margin-top:20px;overflow:hidden;border-radius:14px;background:#ffffff14}.clinic-projector__recent article{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:11px 14px;background:#0c1019d6;font-size:14px}.clinic-projector__recent article b{color:#d7c269}.clinic-projector__recent article time{color:#aab0bd;font-variant-numeric:tabular-nums}.clinic-projector__recent>p{padding:28px;color:#aeb4c2;text-align:center}.clinic-projector__notice{margin:17px 0 0;color:#e3ca6c;font-size:12px;line-height:1.6}.clinic-projector>footer{display:flex;justify-content:center;gap:8px;padding:13px 24px;color:#9299a9;border-top:1px solid rgba(255,255,255,.08);font-size:11px}.clinic-projector>footer svg{width:15px}.clinic-attendance-prompt{position:fixed;z-index:12500;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#090c13b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.clinic-attendance-prompt__card{position:relative;width:min(100%,520px);padding:34px;border:1px solid #e2d5a9;border-radius:25px;color:#262b37;background:#fffdf8;box-shadow:0 30px 90px #00000059;text-align:center}.clinic-attendance-prompt__close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e6e1d4;border-radius:50%;color:#606775;background:#fff;cursor:pointer}.clinic-attendance-prompt__icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 15px;border-radius:22px;color:#a88620;background:#f4ecd1}.clinic-attendance-prompt__icon svg{width:35px;height:35px}.clinic-attendance-prompt__card h2{margin:4px 0 20px;font-size:26px}.clinic-attendance-prompt__loading{display:flex;justify-content:center;align-items:center;gap:9px;padding:26px 0;color:#717886}.clinic-attendance-prompt__loading svg{width:19px}.clinic-attendance-prompt__student{display:grid;gap:4px;padding:15px;border-radius:14px;background:#f5f2e8}.clinic-attendance-prompt__student strong{font-size:19px}.clinic-attendance-prompt__student span{color:#747b88;font-size:11px}.clinic-attendance-prompt__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.clinic-attendance-prompt__facts span{display:grid;justify-items:center;gap:3px;padding:12px 6px;border:1px solid #e6e0d2;border-radius:11px;background:#fff}.clinic-attendance-prompt__facts svg{width:17px;color:#b29231}.clinic-attendance-prompt__facts small{color:#858b95;font-size:9px}.clinic-attendance-prompt__facts strong{font-size:13px}.clinic-attendance-prompt__guide,.clinic-attendance-prompt__warning{margin:13px 0;padding:11px;border-radius:10px;font-size:11px;line-height:1.6}.clinic-attendance-prompt__guide{color:#3d6c59;background:#eaf6f0}.clinic-attendance-prompt__warning{color:#9d4e24;background:#fff0df}.clinic-attendance-prompt .primary-button.is-warning{color:#fff;background:#b96b32}.clinic-login-gate{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:20px;background:#f5f2e8}.clinic-login-gate>section{display:grid;justify-items:center;width:min(100%,500px);padding:45px 30px;border:1px solid #e2d6ae;border-radius:25px;background:#fff;box-shadow:0 20px 60px #171d2a21;text-align:center}.clinic-login-gate>section>svg{width:52px;height:52px;margin-bottom:14px;color:#af8d26}.clinic-login-gate h1{margin:4px 0 8px;font-size:25px}.clinic-login-gate p:not(.eyebrow){margin:0 0 20px;color:#747b88;font-size:12px}@media(max-width:950px){.clinic-attendance-operations__intro{align-items:flex-start;flex-direction:column}.clinic-attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.clinic-projector>main{grid-template-columns:1fr;align-content:start;overflow-y:auto}.clinic-projector__qr-frame{width:min(52vh,480px)}}@media(max-width:620px){.clinic-attendance-operations{padding:13px}.clinic-attendance-operations__actions{width:100%;flex-direction:column}.clinic-attendance-operations__actions button{width:100%;justify-content:center}.clinic-attendance-metrics{grid-template-columns:1fr 1fr}.clinic-projector>header{padding:16px}.clinic-projector>main{grid-template-columns:1fr;padding:18px}.clinic-projector__qr-frame{width:min(82vw,390px);padding:12px;border-radius:18px}.clinic-projector__status h3{font-size:31px}.clinic-projector__recent{display:none}.clinic-attendance-prompt__card{padding:28px 17px 20px;border-radius:19px}.clinic-attendance-prompt__facts{gap:5px}}.exam-automation-panel,.exam-workflow-board{margin-bottom:22px;padding:22px;border:1px solid #eadfb8;border-radius:18px;background:linear-gradient(145deg,#fffdf7,#fff 70%);box-shadow:0 12px 30px #1f27380d}.exam-workflow-heading,.exam-workflow-board-heading,.exam-workflow-card header,.exam-workflow-card footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.exam-workflow-heading h3,.exam-workflow-board-heading h3,.exam-workflow-card h4{margin:3px 0;color:var(--navy)}.exam-workflow-heading span,.exam-workflow-card header span,.exam-workflow-card>p{color:var(--gray);font-size:13px}.exam-automation-sync{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#f3efe1;color:#75631f!important;font-size:12px!important;font-weight:800}.exam-automation-sync--synced{background:#eaf7ef;color:#197044!important}.exam-automation-sync--error{background:#fff0ef;color:#b33a35!important}.exam-automation-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.exam-automation-option{display:flex;align-items:flex-start;gap:10px;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.exam-automation-option:has(input:checked){border-color:#c9aa38;background:#fffaf0}.exam-automation-option input{width:18px;height:18px;margin-top:2px;accent-color:#a98a1e}.exam-automation-option span{display:grid;gap:5px}.exam-automation-option strong{color:var(--navy);font-size:14px}.exam-automation-option small{color:var(--gray);font-size:12px;line-height:1.45}.exam-workflow-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:20px 0 0;padding:0;list-style:none}.exam-workflow-steps li{position:relative;display:grid;justify-items:center;gap:6px;color:var(--gray);font-size:12px;font-weight:700}.exam-workflow-steps li:not(:last-child):after{position:absolute;top:13px;left:calc(50% + 16px);width:calc(100% - 32px);height:1px;background:#ddd3ae;content:""}.exam-workflow-steps b{z-index:1;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:#ad9129}.exam-workflow-card-list{display:grid;gap:12px;margin-top:16px}.exam-workflow-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff}.exam-workflow-card h4{font-size:17px}.exam-workflow-status{padding:6px 10px;border-radius:999px;color:#a2443f;background:#fff0ef;font-size:12px}.exam-workflow-status.is-ready{color:#81680c;background:#fff7dc}.exam-workflow-status.is-complete{color:#197044;background:#eaf7ef}.exam-workflow-progress{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 10px}.exam-workflow-progress span{padding:6px 9px;border-radius:8px;color:#6d7280;background:#f2f3f5;font-size:12px;font-weight:750}.exam-workflow-progress span.is-complete{color:#197044;background:#eaf7ef}.exam-workflow-progress span.is-warning{color:#a2443f;background:#fff0ef}.exam-workflow-warning{display:block;margin:8px 0;color:#a2443f}.exam-workflow-card footer{justify-content:flex-end;margin-top:14px}.admin-field-label{display:grid;gap:5px}.admin-field-label>span{color:var(--gray);font-size:12px;font-weight:700}@media(max-width:1050px){.exam-automation-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.exam-automation-panel,.exam-workflow-board{padding:16px}.exam-workflow-heading,.exam-workflow-board-heading,.exam-workflow-card header,.exam-workflow-card footer{align-items:flex-start;flex-direction:column}.exam-automation-options{grid-template-columns:1fr}.exam-workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.exam-workflow-steps li:nth-child(3):after{display:none}.exam-workflow-card footer{width:100%}.exam-workflow-card footer button{width:100%}}.assignment-achievement-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.assignment-achievement-heading h3,.assignment-achievement-heading p{margin:0}.assignment-achievement-heading h3{color:var(--navy)}.assignment-achievement-heading p{margin-top:5px;color:var(--muted);font-weight:800}.assignment-achievement-filters{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(2,minmax(145px,.8fr)) minmax(145px,.8fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.assignment-achievement-filters label{display:grid;gap:6px}.assignment-achievement-filters label>span{color:var(--muted);font-size:12px;font-weight:900}.assignment-achievement-filters select,.assignment-achievement-filters input{width:100%;min-height:42px;padding:8px 10px}.assignment-filter-reset{min-height:42px;white-space:nowrap}.assignment-achievement-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.assignment-achievement-kpis article{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.assignment-achievement-kpis span{color:var(--muted);font-size:12px;font-weight:900}.assignment-achievement-kpis strong{color:var(--navy);font-size:22px}.synced-horizontal-scroll-top{position:sticky;top:8px;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:5px 9px;border:1px solid #d8d2bc;border-radius:10px;background:#fffdf6f7;box-shadow:0 7px 18px #2228311f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.synced-horizontal-scroll-top.is-hidden{display:none}.synced-horizontal-scroll-top>span{color:var(--muted);font-size:11px;font-weight:900;white-space:nowrap}.synced-horizontal-scroll-top__viewport{height:20px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-color:#8a8170 #eeeae0;scrollbar-width:auto}.synced-horizontal-scroll-top__track{height:1px}.synced-horizontal-scroll-sticky-header{position:sticky;top:40px;z-index:19;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:var(--navy);box-shadow:0 9px 18px #0e203329;pointer-events:none}.synced-horizontal-scroll-sticky-header>table{margin:0}.synced-horizontal-scroll-content{position:relative;min-width:0}.assignment-achievement-table-wrap{position:relative;isolation:isolate;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-padding-inline-start:190px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.assignment-achievement-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.assignment-achievement-table th,.assignment-achievement-table td{min-width:88px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.assignment-achievement-table thead th{position:sticky;top:0;z-index:2;min-width:138px;background:var(--navy);color:var(--white)}.assignment-achievement-table thead tr{height:72px}.assignment-achievement-table tbody tr{height:104px}.assignment-achievement-table thead th span,.assignment-achievement-table thead th small{display:block}.assignment-achievement-table thead th span{display:-webkit-box;overflow:hidden;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-achievement-table thead th small{margin-top:5px;color:#d8e4ee}.assignment-achievement-table .student-column{position:sticky!important;left:0;z-index:5;width:190px;min-width:170px;max-width:210px;background:#f8fafc;background-clip:padding-box;border-right:2px solid #d4cebb;box-shadow:6px 0 10px -9px #0e2033e6;text-align:left}.assignment-achievement-table thead .student-column{z-index:9;background:var(--navy)}.assignment-achievement-table .student-column strong,.assignment-achievement-table .student-column small{display:block}.assignment-achievement-table .student-column strong{color:var(--navy);font-size:15px}.assignment-achievement-table thead .student-column strong{color:var(--white)}.assignment-achievement-table .student-column small{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--muted);line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.assignment-achievement-frozen-students{position:absolute;top:1px;left:1px;z-index:12;display:grid;width:190px;overflow:hidden;border-top-left-radius:calc(var(--radius) - 1px);pointer-events:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none;filter:drop-shadow(5px 0 5px rgba(14,32,51,.12))}.assignment-achievement-frozen-students__header,.assignment-achievement-frozen-students__student{box-sizing:border-box;width:190px;overflow:hidden;padding:10px;border-right:2px solid #d4cebb;border-bottom:1px solid var(--line);text-align:left}.assignment-achievement-frozen-students__header{display:flex;align-items:center;min-height:72px;background:var(--navy);color:var(--white);font-weight:900}.assignment-achievement-frozen-students__student{min-height:104px;background:#f8fafc}.assignment-achievement-frozen-students__student strong,.assignment-achievement-frozen-students__student small{display:block}.assignment-achievement-frozen-students__student strong{color:var(--navy);font-size:15px}.assignment-achievement-frozen-students__student small{margin-top:4px;color:var(--muted);line-height:1.35}.assignment-achievement-frozen-students__student small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.assignment-achievement-table .summary-cell strong{color:var(--navy);font-size:16px}.assignment-achievement-table .summary-cell.has-missing{background:#fff2f0}.assignment-achievement-table .summary-cell.has-missing strong{color:#b42318}.assignment-achievement-table .not-applicable{color:#a0a9b2;background:#fafafa}.achievement-cell{min-width:142px!important}.achievement-cell>strong,.achievement-cell>span{display:block}.achievement-cell>strong{color:var(--navy);font-size:17px}.achievement-cell>span{margin-top:3px;color:var(--muted);font-weight:900}.achievement-cell.status-완료{background:#edf8ee}.achievement-cell.status-다시-제출{background:#fff2f0}.achievement-cell.status-검수-중{background:#fff9e8}.achievement-cell.status-제출-전{background:#f5f7f9}.achievement-cell-links{display:flex;justify-content:center;gap:5px;margin-top:8px}.achievement-cell-links a,.achievement-cell-links button,.achievement-cell-links em{padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--blue);font-size:11px;font-style:normal;font-weight:900;text-decoration:none}.assignment-completion-section{--assignment-completion-header-height: 118px;--assignment-completion-row-height: 180px;--assignment-completion-student-width: 190px;--assignment-completion-toolbar-sticky-top: 94px;--assignment-completion-header-sticky-top: 126px;gap:18px}.assignment-completion-section .assignment-achievement-heading{align-items:center}.assignment-completion-section .assignment-achievement-heading p{max-width:820px;line-height:1.55}.assignment-completion-separation-note{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dac77d;border-radius:12px;background:linear-gradient(135deg,#fff9df,#fffdf3);color:#65541b}.assignment-completion-separation-note strong{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f1e3a8;color:#594710;font-size:12px}.assignment-completion-separation-note span{font-size:13px;font-weight:800;line-height:1.5}.assignment-completion-section .assignment-achievement-filters{grid-template-columns:minmax(142px,.9fr) repeat(2,minmax(140px,.82fr)) minmax(210px,1.35fr) minmax(158px,.9fr) auto}.assignment-completion-incomplete-filter>span:last-child{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--navy)!important;cursor:pointer;white-space:nowrap}.assignment-completion-incomplete-filter input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--navy)}.assignment-completion-section .assignment-filter-reset{align-self:end;min-width:92px}.assignment-completion-kpis article{position:relative;min-height:82px;overflow:hidden;border-color:#ded8c6;background:linear-gradient(145deg,#fff,#fbfaf6)}.assignment-completion-kpis article:after{position:absolute;right:-17px;bottom:-21px;width:58px;height:58px;border-radius:50%;background:#be9d301a;content:""}.assignment-completion-kpis article:nth-child(3) strong,.assignment-completion-kpis article:nth-child(4) strong{color:#9a5a18}.assignment-completion-kpis article>small{position:relative;z-index:1;color:#9a5a18;font-size:10px;font-weight:900}.assignment-completion-section .synced-horizontal-scroll-top{top:var(--assignment-completion-toolbar-sticky-top);z-index:31;border-color:#d8cfb4;background:#fffcf1fa}.assignment-completion-section .synced-horizontal-scroll-sticky-header{top:var(--assignment-completion-header-sticky-top);z-index:30;border-color:#d8cfb4}.assignment-completion-section .synced-horizontal-scroll-sticky-header.without-toolbar{top:var(--assignment-completion-toolbar-sticky-top)}.assignment-completion-section .assignment-achievement-table-wrap{scroll-padding-inline-start:var(--assignment-completion-student-width)}.assignment-completion-rate-table{table-layout:fixed}.assignment-completion-rate-table th,.assignment-completion-rate-table td{box-sizing:border-box}.assignment-completion-rate-table thead tr{height:var(--assignment-completion-header-height)}.assignment-completion-rate-table tbody tr{height:var(--assignment-completion-row-height)}.assignment-completion-rate-table thead th{height:var(--assignment-completion-header-height);min-width:178px;width:178px;padding:10px 11px;vertical-align:middle}.assignment-completion-rate-table thead th:nth-child(2),.assignment-completion-rate-table thead th:nth-child(3),.assignment-completion-rate-table thead th:nth-child(4){min-width:104px;width:104px}.assignment-completion-rate-table thead th>small:first-child{display:-webkit-box;min-height:26px;margin:0;overflow:hidden;color:#becbd7;font-size:10px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-completion-rate-table thead th>span{display:-webkit-box;min-height:34px;margin-top:5px;overflow:hidden;color:var(--white);font-size:14px;font-weight:900;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-completion-rate-table thead th>small:last-child:not(:first-child){display:-webkit-box;min-height:25px;margin-top:5px;overflow:hidden;color:#e6dcae;font-size:10px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-completion-rate-table .student-column,.assignment-completion-section .assignment-achievement-frozen-students,.assignment-completion-section .assignment-achievement-frozen-students__header,.assignment-completion-section .assignment-achievement-frozen-students__student{width:var(--assignment-completion-student-width);min-width:var(--assignment-completion-student-width);max-width:var(--assignment-completion-student-width)}.assignment-completion-section .assignment-achievement-frozen-students__header{min-height:var(--assignment-completion-header-height)}.assignment-completion-section .assignment-achievement-frozen-students__student{min-height:var(--assignment-completion-row-height);padding:14px 12px}.assignment-completion-rate-table .summary-cell{min-width:104px;width:104px;height:var(--assignment-completion-row-height);padding:10px 8px}.assignment-completion-rate-table .summary-cell strong,.assignment-completion-rate-table .summary-cell small{display:block}.assignment-completion-rate-table .summary-cell small{margin-top:6px;color:#b42318;font-size:10px;font-weight:900;line-height:1.35}.assignment-completion-cell{min-width:178px!important;width:178px;height:var(--assignment-completion-row-height);padding:10px 11px!important;transition:background-color .18s ease,box-shadow .18s ease}.assignment-completion-cell.is-completed{background:#edf8ee;box-shadow:inset 0 3px #7eb68b}.assignment-completion-cell.is-in-progress{background:#fff9e8;box-shadow:inset 0 3px #d3ad42}.assignment-completion-cell.is-unconfirmed{background:#f5f7f9;box-shadow:inset 0 3px #b5bec7}.assignment-completion-initial-rate{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px;color:#6d7278;font-size:10px;font-weight:900}.assignment-completion-initial-rate strong{color:var(--navy);font-size:13px}.assignment-completion-rate-input{display:grid;grid-template-columns:minmax(0,1fr) 68px auto;align-items:center;gap:6px}.assignment-completion-rate-input>span{color:#445463;font-size:10px;font-weight:900;line-height:1.25}.assignment-completion-rate-input input{width:68px;min-width:0;height:38px;padding:5px;border:1px solid #cec7b0;border-radius:9px;background:#fffffff5;color:var(--navy);font-size:15px;font-weight:900;text-align:center;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.assignment-completion-rate-input input::-webkit-inner-spin-button,.assignment-completion-rate-input input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.assignment-completion-rate-input input:focus{border-color:#a98924;outline:3px solid rgba(190,157,48,.18)}.assignment-completion-rate-input input:disabled{cursor:wait;opacity:.68}.assignment-completion-rate-input>strong{color:#506070;font-size:12px}.assignment-completion-progress-label{display:block;width:fit-content;max-width:100%;margin:7px auto 0;padding:4px 8px;overflow:hidden;border-radius:999px;background:#ffffffc7;color:#4c5c69;font-size:11px;font-weight:900;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.assignment-completion-rate-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:7px}.assignment-completion-rate-actions button{min-height:30px;padding:4px 5px;border:1px solid #d6cfba;border-radius:7px;background:#ffffffeb;color:var(--navy);font-size:9px;font-weight:900;line-height:1.2;white-space:nowrap}.assignment-completion-rate-actions button:nth-child(2){border-color:#8eb399;color:#376f48}.assignment-completion-rate-actions button:last-child{color:#725c18}.assignment-completion-rate-actions button:disabled{cursor:default;opacity:.42}.assignment-completion-cell>small,.assignment-completion-cell>em{display:-webkit-box;max-width:100%;margin-top:6px;overflow:hidden;color:var(--muted);font-size:10px;font-style:normal;font-weight:800;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-completion-cell>em{color:#b42318;font-weight:900}.assignment-completion-rate-table .not-applicable{min-width:178px;width:178px;height:var(--assignment-completion-row-height);font-weight:900}@media(max-width:1180px){.assignment-completion-section .assignment-achievement-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-completion-section .assignment-filter-reset{width:100%}}@media(max-width:760px){.assignment-completion-section{--assignment-completion-toolbar-sticky-top: 78px;--assignment-completion-header-sticky-top: 110px}}@media(max-width:700px){.assignment-completion-section{--assignment-completion-header-height: 112px;--assignment-completion-row-height: 180px;--assignment-completion-student-width: 155px;--assignment-completion-toolbar-sticky-top: 78px;--assignment-completion-header-sticky-top: 110px;gap:13px}.assignment-completion-section .assignment-achievement-heading button{width:100%;justify-content:center}.assignment-completion-section .assignment-achievement-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px}.assignment-completion-section .assignment-achievement-kpis{gap:8px}.assignment-completion-kpis article{min-height:74px;padding:11px 12px}.assignment-completion-kpis strong{font-size:19px}.assignment-completion-separation-note{gap:7px;padding:11px 12px}.assignment-completion-rate-table thead th,.assignment-completion-cell,.assignment-completion-rate-table .not-applicable{min-width:166px!important;width:166px}.assignment-completion-rate-table thead th.student-column{width:var(--assignment-completion-student-width)!important;min-width:var(--assignment-completion-student-width)!important;max-width:var(--assignment-completion-student-width)!important}.assignment-completion-rate-table thead th:nth-child(2),.assignment-completion-rate-table thead th:nth-child(3),.assignment-completion-rate-table thead th:nth-child(4),.assignment-completion-rate-table .summary-cell{min-width:94px!important;width:94px}.assignment-completion-section .assignment-achievement-frozen-students__student{padding:12px 10px}}@media(max-width:520px){.assignment-completion-section .assignment-achievement-filters{grid-template-columns:1fr}.assignment-completion-section .assignment-achievement-filters label,.assignment-completion-section .assignment-filter-reset{width:100%}}@media(max-width:900px){.assignment-achievement-heading{flex-direction:column}.assignment-achievement-filters,.assignment-achievement-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-completion-separation-note{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.synced-horizontal-scroll-top{grid-template-columns:minmax(0,1fr)}.synced-horizontal-scroll-top>span{display:none}.assignment-achievement-table .student-column{width:155px;min-width:155px}.assignment-achievement-table-wrap{scroll-padding-inline-start:155px}.assignment-achievement-frozen-students,.assignment-achievement-frozen-students__header,.assignment-achievement-frozen-students__student{width:155px}}.assignment-review-display-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.assignment-review-display-toggle button{min-height:36px;padding:7px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:900}.assignment-review-display-toggle button.is-active{background:var(--navy);color:var(--white);box-shadow:0 4px 12px #182d4029}.assignment-review-workflow-message{margin:0;padding:10px 14px;border:1px solid #e5d69b;border-radius:10px;background:#fffbec;color:var(--navy);font-size:13px;font-weight:900}.assignment-review-workflow-message.is-warning{border-color:#efb4ae;background:#fff2f0;color:#9f2d24}.assignment-quick-review-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.assignment-quick-review-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.assignment-quick-review-table th,.assignment-quick-review-table td{min-width:118px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.assignment-quick-review-table thead th{position:sticky;top:0;z-index:2;max-width:220px;background:var(--navy);color:var(--white)}.assignment-quick-review-table thead th>span,.assignment-quick-review-table thead th>small{display:block}.assignment-quick-review-table thead th>small{max-width:210px;margin-top:4px;overflow:hidden;color:#d8e4ee;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.assignment-quick-review-table thead th>small.question-count-warning,.assignment-item-review-title small.question-count-warning{color:#ff9f91;font-weight:900}.assignment-quick-review-table .quick-student-column{position:sticky;left:0;z-index:1;min-width:175px;background:#f8fafc;text-align:left}.assignment-quick-review-table thead .quick-student-column{z-index:3;background:var(--navy)}.quick-student-check{display:flex;align-items:center;gap:9px;cursor:pointer}.quick-student-check input{width:17px;height:17px;flex:0 0 auto}.quick-student-check span,.quick-student-check strong,.quick-student-check small{display:block}.quick-student-check strong{color:var(--navy);font-size:14px}.quick-student-check small{margin-top:3px;color:var(--muted);font-size:11px}.assignment-quick-review-table .quick-feedback-column,.assignment-quick-review-table .quick-feedback-cell{min-width:340px}.quick-feedback-cell textarea{width:100%;min-height:58px;resize:vertical;font-size:12px;line-height:1.45}.quick-submission-cell a,.quick-submission-cell span{display:inline-block;padding:6px 8px;border-radius:8px;font-size:11px;font-weight:900}.quick-submission-cell a{background:#edf8ee;color:#247337;text-decoration:none}.quick-submission-cell.is-missing span{background:#fff2f0;color:#b42318}.quick-achievement-select{display:grid;gap:4px}.quick-achievement-select select{width:100%;min-height:38px;font-weight:900}.quick-achievement-select small{color:var(--muted);font-size:10px;font-weight:900}.quick-achievement-cell.status-완료,.quick-overall-cell.status-완료{background:#edf8ee}.quick-achievement-cell.status-검수-중,.quick-overall-cell.status-검수-중{background:#fff9e8}.quick-achievement-cell.status-다시-제출,.quick-overall-cell.status-다시-제출{background:#fff2f0}.quick-achievement-cell.status-제출-전,.quick-overall-cell.status-제출-전{background:#f5f7f9}.quick-overall-cell strong,.quick-overall-cell span{display:block}.quick-overall-cell strong{color:var(--navy);font-size:16px}.quick-overall-cell span{margin-top:4px;color:var(--muted);font-size:10px;font-weight:900}.quick-overall-cell>small{display:block;margin-top:4px;color:#b42318;font-size:10px;font-weight:900}.quick-save-cell{min-width:135px!important}.quick-save-cell button{width:100%;justify-content:center}.quick-save-cell small{display:block;max-width:150px;margin-top:5px;font-size:10px;line-height:1.35}.quick-save-cell small.is-success{color:#247337}.quick-save-cell small.is-warning{color:#9b6b00}.quick-save-cell small.is-error{color:#b42318}@media(max-width:900px){.assignment-review-display-toggle{width:100%}.assignment-review-display-toggle button{flex:1}.assignment-quick-review-table .quick-feedback-column,.assignment-quick-review-table .quick-feedback-cell{min-width:260px}}.assignment-review-summary{padding:18px;display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.assignment-review-summary strong{color:var(--navy);font-size:18px}.assignment-review-summary span{color:var(--muted);font-weight:800}.assignment-review-summary p{margin:0;white-space:pre-line;color:#314962;font-weight:800;line-height:1.6}.assignment-review-card-list{display:grid;gap:12px}.assignment-review-card{padding:16px;display:grid;grid-template-columns:minmax(180px,240px) minmax(220px,1fr) minmax(360px,1.45fr);gap:16px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 12px 28px #4a3f210f}.assignment-review-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px}.assignment-review-student{min-width:0}.assignment-review-card-head strong{display:block;color:var(--navy);font-size:17px}.assignment-review-card-head span,.assignment-review-card small{color:var(--muted);font-weight:800}.assignment-review-card-head em{padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--blue);font-style:normal;font-size:12px;font-weight:900;white-space:nowrap}.contextual-notification-bar{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 13px;border:1px solid rgba(184,162,64,.32);border-radius:var(--radius);background:#fffdf6}.contextual-notification-bar>span{color:var(--muted);font-size:13px;font-weight:900}.contextual-notification-bar .secondary-button{margin-left:auto}.score-notification-launcher{padding:14px}.score-notification-launch-copy{min-width:min(100%,330px);display:grid;gap:3px;margin-right:4px}.score-notification-launch-copy strong{color:var(--navy);font-size:15px}.score-notification-launch-copy span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.contextual-student-check{padding-top:2px}.student-review-controls input,.student-review-controls select,.student-review-controls textarea{width:100%;min-height:38px;padding:8px 10px}.student-review-controls textarea{min-height:96px;resize:vertical}.assignment-item-review-list{grid-column:1 / -1;display:grid;gap:9px;padding-top:12px;border-top:1px solid var(--line)}.assignment-item-review-list+.student-review-controls{grid-column:1 / -1}.assignment-item-review{display:grid;grid-template-columns:minmax(240px,1.25fr) 150px 110px minmax(240px,1fr);gap:10px;align-items:end;padding:12px;border:1px solid #dce5ec;border-radius:12px;background:#f8fafc}.assignment-item-review-title{align-self:center;min-width:0}.assignment-item-review-title strong,.assignment-item-review-title small{display:block}.assignment-item-review-title strong{color:var(--navy);font-size:14px}.assignment-item-review-title small{margin-top:4px;color:var(--muted);line-height:1.4}.assignment-item-review label{display:grid;gap:5px}.assignment-item-review label>span{color:var(--muted);font-size:11px;font-weight:900}.assignment-item-review select,.assignment-item-review input{width:100%;min-height:38px;padding:7px 9px}@media(max-width:1050px){.assignment-item-review{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(110px,.45fr))}.assignment-item-feedback{grid-column:1 / -1}}.video-watch-controls{min-width:320px;display:grid;grid-template-columns:92px 82px 76px;gap:8px;align-items:center}.video-watch-controls input{min-height:38px;padding:8px 10px}.attendance-admin{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center;margin-bottom:18px}.management-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:10px}.management-view-tabs,.management-filter-row{display:flex;flex-wrap:wrap;gap:7px}.management-view-tabs button,.management-filter-row button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--muted);font-weight:900}.management-view-tabs button.is-active,.management-filter-row button.is-active{border-color:var(--navy);background:var(--navy);color:var(--white)}.lesson-session-view-tabs{margin-bottom:14px}.management-period-controls{display:grid;grid-template-columns:minmax(150px,220px) auto 42px minmax(150px,180px) 42px;gap:7px;align-items:center}.management-period-mode{display:grid;grid-template-columns:repeat(2,58px);height:42px;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.management-period-mode button{border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;font-weight:900}.management-period-mode button.is-active{background:var(--white);color:var(--navy);box-shadow:0 1px 5px #161f3114}.management-period-controls select,.management-period-controls input{min-height:42px;padding-block:8px}.management-period-controls .icon-button{width:42px;min-width:42px;height:42px;border:1px solid var(--line);background:var(--white)}.management-next-button svg{transform:rotate(180deg)}.management-sync-note{margin:0 0 16px;color:var(--muted);font-size:13px;font-weight:800}.management-student-list,.clinic-list{display:grid;gap:10px}.management-class-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.management-class-sessions section{display:grid;grid-template-columns:minmax(160px,auto) minmax(220px,1fr);gap:14px;align-items:end;padding:13px 14px;border:1px solid var(--line);background:var(--soft)}.management-class-sessions section>div,.management-class-sessions label{display:grid;gap:4px;min-width:0}.management-class-sessions b,.management-class-sessions label>span{color:var(--gold-deep);font-size:12px;font-weight:900}.management-class-sessions strong{overflow:hidden;color:var(--navy);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.management-class-sessions time{color:var(--muted);font-size:12px;font-weight:800}.management-class-sessions select{min-height:42px}.management-student-row,.clinic-row{padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.management-student-row>header,.clinic-row>header,.homework-plan-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}.management-student-row>header>div,.clinic-row>header>div:first-child,.homework-plan-heading>div{display:grid;gap:3px}.management-student-row header strong,.clinic-row header strong,.homework-plan-heading strong{color:var(--navy);font-size:17px}.management-student-row header span,.clinic-row header span,.homework-plan-heading span{color:var(--muted);font-size:13px;font-weight:800}.management-status{display:inline-flex;width:fit-content;min-width:74px;min-height:28px;padding:0 9px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:950}.management-status--green{border-color:#1a936f47;background:#1a936f1a;color:#117155}.management-status--yellow{border-color:#b89a2b57;background:#d8c46a33;color:#806b17}.management-status--red{border-color:#c84a4a4d;background:#c84a4a17;color:var(--red)}.management-linked-data{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.management-linked-data span,.clinic-badges>span:not(.management-status){display:inline-flex;min-height:27px;padding:0 9px;align-items:center;border-radius:999px;background:var(--soft);color:#625c4e;font-size:12px;font-weight:900}.management-field-grid{display:grid;grid-template-columns:112px 105px 100px 105px 100px 120px 140px minmax(180px,1fr);gap:8px;align-items:end}.management-field-grid label,.management-session-fields label,.management-weekly-footer label,.homework-plan label,.clinic-field-grid label{display:grid;gap:5px;min-width:0}.management-field-grid label>span,.management-session-fields label>span,.management-weekly-footer label>span,.homework-plan label>span,.clinic-field-grid label>span{color:var(--muted);font-size:12px;font-weight:900}.management-field-grid input,.management-field-grid select,.management-session-fields input,.management-session-fields select,.management-weekly-footer input,.management-weekly-footer select,.clinic-field-grid input,.clinic-field-grid select{min-height:38px;padding:7px 9px}.management-note-field{min-width:0}.management-session-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.management-session-block{min-width:0;padding:14px 14px 14px 0}.management-session-block+.management-session-block{padding-right:0;padding-left:14px;border-left:1px solid var(--line)}.management-session-head{display:flex;min-height:34px;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.management-session-head>div{display:flex;min-width:0;align-items:center;gap:8px}.management-session-head b{flex:none;color:var(--gold-deep);font-size:14px}.management-session-head strong{overflow:hidden;color:var(--navy);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.management-session-head time{flex:none;color:var(--muted);font-size:12px;font-weight:800}.management-session-block .management-linked-data{min-height:28px;margin-bottom:10px}.management-session-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.management-session-fields .management-paper-field,.management-session-fields .management-session-note{grid-column:span 2}.management-paper-readonly{display:grid;gap:5px;min-width:0}.management-paper-readonly>span{color:var(--muted);font-size:12px;font-weight:900}.management-paper-readonly>strong{min-height:38px;display:flex;padding:7px 9px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--navy);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.management-weekly-footer{display:grid;grid-template-columns:150px 160px minmax(220px,1fr);gap:8px;align-items:end;padding-top:12px}.management-month-view{display:grid;gap:12px}.management-month-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.management-month-title strong{color:var(--navy);font-size:24px}.management-month-title span{color:var(--muted);font-size:13px;font-weight:800}.management-month-calendar{overflow-x:auto;border:1px solid var(--line);background:var(--white)}.management-month-weekdays,.management-month-grid{min-width:760px}.management-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--soft)}.management-month-weekdays span{min-height:38px;display:grid;place-items:center;border-right:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:900}.management-month-weekdays span:last-child{border-right:0}.management-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.management-month-day{min-width:0;min-height:116px;padding:8px;overflow:hidden;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--navy);text-align:left}.management-month-day:nth-child(7n){border-right:0}.management-month-day:nth-last-child(-n+7){border-bottom:0}.management-month-day:hover{background:#c9ae4512}.management-month-day.is-outside{background:#faf9f5;color:#a9a49b}.management-month-day.is-today{box-shadow:inset 0 0 0 2px var(--gold)}.management-month-day>time{display:block;margin-bottom:7px;font-size:12px;font-weight:900;text-align:right}.management-calendar-events{display:grid;gap:4px}.management-calendar-event{display:block;min-width:0;padding:5px 6px;overflow:hidden;border-left:3px solid var(--gold);background:#c9ae4521;color:var(--navy);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.management-calendar-event.is-test{border-left-color:var(--navy);background:var(--navy);color:var(--white)}.management-calendar-events small{color:var(--muted);font-size:10px;font-weight:900}.homework-plan{padding-top:4px}.homework-date-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.homework-date-tabs button{display:flex;min-width:0;min-height:64px;padding:11px 14px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--navy);text-align:left}.homework-date-tabs button>span{display:grid;min-width:0;gap:3px}.homework-date-tabs button strong,.homework-date-tabs button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-date-tabs button strong{font-size:15px}.homework-date-tabs button small{color:var(--muted);font-size:12px;font-weight:800}.homework-date-tabs button.is-active{border-color:var(--gold-deep);background:var(--navy);color:var(--white)}.homework-date-tabs button.is-active small{color:#ffffffb8}.homework-plan-heading{padding-bottom:13px;border-bottom:1px solid var(--line)}.homework-plan-heading>span{color:var(--gold-deep)}.homework-plan-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:end;margin-bottom:14px}.homework-plan-actions label{width:min(100%,220px)}.homework-plan-actions .secondary-button,.homework-plan-actions .primary-button{min-height:46px}.homework-notification-help{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.5}.homework-item-list{display:grid;gap:14px}.homework-item-card{padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.homework-item-card>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.homework-item-card>header>div{display:grid;gap:2px}.homework-item-card>header span{color:var(--gold-deep);font-size:11px;font-weight:900}.homework-item-card>header strong{color:var(--navy);font-size:18px}.homework-item-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.manual-assignment-panel{margin:12px 0 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.manual-assignment-panel summary{display:flex;min-height:48px;padding:0 14px;gap:8px;align-items:center;color:var(--navy);cursor:pointer;font-weight:900;list-style:none}.manual-assignment-panel summary::-webkit-details-marker{display:none}.manual-assignment-panel[open] summary{border-bottom:1px solid var(--line)}.manual-assignment-panel .admin-form{padding:14px}.manual-assignment-panel .form-success,.manual-assignment-panel .form-error{margin:0 14px 14px}.homework-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.homework-tier-grid article{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.homework-tier-grid article>div{display:flex;align-items:center;gap:9px}.homework-tier-grid b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--white)}.homework-tier-grid textarea{min-height:94px}.management-filter-row{align-items:center;margin-bottom:13px}.management-filter-row>span{margin-left:auto;color:var(--muted);font-size:13px;font-weight:800}.clinic-badges{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:6px!important}.clinic-field-grid{display:grid;grid-template-columns:minmax(220px,1fr) 135px 100px 120px 130px 145px;gap:8px;align-items:end}.clinic-linked-attendance{display:grid;min-height:62px;align-content:end;gap:5px}.clinic-linked-attendance>span{color:var(--muted);font-size:12px;font-weight:900}.clinic-linked-attendance>small{overflow:hidden;color:#7a808b;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.management-dashboard{display:grid;gap:18px}.management-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.management-metrics article{min-height:92px;padding:15px;display:grid;align-content:space-between;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.management-metrics span{color:var(--muted);font-size:13px;font-weight:900}.management-metrics strong{color:var(--gold-deep);font-size:25px}.management-alert-list{display:grid;gap:8px}.management-alert-list h3{margin:0 0 4px;color:var(--navy)}.management-alert-list>div{min-height:58px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.management-alert-list>div>div{display:grid;gap:2px}.management-alert-list span{color:var(--muted);font-size:13px;font-weight:800}.management-alert-list b{color:var(--red)}.management-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.management-code-grid section{min-width:0}.management-code-grid h3{margin:0 0 9px;color:var(--navy)}.management-code-grid dl{margin:0;display:grid}.management-code-grid dl>div{min-height:42px;display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.management-code-grid dt{color:var(--gold-deep);font-weight:950}.management-code-grid dd{margin:0;color:var(--muted);font-weight:800}.qr-demo{width:190px;height:190px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:13px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.qr-demo span{border-radius:3px;background:#e1edf8}.qr-demo span.is-on{background:var(--navy)}.qr-real{width:220px;aspect-ratio:1;display:grid;place-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 28px #4a3f211f}.qr-real img{width:100%;height:100%;object-fit:contain}.split-admin{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.recipient-grid,.automation-list{display:flex;flex-wrap:wrap;gap:8px}.segmented-button{min-height:38px;padding:0 13px;border:1px solid var(--line);background:var(--soft);color:var(--navy)}.segmented-button.is-active{border-color:var(--navy);background:var(--navy);color:var(--white)}.recipient-grid--channels .segmented-button.is-active{border-color:#b8a24094;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.alimtalk-editor{display:grid;gap:12px}.alimtalk-template-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.alimtalk-variable-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.alimtalk-variable-grid label,.alimtalk-preview{display:grid;gap:7px}.alimtalk-variable-grid span,.alimtalk-preview>span{color:var(--muted);font-size:13px;font-weight:900}.alimtalk-variable-grid label.is-personalized{align-content:start}.alimtalk-common-values,.alimtalk-personalized-summary{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.alimtalk-common-values.is-score-common{border-color:#b8a24094;background:linear-gradient(135deg,#f7f1d3b3,#fffffff5)}.alimtalk-variable-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.alimtalk-variable-section-heading>div{display:grid;gap:3px}.alimtalk-variable-section-heading strong{color:var(--navy);font-size:15px}.alimtalk-variable-section-heading span{color:var(--muted);font-size:12px;font-weight:750;line-height:1.5}.alimtalk-variable-section-heading>b,.alimtalk-recipient-values-heading>b{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:var(--white);color:var(--gold-deep);font-size:11px;box-shadow:inset 0 0 0 1px var(--line)}.alimtalk-common-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.alimtalk-common-value-grid label{display:grid;align-content:start;gap:7px}.alimtalk-common-value-grid label>span{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--navy);font-size:13px;font-weight:900}.alimtalk-common-value-grid label>span>b{color:var(--gold-deep)}.alimtalk-common-value-grid label>span>em{margin-left:auto;color:#8d6710;font-size:10px;font-style:normal}.alimtalk-common-value-grid textarea{min-height:92px;resize:vertical;background:var(--white)}.alimtalk-common-value-grid .is-required-common textarea:placeholder-shown{border-color:#b8a240ad}.alimtalk-personalized-summary{padding-block:12px;background:var(--white)}.alimtalk-personalized-variable-chips{display:flex;flex-wrap:wrap;gap:7px}.alimtalk-personalized-variable-chips span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid rgba(184,162,64,.34);border-radius:999px;background:#f7f1d37a;color:var(--muted);font-size:11px;font-weight:800}.alimtalk-personalized-variable-chips span b{color:var(--gold-deep)}.alimtalk-personalized-variable-note{min-height:42px;display:flex;align-items:center;padding:9px 11px;border:1px dashed rgba(184,162,64,.5);border-radius:9px;background:#f7f1d373;color:var(--gold-deep);font-size:11px;font-weight:850}.alimtalk-preview textarea{min-height:150px;background:var(--soft)}.message-context-card{display:grid;gap:5px;padding:12px 14px;border-left:3px solid var(--gold);background:var(--soft)}.message-context-card>span{color:var(--gold-deep);font-size:11px;font-weight:900;text-transform:uppercase}.message-context-card strong{color:var(--navy);font-size:15px}.message-context-card p{margin:0;color:var(--muted);font-size:12px;font-weight:750;line-height:1.55}.alimtalk-recipient-values{display:grid;gap:8px}.alimtalk-recipient-values-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.alimtalk-recipient-values-heading>div{display:grid;gap:3px}.alimtalk-recipient-values-heading strong{color:var(--navy);font-size:14px}.alimtalk-recipient-values-heading span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.alimtalk-recipient-values-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);scrollbar-gutter:stable}.alimtalk-recipient-values table{width:100%;min-width:max(100%,760px);border-collapse:collapse}.alimtalk-recipient-values th,.alimtalk-recipient-values td{min-width:210px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.alimtalk-recipient-values th:first-child,.alimtalk-recipient-values td:first-child{min-width:120px;position:sticky;left:0;z-index:1;background:var(--white)}.alimtalk-recipient-values th:first-child{z-index:3;background:var(--soft)}.alimtalk-recipient-values th{position:sticky;top:0;z-index:2;background:var(--soft);color:var(--muted);font-size:12px}.alimtalk-recipient-values th small{display:block;margin-top:3px;color:var(--navy);font-size:11px}.alimtalk-recipient-values td strong,.alimtalk-recipient-values td small{display:block}.alimtalk-recipient-values td small{margin-top:4px;color:var(--muted);font-size:10px}.alimtalk-recipient-values input,.alimtalk-recipient-values textarea{width:100%;min-height:38px;padding:8px;font-size:12px}.alimtalk-recipient-values textarea{min-height:86px;resize:vertical}.alimtalk-personal-link-status{min-height:38px;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:8px 10px;border-radius:9px;font-size:11px;font-weight:900;text-decoration:none}.alimtalk-personal-link-status.is-ready{border:1px solid rgba(52,142,93,.28);background:#348e5d1a;color:#277349}a.alimtalk-personal-link-status.is-ready:hover,a.alimtalk-personal-link-status.is-ready:focus-visible{border-color:#348e5d8c;background:#348e5d2e}.alimtalk-personal-link-status.is-missing{border:1px solid rgba(194,75,71,.3);background:#c24b4717;color:#a53c39}.message-center{display:grid;gap:16px}.message-center-toolbar,.message-panel-heading,.message-selection-summary,.message-recipient-actions{display:flex;align-items:center}.message-center-toolbar,.message-panel-heading{justify-content:space-between;gap:14px}.message-selection-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px}.message-selection-summary span,.message-selection-summary b{min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--muted);font-size:13px}.message-selection-summary strong,.message-selection-summary b{color:var(--gold-deep)}.message-center-layout{display:grid;grid-template-columns:minmax(310px,.62fr) minmax(660px,1.38fr);align-items:stretch;gap:16px}.message-center-layout.is-score-alimtalk{grid-template-columns:minmax(0,1fr)}.message-compose-panel,.message-recipient-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.message-compose-panel{display:flex;flex-direction:column;gap:12px}.message-recipient-panel{display:grid;align-content:start;gap:12px}.message-panel-heading span{display:block;margin-bottom:3px;color:var(--gold-deep);font-size:12px;font-weight:900}.message-panel-heading h3{margin:0;color:var(--navy);font-size:19px}.message-panel-heading>b{color:var(--muted);font-size:13px}.message-panel-heading>b.is-lms{color:var(--gold-deep)}.message-compose-textarea{min-height:330px;resize:vertical}.message-title-field{display:grid;gap:5px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.message-title-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c4a9341f}.message-title-field>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:900}.message-title-field>span small{font-size:10px;font-weight:750}.message-title-field>span b{margin-left:auto;color:var(--gold-deep);font-size:11px}.message-title-field input{min-height:27px;padding:0;border:0;border-radius:0;outline:0;box-shadow:none}.message-compose-utility-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.message-byte-badge{min-width:104px;min-height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--navy);font-size:13px;font-weight:900}.message-byte-badge small{margin-top:1px;color:var(--muted);font-size:10px}.message-byte-badge.is-lms,.message-byte-badge.is-lms small,.message-preview-heading em.is-lms,.sms-final-preview span.is-lms{color:var(--gold-deep)}.message-template-actions{display:flex;justify-content:flex-end;gap:8px}.message-template-actions .secondary-button{min-height:44px;padding:0 12px;font-size:12px}.message-template-actions .secondary-button b{min-width:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:var(--navy);color:var(--white);font-size:10px}.message-variable-panel{display:grid;gap:9px;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.message-variable-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.message-variable-panel-heading>div{min-width:0}.message-variable-panel-heading strong,.message-variable-panel-heading span{display:block}.message-variable-panel-heading strong{color:var(--navy);font-size:13px}.message-variable-panel-heading span{margin-top:2px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.45}.message-variable-panel-heading>b{flex:0 0 auto;color:var(--gold-deep);font-size:11px}.message-variable-panel .message-variable-buttons .secondary-button{background:var(--white);color:var(--gold-deep);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.message-variable-panel .message-variable-buttons .secondary-button.is-used{border-color:var(--gold-deep);background:#fff8d7;box-shadow:inset 0 0 0 1px #b8a2402e}.message-sms-preview{padding-top:2px}.message-preview-heading{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.message-preview-heading b{color:var(--muted);font-size:13px}.message-preview-heading em{color:var(--muted);font-size:11px;font-style:normal}.message-sheet-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid rgba(184,162,64,.24);border-radius:var(--radius);background:#fffdf4;color:var(--muted);font-size:11px;line-height:1.45}.message-sheet-guide b{color:var(--gold-deep);font-size:10px;text-align:right}.message-sheet-size-controls{display:flex;gap:4px;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.message-sheet-size-controls .secondary-button{min-height:30px;padding:0 8px;border-color:transparent;background:transparent}.message-sheet-size-controls .secondary-button.is-active{border-color:#b8a2406b;background:var(--white);color:var(--gold-deep);box-shadow:0 3px 10px #5b4c1814}.message-sheet-size-controls+.message-clear-button{margin-left:0}.message-spreadsheet-wrap{--message-sheet-row-height: 44px;--message-sheet-variable-width: 154px;--message-sheet-preview-width: 300px;min-width:0;position:relative;max-height:600px;overflow:auto;overscroll-behavior:contain;border:1px solid #d7dce5;border-radius:6px;background:var(--white);box-shadow:inset 0 1px #fffc;-webkit-overflow-scrolling:touch}.message-spreadsheet-wrap.is-compact{--message-sheet-row-height: 36px;--message-sheet-variable-width: 118px;--message-sheet-preview-width: 240px}.message-spreadsheet-wrap.is-wide{--message-sheet-row-height: 54px;--message-sheet-variable-width: 210px;--message-sheet-preview-width: 380px}.message-spreadsheet{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed;overflow:visible;border-radius:0}.message-spreadsheet th,.message-spreadsheet td{height:var(--message-sheet-row-height);padding:7px 8px;border-right:1px solid #dfe3ea;border-bottom:1px solid #dfe3ea;background:var(--white);color:var(--navy);font-size:11px;text-align:left;vertical-align:middle}.message-spreadsheet th{position:sticky;top:0;z-index:5;height:46px;background:#f3f5f8;color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.message-spreadsheet th span,.message-spreadsheet th small,.message-spreadsheet .sheet-col-name strong,.message-spreadsheet .sheet-col-name small{display:block}.message-spreadsheet th small,.message-spreadsheet .sheet-col-name small{margin-top:2px;color:#919cab;font-size:9px;font-weight:800}.message-spreadsheet tbody tr:hover td,.message-spreadsheet tbody tr.is-selected td{background:#fffdf4}.message-spreadsheet .sheet-col-no{width:44px;min-width:44px;max-width:44px;position:sticky;left:0;z-index:3;padding-right:5px;padding-left:5px;background:#f7f8fa;color:#7f8998;text-align:center}.message-spreadsheet .sheet-col-dispatch{width:64px;min-width:64px;max-width:64px;position:sticky;left:44px;z-index:3;background:#f9fafc;text-align:center}.message-spreadsheet .sheet-col-name{width:120px;min-width:120px;max-width:120px;position:sticky;left:108px;z-index:3;background:var(--white)}.message-spreadsheet th.sheet-col-no,.message-spreadsheet th.sheet-col-dispatch,.message-spreadsheet th.sheet-col-name{z-index:7;background:#eef1f5}.message-spreadsheet tbody tr:hover .sheet-col-name,.message-spreadsheet tbody tr.is-selected .sheet-col-name{background:#fffdf4}.message-spreadsheet .sheet-col-school{width:105px;min-width:105px}.message-spreadsheet .sheet-col-class{width:140px;min-width:140px}.message-spreadsheet .sheet-col-phone{width:130px;min-width:130px}.message-spreadsheet .sheet-col-variable,.message-sheet-variable-cell{width:var(--message-sheet-variable-width);min-width:var(--message-sheet-variable-width);max-width:var(--message-sheet-variable-width)}.message-spreadsheet .sheet-col-preview,.message-sheet-preview-cell{width:var(--message-sheet-preview-width);min-width:var(--message-sheet-preview-width);max-width:var(--message-sheet-preview-width)}.message-sheet-checkbox{display:inline-grid;place-items:center;cursor:pointer}.message-sheet-checkbox input,.message-spreadsheet .recipient-check input{width:17px;height:17px;margin:0;accent-color:var(--gold-deep)}.sheet-fixed-text{overflow:hidden;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.sheet-phone-cell{min-width:130px}.sheet-phone-cell .recipient-check{width:100%}.message-sheet-variable-cell{padding:0!important}.message-sheet-variable-cell input{width:100%;min-height:var(--message-sheet-row-height);padding:8px 9px;border:0;border-radius:0;background:transparent;color:var(--navy);font-size:12px;outline:0;box-shadow:none}.message-sheet-variable-cell input::placeholder{color:#a1a9b5;font-size:10px}.message-sheet-variable-cell input:hover{background:#fbfcfe}.message-sheet-variable-cell input:focus{position:relative;z-index:1;background:var(--white);box-shadow:inset 0 0 0 2px var(--gold-deep)}.message-sheet-variable-cell input.has-override{background:#fff9db;font-weight:850}.message-sheet-preview-cell{padding:7px 9px!important}.message-sheet-empty{height:110px!important;color:var(--muted)!important;font-weight:800;text-align:center!important}.sms-final-preview{display:grid;gap:7px}.sms-final-preview p{max-height:92px;margin:0;overflow:auto;color:var(--navy);font-size:11px;font-weight:700;line-height:1.5;white-space:pre-wrap;word-break:break-word}.sms-final-preview span{color:var(--muted);font-size:10px;font-weight:900}.sms-final-preview.has-unresolved{padding:7px;border:1px solid rgba(187,71,71,.32);border-radius:6px;background:#fff7f7}.message-send-button{width:100%;margin-top:auto}.message-recipient-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(130px,.75fr) minmax(130px,.75fr);gap:8px}.message-search-field{min-width:0;min-height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--muted)}.message-search-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #c4a9341f}.message-search-field input{min-width:0;min-height:42px;padding:0;border:0;outline:0;box-shadow:none}.message-recipient-actions{flex-wrap:wrap;gap:7px}.message-recipient-actions .secondary-button{min-height:38px;padding:0 11px;font-size:12px}.message-recipient-actions .message-clear-button{margin-left:auto;color:#ad3f3f}.message-recipient-table-wrap{min-width:0;max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.message-recipient-table{width:100%;min-width:710px;border-collapse:collapse;table-layout:fixed}.message-recipient-table th,.message-recipient-table td{padding:11px 10px;border-bottom:1px solid var(--line);color:var(--navy);font-size:13px;text-align:left;vertical-align:middle}.message-recipient-table th{position:sticky;top:0;z-index:1;background:var(--soft);color:var(--muted);font-size:12px;font-weight:900}.message-recipient-table th:nth-child(1){width:15%}.message-recipient-table th:nth-child(2){width:16%}.message-recipient-table th:nth-child(3){width:19%}.message-recipient-table th:nth-child(4){width:18%}.message-recipient-table th:nth-child(5){width:32%}.message-recipient-table tbody tr:hover{background:#fffdf5}.message-recipient-table tbody tr:last-child td{border-bottom:0}.recipient-check{min-width:0;display:inline-flex;align-items:center;gap:7px;color:var(--navy);cursor:pointer}.recipient-check input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--gold-deep)}.recipient-check input:disabled{cursor:not-allowed;opacity:.42}.recipient-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipient-check--header{font-size:12px;font-weight:900}.recipient-identity{min-width:0;display:grid;justify-items:start;gap:5px}.push-connection-badge{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:900;line-height:1.2;white-space:nowrap}.push-connection-badge.is-connected{border-color:#b9dfd1;background:#eef8f5;color:#156b54}.push-connection-badge.is-disconnected,.push-connection-badge.is-unknown,.push-connection-badge.is-checking{border-color:var(--line);background:var(--soft);color:var(--muted)}.push-connection-badge.is-expired{border-color:#ead59c;background:#fff8df;color:#856812}.push-connection-badge.is-missing{border-color:#efcccc;background:#fff3f3;color:#ad3f3f}.push-connection-error{margin:-2px 0 0}.message-recipient-card-list{display:none}.automation-list span{padding:9px 11px;border-radius:var(--radius);background:#eef8f5;color:#156b54;font-weight:900;font-size:13px}.log-list article{padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfdff}.system-health-toolbar,.system-event-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.system-health-toolbar{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf7}.system-health-toolbar>div{display:grid;gap:3px}.system-health-toolbar span,.system-event-heading>span{color:var(--muted);font-size:13px;font-weight:700}.system-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.system-health-card{min-width:0;padding:16px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);background:var(--white)}.system-health-card svg{color:var(--gold-deep)}.system-health-card>span,.system-health-card>strong,.system-health-card>p{display:block}.system-health-card>span{margin-top:14px;color:var(--muted);font-size:12px;font-weight:800}.system-health-card>strong{margin-top:4px;color:var(--navy);font-size:19px}.system-health-card>p{margin:8px 0 0;color:#53677b;font-size:12px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}.system-health-card.is-healthy{border-top-color:#5f9b70}.system-health-card.is-healthy svg{color:#4f8960}.system-health-card.is-warning{border-top-color:#c69b2e;background:#fffdf5}.system-health-card.is-critical{border-top-color:#c45858;background:#fff9f9}.system-health-card.is-critical svg{color:#b74848}.system-event-section{margin-top:22px}.system-event-heading{margin-bottom:10px}.system-event-heading h3{margin:3px 0 0;color:var(--navy);font-size:18px}.system-event-list{display:grid;gap:8px}.system-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--white)}.system-event-row.severity-error,.system-event-row.severity-critical{border-left-color:#c45858}.system-event-row.severity-warning{border-left-color:#c69b2e}.system-event-row.is-resolved{opacity:.68;background:#f7f8fa}.system-event-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#fff7dd;color:var(--gold-deep)}.severity-error .system-event-icon,.severity-critical .system-event-icon{background:#fff0f0;color:#b74848}.system-event-copy{min-width:0}.system-event-copy>div{display:flex;align-items:center;gap:8px}.system-event-copy strong{color:var(--navy);overflow-wrap:anywhere}.system-event-copy span,.resolved-label{padding:3px 7px;border-radius:4px;background:#f3eed8;color:#7c681f;font-size:11px;font-weight:800}.system-event-copy p{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:700}.system-event-empty{display:flex;align-items:center;gap:9px;padding:18px;border:1px dashed var(--line);border-radius:var(--radius);color:#4f8960;font-weight:800}.compact-button{min-height:36px;padding:0 11px;font-size:12px}.account-log-heading{margin-top:24px}.is-spinning{animation:systemSpin .8s linear infinite}@keyframes systemSpin{to{transform:rotate(360deg)}}@media(max-width:760px){.alimtalk-common-value-grid{grid-template-columns:1fr}.alimtalk-variable-section-heading,.alimtalk-recipient-values-heading{align-items:stretch;flex-direction:column}.alimtalk-variable-section-heading>b,.alimtalk-recipient-values-heading>b{justify-self:start}.alimtalk-recipient-values th,.alimtalk-recipient-values td{min-width:180px}.alimtalk-recipient-values th:first-child,.alimtalk-recipient-values td:first-child{min-width:108px}}.log-list article span{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-top:4px}.log-list p{margin:10px 0 0;color:#314962;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0f233f94;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-modal{width:min(480px,100%);position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:28px;box-shadow:var(--shadow)}.login-modal--compact{width:min(420px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.modal-close{position:absolute;top:14px;right:14px}.modal-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.modal-title svg{color:var(--blue)}.modal-title h2{margin:0;color:var(--navy);font-size:26px}.message-template-modal{width:min(940px,100%);max-height:calc(100svh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow)}.message-template-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.message-template-modal-heading span{color:var(--gold-deep);font-size:10px;font-weight:900;text-transform:uppercase}.message-template-modal-heading h2{margin:4px 0 0;color:var(--navy);font-size:23px}.message-template-modal-heading p{margin:5px 0 0;color:var(--muted);font-size:12px;font-weight:750}.message-template-library{min-height:0;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)}.message-template-list{min-height:260px;max-height:540px;display:grid;align-content:start;gap:7px;padding:14px;overflow-y:auto;border-right:1px solid var(--line);background:var(--soft)}.message-template-list-item{display:grid;gap:4px;padding:12px;border:1px solid transparent;border-radius:var(--radius);background:var(--white);color:var(--navy);text-align:left}.message-template-list-item:hover,.message-template-list-item.is-active{border-color:var(--gold);box-shadow:0 7px 18px #5b4c1814}.message-template-list-item.is-active{background:#fffbed}.message-template-list-item strong{font-size:13px}.message-template-list-item span{overflow:hidden;color:var(--muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.message-template-list-item small{color:#8d98a6;font-size:9px}.message-template-empty{min-height:230px;display:grid;place-items:center;align-content:center;gap:7px;padding:20px;color:var(--muted);text-align:center}.message-template-empty strong{color:var(--navy);font-size:14px}.message-template-empty span{max-width:230px;font-size:11px;font-weight:700;line-height:1.5}.message-template-preview{min-height:0;display:grid;align-content:start;gap:12px;padding:20px;overflow-y:auto}.message-template-preview>div{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius)}.message-template-preview span{color:var(--muted);font-size:10px;font-weight:900}.message-template-preview strong{color:var(--navy);font-size:15px}.message-template-preview p{min-height:190px;margin:0;color:var(--navy);font-size:13px;font-weight:700;line-height:1.65;white-space:pre-wrap;word-break:break-word}.message-template-preview output{justify-self:end;color:var(--muted);font-size:11px;font-weight:900}.message-template-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line);background:var(--white)}.message-template-dialog-actions>div{display:flex;gap:8px}.message-template-dialog-actions .danger-button{color:#ad3f3f}.role-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.role-tabs--two{grid-template-columns:repeat(2,1fr)}.role-tabs button{min-height:40px;border-radius:var(--radius);background:var(--soft);color:var(--muted);font-weight:900}.role-tabs button.is-active{background:var(--navy);color:var(--white)}.login-form label{display:grid;gap:7px;color:var(--navy);font-size:13px;font-weight:900}.password-prompt-description{margin:0;padding:12px 14px;border-left:3px solid var(--gold);background:var(--soft);color:var(--navy);font-size:13px;font-weight:750;line-height:1.65}.password-field{display:grid;grid-template-columns:1fr 44px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.password-field input{border:0;border-radius:0;box-shadow:none}.password-field button{background:var(--white);color:var(--muted)}.form-error{color:var(--red);margin:0;font-weight:800}.checkbox-line{min-height:44px;display:flex;align-items:center;gap:9px;color:var(--navy);font-size:13px;font-weight:900}.checkbox-line input{width:18px;height:18px}.form-success{color:var(--gold-deep);margin:0;font-weight:900}.form-note{color:var(--muted);margin:0;font-weight:800}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes floatUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes reviewDock{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@media(max-width:1280px){.test-paper-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.test-paper-builder-panel--answer-key{grid-column:1 / -1}}@media(max-width:1040px){.login-stage{width:min(760px,calc(100% - 28px));grid-template-columns:280px minmax(360px,1fr);gap:18px}.teacher-login-card,.signin-card{min-height:460px}.signin-card{padding:34px}.signin-card h2{font-size:32px}.site-nav{display:none}.hero h1{font-size:46px}.two-column,.portal-grid--main,.admin-layout,.split-admin,.message-center-layout{grid-template-columns:1fr}.message-compose-textarea{min-height:220px}.test-report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.question-result-row{grid-template-columns:62px minmax(160px,1fr) 58px 90px 42px minmax(120px,.8fr)}.task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-review-card{grid-template-columns:1fr}.student-review-control-row{grid-template-columns:minmax(130px,1fr) minmax(92px,120px) 84px}.admin-tabs{position:static;grid-template-columns:1fr}.admin-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-menu-items{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-tabs .admin-menu-group-button,.admin-tabs .admin-menu-item{justify-content:center;padding:0 10px;text-align:center}}@media(max-width:760px){.video-timestamp-list{grid-template-columns:1fr;max-height:280px}.video-timestamp-button{grid-template-columns:72px minmax(0,1fr)}.message-center-toolbar{align-items:flex-start;flex-direction:column}.message-selection-summary{justify-content:flex-start}.message-sheet-guide{align-items:flex-start;flex-direction:column;gap:4px}.message-sheet-guide b{text-align:left}.message-spreadsheet-wrap{max-height:60svh}.message-spreadsheet td.sheet-col-dispatch,.message-spreadsheet td.sheet-col-name{position:static}.message-spreadsheet th.sheet-col-dispatch,.message-spreadsheet th.sheet-col-name{left:auto}.message-template-library{grid-template-columns:1fr;overflow-y:auto}.message-template-list{min-height:170px;max-height:230px;border-right:0;border-bottom:1px solid var(--line)}.message-template-preview{overflow:visible}.message-template-preview p{min-height:120px}.message-recipient-filters{grid-template-columns:1fr 1fr}.message-search-field{grid-column:1 / -1}.message-recipient-table-wrap{display:none}.message-recipient-card-list{max-height:520px;display:grid;gap:9px;overflow-y:auto}.message-recipient-card-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.message-recipient-card-list article>div{min-width:0;grid-column:1 / -1}.message-recipient-card-list article>div span{display:block;margin-top:3px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.management-toolbar{grid-template-columns:1fr}.management-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.management-view-tabs button{padding:0 8px}.management-period-controls{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px}.management-period-controls select{grid-column:1 / -1}.management-period-mode{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.management-field-grid,.clinic-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-session-columns{grid-template-columns:1fr}.management-class-sessions,.management-class-sessions section{grid-template-columns:1fr}.management-session-block{padding:13px 0}.management-session-block+.management-session-block{padding:13px 0;border-top:1px solid var(--line);border-left:0}.management-session-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.management-session-fields .management-paper-field,.management-session-fields .management-session-note{grid-column:1 / -1}.management-weekly-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.management-weekly-footer .management-note-field{grid-column:1 / -1}.management-month-title{align-items:flex-start;flex-direction:column}.management-note-field,.clinic-field-grid label:first-child{grid-column:1 / -1}.homework-tier-grid,.management-code-grid,.homework-date-tabs{grid-template-columns:1fr}.homework-plan-actions{align-items:stretch;flex-direction:column}.homework-plan-actions label{width:100%}.homework-item-meta{grid-template-columns:1fr}.management-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.management-student-row>header,.clinic-row>header{align-items:flex-start}.clinic-badges{max-width:54%}.question-import-warning{align-items:stretch;flex-direction:column}.login-hero{min-height:auto;grid-template-rows:auto auto;padding-top:28px}.login-hero-video{object-position:center center;filter:blur(4px) saturate(.95) brightness(1.08)}.login-hero-scrim{background:linear-gradient(180deg,#0f141a0a,#0c121a24),#ffffff0a}.login-stage{grid-template-columns:1fr;gap:12px;padding-top:0}.teacher-login-card{min-height:auto;padding:22px;background:linear-gradient(135deg,#ffffff6b,#ffffff2e),#ffffff29;border-color:#ffffff7a;box-shadow:0 18px 48px #12161c3d,inset 0 1px #ffffff85;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teacher-avatar-ring{width:126px;height:126px;border-width:3px}.teacher-login-card h1{margin-top:18px;font-size:23px}.card-divider{margin-bottom:18px}.teacher-login-card ul{padding-bottom:18px;gap:4px;font-size:13px}.signin-card{min-height:auto;padding:26px 22px;background:linear-gradient(135deg,#ffffff70,#fff3),#ffffff2e;border-color:#ffffff80;box-shadow:0 18px 48px #12161c3d,inset 0 1px #ffffff85;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teacher-login-card h1,.signin-card h2,.hero-signin-form label{text-shadow:0 1px 8px rgba(255,255,255,.62)}.teacher-login-card ul{color:#2b3038db}.hero-signin-form input{background:#ffffffa8;border-color:#ffffffa3}.signin-brand{margin-left:22px}.signin-card h2{margin-bottom:22px;padding-left:20px;font-size:27px}.hero-signin-form{margin-left:0;gap:13px}.signin-links,.signin-textbook-link{margin-left:0}.review-dock{padding-top:22px}.mini-review-card{width:178px;min-height:174px}.site-header{width:min(100% - 24px,1180px);padding:12px 0}.brand-lockup{width:72px}.site-header .icon-text-button{width:44px;padding:0;font-size:0}.hero{min-height:calc(100svh - 72px);background:linear-gradient(180deg,#fffffff5,#ffffffad),url(/assets/hero-math-lab.png) center / cover no-repeat}.hero-content,.section,.trust-strip,.contact-band,.site-footer,.portal-body,.admin-body{width:min(100% - 24px,1180px)}.hero-content{padding:28px 0 54px;align-items:flex-end}.hero-logo{width:230px}.hero h1{font-size:40px;line-height:1.12}.hero-subtitle{font-size:18px}.hero-actions .primary-button,.hero-actions .secondary-button,.contact-actions .primary-button,.contact-actions .secondary-button{width:100%}.trust-strip,.system-grid,.content-grid,.result-slider,.parent-summary,.teacher-panel,.attendance-admin,.student-menu-grid,.assignment-review-card-list{grid-template-columns:1fr}.trust-strip{margin-top:12px}.trust-strip div{border-right:0;border-bottom:1px solid var(--line)}.trust-strip div:last-child{border-bottom:0}.section{padding:64px 0}.section-title h2,.contact-band h2,.dashboard-title h1{font-size:29px}.teacher-portrait{width:100%;height:170px}.teacher-portrait--photo{height:260px}.contact-band{padding:28px;flex-direction:column;align-items:stretch}.site-footer{flex-direction:column;align-items:center}.portal-header{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.portal-header img{width:50px}.portal-user strong{display:none}.portal-header>div:first-child,.portal-home-button{gap:10px}.portal-header>div:first-child span,.portal-home-button span{display:inline-block;font-size:12px;max-width:150px}.portal-user .icon-text-button{min-width:78px;padding:0 12px;font-size:13px}.portal-textbook-link{width:44px;min-width:44px;height:44px;padding:0}.portal-textbook-link b{display:none}.portal-body{padding-top:30px}.student-home-hero{grid-template-columns:1fr;gap:18px}.student-home-hero h1{font-size:38px}.student-motivation-quote{padding-left:18px}.student-motivation-quote blockquote{font-size:20px}.student-exam-dday-card{min-height:auto;grid-template-columns:1fr;gap:14px;padding:20px}.student-exam-dday-card b{justify-self:start;font-size:48px}.student-exam-dday-card p{font-size:20px}.student-section-header{grid-template-columns:1fr;align-items:flex-start;gap:12px}.test-report-hero,.unit-analysis-row,.test-report-failure-row{grid-template-columns:1fr}.test-report-hero>strong{justify-self:start}.test-report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-result-row{grid-template-columns:1fr 1fr}.question-result-row strong{font-size:18px}.wrong-note-web-panel .panel-heading{align-items:stretch}.wrong-note-web-panel .secondary-button{width:100%}.wrong-note-web-item summary{align-items:flex-start;flex-direction:column;gap:6px}.wrong-note-web-prompt,.wrong-note-web-solution{padding:14px;overflow-x:auto}.task-card,.portal-panel,.admin-panel,.chart-card{padding:18px}.task-card--wide{grid-column:span 2}.attachment-preview-grid,.question-attachment-list{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.video-player{height:220px}.inline-form,.form-row,.alimtalk-template-controls,.admin-control-bar,.admin-control-bar--compact,.admin-form--grid,.review-request-actions,.student-filter-bar,.student-import-actions,.consult-schedule-grid,.question-item,.student-review-control-row,.question-bank-editor-layout,.question-bank-editor-fields,.test-paper-builder{grid-template-columns:1fr}.test-paper-edit-banner{align-items:stretch;flex-direction:column}.test-paper-edit-banner .table-action-group{display:grid;grid-template-columns:1fr 1fr}.question-bank-launch-bar,.question-bank-launch-actions,.question-bank-launch-button{width:100%}.question-bank-launch-bar,.question-bank-launch-actions{display:grid}.question-bank-editor-fields textarea,.question-bank-editor-fields input[name=tags],.question-bank-editor-actions,.question-bank-editor-fields .form-success,.question-bank-editor-fields .form-error{grid-column:auto}.question-bank-editor-actions{display:grid;grid-template-columns:1fr 1fr}.test-paper-question-list,.selected-question-list,.answer-key-list{max-height:360px}.test-paper-builder-panel--answer-key{grid-column:auto}.answer-key-toolbar{grid-template-columns:1fr 1fr}.answer-key-row{grid-template-columns:28px 1fr 1fr}.answer-key-row input:last-child{grid-column:2 / -1}.omr-workflow-banner,.omr-review-heading{align-items:stretch;flex-direction:column}.omr-question-counts,.omr-finalize-bar{grid-template-columns:1fr}.omr-statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.omr-question-counts label{justify-content:space-between}.omr-preview-toggle,.omr-finalize-bar .primary-button{width:100%;min-width:0}.omr-student-match label,.omr-answer-review{grid-template-columns:1fr}.omr-answer-grid{grid-template-columns:repeat(5,minmax(48px,1fr))}.omr-answer-grid--subjective,.test-report-exam-list{grid-template-columns:1fr}.student-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.checkbox-grid{display:grid;grid-template-columns:1fr;overflow:hidden}.checkbox-pill{width:100%;min-height:48px;border-radius:18px;padding:10px 12px;white-space:normal}.checkbox-pill span{font-size:14px}.admin-tabs{grid-template-columns:1fr}.admin-menu-groups,.admin-menu-items{grid-template-columns:repeat(2,minmax(0,1fr))}.role-tabs{grid-template-columns:repeat(2,1fr)}.score-jump{font-size:26px}}@media print{.public-score-report-page{padding:0;background:#fff}.public-score-report-page>header,.public-score-card,.public-score-student-grid,.public-score-summary{max-width:none}.public-score-header-actions button{display:none}.public-score-card:not(.public-score-wrong-section),.public-score-wrong-item,.public-score-unit{break-inside:avoid;box-shadow:none}.public-score-wrong-section{break-inside:auto}.public-score-question-prompt .public-score-rich-text,.public-score-solution>.public-score-rich-text{font-size:8.5pt}.public-score-rich-text .wrong-note-choice-grid,.public-score-rich-text .wrong-note-view-box{break-inside:avoid;page-break-inside:avoid}.public-score-solution{break-inside:avoid}.public-score-solution:not([open])>:not(summary){display:block!important}.public-score-solution summary{border-bottom:1px solid #dfe7ed}}.portal-notification-button{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 42px;padding:0;border:1px solid rgba(183,154,52,.34);border-radius:6px;background:#fff;color:#9e8124;cursor:pointer}.portal-notification-button:hover{border-color:#b79a34;background:#fffaf0}.push-floating-card{position:fixed;right:22px;bottom:22px;z-index:120;width:min(390px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(183,154,52,.42);border-radius:8px;background:#fffffff7;box-shadow:0 18px 46px #121d3133;color:#101b31;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.push-floating-head{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;gap:10px;align-items:start;padding:15px}.push-floating-head strong{display:block;margin:1px 0 4px;font-size:16px;line-height:1.35}.push-floating-head p{margin:0;color:#667085;font-size:13px;line-height:1.55}.push-floating-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f7efd3;color:#aa8c27}.push-floating-icon.is-complete{background:#e8f6ef;color:#287c55}.push-close-button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:#667085;cursor:pointer}.push-close-button:hover{background:#f4f1e8;color:#101b31}.push-expand-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:4px;border:0;border-top:1px solid #eee4c4;background:#fbf8ef;color:#8e731d;font-weight:800;cursor:pointer}.push-floating-body{display:grid;gap:10px;padding:0 15px 15px}.push-guide{display:grid;gap:7px;padding:12px;border:1px solid #eadfb9;border-radius:6px;background:#fffcf3}.push-guide p{display:flex;align-items:flex-start;gap:7px;margin:0;color:#455066;font-size:13px;line-height:1.55}.push-guide p svg{flex:0 0 auto;margin-top:2px;color:#a88b2b}.push-guide-warning{border-color:#efcaca;background:#fff8f8}.push-primary-button,.push-secondary-button,.push-install-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-weight:800;cursor:pointer}.push-primary-button{width:100%;border:1px solid #b79a34;background:#b79a34;color:#fff}.push-secondary-button{border:1px solid #d8c477;background:#fff;color:#7d661c}.push-install-button{width:100%;border:1px solid #101b31;background:#101b31;color:#fff}.push-install-button:hover{background:#24324d}.push-primary-button:disabled{cursor:wait;opacity:.65}.push-success-row{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:6px;background:#eaf7f0;color:#246d4d;font-size:13px;font-weight:800}.push-error{margin:0;color:#bb4747;font-size:13px;line-height:1.5}@media(max-width:760px){.push-floating-card{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px)}.push-floating-head{grid-template-columns:40px minmax(0,1fr) 32px;padding:13px}.push-floating-icon{width:40px;height:40px}.push-floating-body{padding:0 13px 13px}}@media(max-width:560px){.message-compose-panel,.message-recipient-panel{padding:14px}.message-compose-utility-row{grid-template-columns:1fr}.message-byte-badge{justify-self:start}.message-template-actions{display:grid;grid-template-columns:1fr 1fr}.message-template-actions .secondary-button{width:100%}.message-variable-panel-heading{flex-direction:column;gap:5px}.message-variable-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.message-variable-buttons .secondary-button{flex:0 0 auto}.message-template-modal{max-height:calc(100svh - 24px)}.message-template-modal-heading{padding:17px}.message-template-modal-heading h2{font-size:19px}.message-template-dialog-actions{align-items:stretch;flex-direction:column-reverse;padding:12px}.message-template-dialog-actions>div{display:grid;grid-template-columns:1fr 1fr}.message-template-dialog-actions button{width:100%}.message-recipient-filters{grid-template-columns:1fr}.message-search-field{grid-column:auto}.message-recipient-actions{display:grid;grid-template-columns:1fr 1fr}.message-recipient-actions .secondary-button,.message-recipient-actions .message-clear-button{width:100%;margin-left:0}.message-sheet-size-controls{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-left:0}.message-sheet-size-controls .secondary-button{width:100%}.message-sheet-variable-cell input{font-size:16px}.message-recipient-card-list article{grid-template-columns:1fr 1fr}.message-recipient-card-list article>div{grid-column:1 / -1}.task-grid{grid-template-columns:1fr}.task-card--wide{grid-column:auto}.test-report-summary-grid{grid-template-columns:1fr}}@media(max-width:430px){.login-stage{width:min(100% - 20px,380px)}.signin-card h2{font-size:24px}.hero h1{font-size:35px}.brand-lockup{width:66px}.teacher-panel{padding:18px}.review-card{width:300px}.dashboard-title h1{font-size:26px}.qr-demo{width:160px;height:160px}}.student-360-backdrop{position:fixed;z-index:12000;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0a0f1c8f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.student-360-panel{width:min(760px,100%);height:100%;height:100dvh;overflow-y:auto;padding:28px 28px max(28px,env(safe-area-inset-bottom));color:#172036;background:#f7f5ef;box-shadow:-20px 0 54px #0b111f3d}.student-360-header,.student-360-header-actions,.student-360-section-title{display:flex;align-items:center}.student-360-header{justify-content:space-between;gap:20px;padding:2px 0 22px;border-bottom:1px solid #ddd8ca}.student-360-header p,.student-360-header h2,.student-360-header span{margin:0}.student-360-header p{margin-bottom:4px;color:#a4852b;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.student-360-header h2{font-size:31px;letter-spacing:-.045em}.student-360-header>div>span{color:#757b88;font-size:13px}.student-360-header>div:first-child{min-width:0}.student-360-header>div:first-child span{overflow-wrap:anywhere}.student-360-header-actions{gap:10px}.student-360-header-actions .icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid #d8d4c9;border-radius:50%;color:#404758;background:#fff;cursor:pointer}.student-360-reasons{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.student-360-reasons span{padding:7px 10px;border-radius:999px;color:#a5443f;background:#fdeceb;font-size:10px;font-weight:800}.student-360-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.student-360-summary article{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;min-width:0;padding:15px;border:1px solid #e1ded6;border-radius:15px;background:#fff}.student-360-summary svg{grid-row:1 / span 2;color:#b19542}.student-360-summary span{color:#777d88;font-size:11px}.student-360-summary strong{font-size:18px;letter-spacing:-.03em}.student-360-actions,.student-360-grid>section{padding:18px;border:1px solid #e1ded6;border-radius:17px;background:#fff}.student-360-section-title{gap:8px;margin-bottom:12px}.student-360-section-title svg{width:18px;color:#a48429}.student-360-section-title h3{margin:0;font-size:16px;letter-spacing:-.025em}.student-360-action{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;padding:12px 14px;border:1px solid #e1ded6;border-radius:12px;color:#2b3347;background:#faf9f5;cursor:pointer;text-align:left}.student-360-action span{display:grid;gap:3px}.student-360-action small{color:#777e8d}.student-360-action>svg{flex:0 0 auto;width:18px}.student-360-action.is-danger{border-color:#efc9c6;background:#fff4f3}.student-360-action.is-danger>svg{color:#c44640}.student-360-action.is-warning{border-color:#ead9a3;background:#fffaf0}.student-360-action.is-warning>svg{color:#a98520}.student-360-action>svg{transition:transform .18s ease}.student-360-action[aria-expanded=true]>svg{transform:rotate(90deg)}.student-360-assignment-action-details{display:grid;gap:8px;margin:-1px 0 8px;padding:10px;border:1px solid #e1ded6;border-top:0;border-radius:0 0 12px 12px;background:#fff}.student-360-assignment-action-details.is-danger{border-color:#efc9c6;background:#fffbfa}.student-360-assignment-action-details.is-warning{border-color:#ead9a3;background:#fffdf8}.student-360-assignment-action-details article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 10px;border:1px solid #ece8df;border-radius:10px;background:#fff}.student-360-assignment-action-details article>div{display:grid;min-width:0;gap:3px}.student-360-assignment-action-details article strong{color:#283147;font-size:13px}.student-360-assignment-action-details article small{color:#858a94;font-size:10px}.student-360-assignment-action-details article p{display:-webkit-box;overflow:hidden;margin:3px 0 0;color:#626a78;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.student-360-assignment-action-details article b{flex:0 0 auto;padding:5px 7px;border-radius:999px;color:#a3443e;background:#fdeceb;font-size:10px;white-space:nowrap}.student-360-assignment-action-details.is-warning article b{color:#8a6814;background:#fff3c9}.student-360-assignment-action-details>button{justify-self:end;padding:7px 10px;border:1px solid #d8d2c4;border-radius:8px;color:#4d5667;background:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.student-360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.student-360-inline-alert{margin:-4px 0 10px;color:#a14843;font-size:12px;font-weight:750}.student-360-list{display:grid}.student-360-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-top:1px solid #efede7}.student-360-list>div:first-child{border-top:0}.student-360-list span{display:grid;min-width:0;gap:2px}.student-360-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.student-360-list small{color:#858a94;font-size:10px;overflow-wrap:anywhere;white-space:normal}.student-360-list b{flex:0 0 auto;color:#555d6e;font-size:11px}.student-360-video-list{margin-top:8px;padding-top:8px;border-top:1px dashed #ddd8cc}.student-360-details{display:grid;gap:8px;margin:0}.student-360-details>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px}.student-360-details dt{color:#858a94;font-size:11px}.student-360-details dd{margin:0;font-size:12px;font-weight:700}.clinic-schedule-board{display:grid;gap:18px;padding:24px;border:1px solid #e4e0d7;border-radius:22px;color:#172036;background:#fff}.clinic-schedule-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.clinic-schedule-heading h3{margin:0 0 5px;font-size:25px;letter-spacing:-.04em}.clinic-schedule-heading>div>span{color:#777e8d;font-size:12px}.clinic-schedule-filter{display:flex;align-items:flex-end;gap:9px}.clinic-schedule-filter label{display:grid;gap:5px;color:#777e8d;font-size:10px;font-weight:750}.clinic-schedule-filter select,.clinic-student-table select,.clinic-capacity-grid input{min-height:38px;border:1px solid #dcd8ce;border-radius:9px;color:#242c3e;background:#fff}.clinic-schedule-filter select{min-width:125px;padding:0 10px}.clinic-fixed-duration,.clinic-sync-status{display:grid;min-height:38px;align-content:center;gap:2px;padding:5px 11px;border:1px solid #ddd8ca;border-radius:9px;background:#faf8f2;white-space:nowrap}.clinic-fixed-duration small{color:#777e8d;font-size:9px}.clinic-fixed-duration strong{font-size:11px}.clinic-sync-status{color:#596171;font-size:10px;font-weight:800}.clinic-sync-status.is-synced{border-color:#cde4d6;color:#287459;background:#f0faf4}.clinic-sync-status.is-error{border-color:#efc3c0;color:#b4423d;background:#fff3f2}.clinic-capacity-alerts{display:flex;flex-wrap:wrap;gap:8px}.clinic-capacity-alerts span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800}.clinic-capacity-alerts svg{width:15px}.clinic-capacity-alerts .is-safe{color:#287459;background:#e9f7ef}.clinic-capacity-alerts .is-warning{color:#8a6814;background:#fff6d9}.clinic-capacity-alerts .is-danger{color:#b4423d;background:#fdeceb}.clinic-capacity-grid{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:9px}.clinic-capacity-grid article{min-width:0;padding:14px;border:1px solid #e2dfd7;border-radius:14px;background:#fbfaf7}.clinic-capacity-grid article.is-full{border-color:#dccb91;background:#fffaf0}.clinic-capacity-grid article.is-over{border-color:#e9b8b4;background:#fff3f2}.clinic-capacity-grid header{display:flex;align-items:center;justify-content:space-between;gap:8px}.clinic-capacity-grid header strong{font-size:17px}.clinic-capacity-grid header span{color:#747b88;font-size:11px}.clinic-capacity-progress{height:6px;margin:11px 0;overflow:hidden;border-radius:999px;background:#e7e4dc}.clinic-capacity-progress i{display:block;height:100%;border-radius:inherit;background:#c3a84e}.clinic-capacity-grid article.is-over .clinic-capacity-progress i{background:#d2514a}.clinic-capacity-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#777e8d;font-size:10px}.clinic-capacity-grid input{width:54px;min-height:30px;padding:0 5px;text-align:center}.clinic-capacity-grid article>b{display:block;margin-top:7px;color:#bd4640;font-size:10px}.clinic-student-table-wrap{overflow-x:auto;border:1px solid #e4e1d9;border-radius:14px}.clinic-student-table-wrap:focus-visible{outline:3px solid rgba(42,98,190,.25);outline-offset:2px}.clinic-student-table{width:100%;min-width:1150px;border-collapse:collapse}.clinic-student-table th,.clinic-student-table td{padding:12px 13px;border-bottom:1px solid #edeae3;text-align:left;vertical-align:top}.clinic-student-table th{color:#7b818d;background:#f7f5ef;font-size:10px;letter-spacing:.04em}.clinic-student-table thead th{position:sticky;z-index:2;top:0}.clinic-student-table th:first-child,.clinic-student-table td:first-child{position:sticky;z-index:1;left:0;background:#fff}.clinic-student-table thead th:first-child{z-index:3;background:#f7f5ef}.clinic-student-table td{font-size:12px}.clinic-student-table tbody tr:last-child td{border-bottom:0}.clinic-student-table td:first-child strong,.clinic-student-table td:first-child small{display:block}.clinic-student-table td:first-child small{margin-top:2px;color:#888d97;font-size:10px}.clinic-student-table td:nth-child(4){min-width:170px}.clinic-student-table td:nth-child(4) select{width:95px;padding:0 8px}.clinic-student-table td:nth-child(4) button{margin-left:5px;padding:7px 8px;border:1px solid #d8c989;border-radius:8px;color:#765f19;background:#fff9e7;cursor:pointer;font-size:10px;font-weight:800}.clinic-manual-attendance{display:grid;min-width:220px;gap:5px}.clinic-manual-attendance>small{color:#747b88;font-size:9px;font-weight:700}.clinic-manual-attendance>div{display:flex;flex-wrap:wrap;gap:4px}.clinic-manual-attendance button{display:inline-flex;min-height:30px;align-items:center;gap:4px;padding:5px 7px;border:1px solid #cfe4d8;border-radius:8px;color:#176f57;background:#f0faf5;cursor:pointer;font-size:9px;font-weight:850}.clinic-manual-attendance button svg{width:13px;height:13px}.clinic-manual-attendance button.is-absent{border-color:#ecc5c1;color:#ae423c;background:#fff3f2}.clinic-manual-attendance button.is-reset{border-color:#ded9cc;color:#676e7b;background:#f8f6f0}.clinic-manual-attendance button:disabled{cursor:not-allowed;opacity:.42}.student-360-panel :is(button,select):focus-visible,.clinic-schedule-board :is(button,select,input):focus-visible{outline:3px solid rgba(42,98,190,.25);outline-offset:2px}@media(max-width:1180px){.clinic-capacity-grid{grid-template-columns:repeat(3,minmax(125px,1fr))}}@media(max-width:760px){.student-360-panel{padding:max(18px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom))}.student-360-header{align-items:flex-start}.student-360-header h2{font-size:26px}.student-360-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-360-grid{grid-template-columns:1fr}.clinic-schedule-board{padding:16px 12px;border-radius:17px}.clinic-schedule-heading{align-items:flex-start;flex-direction:column}.clinic-schedule-filter{width:100%}.clinic-schedule-filter label{flex:1}.clinic-schedule-filter select{width:100%;min-width:0}.clinic-schedule-filter select,.clinic-fixed-duration,.clinic-sync-status,.clinic-student-table select,.clinic-capacity-grid input,.clinic-student-table .table-action-button{min-height:44px}.clinic-capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.student-360-header-actions{align-items:flex-end;flex-direction:column-reverse}.student-360-summary article{padding:12px}.clinic-capacity-grid{grid-template-columns:1fr}.clinic-schedule-filter{align-items:stretch;flex-wrap:wrap}.clinic-schedule-filter label{flex-basis:100%}.clinic-fixed-duration,.clinic-sync-status{flex:1}}.attendance-check-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f8f7f2;color:#111b31}.attendance-check-card{width:min(100%,480px);padding:30px;border:1px solid #dfd2a4;border-radius:8px;background:#fffffff7;box-shadow:0 18px 50px #111b311a}.attendance-check-brand,.attendance-check-heading{display:flex;align-items:center;gap:14px}.attendance-check-brand{margin-bottom:32px;color:#a68a25;font-weight:800}.attendance-check-brand img{width:58px;height:42px;object-fit:contain}.attendance-check-heading{padding-bottom:22px;border-bottom:1px solid #eadfb9}.attendance-check-heading svg{color:#b39a37}.attendance-check-heading h1{margin:3px 0 0;font-size:30px}.attendance-check-form{display:grid;gap:18px;margin-top:24px}.attendance-check-form label{display:grid;gap:8px;font-weight:700}.attendance-check-form input{width:100%;min-height:52px;padding:0 15px;border:1px solid #ded3ad;border-radius:6px;background:#fff;color:#111b31;font:inherit}.attendance-check-result{margin:24px 0;padding:20px;border:1px solid #dfd2a4;border-radius:6px;background:#fbf9f0;text-align:center}.attendance-check-result p{margin:5px 0}.attendance-check-card>.text-button{display:block;margin:18px auto 0}@media(max-width:560px){.attendance-check-page{align-items:start;padding:16px}.attendance-check-card{margin-top:22px;padding:22px}}@media(max-width:900px){.system-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.system-health-toolbar,.system-event-heading{align-items:stretch;flex-direction:column}.system-health-toolbar .secondary-button{width:100%}.system-health-grid{grid-template-columns:1fr}.system-event-row{grid-template-columns:auto minmax(0,1fr)}.system-event-row>.secondary-button,.system-event-row>.resolved-label{grid-column:2;justify-self:start}.system-event-copy>div{align-items:flex-start;flex-direction:column}}.video-folder-library{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.video-folder-library__heading,.video-folder-content__heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.video-folder-library__heading{margin-bottom:14px}.video-folder-library__heading>div{display:grid;gap:3px}.video-folder-library__heading span{color:var(--gold);font-size:12px;font-weight:900}.video-folder-library__heading h3{margin:0;color:var(--navy);font-size:20px}.video-folder-library__heading>strong{min-width:58px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:var(--gold-deep);text-align:center}.video-folder-browser{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);min-height:280px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fffdf8}.video-folder-list{display:grid;align-content:start;gap:4px;padding:10px;border-right:1px solid var(--line);background:#faf7ed}.video-folder-button{width:100%;min-height:60px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--navy);text-align:left;cursor:pointer}.video-folder-button:hover{border-color:var(--line);background:#fff}.video-folder-button.is-active{border-color:#20242c;background:#20242c;color:#fff}.video-folder-button>span{min-width:0;display:grid;gap:2px}.video-folder-button strong,.video-folder-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-folder-button strong{font-size:14px}.video-folder-button small{color:var(--muted);font-size:12px;font-weight:700}.video-folder-button.is-active small{color:#e9e1c8}.video-folder-button>b{min-width:27px;padding:4px 6px;border-radius:999px;background:#efe6c8;color:var(--gold-deep);font-size:12px;text-align:center}.video-folder-button.is-active>b{background:var(--gold);color:#fff}.video-folder-content{min-width:0;padding:16px}.video-folder-content__heading{min-height:34px;margin-bottom:12px}.video-folder-content__heading>div{min-width:0;display:flex;align-items:center;gap:8px;color:var(--navy)}.video-folder-content__heading>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-folder-content__heading>span{flex:0 0 auto;color:var(--muted);font-size:13px;font-weight:800}.video-folder-video-list{max-height:600px;overflow-y:auto;padding-right:4px}.video-folder-empty{margin-bottom:0}@media(max-width:900px){.video-folder-browser{grid-template-columns:1fr}.video-folder-list{grid-auto-flow:column;grid-auto-columns:minmax(180px,42vw);overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:560px){.video-folder-library__heading{align-items:flex-end}.video-folder-browser{margin-inline:-2px}.video-folder-list{grid-auto-columns:minmax(172px,72vw)}.video-folder-content{padding:12px}.video-folder-video-list{max-height:none}}.student-class-assignment-field{grid-column:1 / -1;min-width:0;margin:0;padding:14px;border:1px solid #e5d7a7;border-radius:8px}.student-class-assignment-field legend{padding:0 6px;color:#17213a;font-weight:700}.student-class-options{display:flex;flex-wrap:wrap;gap:8px}.student-class-option{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #e5d7a7;border-radius:8px;background:#fff}.student-class-option input{width:16px;height:16px}.student-class-option.is-primary{background:#f8f3df}.ai-solver-shell{display:grid;gap:18px;max-width:1080px;margin:0 auto}.ai-solver-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:7px;background:#f1f5f9;border-radius:18px}.ai-solver-tabs button{min-height:50px;border:0;border-radius:13px;background:transparent;color:#475569;font:inherit;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.ai-solver-tabs button.is-active{background:#fff;color:#1d4ed8;box-shadow:0 4px 14px #0f172a12}.ai-step-card,.ai-problem-summary,.ai-hint-card,.ai-attempt-gate,.ai-final-answer,.ai-history{background:#fff;border:1px solid #dbe5f0;border-radius:22px;padding:clamp(18px,4vw,30px);box-shadow:0 12px 35px #0f172a0a}.ai-step-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.ai-step-heading>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#1d4ed8;color:#fff;font-weight:900}.ai-step-heading p,.ai-step-heading h3{margin:0}.ai-step-heading p{font-size:.8rem;color:#2563eb;font-weight:900;text-transform:uppercase}.ai-step-heading h3{margin-top:4px;font-size:clamp(1.12rem,3vw,1.45rem)}.ai-grade-chip{display:inline-flex;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:8px 13px;font-weight:800}.ai-upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.ai-upload-actions label{min-height:76px;border:2px dashed #93c5fd;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;color:#1d4ed8;font-weight:900;cursor:pointer}.ai-upload-actions input,.ai-attempt-gate .upload-zone input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.ai-image-list{display:flex;gap:10px;overflow:auto;padding:12px 1px}.ai-image-list figure{position:relative;flex:0 0 145px;margin:0;border:1px solid #dbe5f0;border-radius:14px;overflow:hidden;background:#f8fafc}.ai-image-list img{width:100%;height:120px;object-fit:cover}.ai-image-list figcaption{padding:7px;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-image-list figure>div{display:flex;padding:0 5px 6px}.ai-image-list button{border:0;background:#fff;padding:6px;cursor:pointer}.ai-main-action{width:100%;min-height:52px;justify-content:center;margin-top:8px}.ai-alert{display:flex;align-items:center;gap:8px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:13px;padding:12px;margin:0}.ai-alert button{margin-left:auto;border:0;background:transparent;color:inherit}.ai-loading{position:sticky;top:10px;z-index:5;display:flex;align-items:center;gap:9px;background:#172554;color:#fff;border-radius:14px;padding:13px 16px;box-shadow:0 10px 25px #17255440}.ai-loading span{font-size:.82rem;opacity:.8}.ai-progress{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 15px;counter-reset:step}.ai-progress li{font-size:.76rem;text-align:center;color:#94a3b8;border-top:4px solid #e2e8f0;padding-top:7px;font-weight:800}.ai-progress li.is-current,.ai-progress li.is-done{border-color:#2563eb;color:#1d4ed8}.ai-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.ai-compare>div,.ai-compare>label{display:grid;align-content:start;gap:8px}.ai-compare img{width:100%;max-height:420px;object-fit:contain;background:#f8fafc;border-radius:12px}.ai-compare textarea,.ai-step-card textarea,.ai-hint-card textarea{width:100%;resize:vertical;line-height:1.7}.ai-inline-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:12px}.ai-problem-summary{display:grid;grid-template-columns:1fr auto;gap:12px}.ai-problem-summary h3,.ai-problem-summary span{margin:0}.ai-problem-summary>button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:7px 10px}.ai-problem-summary>.ai-math-text{grid-column:1/-1}.ai-math-text{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;line-height:1.75}.ai-hint-list{display:grid;gap:14px}.ai-hint-card>div:first-child{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ai-hint-card>div:first-child span{background:#dbeafe;color:#1e40af;border-radius:999px;padding:5px 9px;font-weight:900}.ai-hint-card label{display:grid;gap:6px;margin-top:15px}.ai-feedback{margin-top:12px!important;display:block!important;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:10px;padding:13px}.ai-feedback p{margin:6px 0 0;white-space:pre-wrap}.ai-attempt-gate{text-align:center;border:2px solid #93c5fd}.ai-attempt-gate .upload-zone{margin:16px 0}.ai-final-answer{border-color:#86efac}.ai-final-answer>span{color:#15803d;font-weight:900}.ai-final-answer section{padding:15px 0;border-top:1px solid #e2e8f0}.ai-final-answer section.is-answer{background:#f0fdf4;margin:0 -12px;padding:16px 12px;border-radius:13px}.ai-history-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.ai-record-list{display:grid;gap:10px;margin-top:16px}.ai-record-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;border:1px solid #dbe5f0;border-radius:14px;padding:8px}.ai-record-list button{border:0;background:transparent;cursor:pointer}.ai-record-main{text-align:left;display:grid;gap:4px;padding:8px}.ai-record-main span,.ai-record-main small{color:#64748b}.ai-record-list .is-favorite{color:#eab308}.form-hint{color:#64748b;font-size:.85rem}@media(max-width:700px){.ai-solver-tabs{grid-template-columns:1fr}.ai-solver-tabs button{justify-content:flex-start;padding-left:16px;min-height:44px}.ai-upload-actions,.ai-compare,.ai-history-filters{grid-template-columns:1fr}.ai-loading{align-items:flex-start;flex-wrap:wrap}.ai-loading span{flex-basis:100%;padding-left:34px}.ai-progress li{font-size:.68rem}.ai-problem-summary{grid-template-columns:1fr}.ai-problem-summary>button{justify-self:start}.ai-record-list article{grid-template-columns:1fr auto auto}.ai-record-main strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.admin-ai-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:16px}.admin-ai-layout textarea{width:100%;min-height:100px;margin:8px 0}.admin-ai-layout .row-card--button.is-active{border-color:#2563eb;background:#eff6ff}@media(max-width:900px){.admin-ai-layout{grid-template-columns:1fr}}.ai-visual-section{background:#fff;border:1px solid #dbe5f0;border-radius:22px;padding:clamp(14px,3vw,22px)}.math-visual{margin:0}.math-visual figcaption{display:grid;gap:3px;margin-bottom:10px}.math-visual figcaption span{color:#64748b;font-size:.86rem}.math-visual svg{display:block;width:100%;height:auto;max-height:480px}.math-visual text{font:700 14px system-ui,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.math-grid line{stroke:#e2e8f0;stroke-width:1}.math-grid line.axis{stroke:#64748b;stroke-width:2}.ai-visual-section details{margin-top:10px;border-top:1px solid #e2e8f0;padding-top:10px}.ai-visual-section summary{cursor:pointer;color:#475569;font-weight:800}.ai-visual-section textarea{width:100%;min-height:78px;margin:10px 0;resize:vertical}button[data-portal-back=true]{display:inline-flex!important;width:auto!important;min-width:112px;max-width:100%;min-height:48px;align-items:center;justify-content:center!important;gap:8px;padding-inline:16px;white-space:nowrap!important;word-break:keep-all!important;flex-shrink:0}button[data-portal-back=true] svg{flex:0 0 auto}.video-source-picker{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}.video-source-picker legend{grid-column:1 / -1;margin-bottom:2px;color:var(--navy);font-weight:900}.video-source-picker>label{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fffdf8;cursor:pointer}.video-source-picker>label.is-active{border-color:var(--gold);background:#fff9e4;box-shadow:0 0 0 2px #b8912f1f}.video-source-picker input{width:18px;height:18px}.video-source-picker svg{color:var(--gold)}.video-source-picker span,.video-source-picker strong,.video-source-picker small{display:block;min-width:0}.video-source-picker strong{color:var(--navy);font-size:15px}.video-source-picker small{margin-top:4px;color:var(--muted);line-height:1.45}.video-source-edit-hint{grid-column:1 / -1}.video-mobile-upload-hint input{width:100%;margin-top:10px;background:#fff}.video-mobile-upload-hint small{display:block;margin-top:8px}.admin-labeled-field{display:grid;gap:6px}.admin-labeled-field>span{color:var(--muted);font-size:12px;font-weight:900}.video-source-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900;vertical-align:1px}.video-source-badge.is-youtube{color:#a72c24;background:#fff0ee}.video-source-badge.is-stream{color:#274d78;background:#eef5ff}.video-link-copy-button{white-space:nowrap}.video-link-copy-button svg{width:16px;height:16px}.video-watch-controls{min-width:470px;grid-template-columns:82px 72px 72px minmax(132px,auto)}.public-lecture-page{min-height:100vh;padding:clamp(12px,3vw,34px);background:radial-gradient(circle at 12% 10%,rgba(205,176,87,.13),transparent 28%),#f2efe7;color:#172033}.public-lecture-shell{width:min(1180px,100%);margin:0 auto;overflow:hidden;border:1px solid #ddd5c3;border-radius:20px;background:#f6f2e9;box-shadow:0 24px 70px #141a2729}.public-lecture-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;color:#f8f3e8;background:#111b31}.public-lecture-brand{display:flex;align-items:center;gap:11px;min-width:0}.public-lecture-brand>b{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid rgba(218,185,87,.7);border-radius:50%;color:#e2c76d;font-family:Georgia,serif}.public-lecture-brand span,.public-lecture-brand strong,.public-lecture-brand small{display:block}.public-lecture-brand strong{color:#fff;font-size:15px}.public-lecture-brand small{margin-top:2px;color:#aeb5c4;font-size:10px;letter-spacing:.06em}.public-lecture-student{display:flex;align-items:center;gap:7px;color:#e2e5ec;font-size:12px;font-weight:800;white-space:nowrap}.public-lecture-student i{display:block;width:7px;height:7px;border-radius:50%;background:#dbbb5c;box-shadow:0 0 0 4px #dbbb5c21}.public-lecture-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:24px 24px 18px;border-bottom:1px solid #ddd5c3;background:#fffefb}.public-lecture-heading p,.public-lecture-heading h1{margin:0}.public-lecture-heading p{color:#765a0c;font-size:12px;font-weight:900;letter-spacing:.08em}.public-lecture-heading h1{margin-top:6px;color:#15203a;font-size:clamp(22px,3vw,31px);line-height:1.3}.public-lecture-heading>span{color:#5e6878;font-size:12px;white-space:nowrap}.public-lecture-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.7fr);gap:19px;padding:19px}.public-lecture-main,.public-lecture-side{min-width:0}.public-lecture-stage{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:14px;background:#080b12;box-shadow:inset 0 0 0 1px #ffffff14,0 12px 28px #0f141f26}.public-lecture-stage iframe,.public-lecture-youtube,.public-lecture-youtube iframe{display:block;width:100%;height:100%;border:0}.public-lecture-stage:fullscreen,.public-lecture-stage.is-fullscreen{width:100vw;height:100vh;height:100dvh;border-radius:0;background:#000}.public-lecture-watermark{position:absolute;z-index:4;top:7%;right:4%;padding:5px 8px;border-radius:4px;background:#0003;color:#ffffff8a;font-size:clamp(9px,1.1vw,13px);font-weight:800;letter-spacing:.05em;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.7);animation:public-lecture-watermark-move 28s steps(1,end) infinite}@keyframes public-lecture-watermark-move{0%,to{top:7%;right:auto;bottom:auto;left:4%}25%{top:48%;right:auto;bottom:auto;left:7%}50%{top:auto;right:7%;bottom:17%;left:auto}75%{top:18%;right:auto;bottom:auto;left:38%}}.public-lecture-logo-watermark{position:absolute;z-index:5;top:max(clamp(8px,2vw,16px),env(safe-area-inset-top));right:max(clamp(8px,2vw,16px),env(safe-area-inset-right));width:clamp(88px,11vw,138px);aspect-ratio:1089 / 757;overflow:hidden;opacity:.24;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.42))}.public-lecture-logo-watermark img{position:absolute;top:-55.9%;left:-16.62%;display:block;width:137.74%;max-width:none;height:auto;-webkit-user-drag:none}.public-lecture-source{position:absolute;z-index:3;left:13px;bottom:10px;color:#ffffff7a;font-size:10px;pointer-events:none}.public-lecture-fullscreen{position:absolute;z-index:6;right:12px;bottom:10px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:7px;color:#fff;background:#0a101dd1;cursor:pointer}.public-lecture-fullscreen svg{width:19px;height:19px}.public-lecture-player-error{position:absolute;z-index:7;left:50%;bottom:18px;width:min(90%,520px);transform:translate(-50%);padding:10px 12px;border-radius:8px;color:#fff;background:#8b2623eb;text-align:center;font-size:12px;font-weight:800}.public-lecture-blocked{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;color:#f5f1e5;background:radial-gradient(circle at 50% 30%,#25314a,#0b0f18 70%);text-align:center}.public-lecture-blocked svg{width:42px;height:42px;color:#d8b959}.public-lecture-blocked strong{font-size:18px}.public-lecture-blocked span{color:#b8bfcd;font-size:12px}.public-lecture-resume{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px 2px}.public-lecture-resume span,.public-lecture-resume strong,.public-lecture-resume small{display:block}.public-lecture-resume strong{color:#172033;font-size:13px}.public-lecture-resume small{margin-top:4px;color:#5f6878;font-size:11px}.public-lecture-resume button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid #b8942f;border-radius:9px;color:#172033;background:#f4e9c7;font-weight:900;white-space:nowrap;cursor:pointer}.public-lecture-resume button:disabled{opacity:.5;cursor:not-allowed}.public-lecture-resume button svg{width:16px;height:16px}.public-lecture-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.public-lecture-resources a,.public-lecture-resources>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px;border:1px solid #ddd5c3;border-radius:10px;color:#172033;background:#fffefb;font-size:12px;font-weight:900;text-decoration:none}.public-lecture-resources a:hover{border-color:#b8942f;background:#fff9e7}.public-lecture-resources>span{color:#626c7a}.public-lecture-resources svg{width:17px;height:17px}.public-lecture-more-materials{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;color:#6f7786;font-size:11px}.public-lecture-more-materials a{color:#70560f}.public-lecture-side{display:flex;flex-direction:column;overflow:hidden;border:1px solid #ddd5c3;border-radius:14px;background:#fffefb}.public-lecture-side-heading{padding:16px;border-bottom:1px solid #ddd5c3}.public-lecture-side-heading h2,.public-lecture-side-heading p{margin:0}.public-lecture-side-heading h2{color:#172033;font-size:17px}.public-lecture-side-heading p{margin-top:5px;color:#5e6878;font-size:11px}.public-lecture-chapters{padding:6px 0}.public-lecture-chapters button{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;width:100%;min-height:43px;padding:10px 14px;border:0;border-left:3px solid transparent;color:#172033;background:transparent;text-align:left;cursor:pointer}.public-lecture-chapters button:hover{background:#f7f2e7}.public-lecture-chapters button.is-active{border-left-color:#b8942f;background:#f3e8c4}.public-lecture-chapters time{color:#765a0c;font-size:11px;font-weight:900}.public-lecture-chapters span{overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.public-lecture-watch{margin-top:auto;padding:15px;border-top:1px solid #ddd5c3;background:#f7f3e9}.public-lecture-watch>div:not(.public-lecture-progress){display:flex;justify-content:space-between;gap:10px;color:#5f6878;font-size:11px}.public-lecture-watch strong{color:#172033}.public-lecture-progress{height:6px;margin:9px 0 13px;overflow:hidden;border-radius:999px;background:#ded8ca}.public-lecture-progress i{display:block;height:100%;background:#b8942f;transition:width .18s ease}.public-lecture-note{display:flex;align-items:flex-start;gap:8px;padding:15px 20px 18px;border-top:1px solid #ddd5c3;color:#5f6878;background:#fffefb;font-size:11px;line-height:1.6}.public-lecture-note svg{flex:0 0 auto;width:16px;height:16px;color:#b8942f}.public-lecture-note strong{color:#172033}.public-lecture-state{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;color:#172033;background:#f2efe7;text-align:center}.public-lecture-state>svg{width:44px;height:44px;color:#b8942f}.public-lecture-state h1,.public-lecture-state p{margin:0}.public-lecture-state h1{font-size:22px}.public-lecture-state p{color:#5f6878}@media(max-width:760px){.video-source-picker{grid-template-columns:1fr}.public-lecture-page{padding:0;background:#f2efe7}.public-lecture-shell{border-radius:0;border-inline:0;box-shadow:none}.public-lecture-topbar{padding:13px 15px}.public-lecture-brand small,.public-lecture-student>span{display:none}.public-lecture-student{font-size:11px}.public-lecture-heading{align-items:flex-start;flex-direction:column;gap:8px;padding:18px 15px 15px}.public-lecture-layout{grid-template-columns:1fr;gap:14px;padding:13px}.public-lecture-resources{grid-template-columns:1fr}.public-lecture-resources a,.public-lecture-resources>span{justify-content:flex-start;padding-left:14px}.public-lecture-note{padding:13px 15px 17px}}@media(max-width:430px){.public-lecture-brand>b{flex-basis:28px;height:28px}.public-lecture-brand strong{font-size:13px}.public-lecture-resume{align-items:stretch;flex-direction:column}.public-lecture-resume button{justify-content:center;width:100%}.public-lecture-source{display:none}}@media(prefers-reduced-motion:reduce){.public-lecture-watermark{animation:none}.public-lecture-progress i{transition:none}}.portal-grid--lecture{grid-template-columns:minmax(0,1fr)}.portal-panel.portal-panel--lecture{padding:0;overflow:visible;border:0;background:transparent;box-shadow:none}.student-lecture-shell{width:100%;margin:0;border-color:#343945;border-radius:18px;color:#eef1f6;background:#1b1e26;box-shadow:0 22px 60px #0c0f1633}.student-lecture-shell .public-lecture-topbar{border-bottom:1px solid rgba(255,255,255,.04);background:#0f1428}.student-lecture-shell .public-lecture-heading{border-color:#3a3f4a;background:#1b1e26}.student-lecture-shell .public-lecture-heading h1,.student-lecture-shell .public-lecture-resume strong,.student-lecture-shell .public-lecture-side-heading h2,.student-lecture-shell .public-lecture-watch strong,.student-lecture-shell .public-lecture-note strong{color:#f4f6fa}.student-lecture-shell .public-lecture-heading p,.student-lecture-shell .public-lecture-chapters time{color:#ddbf55}.student-lecture-shell .public-lecture-heading>span,.student-lecture-shell .public-lecture-resume small,.student-lecture-shell .public-lecture-side-heading p,.student-lecture-shell .public-lecture-watch>div:not(.public-lecture-progress),.student-lecture-shell .public-lecture-note{color:#aab1bf}.student-lecture-shell .public-lecture-layout{background:#171a21}.student-lecture-shell .public-lecture-stage{border:1px solid #303641;background:#070a11;box-shadow:0 14px 34px #00000052}.student-lecture-shell .public-lecture-resume button{border-color:#c8aa3d;color:#f2f4f8;background:#4b4322}.student-lecture-shell .public-lecture-resume button:hover:not(:disabled){border-color:#e1c65e;background:#5a5027}.student-lecture-shell .public-lecture-resources>button,.student-lecture-shell .public-lecture-resources>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px;border:1px solid #3b414d;border-radius:10px;color:#f0f2f6;background:#20242d;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer}.student-lecture-shell .public-lecture-resources>button:hover:not(:disabled){border-color:#bda340;background:#292c31}.student-lecture-shell .public-lecture-resources>button:disabled,.student-lecture-shell .public-lecture-resources>span{color:#7f8794;cursor:not-allowed}.student-lecture-shell .public-lecture-resources svg{width:17px;height:17px}.student-lecture-shell .public-lecture-more-materials{color:#9ea6b4}.student-lecture-shell .public-lecture-more-materials button{padding:3px 0;border:0;color:#dfc158;background:transparent;font-size:11px;text-decoration:underline;cursor:pointer}.student-lecture-shell .public-lecture-side{border-color:#3b404b;background:#20242d}.student-lecture-shell .public-lecture-side-heading,.student-lecture-shell .public-lecture-watch{border-color:#3b404b}.student-lecture-shell .public-lecture-chapters button{color:#eef1f6}.student-lecture-shell .public-lecture-chapters button:hover{background:#282c34}.student-lecture-shell .public-lecture-chapters button.is-active{border-left-color:#d3b649;background:#454026}.student-lecture-shell .public-lecture-watch{background:#242831}.student-lecture-shell .public-lecture-progress{background:#464b55}.student-lecture-shell .public-lecture-progress i{background:#d5b84c}.student-lecture-shell .public-lecture-note{border-color:#3a3f49;background:#1b1e26}.portal-lecture-material-message{margin:10px 2px 0;color:#cfd4dc;font-size:12px}.portal-lecture-library{display:grid;gap:14px;margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fffdf8}.portal-lecture-library-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.portal-lecture-library-heading h2,.portal-lecture-library-heading p{margin:0}.portal-lecture-library-heading h2{margin-top:4px;color:var(--navy);font-size:20px}.portal-lecture-library-heading>span{color:var(--gray);font-size:12px}.portal-lecture-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.portal-lecture-video-card{display:grid;gap:7px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#fff;text-align:left;cursor:pointer}.portal-lecture-video-card:hover,.portal-lecture-video-card.is-active{border-color:#b99b31;background:#fff9e8}.portal-lecture-video-card.is-active{box-shadow:inset 3px 0 #b99b31}.portal-lecture-video-card>span,.portal-lecture-video-card>small{color:var(--gray);font-size:11px}.portal-lecture-video-card>strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.portal-lecture-empty{display:grid;place-items:center;gap:10px;min-height:320px;padding:28px;border:1px solid var(--line);border-radius:18px;color:var(--gray);background:#fffdf8;text-align:center}.portal-lecture-empty svg{color:var(--gold)}.portal-lecture-empty h2,.portal-lecture-empty p{margin:0}.portal-lecture-empty h2{color:var(--navy);font-size:20px}.portal-lecture-stage.video-player,.portal-lecture-stage{height:auto;aspect-ratio:16 / 9}.portal-lecture-stage.is-fullscreen:not(:fullscreen){position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;aspect-ratio:auto}.student-lecture-shell :is(button,a):focus-visible,.portal-lecture-video-card:focus-visible{outline:3px solid rgba(226,195,82,.72);outline-offset:2px}@media(max-width:760px){.portal-panel.portal-panel--lecture{padding:0}.student-lecture-shell{border-inline:1px solid #343945;border-radius:16px;box-shadow:0 14px 34px #0c0f1629}.student-lecture-shell .public-lecture-layout{padding:12px}.student-lecture-shell .public-lecture-resources>button,.student-lecture-shell .public-lecture-resources>span{justify-content:flex-start;padding-left:14px}.portal-lecture-library{padding:15px}.portal-lecture-library-grid{grid-template-columns:1fr}}@media(max-width:430px){.public-lecture-logo-watermark{width:74px}.student-lecture-shell .public-lecture-heading h1{font-size:21px}.student-lecture-shell .public-lecture-heading>span{white-space:normal}.student-lecture-shell .public-lecture-chapters button{grid-template-columns:44px minmax(0,1fr);min-height:44px;padding-inline:11px}.portal-lecture-library-heading{align-items:flex-start;flex-direction:column;gap:5px}}
