:root{--primary: #7C3AED;--primary-light: #EDE9FE;--primary-mid: #A855F7;--primary-d1: #6945dc;--primary-d2: #2563eb;--primary-d3: #0891b2;--primary-d4: #7c3aed;--primary-light-d1: #eee8ff;--primary-light-d2: #e8f0fe;--primary-light-d3: #e6fbff;--primary-light-d4: #f3e8ff;--dashboard-bg: #f8f7ff;--bg: #F8F7FF;--card: #fff;--text: #1a1a2e;--sub: #6b7280;--border: #e5e7eb;--navy: #0F172A;--bg-card: #FFFFFF;--text-muted: #64748B;--color-question: #4F46E5;--color-question-light: #EEF2FF;--color-teacher: #7C3AED;--color-teacher-light: #F5F3FF;--vero-ink: #17134f;--vero-muted: #686b91;--vero-violet: #6844dc;--vero-violet-2: #8b6df0;--vero-blue: #45b7ee;--vero-cyan: #76dcff;--vero-green: #42ad83;--vero-amber: #ffc35a;--vero-rose: #ff7a9b;--vero-line: rgba(105, 69, 220, .16);--vero-panel: rgba(255, 255, 255, .88);--danger: #dc2626;--success: #15803d;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--nav-h: 72px;--shadow-premium: 0 10px 25px -5px rgba(15, 23, 42, .04), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-hover: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 10px 10px -6px rgba(15, 23, 42, .08);--transition: all .22s cubic-bezier(.4, 0, .2, 1);color:var(--text);font-family:Noto Sans KR,Jua,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;margin:0;padding:0;font-family:inherit}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(104,68,220,.11),transparent 28%),radial-gradient(circle at 92% 10%,rgba(69,183,238,.18),transparent 25%),linear-gradient(135deg,#fbfaff,#f2f1ff 48%,#e8f8ff)}button,input,select,textarea{font-family:inherit}button{cursor:pointer}[hidden]{display:none!important}h1,h2,h3,p{margin:0;letter-spacing:0}a{color:var(--primary)}.section{display:none}.section.active{display:block}.app-shell{min-height:100vh;background:var(--dashboard-bg)}.app-header-nova{display:none}#section-main{min-height:100vh;background:radial-gradient(circle at 84% 14%,rgba(57,199,236,.22),transparent 30%),linear-gradient(180deg,#fbfbff,#eef4ff)}.pixel-parity-overlay{position:fixed;inset:0;z-index:9999;display:block;width:100vw;height:100vh;pointer-events:none}.pixel-parity-overlay img{display:block;width:100vw;height:100vh;object-fit:fill}.container{width:min(480px,100%);margin:0 auto;padding:24px 16px calc(var(--nav-h) + 28px)}.card,.panel,.question-card,.student-session-card,.summary-card,.student-dash-panel,.student-status-card,.student-rank-card,.setting-item,.setting-panel,.teacher-preview-panel{border:1px solid rgba(124,58,237,.11);border-radius:var(--radius-md);background:var(--card);box-shadow:0 8px 24px #7c3aed0f}.card,.panel,.question-card,.student-session-card{padding:16px}.placeholder-text,.empty-state{margin:0;color:var(--sub);font-size:13px;line-height:1.55}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:10px 14px;border:0;border-radius:var(--radius-sm);font-size:14px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.btn:active{transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.58}.btn.disabled{cursor:not-allowed;opacity:.58;pointer-events:none}.btn-sm{min-height:34px;padding:7px 10px;font-size:12px}.btn-primary,.primary-action{border:1.5px solid var(--primary);background:linear-gradient(135deg,#111029,#1e1b4b);color:#e0e7ff;box-shadow:0 6px 16px #7c3aed2e}.btn-secondary,.secondary-action{border:1.5px solid var(--border);background:#fff;color:#4b5563}.btn-danger,.danger-action{border:1.5px solid #fecaca;background:#fee2e2;color:#991b1b}.back-btn,.icon-btn,.avatar-btn,.hamburger-btn,.brand-button,.logo-button{border:0;background:transparent;color:inherit}.back-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;padding:8px 0;color:#555;font-size:15px}.icon-btn,.avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--text);font-weight:900;box-shadow:0 2px 10px #0f172a14}.hamburger-btn{display:inline-grid;gap:4px;width:42px;height:42px;place-content:center}.hamburger-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text)}.form-group,label{display:grid;gap:7px;color:#374151;font-size:14px;font-weight:800}.form-label{color:#374151;font-size:13px;font-weight:800}.required-mark{color:var(--danger);font-size:12px}.form-input,input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text)}input,select{padding:0 12px}textarea{min-height:116px;padding:10px 12px;resize:vertical}.field-grid,.action-grid,.summary-row,.student-status-grid,.student-rank-grid{display:grid;gap:10px}.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.action-grid,.summary-row,.student-status-grid,.student-rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-msg,.success-msg,.submit-message,.session-message,.photo-upload-status{min-height:18px;margin:0;font-size:13px;font-weight:800;overflow-wrap:anywhere}.error-msg,.submit-message.error,.session-message.error,.photo-upload-status.error{color:#b91c1c}.success-msg,.submit-message.saved,.submit-message.ready,.session-message.ready,.photo-upload-status.uploaded{color:var(--success)}.privacy-consent-box{height:96px;overflow-y:auto;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa;color:#666;font-size:11px;line-height:1.5}.consent-check{display:flex;align-items:center;gap:8px;font-size:13.5px}.consent-check input{width:16px;min-height:16px;accent-color:var(--primary)}.student-request-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a7a}.student-request-modal{width:min(480px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a42}.notice-popup-modal{display:grid;gap:14px;padding:20px}.notice-popup-modal h3{margin:0;padding-bottom:10px;border-bottom:2px solid var(--primary-light);color:var(--navy);font-size:18px}.notice-popup-list{display:grid;gap:12px;max-height:52vh;overflow:auto;padding-right:4px}.notice-popup-card{padding:14px;border-radius:8px;background:var(--bg);text-align:left}.notice-popup-general{border-left:4px solid #4f46e5}.notice-popup-grade{border-left:4px solid #059669}.notice-popup-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.notice-popup-title-row span{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:4px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:900}.notice-popup-grade .notice-popup-title-row span{background:#ecfdf5;color:#059669}.notice-popup-card p{margin:0;color:var(--text);font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.notice-popup-footer,.radio-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.radio-row{justify-content:flex-start}.radio-row label{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:800}.setting-panel-copy{margin:0 0 14px;color:var(--sub);font-size:13px;line-height:1.55}.sage-login-shell{display:grid;align-items:center;width:min(1180px,calc(100% - 32px));min-height:calc(100vh - 48px);margin:24px auto;color:var(--vero-ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.sage-login-stage{display:grid;grid-template-columns:minmax(0,1.08fr) 380px;min-height:650px;overflow:hidden;border:1px solid rgba(105,69,220,.16);border-radius:28px;background:linear-gradient(135deg,#fcfbff,#efefff 54%,#e5f7ff);box-shadow:0 24px 58px #1f0a6124}.sage-login-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);align-items:center;align-self:stretch;gap:22px;min-width:0;padding:52px 44px;overflow:hidden}.sage-login-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 22%,rgba(105,69,220,.2),transparent 22%),radial-gradient(circle at 86% 48%,rgba(57,199,236,.28),transparent 20%),linear-gradient(120deg,#ffffffa8,#fff0);pointer-events:none}.sage-login-copy,.sage-tutor-scene{position:relative;z-index:1}.sage-landing-brand{display:inline-flex;align-items:center;gap:18px;margin-bottom:36px;font-weight:900;color:var(--vero-ink)}.sage-brand-mark{display:inline-grid;width:76px;height:76px;place-items:center;border-radius:16px;padding:4px;overflow:hidden;background:#6945dc;color:#fff}.sage-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.sage-brand-name{color:var(--vero-ink);font-size:clamp(30px,3.2vw,40px);line-height:1;font-weight:950;white-space:nowrap}.sage-login-copy h1{max-width:420px;color:var(--vero-ink);font-size:clamp(32px,4vw,50px);line-height:1.2;font-weight:900;word-break:keep-all}.sage-hero-line{display:block;white-space:nowrap}.sage-hero-line+.sage-hero-line{margin-top:9px}.sage-hero-word{display:inline-block;font-size:1.1em;font-weight:950}.sage-word-question{color:#5431c7}.sage-word-understanding{color:#2878ce}.sage-word-growth{color:#16815f}.sage-login-copy p{max-width:420px;margin-top:24px;color:#62648c;font-size:18px;line-height:1.75;font-weight:850;word-break:keep-all}.sage-login-copy p strong{color:#6945dc;font-weight:950}.sage-landing-ask{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:10px;width:min(520px,100%);min-height:68px;margin-top:38px;padding:8px 8px 8px 24px;border-radius:14px;background:#ffffffe6;box-shadow:0 18px 42px #1f0a6124}.sage-landing-ask input{min-width:0;min-height:auto;border:0;outline:0;padding:0;background:transparent;color:var(--vero-ink);font-size:15px;font-weight:850}.sage-landing-ask button{display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:50%;padding:0;background:#5431c7;color:#fff;box-shadow:0 10px 22px #5431c742;font-size:13.3333px;font-weight:400;cursor:default}.sage-tutor-scene{display:grid;min-height:470px;place-items:center}.sage-tutor-bubble{position:absolute;display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#6945dc,#8d6cf1);color:#fff;box-shadow:0 18px 28px #5431c72e;font-size:28px;font-weight:900}.sage-bubble-blue{top:44px;right:180px;width:64px;height:64px;background:linear-gradient(145deg,#8be0ff,#4aa9ec)}.sage-bubble-purple{top:138px;left:10px}.sage-bubble-cyan{top:190px;right:10px;background:linear-gradient(145deg,#65d8f3,#35addf)}.sage-tutor-bot{position:relative;width:250px;height:330px}.sage-bot-head{position:absolute;left:52px;top:20px;width:150px;height:126px;border-radius:48px;background:linear-gradient(145deg,#fff,#dfe6ff);box-shadow:inset -14px -16px 28px #5950b024,0 20px 45px #372a9138}.sage-bot-head:before,.sage-bot-head:after{content:"";position:absolute;top:50px;width:26px;height:52px;border-radius:999px;background:linear-gradient(180deg,#6b53e8,#2e1b8f)}.sage-bot-head:before{left:-20px}.sage-bot-head:after{right:-20px}.sage-bot-head span{position:absolute;left:22px;top:34px;width:106px;height:66px;border-radius:28px;background:linear-gradient(180deg,#17134f,#21146d);box-shadow:inset 0 -8px 18px #6945dc59}.sage-bot-head span:before,.sage-bot-head span:after{content:"";position:absolute;top:24px;width:16px;height:22px;border-radius:999px;background:#dfe4ff;box-shadow:0 0 14px #8e78ffe6}.sage-bot-head span:before{left:26px}.sage-bot-head span:after{right:26px}.sage-bot-ear{position:absolute;top:70px;width:18px;height:54px;border-radius:999px;background:#6945dc}.sage-ear-left{left:34px}.sage-ear-right{right:34px}.sage-bot-body{position:absolute;left:75px;top:145px;width:110px;height:124px;border-radius:44px 44px 32px 32px;background:linear-gradient(155deg,#fff,#e8ecff);box-shadow:inset -12px -18px 28px #5950b01f,0 18px 34px #372a9124}.sage-bot-arm{position:absolute;top:178px;width:34px;height:90px;border-radius:999px;background:linear-gradient(155deg,#fff,#e5eaff);transform-origin:top center}.sage-arm-left{left:42px;transform:rotate(24deg)}.sage-arm-right{right:48px;transform:rotate(-22deg)}.sage-bot-book{position:absolute;right:38px;top:215px;width:70px;height:92px;border-radius:12px 8px 8px 12px;background:linear-gradient(155deg,#6945dc,#4b2ab6);box-shadow:0 16px 26px #5431c73d;transform:rotate(-7deg)}.sage-login-panel{align-self:center;display:flex;flex-direction:column;gap:22px;margin:32px 32px 32px 0;padding:30px;border:1px solid rgba(105,69,220,.12);border-radius:18px;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sage-login-panel h2{margin:0;color:var(--vero-ink);font-size:24px;line-height:1.25;font-weight:900}.sage-login-panel p{margin:-14px 0 0;color:#62648c;font-size:13px;line-height:1.65;font-weight:800;word-break:keep-all}.sage-login-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:0;padding:5px;border-radius:10px;background:#f0f2ff}.sage-login-tab{min-height:44px;border:0;border-radius:8px;padding:0;background:transparent;color:#62648c;font-size:13px;font-weight:900;cursor:default}.sage-login-tab.active{background:#5431c7;color:#fff;box-shadow:0 10px 20px #5431c738}.sage-login-form,.sage-login-form .legacy-login-section.active{display:grid;gap:14px}.sage-login-form .form-group{display:block;margin-bottom:0;font-size:16px;font-weight:400}.sage-login-form .form-label{display:block;margin-bottom:4px;color:var(--vero-ink);font-size:12px;line-height:1.45;font-weight:900}.sage-login-form .form-input{min-height:48px;border:1px solid #dfe3f3;border-radius:8px;padding:0 14px;color:var(--vero-ink);font-size:14px;font-weight:850;background:#ffffffd6}.sage-login-form .btn-primary{display:block;min-height:52px;border:0;border-radius:8px;background:#5431c7;color:#fff;box-shadow:0 16px 24px #5431c73b;font-weight:600}.sage-new-student-link{align-self:flex-start;min-height:34px;border:0;border-radius:999px;padding:0 12px;background:#dff8ee;color:#14805f;font-size:12px;font-weight:900;cursor:default}.sage-new-student-link:disabled{background:#fff1c7;color:#8b5d20;cursor:default}.sage-login-note{color:#62648c;font-size:12px;line-height:1.65;font-weight:800;word-break:keep-all}@media(max-width:980px){.sage-login-shell{min-height:auto;align-items:start}.sage-login-stage{grid-template-columns:1fr}.sage-login-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding:42px 34px 22px}.sage-tutor-scene{min-height:320px;transform:scale(.82);transform-origin:center top}.sage-login-panel{margin:0 32px 32px}}@media(max-width:560px){.sage-login-shell{width:100%;min-height:100vh;margin:0;align-items:stretch}.sage-login-stage{min-height:100vh;border:0;border-radius:0;box-shadow:none}.sage-login-hero{gap:10px;padding:24px 20px 6px}.sage-landing-brand{gap:12px;margin-bottom:22px}.sage-brand-mark{width:52px;height:52px;border-radius:13px}.sage-brand-name{font-size:21px}.sage-login-copy h1{font-size:clamp(34px,10vw,42px);line-height:1.24}.sage-hero-line+.sage-hero-line{margin-top:12px}.sage-login-copy p{margin-top:18px;font-size:14px;line-height:1.75}.sage-landing-ask{min-height:58px;margin-top:22px;padding-left:18px}.sage-landing-ask button{width:44px;height:44px}.sage-tutor-scene{min-height:210px;transform:scale(.6);transform-origin:center top}.sage-bubble-blue{top:36px;right:152px}.sage-bubble-purple{top:116px;left:12px}.sage-bubble-cyan{top:150px;right:24px}.sage-login-panel{gap:16px;margin:0 16px 22px;padding:22px;border-radius:18px;background:#ffffffd6}.sage-login-panel h2{font-size:22px}.sage-login-panel p{margin-top:-9px;line-height:1.7}.sage-login-tab{min-height:42px}.sage-login-form{gap:12px}}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-left,.header-right{display:flex;align-items:center;gap:10px}.student-brand-btn,.app-logo-text,.sidebar-brand{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);font-size:18px;font-weight:900}.student-brand-logo,.text-logo{display:inline-grid;width:36px;height:36px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#45b7ee);color:#fff;font-weight:900}.student-brand-logo img{display:block;width:100%;height:100%;object-fit:contain}.student-role-badge{min-height:34px;padding:0 12px;border:0;border-radius:999px;background:var(--primary-light);color:var(--primary);font-weight:900}.content-area{padding:18px 16px calc(var(--nav-h) + 20px)}#section-student-dashboard .content-area,#section-student-mypage .container,#section-student-class .container,#section-video .container{width:min(720px,100%);margin:0 auto}.page-title-wrap{display:grid;gap:6px;margin-bottom:16px}.page-title,.home-section-title{color:var(--text);font-size:24px;font-weight:900}.page-sub{color:var(--sub);font-size:13px}.student-title-row{display:flex;align-items:center;gap:10px}.section-pad,.student-dashboard-stack,.student-routine-list,.question-list,.mypage-list,.revision-list{display:grid;gap:12px}.student-dash-panel,.student-status-card,.student-rank-card,.student-routine-item,.summary-card{padding:16px}.student-panel-title{color:var(--text);font-weight:900}.student-panel-sub,.student-status-label,.student-rank-kicker,.summary-label{color:var(--sub);font-size:13px;font-weight:800}.student-status-card strong,.student-rank-card strong,.summary-num{display:block;margin-top:6px;color:var(--primary);font-size:28px;font-weight:900}.student-routine-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid rgba(124,58,237,.1);text-align:left}.routine-icon,.nav-icon,.setting-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#45b7ee);color:#fff;font-weight:900}.routine-main{font-weight:900}.routine-state{color:var(--sub);font-size:12px;font-weight:900}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);min-height:var(--nav-h);border-top:1px solid var(--border);background:#fffffff5;box-shadow:0 -8px 24px #0f172a14}.teacher-bottom-nav{grid-template-columns:repeat(5,1fr)}.nav-item{display:grid;place-items:center;gap:4px;border:0;background:transparent;color:var(--sub);font-size:12px;font-weight:900}.nav-item.active,.nav-item:hover{color:var(--primary)}.nav-label{white-space:nowrap}#section-student-dashboard{min-height:100vh;color:var(--vero-ink);background:radial-gradient(circle at 10% 0%,rgba(104,68,220,.15),transparent 28%),radial-gradient(circle at 94% 6%,rgba(69,183,238,.22),transparent 26%),linear-gradient(135deg,#fbfaff,#f3f0ff 48%,#e7f8ff)}#section-student-dashboard .app-header{background:#ffffffd1;border-bottom:1px solid var(--vero-line);box-shadow:0 14px 34px #1f0a6114;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#section-student-dashboard .content-area{width:100%;max-width:none;min-height:calc(100vh - var(--nav-h));padding:28px clamp(18px,3vw,42px) 126px!important;overflow-x:hidden;background:radial-gradient(circle at 10% 0%,rgba(104,68,220,.15),transparent 28%),radial-gradient(circle at 94% 6%,rgba(69,183,238,.22),transparent 26%),linear-gradient(135deg,#fbfaff,#f3f0ff 48%,#e7f8ff)}#section-student-dashboard .page-title-wrap{position:relative;overflow:hidden;margin:0 0 22px;padding:clamp(24px,3vw,38px);border:1px solid rgba(105,69,220,.13);border-radius:28px;background:radial-gradient(circle at 82% 24%,rgba(69,183,238,.32),transparent 28%),radial-gradient(circle at 62% 8%,rgba(104,68,220,.18),transparent 26%),#ffffffd1;box-shadow:0 22px 55px #1f0a611c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#section-student-dashboard .page-title-wrap:after{content:"";position:absolute;right:clamp(20px,6vw,86px);bottom:-28px;width:150px;height:150px;border-radius:48px;opacity:.22;background:linear-gradient(145deg,#8f6cff,#5630c8);box-shadow:-46px 22px 0 -18px #45b7eecc,38px -14px 0 -18px #42ad83c7;pointer-events:none}#section-student-dashboard .student-title-row{position:relative;z-index:1;gap:18px}#section-student-dashboard .page-title{color:var(--vero-ink);font-size:clamp(30px,3.4vw,48px);line-height:1.05;font-weight:950}#section-student-dashboard .page-sub{position:relative;z-index:1;margin-top:16px}#section-student-dashboard .student-title-avatar{width:64px;height:64px;flex:0 0 64px;border:0;color:var(--vero-ink);background:#fff;box-shadow:0 14px 30px #1f0a611f;font-size:20px;font-weight:950}.status-msg-badge{display:inline-block;padding:10px 14px;border-radius:8px;font-size:15px;font-weight:900;line-height:1.45}.status-msg-new{color:#d97706;background:#fef3c7e6;border:1px solid rgba(217,119,6,.2)}.status-msg-aspirant{color:#2563eb;background:#dbeafee6;border:1px solid rgba(37,99,235,.2)}.status-msg-practitioner{color:#059669;background:#d1fae5e6;border:1px solid rgba(5,150,105,.2)}.status-msg-master{color:#7c3aed;background:#f3e8ffeb;border:1px solid rgba(124,58,237,.2)}#section-student-dashboard .student-role-badge{height:38px;min-width:92px;padding:0 16px;border:1px solid rgba(66,173,131,.26);border-radius:14px;background:#d1fae5eb;box-shadow:0 10px 24px #42ad831f;font-size:13px}#section-student-dashboard .student-role-badge.new{color:#d97706;background:#fef3c7eb;border-color:#d9770638}#section-student-dashboard .student-role-badge.aspirant{color:#2563eb;background:#dbeafeeb;border-color:#2563eb38}#section-student-dashboard .student-role-badge.practitioner{color:#059669}#section-student-dashboard .student-role-badge.master{color:#7c3aed;background:#f3e8ffeb;border-color:#7c3aed38}#section-student-dashboard .section-pad{padding:0}#section-student-dashboard .student-dashboard-stack{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}#section-student-dashboard .student-dash-panel,#section-student-dashboard .student-status-card,#section-student-dashboard .student-rank-card,#section-student-dashboard .student-routine-item{border:1px solid rgba(105,69,220,.13);border-radius:28px;background:linear-gradient(180deg,#fffffff5,#ffffffd6);box-shadow:0 22px 55px #1f0a611a}#section-student-dashboard .student-today-panel,#section-student-dashboard .student-routine-panel{padding:clamp(24px,3vw,34px)}#section-student-dashboard .student-panel-title{color:var(--vero-ink);font-size:clamp(20px,1.8vw,26px);line-height:1.2;font-weight:950}#section-student-dashboard .student-panel-sub{margin-top:8px;color:var(--vero-muted);font-size:15px;font-weight:800}#section-student-dashboard .student-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#section-student-dashboard .student-rank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#section-student-dashboard .student-status-card{position:relative;min-height:128px;padding:22px 22px 20px;overflow:hidden}#section-student-dashboard .student-rank-card{position:relative;min-height:150px;padding:26px;overflow:hidden}#section-student-dashboard .student-status-card:after,#section-student-dashboard .student-rank-card:after{content:"";position:absolute;right:-24px;bottom:-28px;width:92px;height:92px;border-radius:30px;background:linear-gradient(145deg,#8f6cff2e,#45b7ee2e)}#section-student-dashboard .student-status-label,#section-student-dashboard .student-rank-kicker{position:relative;z-index:1;color:var(--vero-muted);font-size:14px;font-weight:900}#section-student-dashboard .student-status-card strong,#section-student-dashboard .student-rank-card strong{position:relative;z-index:1;color:var(--vero-ink);font-size:clamp(34px,4vw,54px);line-height:1.05;font-weight:950;letter-spacing:0}#section-student-dashboard .student-rank-card strong{color:var(--vero-violet)}#section-student-dashboard .student-status-card:nth-child(3) strong{color:#8a8ea6}#section-student-dashboard .student-routine-list{gap:14px}#section-student-dashboard .student-routine-item{grid-template-columns:64px minmax(0,1fr) auto;min-height:88px;padding:14px 18px;border-radius:22px}#section-student-dashboard .student-routine-item:hover{transform:translateY(-1px);box-shadow:0 26px 62px #1f0a6121}#section-student-dashboard .routine-icon{width:58px;height:58px;border:0;border-radius:18px;background:#fff;box-shadow:0 12px 24px #6844dc1f;font-size:0}#section-student-dashboard .routine-robot-icon svg{width:58px;height:58px;overflow:visible;filter:drop-shadow(0 7px 9px rgba(104,68,220,.17))}#section-student-dashboard .routine-main{color:var(--vero-ink);font-size:clamp(18px,2vw,22px);font-weight:950}#section-student-dashboard .routine-state{grid-column:auto;min-width:64px;padding:8px 12px;border-radius:999px;color:var(--vero-violet);background:#f1edff;text-align:center;font-size:14px;font-weight:950}#section-student-dashboard .student-routine-item.done .routine-state{color:#0a805e;background:#dff8ed}#section-student-dashboard .student-routine-item.locked .routine-state{color:#8a8ea6;background:#f0f2f8}#section-student-dashboard .student-bottom-nav{left:50%;right:auto;bottom:12px;transform:translate(-50%);width:calc(100% - 28px);max-width:520px;min-height:82px;height:82px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:5px;border:1px solid rgba(105,69,220,.12);border-radius:26px;padding:10px 12px;background:#fffffff5;box-shadow:0 18px 44px #1f0a612b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#section-student-dashboard .student-bottom-nav .nav-item{width:100%;height:100%;justify-content:center;gap:6px;border-radius:18px;color:var(--vero-muted)}#section-student-dashboard .student-bottom-nav .nav-item.active{background:#f1edff;color:var(--vero-ink)}#section-student-dashboard .student-bottom-nav .nav-label,#section-student-dashboard .student-bottom-nav .nav-item.active .nav-label{color:currentColor;font-size:10px;font-weight:950;letter-spacing:0}#section-student-dashboard .student-bottom-nav .nav-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:0;background:transparent;box-shadow:none;font-size:0}#section-student-dashboard .student-bottom-nav .nav-icon svg{width:38px;height:38px;overflow:visible}.tab-bar,.q-filter-row,.grade-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tab-btn,.chip{min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--sub);font-weight:900}.tab-btn.active,.chip.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.class-date-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;align-items:center;margin:14px 0}.btn-arrow{min-height:42px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--primary);font-size:24px;font-weight:900}.class-date-label{text-align:center;font-weight:900}.summary-sub{margin-top:2px;color:#9ca3af;font-size:11px}.class-login-copy,.video-login-copy{margin:0 0 16px;color:#555;font-size:14px;line-height:1.6}.class-back-btn{margin-bottom:8px}.class-list-stack{display:grid;gap:10px;margin-top:14px}.class-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0d}.class-item-info{min-width:0;flex:1}.class-item-dt{color:#111827;font-weight:900}.class-item-time{margin-top:3px;color:#4b5563;font-size:13px;font-weight:800}.class-booked-mark{margin-top:4px;color:#1e8e3e;font-size:12px;font-weight:900}.class-booking-reason{margin-top:4px;color:#64748b;font-size:12px;line-height:1.45}.btn-class-book,.btn-class-cancel,.btn-icon-edit,.btn-icon-danger{min-height:34px;padding:0 12px;border:0;border-radius:8px;font-weight:900;cursor:pointer;white-space:nowrap}.btn-class-book,.btn-icon-edit{background:var(--primary);color:#fff}.btn-class-cancel,.btn-icon-danger{background:#fee2e2;color:#b91c1c}.class-full-badge,.class-view-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.class-full-badge{background:#fee2e2;color:#b91c1c}.class-view-badge{background:#eef2ff;color:#3730a3}.book-reason-sheet,.class-edit-sheet{width:min(440px,calc(100vw - 32px))}.book-reason-sheet textarea{min-height:120px;resize:vertical}.video-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}#video-header-name{color:#555;font-size:15px;font-weight:900}.logout-btn{min-height:34px;padding:0 12px;border:0;border-radius:8px;background:#f1f5f9;color:#334155;font-weight:900;cursor:pointer}.video-empty{padding:42px 18px;border:1px dashed var(--border);border-radius:8px;background:#f8fafc;color:#64748b;text-align:center;font-size:14px;line-height:1.7}.ve-icon{margin-bottom:8px;font-size:30px}.video-empty-title{margin-bottom:10px;color:#333;font-size:17px;font-weight:900}.video-empty-copy{color:#64748b;font-size:14px;line-height:1.7}.video-folder-item{overflow:hidden;margin-bottom:14px;border:1px solid rgba(0,0,0,.06);border-radius:8px;background:#0f172a0a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.video-folder-item:hover{border-color:var(--primary);box-shadow:0 0 15px color-mix(in srgb,var(--primary) 20%,transparent)}.video-folder-header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:16px 20px;border:0;background:transparent;color:#222;cursor:pointer;font:inherit;font-size:15px;font-weight:900;text-align:left;-webkit-user-select:none;user-select:none}.folder-icon-wrap{display:flex;min-width:0;align-items:center;gap:12px}.folder-icon-svg,.arrow-svg{display:inline-flex;width:20px;flex:0 0 auto;align-items:center;justify-content:center;color:var(--primary);font-weight:900;transition:transform .2s ease}.video-folder-header.open .folder-icon-svg,.video-folder-header.open .arrow-svg{transform:rotate(90deg)}.tech-badge{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:4px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:11px;font-weight:900}.video-file-list{display:none;border-top:1px solid #f0f0f0;background:#fff}.video-file-list.open{display:block}.video-file-item{display:flex;width:100%;align-items:center;gap:12px;min-height:52px;padding:14px 18px;border:0;border-bottom:1px solid #f5f5f5;background:#fff;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:background .12s ease}.video-file-item:last-child{border-bottom:0}.video-file-item:active{background:var(--primary-light)}.video-file-icon{flex-shrink:0;font-size:18px}.video-file-name{min-width:0;flex:1;color:#333;font-size:14px;font-weight:800}.video-file-date{color:#9ca3af;font-size:12px;white-space:nowrap}.video-player-title{margin:10px 0;color:#222;font-size:15px;font-weight:900;line-height:1.4}.video-player-wrap{position:relative;overflow:hidden;margin-bottom:12px;padding-bottom:56.25%;border-radius:8px;background:#000}.video-player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.photo-field{display:grid;gap:8px}.photo-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 72px;gap:10px}.photo-option{position:relative;display:grid;min-height:54px;place-items:center;border:1px dashed var(--primary);border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);font-size:13px;font-weight:900}.photo-direct-capture{border-style:solid;background:#fff}.photo-option:disabled{opacity:.48}.photo-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.student-profile-upload-btn{min-height:42px;border:1px solid var(--border);background:#fff;color:var(--primary)}.photo-rotate{min-height:54px;border:1px solid #d1d5db;border-radius:var(--radius-md);background:#fff;color:#374151;font-size:13px;font-weight:900}.photo-rotate:disabled{opacity:.48}.direct-camera-overlay{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a85}.direct-camera-dialog{display:grid;gap:12px;width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px;border-radius:12px;background:#fff;box-shadow:0 24px 70px #0f172a47}.direct-camera-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.direct-camera-kicker{display:block;color:var(--primary);font-size:12px;font-weight:900}.direct-camera-head h3{margin-top:2px;font-size:18px}.direct-camera-close{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:999px;background:#f3f4f6;color:#111827;font-size:22px;font-weight:900}.direct-camera-preview{position:relative;overflow:hidden;aspect-ratio:3 / 4;border-radius:10px;background:#111827}.direct-camera-preview p{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:18px;color:#fff;font-size:14px;font-weight:900;text-align:center}.direct-camera-video{display:block;width:100%;height:100%;object-fit:cover}#section-student-question{min-height:100vh;background:var(--dashboard-bg)}.question-container{display:grid;gap:14px}.student-session-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.42fr);gap:12px;align-items:center}.student-session-card span{display:block;margin-bottom:3px;color:var(--sub);font-size:12px;font-weight:900}.student-session-card strong{display:block;overflow:hidden;color:var(--text);font-size:18px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.question-identity-card{display:grid;gap:12px}.question-cards,.question-card{display:grid;gap:14px}.question-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.question-card-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.card-remove-btn{min-height:28px;padding:4px 9px;border:1px solid #fecaca;border-radius:var(--radius-sm);background:#fff1f2;color:#b91c1c;font-size:12px;font-weight:900}.question-card-kicker{display:block;margin-bottom:4px;color:var(--primary);font-size:12px;font-weight:900}.question-card h2{color:var(--text);font-size:20px;line-height:1.2}.q-progress{display:grid;gap:8px}.q-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--sub);font-size:13px;font-weight:900}.q-progress-label strong{color:var(--primary)}.q-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5e7eb}.q-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#22c55e);transition:width .2s ease}.overlay-shell,.modal-shell{display:none}.video-player-shell{min-height:240px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.video-player-shell iframe{display:block;width:100%;min-height:240px;border:0}.overlay-shell.active{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a6b}.source-sheet{display:grid;gap:12px;width:min(480px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:18px;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.source-overlay{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:#0f172a6b}.source-readonly-input{cursor:pointer;background:#fafafa}.source-detail-hint{margin:-4px 0 10px;color:var(--muted);font-size:12px}.source-step-label{color:var(--primary);font-size:12px;font-weight:800}.source-step-title{margin-bottom:10px;color:#111827;font-size:18px;font-weight:800}.source-book-list{display:grid;gap:8px;max-height:220px;overflow:auto}.source-book-btn,.source-direct-btn,.source-back-btn,.source-next-btn{min-height:40px;border:0;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.source-book-btn{background:#f3f4f6;color:#1f2937;text-align:left;padding:0 12px}.source-book-btn.selected{background:var(--primary-light);color:var(--primary)}.book-suggestion-panel{display:grid;gap:8px;margin:-4px 0 12px;padding:10px;border:1px solid #ded7ff;border-radius:8px;background:#fbfaff}.book-suggestion-title{color:var(--muted);font-size:12px;font-weight:800}.book-suggestion-list{display:flex;flex-wrap:wrap;gap:8px}.book-suggestion-btn{min-height:34px;padding:0 11px;border:1px solid #cfc3ff;border-radius:8px;background:#fff;color:var(--primary);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.source-direct-btn{background:#fff7ed;color:#9a3412}.source-nav-row{display:flex;gap:10px;margin-top:12px}.source-back-btn{flex:0 0 64px;background:#e5e7eb;color:#374151}.source-next-btn{flex:1;background:var(--primary);color:#fff}.source-next-btn:disabled{background:#cbd5e1;cursor:not-allowed}.source-confirm-row{display:grid;gap:8px;padding:12px;border-radius:8px;background:#f8fafc}.source-confirm-row span{color:var(--primary);font-weight:800}.guest-phone-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000080}.guest-phone-modal[hidden]{display:none}.guest-phone-dialog{display:grid;gap:12px;width:min(400px,100%);padding:18px;border-radius:12px;background:#fff;box-shadow:0 10px 25px #0003}.guest-phone-dialog h3,.guest-phone-dialog p{margin:0}.guest-phone-dialog p{color:#555;font-size:14px;line-height:1.5}.source-sheet h3{margin:0;color:#111827;font-size:18px}.modal-actions,.class-action-toolbar,.weekday-picker,.class-row-actions,.class-badge-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.class-action-toolbar{margin-bottom:12px}.class-editor-card{display:grid;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.class-bulk-form{display:grid;gap:12px}.weekday-picker label{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:#f9fafb;color:#374151;font-size:12px;font-weight:900}.class-item-selected{border-color:var(--primary);background:var(--primary-light)}.class-select-check{display:grid;width:28px;height:28px;place-items:center;border:2px solid var(--primary);border-radius:999px;background:#fff;color:var(--primary);font-weight:900}.summary-mini-list{margin-top:5px;color:#6b7280;font-size:12px;font-weight:800}.cal-schedule-cell{display:grid;gap:4px;min-height:84px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.cal-schedule-cell strong{color:var(--primary);font-size:13px}.cal-schedule-cell span,.cal-schedule-cell p{margin:0;color:#4b5563;font-size:12px;font-weight:800}.rank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rank-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:6px 0;color:#fff;font-size:13px;font-weight:900}.rank-count{flex:0 0 auto}.mini-list{display:grid;gap:8px;margin-top:12px}.mini-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:1px solid #edf0f5;border-radius:8px;background:#fafafa;color:#111827;font-weight:900;text-align:left}#section-submit-done{min-height:100vh;background:var(--dashboard-bg)}.done-hero{display:grid;gap:10px;padding:48px 0 28px;text-align:center}.done-icon{display:inline-grid;width:58px;height:58px;margin:0 auto 6px;place-items:center;border-radius:999px;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.done-hero h2{font-size:22px;line-height:1.25}.done-hero p{color:#6b7280;font-size:14px;line-height:1.7}#done-info-card{display:grid;gap:0;margin-bottom:12px}.detail-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:0}.detail-label{color:var(--sub);font-size:12px;font-weight:900}.detail-val{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:14px;font-weight:900}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:16px;width:min(1080px,calc(100vw - 32px));margin:0 auto;padding:18px 0 calc(var(--nav-h) + 24px)}.panel.wide{grid-column:1 / -1}#section-teacher-dashboard{min-height:100vh;overflow-x:auto;background:radial-gradient(circle at 10% 0%,rgba(104,68,220,.12),transparent 28%),radial-gradient(circle at 95% 8%,rgba(69,183,238,.18),transparent 26%),linear-gradient(135deg,#fbfaff,#f2f1ff 48%,#e8f8ff);color:var(--vero-ink)}#section-teacher-dashboard .app-header{background:#ffffffd1;border-bottom:1px solid var(--vero-line);box-shadow:0 14px 34px #1f0a6114;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-notice-container{flex:1;min-width:0;max-width:460px;padding:8px 12px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:13px;font-weight:900;text-align:center}.header-notice-marquee{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-overlay{position:fixed;inset:0;z-index:80;display:block;background:#0f172a5c;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:-292px;z-index:90;display:grid;grid-template-rows:auto 1fr auto;width:280px;padding:18px;background:#fff;box-shadow:18px 0 40px #1f0a612e;transition:left .22s ease}.drawer.open{left:0}.drawer-header{padding-bottom:16px;border-bottom:1px solid var(--border)}.drawer-logo{color:var(--primary);font-size:22px;font-weight:950}.drawer-sub{margin-top:4px;color:var(--sub);font-size:13px}.drawer-rank{overflow:auto;padding:18px 0}.drawer-rank-month{color:var(--primary);font-size:12px;font-weight:900;margin-bottom:10px}.drawer-rank-title{margin:14px 0 6px;color:var(--text);font-size:13px;font-weight:900}.drawer-rank-empty{margin:0;color:var(--sub);font-size:12px}.rank-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #f1f2f6;color:var(--text);font-size:13px}.rank-count{color:var(--primary);font-weight:900;white-space:nowrap}.drawer-footer{padding-top:14px;border-top:1px solid var(--border)}.logout-drawer-btn{width:100%;min-height:42px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:900}.teacher-profile-overlay,.teacher-search-overlay,.profile-original-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0f172a70}.teacher-profile-overlay[hidden],.teacher-search-overlay[hidden],.profile-original-overlay[hidden]{display:none}.teacher-profile-modal{position:relative;display:grid;width:min(420px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;gap:14px;padding:28px;border-radius:18px;background:#fff;box-shadow:0 22px 55px #1f0a6138}.teacher-profile-close{position:absolute;top:12px;right:12px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#f3f4f6;color:var(--text);font-size:24px;line-height:1}.teacher-profile-title{margin:0;color:var(--text);font-size:18px;font-weight:900}.teacher-profile-preview{display:grid;width:126px;height:126px;place-items:center;justify-self:center;overflow:hidden;border:3px solid var(--primary-light);border-radius:50%;background:linear-gradient(135deg,#f5f3ff,#e0f2fe);color:var(--primary);font-size:44px;font-weight:950}.teacher-profile-preview-img,.avatar-img{width:100%;height:100%;object-fit:cover}.teacher-profile-msg{margin:0;border-radius:8px;padding:9px 10px;font-size:13px;font-weight:800}.teacher-password-panel{display:grid;gap:12px;margin-top:6px;padding-top:18px;border-top:1px solid #eee}.profile-original-overlay{z-index:130;background:#000000db}.profile-original-overlay img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain}.teacher-search-box{width:min(520px,100%);padding:18px;border-radius:18px;background:#fff;box-shadow:0 22px 55px #1f0a6138}#teacher-search-input{width:100%;min-height:48px;border:1.5px solid var(--border);border-radius:12px;padding:0 14px;color:var(--text);font-size:15px;font-weight:850}#teacher-search-input:focus{border-color:var(--primary);outline:0}#teacher-search-results{display:grid;gap:4px;max-height:330px;margin-top:10px;overflow:auto}.search-result-item{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;border:0;border-radius:10px;padding:7px 10px;background:transparent;color:var(--text);text-align:left;font-weight:850}.search-result-item:hover,.search-result-item.active{background:var(--primary-light);color:var(--primary)}.search-result-icon.search-robot-icon{display:grid;width:38px;height:38px;place-items:center}.search-result-icon.search-robot-icon .vero-teacher-menu-icon{width:36px;height:36px}.search-empty{padding:16px;color:var(--sub);font-size:13px;text-align:center}.teacher-desktop-layout{display:grid;grid-template-columns:240px minmax(560px,1fr) minmax(320px,420px);gap:0;width:100%;min-width:1120px;min-height:calc(100vh - 64px);margin:0;align-items:stretch}.teacher-sidebar{position:sticky;top:64px;display:grid;grid-template-rows:auto 1fr auto;row-gap:26px;height:calc(100vh - 64px);min-height:calc(100vh - 64px);padding:24px 16px;overflow-y:auto;border-radius:0;background:linear-gradient(180deg,#3b168d,#240d62);color:#fff;box-shadow:14px 0 34px #1f0a6121}.sidebar-brand{display:flex;align-items:center;gap:8px;min-height:48px;margin-bottom:0;padding-left:8px;color:#fff;font-family:Montserrat,Noto Sans KR,sans-serif;font-size:20px;font-weight:800}.sidebar-menu,.sidebar-footer{display:grid;gap:10px}.sidebar-menu{align-content:start;align-self:start}.sidebar-footer{align-self:end}.sidebar-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:13px 14px;border:0;border-radius:16px;background:transparent;color:#ffffffc7;font-size:14px;font-weight:850;text-align:left}.sidebar-item.active,.sidebar-item:hover{background:#ffffff24;color:#fff}.sidebar-item.active{background:linear-gradient(135deg,#8b6df0f5,#45b7eed1);box-shadow:0 14px 26px #1f0a6133}.nav-icon,.vero-teacher-menu-icon{display:grid;width:36px;height:36px;place-items:center;font-size:0}.vero-teacher-menu-icon{position:relative;isolation:isolate;flex:0 0 36px;border-radius:0;background:transparent;color:inherit;font-weight:initial}.sidebar-brand .sidebar-robot-icon,.sidebar-item .sidebar-robot-icon{width:38px;height:38px;flex:0 0 38px;margin-left:-2px;filter:drop-shadow(0 6px 10px rgba(31,10,97,.18))}.sidebar-brand .sidebar-robot-icon{width:42px;height:42px;flex-basis:42px}.teacher-menu-bot{position:absolute;left:5px;top:9px;width:26px;height:22px;border-radius:11px;background:linear-gradient(145deg,#9a7cff,#5630c8);box-shadow:0 8px 14px #6844dc33}.teacher-menu-bot:before,.teacher-menu-bot:after{content:"";position:absolute;top:8px;width:7px;height:12px;border-radius:999px;background:linear-gradient(180deg,var(--vero-cyan),var(--vero-blue))}.teacher-menu-bot:before{left:-5px}.teacher-menu-bot:after{right:-5px}.teacher-menu-face{position:absolute;left:5px;top:5px;width:16px;height:12px;border-radius:7px;background:#fff}.teacher-menu-face:before,.teacher-menu-face:after{content:"";position:absolute;top:4px;width:3px;height:4px;border-radius:999px;background:#24105d}.teacher-menu-face:before{left:4px}.teacher-menu-face:after{right:4px}.teacher-menu-tool{position:absolute;right:0;bottom:0;z-index:2;display:grid;width:18px;height:18px;place-items:center;border:2px solid #fff;border-radius:8px;background:var(--vero-blue);color:#fff;box-shadow:0 5px 10px #1f0a6121;font-size:11px;font-weight:950;line-height:1}.teacher-home-icon .teacher-menu-tool,.teacher-settings-icon .teacher-menu-tool{background:var(--vero-green)}.teacher-question-icon .teacher-menu-tool{background:var(--vero-violet);font-size:13px}.teacher-students-icon .teacher-menu-tool{border-radius:999px;background:var(--vero-blue)}.teacher-class-icon .teacher-menu-tool{background:var(--vero-amber);color:#7b4a00}.teacher-settings-icon .teacher-menu-tool{border-radius:999px;font-size:13px}.teacher-main-panel,.teacher-preview-panel{min-height:calc(100vh - 64px);padding:18px;border-radius:0;background:transparent;box-shadow:none}.teacher-main-panel{min-width:0}.teacher-preview-panel{position:sticky;top:64px;overflow:auto;max-height:calc(100vh - 64px);border-left:1px solid var(--vero-line);background:#ffffffe6}#section-teacher-dashboard .teacher-main-panel{padding:clamp(22px,3vw,38px);background:radial-gradient(circle at 10% 0%,rgba(104,68,220,.15),transparent 28%),radial-gradient(circle at 94% 6%,rgba(69,183,238,.22),transparent 26%),linear-gradient(135deg,#fbfaff,#f3f0ff 48%,#e7f8ff)}#section-teacher-dashboard .tab-page{display:grid;gap:22px;width:100%;max-width:1320px;margin:0 auto}#section-teacher-dashboard .tab-page>.page-title-wrap{position:relative;display:grid;min-height:180px;align-content:center;overflow:hidden;margin:0 0 22px;padding:clamp(24px,3vw,38px);border:1px solid rgba(105,69,220,.13);border-radius:28px;background:radial-gradient(circle at 82% 24%,rgba(69,183,238,.32),transparent 28%),radial-gradient(circle at 62% 8%,rgba(104,68,220,.18),transparent 26%),#ffffffd1;box-shadow:0 22px 55px #1f0a611c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#section-teacher-dashboard .tab-page>.page-title-wrap:after{content:"";position:absolute;right:clamp(20px,6vw,86px);bottom:-28px;width:150px;height:150px;border-radius:48px;opacity:.22;background:linear-gradient(145deg,#8f6cff,#5630c8);box-shadow:-46px 22px 0 -18px #45b7eecc,38px -14px 0 -18px #42ad83c7;pointer-events:none}#section-teacher-dashboard .page-title,#section-teacher-dashboard .page-sub{position:relative;z-index:1}#section-teacher-dashboard .page-title{color:var(--vero-ink);font-size:clamp(30px,3.4vw,48px);line-height:1.05;font-weight:950}#section-teacher-dashboard .page-sub{margin-top:10px;color:var(--vero-muted);font-size:clamp(15px,1.3vw,18px);font-weight:800}#section-teacher-dashboard .summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 22px}#section-teacher-dashboard .summary-card,#section-teacher-dashboard .card,#section-teacher-dashboard .question-row{border:1px solid rgba(105,69,220,.13);border-radius:28px;background:linear-gradient(180deg,#fffffff5,#ffffffd6);box-shadow:0 22px 55px #1f0a611a}#section-teacher-dashboard .summary-card{min-height:150px;padding:24px}.sage-recent-card{text-align:left}.sage-recent-label{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:12px;color:var(--vero-muted);font-size:15px;font-weight:900}.sage-recent-count{color:var(--primary);font-size:13px;font-weight:800;white-space:nowrap}.recent-q-list{display:grid;gap:8px}.recent-q-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;border:0;border-radius:12px;background:#f8f7ffd9;color:var(--vero-ink);padding:8px 10px;text-align:left}.recent-q-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850}.recent-q-item strong{color:var(--vero-muted);font-size:12px;font-weight:900;white-space:nowrap}#section-teacher-dashboard .section-pad{display:grid;gap:18px;padding:0}#section-teacher-dashboard .form-input,#section-teacher-dashboard input,#section-teacher-dashboard select,#section-teacher-dashboard textarea{min-height:56px;border-color:#6945dc21;border-radius:16px;font-size:14px;font-weight:800}#section-teacher-dashboard .btn{min-height:54px;border-radius:16px;font-size:15px;font-weight:950}#section-teacher-dashboard .manual-register-panel,#section-teacher-dashboard .student-admin-card,#section-teacher-dashboard .class-item,#section-teacher-dashboard .setting-item-btn{border:1px solid rgba(105,69,220,.13);border-radius:28px;background:#fffffff0;box-shadow:0 22px 55px #1f0a611a}#section-teacher-dashboard .manual-register-panel{margin:0;padding:24px}#section-teacher-dashboard .manual-register-panel h3,#section-teacher-dashboard .home-section-title{color:var(--vero-ink);font-size:24px;line-height:1.2;font-weight:950}#section-teacher-dashboard .field-grid{gap:12px}#section-teacher-dashboard #manual-student-btn{width:100%}#section-teacher-dashboard .grade-filter-row{margin:0;gap:10px}#section-teacher-dashboard .grade-filter-row .chip{min-height:46px;padding:0 18px;border-radius:999px;font-size:14px}#section-teacher-dashboard #student-tab-search{min-height:60px}#section-teacher-dashboard .student-table-wrap{gap:14px}#section-teacher-dashboard .student-table-header{padding:0 4px;color:var(--vero-ink);font-size:13px;font-weight:950}#section-teacher-dashboard .student-admin-list{margin:0}#section-teacher-dashboard .student-admin-card{padding:20px 22px}#section-teacher-dashboard .class-action-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}#section-teacher-dashboard .class-action-toolbar .btn{width:100%}#section-teacher-dashboard .class-list-stack{display:grid;gap:12px}#section-teacher-dashboard .class-item{padding:18px 20px}#section-teacher-dashboard .setting-item{margin:0}#section-teacher-dashboard .setting-item-btn{min-height:104px;padding:18px 20px}#section-teacher-dashboard .setting-panel{margin:-8px 0 8px;border:1px solid rgba(105,69,220,.13);border-top:0;border-radius:0 0 24px 24px;background:#ffffffd1}#section-teacher-dashboard #question-filter-bar{display:grid;gap:14px}#section-teacher-dashboard .q-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:6px;border:1px solid rgba(105,69,220,.13);border-radius:18px;background:#ffffffc7;box-shadow:0 14px 32px #1f0a6114}#section-teacher-dashboard .q-filter-row .chip{width:100%;min-height:44px;border-radius:999px;font-size:14px;font-weight:950}#section-teacher-dashboard .q-filter-row .chip.active{border-color:transparent;background:linear-gradient(135deg,var(--vero-violet),#5430c7);color:#fff}#section-teacher-dashboard .q-filter-row .archive-filter-chip,#section-teacher-dashboard .answer-status-controls{display:none}#section-teacher-dashboard .sage-search-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:12px;margin:0}#section-teacher-dashboard .sage-search-row input{width:100%;min-height:60px;padding:0 18px;border:1px solid rgba(105,69,220,.13);border-radius:18px;background:#ffffffeb;color:var(--vero-ink);font-size:14px;font-weight:850;box-shadow:0 14px 32px #1f0a6114}#section-teacher-dashboard .sage-search-row button{width:72px;min-height:60px;padding:0;border-radius:18px}#section-teacher-dashboard #filter-result-count{margin:-4px 0 0;color:var(--vero-muted);font-size:12px;font-weight:800}.tab-page{display:grid;gap:16px}.cal-card{display:grid;gap:12px}.cal-header,.home-btn-row,.section-heading,.mypage-card-head,.question-row,.row-badges,.link-row{display:flex;align-items:center;gap:10px}.cal-header,.section-heading,.mypage-card-head,.question-row{justify-content:space-between}.question-history-heading h2{flex:1 1 auto;min-width:0;white-space:nowrap}.question-history-refresh{flex:0 0 auto;width:auto;min-width:104px;min-height:40px;padding:8px 14px;white-space:nowrap}#bulk-upload-entry{padding:18px 20px}.bulk-answer-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(220px,320px);align-items:center;gap:14px}.bulk-answer-copy{display:grid;gap:6px;min-width:0}.bulk-answer-copy strong{color:var(--vero-ink);font-size:16px;line-height:1.25}.bulk-answer-copy span{color:var(--sub);font-size:13px;font-weight:800;line-height:1.45}.bulk-answer-count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:#eef6ff;color:#4b5563;font-size:13px;font-weight:900;white-space:nowrap}#bulk-upload-confirm{min-width:220px;white-space:nowrap}.cal-nav-btn{width:38px;height:38px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--primary);font-size:24px;font-weight:900}.cal-title{font-weight:900;display:inline-flex;align-items:center;gap:8px}.cal-picker-wrap{display:inline-flex;align-items:center;gap:4px}.cal-picker-select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-weekdays div{text-align:center;color:var(--sub);font-size:12px;font-weight:900}.cal-grid{min-height:160px;place-items:center}.home-stat-btn{flex:1;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--text);font-weight:900}.home-stat-btn span{color:var(--primary)}.question-list{display:grid;gap:10px}.question-row{width:100%;min-height:68px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:inherit;text-align:left}.question-button.active{border-color:var(--primary);background:var(--primary-light)}.question-button.archived{background:#f8fafc}.question-row div{display:grid;gap:4px}.question-row span{color:var(--sub);font-size:13px}.status,.archive-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:28px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900}.submitted{background:#e0f2fe;color:#0369a1}.reviewing{background:#fef3c7;color:#92400e}.answered{background:#dcfce7;color:#166534}.archive-badge{background:#e5e7eb;color:#374151}.detail-list,.compact-detail-list{display:grid;gap:8px;margin:0}.compact-detail-list{grid-template-columns:repeat(5,minmax(0,1fr))}.detail-list div,.compact-detail-list div{display:grid;gap:4px;min-width:0;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.detail-list dt,.compact-detail-list dt{color:var(--sub);font-size:12px;font-weight:900}.detail-list dd,.compact-detail-list dd{margin:0;color:var(--text);font-size:13px;overflow-wrap:anywhere}.subsection{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.subsection h3{color:var(--text);font-size:15px}.revision-list{margin:0;padding:0;list-style:none}.revision-list li,.mypage-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}.revision-list strong,.revision-list span,.answer-preview,.message-preview textarea,.kakao-message-preview{overflow-wrap:anywhere}.answer-preview{color:#374151;line-height:1.55}.q-item{display:flex;align-items:center;gap:10px;min-height:62px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}.q-item-clickable{cursor:pointer}.q-item-main-row{display:flex;align-items:center;gap:10px;width:100%}.q-item-info{min-width:0;flex:1}.q-item-source{overflow:hidden;color:var(--text);font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.q-item-date{color:var(--muted);font-size:12px}.q-item-arrow{color:#bbb;font-size:22px}.q-badge{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.badge-unanswered{background:#fce8e6;color:#ea4335}.badge-answered{background:#e6f4ea;color:#1e8e3e}.answer-q-item{align-items:stretch;flex-direction:column}.mq-answer-actions{display:flex;gap:8px;width:100%}.mq-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000080}.mq-modal[hidden]{display:none}.mq-modal-content{width:min(480px,100%);max-height:90vh;overflow-y:auto;padding:20px;border-radius:16px;background:#fff}.mq-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.mq-modal-title{display:flex;align-items:center;gap:8px;min-width:0;color:#333;font-size:16px;font-weight:800}#mqm-source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mq-modal-status{flex:0 0 auto;padding:3px 8px;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:800}.mq-modal-close{width:30px;height:30px;padding:0;border:0;background:transparent;color:#aaa;cursor:pointer;font-size:22px}.mq-modal-meta{margin-bottom:14px;color:#888;font-size:12px}.mq-modal-body{margin-bottom:16px}.mq-modal-text,#mqe-popup-text{min-height:40px;padding:12px;border-radius:10px;background:#f7f7f9;color:#333;font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.mq-modal-photo-wrap{margin-top:12px;text-align:center}.mq-modal-photo{max-width:100%;max-height:50vh;border:1px solid #eee;border-radius:10px}.mq-modal-actions{display:flex;gap:8px;width:100%;margin-top:14px}.note-link-btn,.mq-modal-close-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:38px;padding:8px;border:0;border-radius:10px;font:inherit;font-size:13px;font-weight:800;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}.note-link-btn{background:#eef2ff;color:var(--primary)}.note-link-btn.disabled,.note-link-btn:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.mq-modal-close-btn{background:var(--primary);color:#fff}.explanation-popup{z-index:10100}.explanation-popup-content{max-width:400px}.message-preview{display:grid;gap:8px}.message-preview textarea,.kakao-message-preview{min-height:140px}.setting-item{margin-bottom:8px}.setting-item-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:70px;padding:14px;border:0;border-radius:var(--radius-md);background:#fff;color:inherit;text-align:left}.setting-icon-label{display:flex;align-items:center;gap:12px;min-width:0}.setting-robot-icon{position:relative;display:block;width:64px;height:64px;flex:0 0 64px;overflow:hidden;border:1px solid rgba(105,69,220,.18);border-radius:18px;background:radial-gradient(circle at 44% 28%,rgba(255,255,255,.92),transparent 34%),linear-gradient(145deg,#fffffff5,#f4f9ffe6);box-shadow:inset 0 1px #ffffffeb,0 10px 20px #1f0a6114;color:#fff}.setting-robot-icon:before,.setting-robot-icon:after{content:"";position:absolute;top:25px;width:8px;height:16px;border-radius:999px;background:linear-gradient(180deg,var(--vero-cyan),var(--vero-blue))}.setting-robot-icon:before{left:8px}.setting-robot-icon:after{right:8px}.setting-robot-face{position:absolute;left:17px;top:19px;width:30px;height:26px;border-radius:12px;background:linear-gradient(145deg,var(--vero-violet-2),#5430c7)}.setting-robot-face:before{content:"";position:absolute;left:6px;top:7px;width:18px;height:13px;border-radius:7px;background:#fff}.setting-robot-face:after{content:"";position:absolute;left:11px;top:11px;width:4px;height:4px;border-radius:999px;background:#24105d;box-shadow:8px 0 #24105d}.setting-robot-tool,.setting-robot-badge{position:absolute;z-index:2;display:grid;place-items:center;border:2px solid #fff;color:#fff;font-weight:950;line-height:1;box-shadow:0 5px 10px #1f0a6121}.setting-robot-tool{left:4px;bottom:6px;width:22px;height:22px;border-radius:9px;background:var(--vero-blue);font-size:11px}.setting-robot-badge{right:4px;bottom:6px;min-width:22px;height:22px;padding:0 4px;border-radius:9px;background:var(--vero-green);font-size:9px}.setting-time-icon .setting-robot-badge,.setting-account-icon .setting-robot-badge,.setting-notice-icon .setting-robot-badge,.setting-class-icon .setting-robot-badge{background:var(--vero-amber);color:#744400}.setting-video-icon .setting-robot-tool,.setting-notice-icon .setting-robot-tool{background:var(--vero-rose)}.setting-students-icon .setting-robot-tool,.setting-students-icon .setting-robot-badge,.setting-update-icon .setting-robot-badge{border-radius:999px}.setting-update-icon .setting-robot-badge{background:var(--vero-blue);font-size:13px}.setting-text{display:grid;gap:5px}.setting-label{color:var(--text);font-size:15px;font-weight:900;line-height:1.28}.setting-desc{color:var(--sub);font-size:13px;font-weight:800;line-height:1.45}.setting-arrow{color:var(--primary);font-size:22px;font-weight:900}.setting-panel{margin:-2px 0 10px;padding:16px;border-top:1px solid #eee;background:#f9f9f9;font-size:14px;line-height:1.5}.setting-panel label,.setting-panel input,.setting-panel select,.setting-panel textarea,.setting-panel button,.setting-panel p,.setting-panel span{font-size:14px}.setting-panel .section-label-sm,.setting-panel .placeholder-text,.setting-panel .teacher-account-note,.setting-panel .question-operating-note{font-size:13px}.teacher-account-panel{display:grid;gap:14px}.teacher-account-row,.teacher-account-actions{display:flex;align-items:center;gap:10px}.teacher-account-row{justify-content:space-between}.teacher-account-note{margin:4px 0 12px;color:var(--sub);font-size:12px;line-height:1.5}.teacher-account-list{display:grid;gap:8px;margin-bottom:14px}.teacher-account-row{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.teacher-account-main{display:grid;min-width:0;gap:2px}.teacher-account-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text);font-size:14px;font-weight:800}.teacher-account-meta{margin-top:3px;color:var(--sub);font-size:11px}.teacher-role-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:#e0e7ff;color:#4338ca;font-size:10px;font-weight:800}.teacher-role-badge.owner{background:#fef3c7;color:#b45309}.teacher-role-badge.assistant{background:#e5e7eb;color:#4b5563}.teacher-account-state{color:#059669;font-size:11px;font-weight:800}.teacher-account-state.inactive{color:#dc2626}.teacher-account-form{display:grid;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.question-operating-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.question-operating-note{margin:4px 0 0;color:var(--sub);font-size:12px;line-height:1.5}.question-operating-current{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:#e5e7eb;color:#4b5563;font-size:12px;font-weight:900;white-space:nowrap}.question-operating-current.open{background:#d1fae5;color:#047857}.question-operating-current.closed{background:#fee2e2;color:#b91c1c}.question-operating-days{display:grid;gap:8px}.op-day-row{display:grid;grid-template-columns:minmax(74px,96px) 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}.op-day-check{display:flex;align-items:center;gap:7px;color:var(--text);font-size:13px;font-weight:800;white-space:nowrap}.op-day-check input{width:16px;height:16px;min-height:16px;accent-color:var(--primary)}.op-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.op-time-row .form-input{padding:8px 10px;font-size:13px}.switch{position:relative;display:inline-block;width:46px;height:26px}.switch input{opacity:0;width:0;min-height:0}.switch span{position:absolute;inset:0;border-radius:999px;background:#cbd5e1}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:#fff;transition:transform .2s ease}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translate(20px)}.student-admin-list{display:grid;gap:12px;margin-top:14px}.student-admin-card{display:grid;gap:12px;width:100%;text-align:left;padding:16px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.student-admin-card.selected,.student-admin-card:hover{border-color:var(--primary);box-shadow:0 10px 24px #7c3aed1f}.student-admin-card strong{display:block;color:var(--ink);font-size:16px}.student-admin-card span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.student-admin-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}.student-admin-card div{min-width:0}.student-admin-card dt{color:var(--muted);font-size:12px}.student-admin-card dd{margin:2px 0 0;color:var(--ink);font-size:13px;overflow-wrap:anywhere}.manual-register-panel,.student-detail-editor{display:grid;gap:12px}.manual-register-panel{margin-bottom:18px;padding:16px;border:1px solid var(--border);border-radius:8px;background:#fff}.manual-register-panel h3{margin:0}.student-detail-editor label{display:grid;gap:6px;color:var(--muted);font-size:13px}.student-detail-editor input,.student-detail-editor select,.student-detail-editor textarea{width:100%}.student-access-grid{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px}.preview-tab-section,.preview-content,.preview-placeholder{display:grid;gap:12px}.preview-placeholder{justify-items:center;padding:18px 8px;text-align:center;color:var(--muted)}.preview-robot-icon{display:inline-grid;grid-template-columns:32px 20px;align-items:center;justify-content:center;width:68px;min-height:48px}.preview-robot-face{width:32px;height:26px;border:2px solid var(--primary);border-radius:8px;background:#fff}.preview-robot-tool,.preview-robot-badge{font-size:12px;font-weight:800;color:var(--primary)}.qd-nav-bar,.sd-nav-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.qd-nav-pos,.sd-nav-pos{color:var(--muted);font-size:12px;white-space:nowrap}.qd-nav-btn,.sd-nav-btn{min-height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary);font-weight:700;cursor:pointer}.qd-nav-btn:disabled,.sd-nav-btn:disabled{color:#b8c0cc;cursor:default}.inline-check{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.student-table-wrap{display:grid;gap:8px}.student-table-header{display:grid;grid-template-columns:1.1fr .8fr 1.2fr .8fr;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.photo-preview-wrap{display:grid;gap:8px;margin:12px 0}.photo-preview-wrap[hidden]{display:none}.photo-open-link{justify-self:start;color:var(--primary);font-size:12px;font-weight:900;line-height:1.4;text-decoration:none}.photo-open-link:hover{text-decoration:underline}#detail-photo,#detail-solution-photo{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px;border:1px solid var(--border);background:#fff}.question-note-actions{display:grid;gap:10px}@media(max-width:760px){.teacher-desktop-layout{grid-template-columns:1fr;width:min(760px,calc(100vw - 24px));min-width:0;margin-bottom:calc(var(--nav-h) + 22px)}.teacher-sidebar{display:none}.teacher-preview-panel{position:static;max-height:none}}@media(min-width:761px){#section-teacher-dashboard .bottom-nav{display:none}}@media(max-width:760px){.bulk-answer-head,#section-teacher-dashboard .class-action-toolbar{grid-template-columns:1fr}#bulk-upload-confirm{min-width:0}.field-grid,.action-grid,.summary-row,.student-status-grid,.student-rank-grid,.rank-grid,.compact-detail-list,.workspace{grid-template-columns:1fr}.workspace{width:min(480px,calc(100vw - 24px))}.student-routine-item{grid-template-columns:38px minmax(0,1fr)}.routine-state{grid-column:2}.header-notice-container{display:none}.page-title{font-size:22px}#section-student-dashboard .content-area{padding:18px 12px 126px!important}#section-student-dashboard .page-title-wrap{padding:22px 18px;border-radius:24px}#section-student-dashboard .student-status-grid,#section-student-dashboard .student-rank-grid{grid-template-columns:1fr}#section-student-dashboard .student-routine-item{grid-template-columns:56px minmax(0,1fr) auto;min-height:80px}#section-student-dashboard .routine-icon,#section-student-dashboard .routine-robot-icon svg{width:52px;height:52px}}@media(max-width:520px){.form-row-2,.op-day-row{grid-template-columns:1fr}}
