*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2) format("woff2");font-weight:900;font-display:swap}:root{--bg-deep: #0f1628;--bg-mid: #151f38;--bg-surface: #1a2540;--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .14);--glass-hover: rgba(255, 255, 255, .12);--color-programs: #6366f1;--color-class: #38bdf8;--color-individual: #34d399;--color-wizard: #f59e0b;--sidebar-w: 240px}html{color-scheme:dark}*{box-sizing:border-box}[x-cloak]{display:none!important}body,button,input,select,textarea,table{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh;margin:0;background:var(--bg-deep);color:#e2e8f0;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(99,102,241,.28) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(56,189,248,.2) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 60% 40%,rgba(52,211,153,.12) 0%,transparent 50%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:4px}.app-shell,.teacher-shell,.workspace,.view-pane{min-height:100vh}.glass{border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}.loading-overlay,.signed-out-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px}.loading-card,.login-card{width:min(420px,100%);border-radius:20px;padding:30px;text-align:center}.login-card h1{margin:8px 0;color:#f8fafc;font-size:24px;font-weight:800}.login-card p{color:#cbd5e1}.spinner{width:28px;height:28px;margin:0 auto 12px;border:3px solid rgba(99,102,241,.22);border-top-color:#a5b4fc;border-radius:999px;animation:spin .9s linear infinite}.spinner.small{width:16px;height:16px;margin:0;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.teacher-shell{position:relative;z-index:1;display:flex;background:transparent}.sidebar{position:relative;z-index:20;width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.1);background:rgba(15,22,40,.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.sidebar-logo{height:64px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-icon{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 16px rgba(99,102,241,.45)}.logo-icon.large{width:48px;height:48px;margin:0 auto 14px}.logo-icon svg,.nav-icon-wrap svg,.icon-button svg,.btn-primary svg,.btn-ghost svg,.empty-icon svg,.search-wrap svg,.record-box svg{width:16px;height:16px}.brand-title{color:#f8fafc;font-size:14px;font-weight:800}.brand-subtitle{margin-top:2px;color:#cbd5e1;font-size:11.5px;font-weight:600;letter-spacing:.03em}.sidebar-nav{flex:1;padding:16px 12px}.nav-section-label{margin:0 0 8px;padding:0 8px;color:rgba(148,163,184,.85);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-section-label.secondary{margin-top:20px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;margin-bottom:2px;padding:10px;border:1px solid transparent;border-radius:10px;background:none;color:#cbd5e1;font-size:14px;font-weight:700;text-align:left;text-decoration:none;cursor:pointer;transition:all .18s}.nav-item:hover{border-color:rgba(255,255,255,.1);background:var(--glass-hover);color:#f1f5f9}.nav-item.active-programs{border-color:rgba(99,102,241,.35);background:rgba(99,102,241,.18);color:#a5b4fc}.nav-item.active-class{border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.15);color:#7dd3fc}.nav-item.active-individual{border-color:rgba(52,211,153,.28);background:rgba(52,211,153,.13);color:#6ee7b7}.nav-icon-wrap{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:7px;background:rgba(255,255,255,.05)}.active-programs .nav-icon-wrap{background:rgba(99,102,241,.25)}.active-class .nav-icon-wrap{background:rgba(56,189,248,.22)}.active-individual .nav-icon-wrap{background:rgba(52,211,153,.2)}.nav-icon-wrap.wizard{background:rgba(245,158,11,.16);color:#fcd34d}.nav-icon-wrap.admin{background:rgba(99,102,241,.18);color:#c4b5fd}.nav-text-stack{display:grid;gap:2px}.nav-text-stack small{color:#94a3b8;font-size:11px;font-weight:500}.sidebar-profile{padding:14px 16px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.profile-name{color:#f8fafc;font-size:13.5px;font-weight:800}.profile-email{margin-top:3px;color:#94a3b8;font-size:12px;overflow:hidden;text-overflow:ellipsis}.workspace{min-width:0;flex:1;position:relative}.main-header{min-height:64px;position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(15,22,40,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.main-header.tall{min-height:auto;flex-direction:column;align-items:stretch;padding:16px 28px}.header-row,.header-actions,.filter-toolbar{display:flex;align-items:center;gap:10px}.header-row{justify-content:space-between}.teacher-query-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px}.teacher-query-row .search-wrap.align-left{flex:0 1 340px;width:min(340px,100%)}.teacher-query-row .filter-toolbar{flex:0 1 auto;justify-content:flex-start}.main-header h2{margin:0;color:#f1f5f9;font-size:19px;font-weight:800}.eyebrow{margin:0 0 4px;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.view-header-bar{position:absolute;left:0;bottom:0;width:100%;height:3px}.view-header-bar.programs{background:linear-gradient(90deg,var(--color-programs),transparent)}.view-header-bar.class{background:linear-gradient(90deg,var(--color-class),transparent)}.view-header-bar.individual{background:linear-gradient(90deg,var(--color-individual),transparent)}.view-header-bar.admin{background:linear-gradient(90deg,#8b5cf6,transparent)}.view-content{padding:22px 28px 36px}.table-card{border-radius:16px;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cbd5e1;font-size:12px;font-weight:800;letter-spacing:.06em;text-align:left;text-transform:uppercase}.data-table td{padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07);color:#cbd5e1;font-size:13.5px}.data-table tbody tr{transition:background .16s}.data-table tbody tr:hover td{background:rgba(255,255,255,.04)}.td-action{width:100px;text-align:right}.program-title{color:#f8fafc;font-weight:800}.program-code,.record-snapshot{margin-top:4px;color:#94a3b8;font-size:12px;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#cbd5e1;font-size:12px;font-weight:700}.action-btn,.btn-primary,.btn-ghost,.icon-button{border:1px solid rgba(255,255,255,.12);font-family:inherit;cursor:pointer}.action-btn{padding:7px 10px;border-radius:9px;background:rgba(99,102,241,.18);color:#c4b5fd;font-size:12.5px;font-weight:800}.btn-primary{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-color:rgba(99,102,241,.42);border-radius:10px;background:rgba(99,102,241,.24);color:#c4b5fd;font-size:13px;font-weight:800}.btn-sky{border-color:rgba(56,189,248,.4);background:rgba(56,189,248,.18);color:#7dd3fc}.btn-emerald{border-color:rgba(52,211,153,.36);background:rgba(52,211,153,.18);color:#6ee7b7}.btn-ghost{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.05);color:#cbd5e1;font-size:12.5px;font-weight:800;text-decoration:none}.btn-ghost.full{width:100%;margin-top:12px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.05);color:#cbd5e1}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap svg{position:absolute;left:12px;color:rgba(148,163,184,.8)}.search-wrap.full{flex:1;min-width:220px}.search-input,.form-input,.form-select,.select-pill select{height:38px;border:1px solid rgba(148,163,184,.34);border-radius:999px;background-color:rgba(15,23,42,.78);color:#f1f5f9;font-size:13.5px;outline:none;transition:all .2s}.search-input,.form-input{width:240px;padding:8px 14px 8px 36px}.search-input:focus,.form-input:focus,.form-select:focus{border-color:rgba(99,102,241,.5);background-color:rgba(99,102,241,.12);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.form-select,.select-pill select{min-width:92px;padding:0 34px 0 14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#cbd5e1 50%),linear-gradient(135deg,#cbd5e1 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.form-select:hover,.select-pill select:hover,.search-input:hover,.form-input:hover{border-color:rgba(203,213,225,.52);background-color:rgba(30,41,59,.86)}.form-select option,.select-pill select option{background:#0f172a;color:#f8fafc}.form-select:disabled,.select-pill select:disabled,.search-input:disabled,.form-input:disabled{cursor:not-allowed;opacity:.58}input[type=checkbox],input[type=radio]{width:18px;height:18px;flex-shrink:0;margin:0;border:1px solid rgba(203,213,225,.48);background-color:rgba(15,23,42,.9);color:#f8fafc;accent-color:var(--color-programs);cursor:pointer}input[type=checkbox]{border-radius:5px}input[type=radio]{border-radius:999px}input[type=checkbox]:checked,input[type=radio]:checked{border-color:rgba(129,140,248,.95);background-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.18)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid rgba(165,180,252,.7);outline-offset:2px}.select-pill{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:12px;font-weight:800}.student-list{display:flex;flex-direction:column;gap:10px}.student-card{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07);overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.student-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.student-left,.student-right,.drawer-student-head{display:flex;align-items:center;gap:10px;min-width:0}.student-left strong{display:block;color:#f8fafc;font-size:15px}.student-left span{display:block;margin-top:3px;color:#94a3b8;font-size:12px;font-variant-numeric:tabular-nums}.student-avatar{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(56,189,248,.35);border-radius:11px;background:linear-gradient(135deg,rgba(56,189,248,.24),rgba(99,102,241,.2));color:#7dd3fc;font-weight:900}.student-avatar.emerald{border-color:rgba(52,211,153,.35);background:linear-gradient(135deg,rgba(52,211,153,.3),rgba(16,185,129,.22));color:#6ee7b7}.student-avatar.small{width:32px;height:32px;border-radius:10px}.year-badge-2026,.year-badge-2025,.year-badge-2024{display:inline-flex;align-items:center;min-height:19px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.year-badge-2026{background:rgba(99,102,241,.2);color:#a5b4fc}.year-badge-2025{background:rgba(56,189,248,.18);color:#7dd3fc}.year-badge-2024{background:rgba(245,158,11,.18);color:#fcd34d}.record-count{color:#cbd5e1;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.student-records{display:grid;gap:10px;padding:0 12px 12px}.record-card,.drawer-student{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(15,22,40,.62);padding:12px}.record-card.standalone{margin-bottom:10px}.record-head{display:flex;align-items:center;gap:8px;min-width:0}.record-head strong{color:#f1f5f9;font-size:13.5px}.record-common{margin:10px 0 0;color:#dbeafe;font-size:13.5px;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}.record-box{margin-top:10px;padding:10px;border-radius:10px;font-size:13px;line-height:1.55}.record-box span{display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:12px;font-weight:800}.record-box p{margin:0;white-space:pre-wrap}.record-box.teacher{border:1px solid rgba(248,113,113,.2);background:rgba(127,29,29,.2)}.record-box.teacher span{color:#fca5a5}.record-box.student{border:1px solid rgba(99,102,241,.24);background:rgba(49,46,129,.2)}.record-box.student span{color:#a5b4fc}.empty-state{display:grid;place-items:center;gap:10px;min-height:220px;padding:24px;border:1px dashed rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.04);color:#cbd5e1;text-align:center}.empty-state.compact{min-height:90px;padding:16px}.empty-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(255,255,255,.06);color:#94a3b8}.empty-icon.sky{color:#7dd3fc}.empty-icon.emerald{color:#6ee7b7}.error-state{position:relative;z-index:2;margin:24px;padding:16px;border:1px solid rgba(248,113,113,.38);border-radius:14px;background:rgba(127,29,29,.22);color:#fecaca}.error-state.compact{position:fixed;top:12px;right:12px;z-index:80;margin:0}.status-line.floating{position:fixed;top:12px;right:12px;z-index:80;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(15,22,40,.86);color:#cbd5e1;font-size:12.5px;font-weight:800}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:rgba(0,0,0,.42)}.drawer-panel{position:fixed;top:0;right:0;z-index:50;width:min(620px,100vw);height:100vh;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.14);background:rgba(15,22,40,.96);box-shadow:-24px 0 80px rgba(0,0,0,.42)}.drawer-header{display:flex;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-header h3{margin:0;color:#f8fafc;font-size:20px}.drawer-header p{margin:5px 0 0;color:#cbd5e1;font-size:13px}.drawer-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.drawer-count{margin-left:auto;color:#cbd5e1;font-size:12px;font-weight:800}.drawer-list{flex:1;display:grid;align-content:start;gap:10px;overflow:auto;padding:14px 20px 24px}.drawer-student-head{margin-bottom:10px}.drawer-student strong{color:#f8fafc}.drawer-student p{margin:3px 0 0;color:#94a3b8;font-size:12px}.mobile-tabs{display:none}.standalone-route{position:relative;z-index:1;padding:24px}.route-topbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.route-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.page-card{max-width:960px;padding:22px;border:1px solid var(--glass-border);border-radius:16px;background:var(--glass-bg)}.admin-shell{display:grid;gap:16px}.admin-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;overflow:hidden;padding:24px;border-radius:16px}.admin-hero h1{margin:0 0 6px;color:#f8fafc;font-size:28px;font-weight:900}.admin-hero p{margin:0;color:#cbd5e1}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-stat{padding:16px;border-radius:14px}.admin-stat span,.admin-stat small,.admin-muted{color:#94a3b8;font-size:12px;font-weight:800}.admin-stat strong{display:block;margin-top:6px;color:#f8fafc;font-size:24px;font-weight:900}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-card{display:grid;gap:14px;padding:18px;border-radius:16px}.admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-card h2{margin:0;color:#f8fafc;font-size:19px;font-weight:900}.admin-card .form-label{display:grid;gap:8px}.admin-card .form-input{width:100%;padding-left:14px;border-radius:12px}.admin-check{justify-content:flex-start;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:rgba(15,23,42,.46)}.admin-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-status-pill{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.24);background:rgba(148,163,184,.1);color:#cbd5e1;font-size:12px;font-weight:900;white-space:nowrap}.admin-status-pill.success{border-color:rgba(52,211,153,.32);background:rgba(52,211,153,.14);color:#6ee7b7}.admin-status-pill.danger{border-color:rgba(248,113,113,.32);background:rgba(248,113,113,.14);color:#fca5a5}.admin-sync-result{display:flex;flex-wrap:wrap;gap:8px}.admin-sync-result span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.07);color:#cbd5e1;font-size:12px;font-weight:800}.admin-log-list{display:grid;gap:8px}.admin-log-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:rgba(15,23,42,.42)}.admin-log-row strong{display:block;color:#f8fafc;font-size:13px}.admin-log-row span,.admin-log-row time{color:#94a3b8;font-size:12px;font-weight:700}.tab-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tab{padding:8px 12px;border:1px solid var(--glass-border);border-radius:10px;background:rgba(255,255,255,.06);color:#cbd5e1;font-weight:800}.tab.active{background:rgba(16,185,129,.22);color:#6ee7b7}.wizard-shell{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}.wizard-side,.wizard-main{border-radius:16px;overflow:hidden}.wizard-brand,.wizard-header,.wizard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-brand{justify-content:flex-start;padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.wizard-brand h2,.wizard-header h2{margin:0;color:#f8fafc;font-size:20px;font-weight:900}.wizard-task-list{display:grid;gap:8px;padding:14px}.wizard-task{width:100%;display:flex;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04);color:#cbd5e1;text-align:left}.wizard-task.active{border-color:rgba(16,185,129,.34);background:rgba(16,185,129,.14);color:#6ee7b7}.wizard-task.active-feedback{border-color:rgba(56,189,248,.34);background:rgba(56,189,248,.13);color:#7dd3fc}.wizard-task.active-edit{border-color:rgba(99,102,241,.34);background:rgba(99,102,241,.14);color:#a5b4fc}.wizard-task.active-register{border-color:rgba(16,185,129,.34);background:rgba(16,185,129,.14);color:#6ee7b7}.wizard-task.disabled{cursor:not-allowed;opacity:.58}.wizard-task strong,.wizard-job strong{display:block;color:#f8fafc;font-size:13.5px}.wizard-task small{display:block;margin-top:2px;color:#94a3b8;font-size:12px}.nav-icon-wrap.register{background:rgba(16,185,129,.18);color:#6ee7b7}.nav-icon-wrap.feedback{background:rgba(56,189,248,.16);color:#7dd3fc}.nav-icon-wrap.edit{background:rgba(99,102,241,.16);color:#a5b4fc}.wizard-jobs{display:grid;gap:8px;padding:14px;border-top:1px solid rgba(255,255,255,.08)}.wizard-job{display:grid;gap:6px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(15,23,42,.54)}.wizard-job>div{display:flex;justify-content:space-between;gap:8px}.wizard-job span{flex-shrink:0;color:#cbd5e1;font-size:11.5px;font-weight:900}.wizard-job p{margin:0;color:#94a3b8;font-size:12px;line-height:1.45}.wizard-job.status-done{border-color:rgba(16,185,129,.24)}.wizard-job.status-failed{border-color:rgba(248,113,113,.34)}.wizard-job .job-error{color:#fca5a5}.wizard-header{position:relative;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.wizard-header p{margin:5px 0 0;color:#94a3b8;font-size:13px}.wizard-body{display:grid;gap:18px;padding:20px}.wizard-task-panel{display:grid;gap:18px}.wizard-form-section{display:grid;gap:9px}.wizard-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-label{display:block;margin-bottom:7px;color:#cbd5e1;font-size:12px;font-weight:900}.form-textarea{width:100%;min-height:96px;resize:vertical;border-radius:14px;padding:11px 13px}.wizard-input{width:100%}.wizard-input.form-input{padding-left:14px}.wizard-input.mono{font-family:Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.choice-row{display:flex;flex-wrap:wrap;gap:7px}.choice-chip{min-height:34px;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05);color:#cbd5e1;font-size:13px;font-weight:900}.choice-chip.active-register{border-color:rgba(16,185,129,.38);background:rgba(16,185,129,.18);color:#6ee7b7}.choice-chip.active-feedback{border-color:rgba(56,189,248,.34);background:rgba(56,189,248,.14);color:#7dd3fc}.check-row{display:inline-flex;align-items:center;gap:8px;color:#cbd5e1;font-size:13.5px;font-weight:800}.wizard-muted{margin:0;color:#94a3b8;font-size:12.5px;line-height:1.5}.feedback-preview{display:grid;gap:12px;padding:14px}.feedback-preview-body{display:grid;gap:10px}.header-chip-row{display:flex;flex-wrap:wrap;gap:6px}.header-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(56,189,248,.26);border-radius:999px;background:rgba(56,189,248,.1);color:#7dd3fc;font-size:12px;font-weight:800}.job-error{color:#fca5a5;font-size:12.5px;font-weight:800}.student-editor{display:grid;gap:7px}.student-editor-head,.student-row{display:grid;grid-template-columns:130px minmax(150px,220px) minmax(0,1fr) 38px;gap:8px;align-items:center}.student-editor-head{padding:0 2px;color:#94a3b8;font-size:11px;font-weight:900}.danger-icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(248,113,113,.25);border-radius:10px;background:rgba(127,29,29,.22);color:#fca5a5}.danger-icon-button svg{width:15px;height:15px}.student-lookup-cell{min-height:38px;display:grid;align-content:center;gap:2px;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(15,23,42,.42);overflow:hidden}.student-lookup-cell strong,.student-lookup-cell small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-lookup-cell strong{color:#f8fafc;font-size:13px;font-weight:900}.student-lookup-cell small{color:#94a3b8;font-size:11.5px}.student-lookup-cell.status-found{border-color:rgba(52,211,153,.22);background:rgba(16,185,129,.08)}.student-lookup-cell.status-inactive{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08)}.student-lookup-cell.status-missing{border-color:rgba(248,113,113,.3);background:rgba(127,29,29,.16)}.student-lookup-cell.status-missing strong{color:#fca5a5}.wizard-edit-loader{align-items:end}.wizard-edit-load-actions{display:flex;justify-content:flex-end}.wizard-edit-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.wizard-edit-summary h3{margin:0;color:#f8fafc;font-size:17px;font-weight:900}.wizard-edit-summary p:not(.eyebrow){margin:4px 0 0;color:#94a3b8;font-size:12.5px}.wizard-edit-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.wizard-edit-student-list{display:grid;gap:10px}.wizard-edit-student-card{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,1fr) 38px;gap:10px;align-items:start;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(15,23,42,.42)}.wizard-edit-student-card.marked-delete{border-color:rgba(248,113,113,.35);background:rgba(127,29,29,.18);opacity:.78}.wizard-edit-student-meta{display:grid;gap:8px}.wizard-edit-student-card textarea{min-height:104px}.record1-label{color:#fca5a5}.record2-label{color:#a5b4fc}.delete-zone{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(248,113,113,.28);border-radius:14px;background:rgba(127,29,29,.14)}.delete-zone strong{color:#fca5a5;font-size:14px;font-weight:900}.delete-zone p{margin:4px 0 0;color:#fecaca;font-size:12.5px;line-height:1.45}.danger-check{flex-shrink:0;padding:8px 10px;border-radius:10px;background:rgba(248,113,113,.12);color:#fecaca}.danger-check.disabled{opacity:.48}.success-state{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(16,185,129,.28);border-radius:12px;background:rgba(16,185,129,.12);color:#6ee7b7;font-size:13px;font-weight:800}.success-state svg{width:16px;height:16px}.error-state.inline{position:static;margin:0}.student-route{position:relative;z-index:1;min-height:100vh}.student-topbar{min-height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(15,22,40,.86);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.student-topbar h1{margin:0;color:#f8fafc;font-size:22px;font-weight:900}.student-topbar p:not(.eyebrow){margin:5px 0 0;color:#94a3b8;font-size:13px}.student-topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.school-horizontal-logo{display:block;max-width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.student-brand-block{min-width:0;display:flex;align-items:center;gap:16px}.student-school-logo{width:clamp(200px,25vw,320px);max-height:62px;filter:drop-shadow(0 8px 14px rgba(10,31,68,.16))}.student-title-copy{min-width:0}.student-page{padding:22px 28px 38px}.student-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}.student-column{display:grid;gap:18px}.demo-impersonation-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(245,158,11,.36);border-radius:14px;background:rgba(245,158,11,.12);color:#fde68a;font-size:13px;font-weight:800}.demo-impersonation-banner strong{color:#fbbf24;font-weight:900}.student-panel{display:grid;gap:14px;padding:18px;border-radius:16px}.student-panel-head,.evaluation-head,.self-eval-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-panel-head h2{margin:0;color:#f8fafc;font-size:19px;font-weight:900}.student-record-list,.student-evaluation-list,.activity-check-list{display:grid;gap:10px}.student-record-list{max-height:58vh;overflow:auto;padding-right:2px}.evaluation-card{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(15,22,40,.56)}.evaluation-head strong{display:block;color:#f8fafc;font-size:13.5px;font-weight:900}.evaluation-head span{display:inline-flex;margin-top:4px;color:#94a3b8;font-size:12px;font-weight:800}.evaluation-card p{margin:0;color:#cbd5e1;font-size:13px;line-height:1.55;white-space:pre-wrap}.evaluation-actions{display:inline-flex;flex-shrink:0;gap:6px}.action-btn.danger{border-color:rgba(248,113,113,.32);background:rgba(127,29,29,.24);color:#fca5a5}.self-eval-panel{position:sticky;top:98px}.activity-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(15,23,42,.46);cursor:pointer}.activity-check.selected{border-color:rgba(52,211,153,.34);background:rgba(16,185,129,.12)}.activity-check strong,.activity-check small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.activity-check strong{color:#f1f5f9;font-size:13px;font-weight:900}.activity-check small{margin-top:3px;color:#94a3b8;font-size:12px;white-space:nowrap}.self-eval-sheet{display:grid;border:1px solid rgba(148,163,184,.24);border-radius:14px;overflow:hidden}.self-eval-sheet label{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:110px;border-bottom:1px solid rgba(148,163,184,.18)}.self-eval-sheet label:last-child{border-bottom:0}.self-eval-sheet label>span{display:flex;align-items:center;padding:12px;border-right:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.04);color:#cbd5e1;font-size:12px;font-weight:900}.self-eval-sheet textarea{min-height:110px;border:0;border-radius:0;background:rgba(15,23,42,.58)}.self-eval-preview{display:grid;gap:7px;padding:12px;border:1px solid rgba(99,102,241,.24);border-radius:12px;background:rgba(49,46,129,.18)}.self-eval-preview strong{color:#c4b5fd;font-size:12px;font-weight:900}.self-eval-preview p{margin:0;color:#dbeafe;font-size:13px;line-height:1.55;white-space:pre-wrap}.self-eval-actions{justify-content:flex-end;flex-wrap:wrap}.student-route[data-theme=student]{--student-bg: #e8edf4;--student-surface: #e8edf4;--student-inset: #e0e6ef;--student-text: #334155;--student-strong: #0f172a;--student-muted: #64748b;--student-primary: #4f46e5;--student-shadow-dark: rgba(163, 177, 198, .55);--student-shadow-light: rgba(255, 255, 255, .9);--student-raised: 6px 6px 14px var(--student-shadow-dark), -6px -6px 14px var(--student-shadow-light);--student-raised-sm: 3px 3px 7px var(--student-shadow-dark), -3px -3px 7px var(--student-shadow-light);--student-inset-shadow: inset 4px 4px 9px var(--student-shadow-dark), inset -4px -4px 9px var(--student-shadow-light);color-scheme:light;background:var(--student-bg);color:var(--student-text)}.student-route[data-theme=student] .student-topbar{border-bottom:0;background:rgba(232,237,244,.92);color:var(--student-text);box-shadow:0 10px 30px rgba(163,177,198,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.student-route[data-theme=student] .student-topbar h1,.student-route[data-theme=student] .student-panel-head h2,.student-route[data-theme=student] .evaluation-head strong,.student-route[data-theme=student] .activity-check strong,.student-route[data-theme=student] .self-eval-modal h2,.student-route[data-theme=student] .eval-step-title strong{color:var(--student-strong);font-weight:700}.student-route[data-theme=student] .student-topbar p:not(.eyebrow),.student-route[data-theme=student] .wizard-muted,.student-route[data-theme=student] .student-helper-text,.student-route[data-theme=student] .evaluation-head span,.student-route[data-theme=student] .activity-check small,.student-route[data-theme=student] .self-eval-modal-head p,.student-route[data-theme=student] .eval-step-title small{color:var(--student-muted)}.student-route[data-theme=student] .glass,.student-route[data-theme=student] .student-panel,.student-route[data-theme=student] .record-card,.student-route[data-theme=student] .evaluation-card,.student-route[data-theme=student] .empty-state,.student-route[data-theme=student] .self-eval-modal,.student-route[data-theme=student] .eval-step-card{border:0;background:var(--student-surface);box-shadow:var(--student-raised);backdrop-filter:none;-webkit-backdrop-filter:none}.student-route[data-theme=student] .btn-primary,.student-route[data-theme=student] .btn-ghost,.student-route[data-theme=student] .icon-button,.student-route[data-theme=student] .action-btn,.student-route[data-theme=student] .choice-chip{border:0;background:var(--student-surface);color:var(--student-text);box-shadow:var(--student-raised-sm);font-weight:700}.student-route[data-theme=student] .btn-primary,.student-route[data-theme=student] .btn-sky,.student-route[data-theme=student] .btn-emerald,.student-route[data-theme=student] .student-create-btn{color:#fff;background:var(--student-primary)}.student-route[data-theme=student] .btn-primary:active,.student-route[data-theme=student] .btn-ghost:active,.student-route[data-theme=student] .icon-button:active,.student-route[data-theme=student] .action-btn:active,.student-route[data-theme=student] .choice-chip:active{box-shadow:var(--student-inset-shadow);transform:translateY(1px)}.student-route[data-theme=student] .btn-primary:disabled,.student-route[data-theme=student] .btn-ghost:disabled,.student-route[data-theme=student] .action-btn:disabled,.student-route[data-theme=student] .form-input:disabled,.student-route[data-theme=student] .form-textarea:disabled{box-shadow:none;opacity:.55}.student-route[data-theme=student] .form-input,.student-route[data-theme=student] .form-textarea,.student-route[data-theme=student] .check-row,.student-route[data-theme=student] .activity-check,.student-route[data-theme=student] .self-eval-preview,.student-route[data-theme=student] .self-eval-sheet textarea{border:0;background:var(--student-inset);color:var(--student-strong);box-shadow:var(--student-inset-shadow)}.student-route[data-theme=student] .form-input:focus,.student-route[data-theme=student] .form-textarea:focus,.student-route[data-theme=student] .btn-primary:focus-visible,.student-route[data-theme=student] .btn-ghost:focus-visible,.student-route[data-theme=student] .choice-chip:focus-visible,.student-route[data-theme=student] .action-btn:focus-visible{outline:2px solid var(--student-primary);outline-offset:2px}.student-route[data-theme=student] .choice-chip.active-register,.student-route[data-theme=student] .activity-check.selected{color:#fff;background:var(--student-primary);box-shadow:4px 4px 12px rgba(79,70,229,.36),-3px -3px 9px rgba(255,255,255,.7)}.student-route[data-theme=student] .activity-check.selected strong,.student-route[data-theme=student] .activity-check.selected small{color:#fff}.student-route[data-theme=student] .modal-activity-list .activity-check{min-height:96px;grid-template-columns:16px minmax(0,1fr);gap:8px;padding:9px}.student-route[data-theme=student] .modal-activity-list .activity-check input{margin-top:2px}.student-route[data-theme=student] .modal-activity-list .activity-check strong{display:-webkit-box;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.student-route[data-theme=student] .modal-activity-list .activity-check small{display:-webkit-box;margin-top:5px;white-space:normal;line-height:1.35;-webkit-line-clamp:3;-webkit-box-orient:vertical}.student-route[data-theme=student] .eval-step-title>span{background:var(--eval-tone, var(--student-primary))}.student-route[data-theme=student] .self-eval-inline-panel .eval-step-card{box-shadow:var(--student-raised-sm),inset 0 0 0 1px var(--eval-tone-soft)}.student-route[data-theme=student] .self-eval-sheet label{min-height:92px}.student-route[data-theme=student] .self-eval-sheet label>span{justify-content:center;text-align:center;font-size:14px;line-height:1.25}.student-route[data-theme=student] .self-eval-sheet textarea{min-height:92px}.student-route[data-theme=student] .record-box.teacher{border-left:3px solid #ef4444;background:#fef2f2;color:#991b1b}.student-route[data-theme=student] .record-box.student{border-left:3px solid var(--student-primary);background:#eef2ff;color:#312e81}.student-route[data-theme=student] .record-box span,.student-route[data-theme=student] .record-box p,.student-route[data-theme=student] .evaluation-card p,.student-route[data-theme=student] .self-eval-preview p{color:inherit}.student-route[data-theme=student] .demo-impersonation-banner{border:0;background:#fffbeb;color:#b45309;box-shadow:var(--student-raised-sm),inset 0 0 0 1px rgba(180,83,9,.18)}.student-route[data-theme=student] .demo-impersonation-banner strong{color:#92400e}.student-route[data-theme=student] .error-state{border:0;background:#fef2f2;color:#b91c1c;box-shadow:var(--student-raised-sm)}.student-route[data-theme=student] .success-state{border:0;background:#ecfdf5;color:#047857;box-shadow:var(--student-raised-sm)}.student-route[data-theme=student] .action-btn.danger{color:#b91c1c;background:#fef2f2}.student-route[data-theme=student] .self-eval-launch-panel{align-self:start;position:sticky;top:98px}.student-route[data-theme=student] .student-helper-text{margin:5px 0 0;font-size:12.5px;line-height:1.5}.student-route[data-theme=student] .self-eval-launch-steps{display:grid;gap:9px}.student-route[data-theme=student] .self-eval-launch-steps span{padding:11px 12px;border-radius:13px;background:var(--student-inset);color:var(--student-muted);box-shadow:var(--student-inset-shadow);font-size:13px;font-weight:700}.student-route[data-theme=student] .student-create-btn{width:100%;min-height:48px}.self-eval-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.32)}.self-eval-modal{width:min(680px,100%);max-height:min(860px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:22px}.self-eval-modal-head,.self-eval-modal-footer{position:sticky;z-index:2;display:flex;gap:14px;padding:18px;background:var(--student-surface)}.self-eval-modal-head{top:0;align-items:flex-start;justify-content:space-between}.self-eval-modal-head h2{margin:0;font-size:19px}.self-eval-modal-head p:not(.eyebrow){margin:4px 0 0;font-size:12.5px}.self-eval-modal-body{display:grid;gap:14px;overflow:auto;padding:0 18px 18px}.eval-step-card{display:grid;gap:10px;padding:12px;border-radius:16px}.eval-step-card.locked{opacity:.78}.eval-step-title{display:flex;align-items:center;gap:8px}.eval-step-title>span{width:23px;height:23px;display:grid;place-items:center;border-radius:9px;background:var(--student-primary);color:#fff;font-size:11px;font-weight:800}.eval-step-title small{margin-left:auto;font-size:11.5px;font-weight:700}.eval-category-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.eval-step-placeholder{padding:11px;border-radius:13px;background:var(--student-inset);color:var(--student-muted);box-shadow:var(--student-inset-shadow);text-align:center;font-size:12.5px;font-weight:700}.modal-activity-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:286px;overflow-y:auto;overflow-x:hidden;padding:2px 8px 2px 2px;scrollbar-color:var(--eval-tone, var(--student-primary)) rgba(148,163,184,.2);scrollbar-width:thin}.modal-activity-list::-webkit-scrollbar{width:10px}.modal-activity-list::-webkit-scrollbar-track{border-radius:999px;background:rgba(148,163,184,.2)}.modal-activity-list::-webkit-scrollbar-thumb{border:2px solid rgba(232,237,244,.95);border-radius:999px;background:var(--eval-tone, var(--student-primary))}.modal-activity-list>.form-input{grid-column:1 / -1}.self-eval-modal-footer{bottom:0;align-items:flex-end;flex-direction:column;box-shadow:0 -10px 24px rgba(163,177,198,.22)}.self-eval-modal-footer .self-eval-preview,.self-eval-modal-footer .self-eval-actions{width:100%}.student-route[data-theme=student] .self-eval-sheet{border:0;border-radius:16px;box-shadow:var(--student-raised-sm)}.student-route[data-theme=student] .self-eval-sheet label{border-bottom-color:rgba(100,116,139,.14)}.student-route[data-theme=student] .self-eval-sheet label>span{border-right-color:rgba(100,116,139,.14);background:var(--student-inset);color:var(--student-muted);font-weight:700}.student-route[data-theme=student] .self-eval-preview strong{color:var(--student-primary);font-weight:700}.student-route[data-theme=student] .student-page-stack{display:grid;gap:18px}.student-route[data-theme=student] .student-evaluation-strip-panel{gap:8px;padding:14px 16px}.student-route[data-theme=student] .student-evaluation-strip{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 12px;scroll-snap-type:x proximity}.student-route[data-theme=student] .evaluation-mini-card{flex:0 0 190px;min-height:94px;display:grid;align-content:space-between;gap:7px;padding:11px;border:0;border-radius:16px;background:var(--student-surface);color:var(--student-text);box-shadow:var(--student-raised-sm);cursor:pointer;scroll-snap-align:start;text-align:left;font-family:inherit}.student-route[data-theme=student] .evaluation-mini-card:hover{box-shadow:5px 5px 12px var(--student-shadow-dark),-5px -5px 12px var(--student-shadow-light)}.student-route[data-theme=student] .evaluation-mini-card.empty{justify-content:center;color:var(--student-muted)}.student-route[data-theme=student] .mini-card-top,.student-route[data-theme=student] .mini-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-route[data-theme=student] .mini-card-top span{padding:3px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:800}.student-route[data-theme=student] .evaluation-mini-card strong{color:var(--student-strong);font-size:13px;line-height:1.25;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}.student-route[data-theme=student] .evaluation-mini-card small{color:var(--student-muted);font-size:11.5px;font-weight:700}.student-route[data-theme=student] .mini-delete-btn{min-height:24px;padding:4px 8px;border:0;border-radius:9px;background:#fef2f2;color:#b91c1c;box-shadow:var(--student-raised-sm);font-family:inherit;font-size:11px;font-weight:800;cursor:pointer}.student-route[data-theme=student] .self-eval-inline-panel{--eval-tone: var(--student-primary);--eval-tone-soft: rgba(79, 70, 229, .12);--eval-tone-glow: rgba(79, 70, 229, .24);gap:12px;padding:14px 16px 16px;box-shadow:var(--student-raised),0 0 0 1px var(--eval-tone-soft),0 0 28px var(--eval-tone-glow);transition:box-shadow .18s ease,background .18s ease}.student-route[data-theme=student] .self-eval-inline-panel.tone-career{--eval-tone: #2563eb;--eval-tone-soft: rgba(37, 99, 235, .12);--eval-tone-glow: rgba(37, 99, 235, .24)}.student-route[data-theme=student] .self-eval-inline-panel.tone-autonomy{--eval-tone: #16a34a;--eval-tone-soft: rgba(22, 163, 74, .12);--eval-tone-glow: rgba(22, 163, 74, .24)}.student-route[data-theme=student] .self-eval-inline-panel.tone-etc{--eval-tone: #9333ea;--eval-tone-soft: rgba(147, 51, 234, .12);--eval-tone-glow: rgba(147, 51, 234, .24)}.student-route[data-theme=student] .self-eval-inline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-route[data-theme=student] .self-eval-inline-head h2{margin:0;color:var(--student-strong);font-size:17px;font-weight:700}.student-route[data-theme=student] .self-eval-inline-head p:not(.eyebrow){margin:2px 0 0;color:var(--student-muted);font-size:12px;line-height:1.35}.student-route[data-theme=student] .self-eval-inline-body{display:grid;gap:10px}.student-route[data-theme=student] .self-eval-inline-footer{display:grid;gap:12px}.student-route[data-theme=student] .record-card.standalone{color:var(--student-text)}.student-route[data-theme=student] .record-head strong{color:var(--student-strong);font-weight:700}.student-route[data-theme=student] .record-common{color:var(--student-muted)}.student-route[data-theme=student] .record-card>p,.student-route[data-theme=student] .record-card>strong,.student-route[data-theme=student] .record-card .record-head{color:var(--student-text)}.student-route[data-theme=student] .year-badge-2024,.student-route[data-theme=student] .year-badge-2025,.student-route[data-theme=student] .year-badge-2026{color:#4338ca;background:#eef2ff}.student-route[data-theme=student] .student-create-eval-btn{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb 55%,#0ea5e9);box-shadow:4px 4px 12px rgba(79,70,229,.3),-3px -3px 9px rgba(255,255,255,.72)}.student-route[data-theme=student] .student-create-eval-btn:hover{transform:translateY(-1px);box-shadow:5px 5px 15px rgba(79,70,229,.36),-3px -3px 9px rgba(255,255,255,.78)}.student-route[data-theme=student] .choice-chip.tone-career{color:#1d4ed8;background:#dbeafe}.student-route[data-theme=student] .choice-chip.tone-autonomy{color:#15803d;background:#dcfce7}.student-route[data-theme=student] .choice-chip.tone-etc{color:#7e22ce;background:#f3e8ff}.student-route[data-theme=student] .choice-chip.tone-career.active-register{color:#fff;background:#2563eb;box-shadow:4px 4px 12px rgba(37,99,235,.34),-3px -3px 9px rgba(255,255,255,.72)}.student-route[data-theme=student] .choice-chip.tone-autonomy.active-register{color:#fff;background:#16a34a;box-shadow:4px 4px 12px rgba(22,163,74,.34),-3px -3px 9px rgba(255,255,255,.72)}.student-route[data-theme=student] .choice-chip.tone-etc.active-register{color:#fff;background:#9333ea;box-shadow:4px 4px 12px rgba(147,51,234,.34),-3px -3px 9px rgba(255,255,255,.72)}@media(max-width:900px){.student-route[data-theme=student] .self-eval-launch-panel{position:static}.self-eval-modal-backdrop{align-items:end;padding:10px}.self-eval-modal{width:100%;max-height:calc(100vh - 20px);border-radius:22px 22px 16px 16px}.self-eval-modal-head,.self-eval-modal-footer{padding:14px}.self-eval-modal-body{padding:0 14px 14px}.student-route[data-theme=student] .self-eval-actions{grid-template-columns:1fr}.student-route[data-theme=student] .modal-activity-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px}.student-route[data-theme=student] .self-eval-actions{display:grid;width:100%}.student-route[data-theme=student] .student-evaluation-strip{padding-bottom:10px}.student-route[data-theme=student] .evaluation-mini-card{flex-basis:172px}.student-route[data-theme=student] .self-eval-inline-head,.student-route[data-theme=student] .student-panel-head{align-items:stretch;flex-direction:column}}@media(max-width:640px){.student-route[data-theme=student] .eval-category-row{grid-template-columns:repeat(3,minmax(0,1fr))}.student-route[data-theme=student] .modal-activity-list{grid-template-columns:1fr;max-height:320px}.student-route[data-theme=student] .self-eval-sheet label{grid-template-columns:86px minmax(0,1fr)}.student-route[data-theme=student] .self-eval-sheet label>span{font-size:13px}}@media(max-width:900px){.teacher-shell{display:block}.sidebar{display:none}.mobile-tabs{position:sticky;top:0;z-index:30;display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(15,22,40,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mobile-tab{flex:1 0 auto;padding:13px 14px;border:0;border-bottom:2px solid transparent;background:none;color:#cbd5e1;font-size:13px;font-weight:800}.mobile-tab.active-programs{border-bottom-color:var(--color-programs);color:#a5b4fc}.mobile-tab.active-class{border-bottom-color:var(--color-class);color:#7dd3fc}.mobile-tab.active-individual{border-bottom-color:var(--color-individual);color:#6ee7b7}.main-header,.main-header.tall{padding:16px}.main-header,.header-row,.header-actions,.filter-toolbar,.teacher-query-row{align-items:stretch;flex-direction:column}.teacher-query-row .search-wrap.align-left,.teacher-query-row .filter-toolbar{width:100%}.view-content{padding:16px}.data-table th:nth-child(2),.data-table th:nth-child(3),.data-table th:nth-child(4),.data-table td:nth-child(2),.data-table td:nth-child(3),.data-table td:nth-child(4){display:none}.search-input,.form-input,.search-wrap.full{width:100%}.drawer-panel{width:100vw}.wizard-shell,.wizard-form-grid,.wizard-edit-student-card,.admin-stat-grid,.admin-grid,.student-grid,.student-editor-head,.student-row{grid-template-columns:1fr}.student-topbar,.student-panel-head,.admin-hero,.admin-card-head,.admin-log-row,.route-topbar,.delete-zone,.self-eval-actions{align-items:stretch;flex-direction:column}.student-page,.student-topbar{padding:16px}.student-record-list{max-height:none}.self-eval-panel{position:static}.self-eval-sheet label{grid-template-columns:1fr}.self-eval-sheet label>span{border-right:0;border-bottom:1px solid rgba(148,163,184,.18)}.wizard-header,.wizard-section-head{align-items:stretch;flex-direction:column}}body.nm-design-route{--nm-bg: #1c2742;--nm-surface: #1c2742;--nm-inset: #18223a;--nm-text-strong: #f1f5f9;--nm-text: #cbd5e1;--nm-muted: #8a99b5;--nm-dark: rgba(0, 0, 0, .45);--nm-light: rgba(255, 255, 255, .045);--nm-shadow-raised: 6px 6px 14px var(--nm-dark), -6px -6px 14px var(--nm-light);--nm-shadow-raised-sm: 3px 3px 8px var(--nm-dark), -3px -3px 8px var(--nm-light);--nm-shadow-inset: inset 4px 4px 9px var(--nm-dark), inset -4px -4px 9px var(--nm-light);--nm-focus: #818cf8;--phase-1: #818cf8;--phase-1-rgb: 129, 140, 248;--phase-2: #34d399;--phase-2-rgb: 52, 211, 153;--phase-3: #38bdf8;--phase-3-rgb: 56, 189, 248;background:var(--nm-bg);color:var(--nm-text)}body.nm-design-route:before{display:none}body.nm-design-route .teacher-shell,body.nm-design-route .workspace,body.nm-design-route .standalone-route,body.nm-design-route .view-pane{background:var(--nm-bg);color:var(--nm-text)}body.nm-design-route .glass,body.nm-design-route .sidebar,body.nm-design-route .main-header,body.nm-design-route .table-card,body.nm-design-route .student-card,body.nm-design-route .record-card,body.nm-design-route .drawer-panel,body.nm-design-route .drawer-student,body.nm-design-route .page-card,body.nm-design-route .admin-hero,body.nm-design-route .admin-stat,body.nm-design-route .admin-card,body.nm-design-route .wizard-side,body.nm-design-route .wizard-main,body.nm-design-route .wizard-task,body.nm-design-route .wizard-job,body.nm-design-route .info-box,body.nm-design-route .empty-state{border:0;background:var(--nm-surface);box-shadow:var(--nm-shadow-raised);backdrop-filter:none;-webkit-backdrop-filter:none}body.nm-design-route .sidebar{border-right:0;padding:22px 14px}body.nm-design-route .sidebar-logo,body.nm-design-route .sidebar-profile,body.nm-design-route .wizard-brand,body.nm-design-route .wizard-jobs,body.nm-design-route .wizard-header,body.nm-design-route .drawer-header{border-color:rgba(255,255,255,.06)}body.nm-design-route .brand-title,body.nm-design-route .main-header h2,body.nm-design-route .drawer-header h3,body.nm-design-route .admin-hero h1{color:var(--nm-text-strong);font-weight:800}body.nm-design-route .admin-card h2,body.nm-design-route .wizard-brand h2,body.nm-design-route .wizard-header h2,body.nm-design-route .student-card strong,body.nm-design-route .wizard-task strong,body.nm-design-route .wizard-job strong,body.nm-design-route .admin-log-row strong{color:var(--nm-text-strong);font-weight:700}body.nm-design-route .eyebrow,body.nm-design-route .brand-subtitle,body.nm-design-route .profile-email,body.nm-design-route .main-header p,body.nm-design-route .wizard-muted,body.nm-design-route .wizard-task small,body.nm-design-route .admin-muted,body.nm-design-route .admin-log-row span,body.nm-design-route .admin-log-row time{color:var(--nm-muted)}body.nm-design-route .btn-primary,body.nm-design-route .btn-ghost,body.nm-design-route .icon-button,body.nm-design-route .choice-chip,body.nm-design-route .nav-item,body.nm-design-route .mobile-tab,body.nm-design-route .action-btn{border:0;background:var(--nm-surface);box-shadow:var(--nm-shadow-raised-sm);color:var(--nm-text);font-weight:600}body.nm-design-route .btn-primary:hover,body.nm-design-route .btn-ghost:hover,body.nm-design-route .icon-button:hover,body.nm-design-route .choice-chip:hover,body.nm-design-route .nav-item:hover{background:var(--nm-surface);box-shadow:5px 5px 12px var(--nm-dark),-5px -5px 12px var(--nm-light)}body.nm-design-route .btn-primary:active,body.nm-design-route .btn-ghost:active,body.nm-design-route .icon-button:active,body.nm-design-route .choice-chip:active,body.nm-design-route .nav-item:active{box-shadow:var(--nm-shadow-inset);transform:translateY(1px)}body.nm-design-route .btn-primary:disabled,body.nm-design-route .btn-ghost:disabled,body.nm-design-route .form-input:disabled,body.nm-design-route .form-select:disabled,body.nm-design-route .form-textarea:disabled{box-shadow:none;opacity:.5}body.nm-design-route .search-input,body.nm-design-route .form-input,body.nm-design-route .form-select,body.nm-design-route .form-textarea,body.nm-design-route .select-pill select,body.nm-design-route .student-lookup-cell,body.nm-design-route .check-row,body.nm-design-route .admin-check{border:0;background-color:var(--nm-inset);box-shadow:var(--nm-shadow-inset);color:var(--nm-text-strong)}body.nm-design-route .search-input:focus,body.nm-design-route .form-input:focus,body.nm-design-route .form-select:focus,body.nm-design-route .form-textarea:focus,body.nm-design-route .select-pill select:focus,body.nm-design-route .btn-primary:focus-visible,body.nm-design-route .btn-ghost:focus-visible,body.nm-design-route .nav-item:focus-visible,body.nm-design-route .choice-chip:focus-visible{outline:2px solid var(--nm-focus);outline-offset:2px;box-shadow:var(--nm-shadow-inset)}body.nm-design-route .nav-item.active-programs,body.nm-design-route .mobile-tab.active-programs{color:#a5b4fc;box-shadow:var(--nm-shadow-inset)}body.nm-design-route .nav-item.active-class,body.nm-design-route .mobile-tab.active-class{color:#7dd3fc;box-shadow:var(--nm-shadow-inset)}body.nm-design-route .nav-item.active-individual,body.nm-design-route .mobile-tab.active-individual{color:#6ee7b7;box-shadow:var(--nm-shadow-inset)}body.nm-design-route .choice-chip.active-register,body.nm-design-route .wizard-task.active-register{color:#c7d2fe;box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(129,140,248,.28)}body.nm-design-route .wizard-task.active-feedback{color:#6ee7b7;box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(52,211,153,.28)}body.nm-design-route .wizard-task.active-edit{color:#7dd3fc;box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(56,189,248,.28)}body.nm-design-route .data-table th{background:var(--nm-inset);color:var(--nm-muted);font-weight:600}body.nm-design-route .data-table td{border-color:rgba(255,255,255,.06);color:var(--nm-text)}body.nm-design-route .data-table tbody tr:hover td{background:rgba(255,255,255,.035)}body.nm-design-route .record-box.teacher{border-left:3px solid #f87171;background:rgba(127,29,29,.22)}body.nm-design-route .record-box.student{border-left:3px solid var(--color-programs);background:rgba(99,102,241,.16)}body.nm-design-route .student-lookup-cell.status-found{color:#6ee7b7;background:rgba(16,185,129,.16)}body.nm-design-route .student-lookup-cell.status-inactive{color:#fcd34d;background:rgba(245,158,11,.16)}body.nm-design-route .student-lookup-cell.status-missing{color:#fca5a5;background:rgba(127,29,29,.34)}body.nm-design-route .success-state{border:0;background:rgba(16,185,129,.16);color:#6ee7b7;box-shadow:var(--nm-shadow-raised-sm)}body.nm-design-route .error-state{border:0;background:rgba(127,29,29,.34);color:#fca5a5;box-shadow:var(--nm-shadow-raised-sm)}body.nm-design-route .admin-status-pill{border:0;background:var(--nm-inset);box-shadow:var(--nm-shadow-inset);font-weight:600}body.nm-design-route .admin-status-pill.success{color:#6ee7b7;background:rgba(16,185,129,.16)}body.nm-design-route .admin-status-pill.danger,body.nm-design-route .action-btn.danger{color:#fca5a5;background:rgba(127,29,29,.34)}body.nm-design-route .admin-stat strong{color:var(--nm-text-strong);font-weight:800}body.nm-design-route .admin-log-row,body.nm-design-route .admin-sync-result span{border:0;background:var(--nm-inset);box-shadow:var(--nm-shadow-inset)}body.nm-design-route .wizard-mobile-stepper{display:none}body.nm-design-route .wizard-main{transition:box-shadow .3s ease}body.nm-design-route .wizard-main[data-phase="1"]{--phase-accent: var(--phase-1);--phase-rgb: var(--phase-1-rgb);box-shadow:var(--nm-shadow-raised),0 22px 56px -30px rgba(var(--phase-1-rgb),.6)}body.nm-design-route .wizard-main[data-phase="2"]{--phase-accent: var(--phase-2);--phase-rgb: var(--phase-2-rgb);box-shadow:var(--nm-shadow-raised),0 22px 56px -30px rgba(var(--phase-2-rgb),.6)}body.nm-design-route .wizard-main[data-phase="3"]{--phase-accent: var(--phase-3);--phase-rgb: var(--phase-3-rgb);box-shadow:var(--nm-shadow-raised),0 22px 56px -30px rgba(var(--phase-3-rgb),.6)}body.nm-design-route .wizard-phase-banner{display:flex;align-items:center;gap:14px;margin:18px 20px 0;padding:15px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(var(--phase-rgb),.22),rgba(var(--phase-rgb),.05));box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(var(--phase-rgb),.24)}body.nm-design-route .phase-step{flex:0 0 auto;min-width:58px;height:54px;display:grid;place-items:center;padding:0 10px;border-radius:15px;background:var(--phase-accent);color:#0f1a30;box-shadow:4px 4px 12px rgba(var(--phase-rgb),.42),-3px -3px 9px rgba(255,255,255,.06);font-size:12px;font-weight:700}body.nm-design-route .wizard-phase-banner h2{margin:0;color:var(--nm-text-strong);font-size:19px;font-weight:700}body.nm-design-route .wizard-phase-banner p:not(.eyebrow){margin:4px 0 0;color:var(--nm-muted);font-size:13px}body.nm-design-route .phase-tag{margin-left:auto;flex:0 0 auto;padding:5px 12px;border-radius:999px;color:var(--phase-accent);background:rgba(var(--phase-rgb),.18);font-size:11px;font-weight:700}body.nm-design-route .wizard-header{justify-content:flex-end;padding:16px 20px 18px;border-bottom:0}body.nm-design-route .wizard-header>div:first-child,body.nm-design-route .wizard-header .view-header-bar{display:none}body.nm-design-route .wizard-actionbar{display:none}@media(max-width:900px){body.nm-design-route .mobile-tabs{border-bottom:0;background:var(--nm-bg);box-shadow:var(--nm-shadow-raised-sm);backdrop-filter:none;-webkit-backdrop-filter:none}body.nm-design-route .wizard-mobile-stepper{position:sticky;top:0;z-index:35;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:10px;border-radius:18px;background:var(--nm-bg);box-shadow:var(--nm-shadow-raised)}body.nm-design-route .wizard-stepper-step{min-height:52px;display:grid;gap:2px;place-items:center;border:0;border-radius:13px;background:var(--nm-surface);color:var(--nm-muted);box-shadow:var(--nm-shadow-raised-sm);font-family:inherit}body.nm-design-route .wizard-stepper-step span{font-size:10.5px;font-weight:600}body.nm-design-route .wizard-stepper-step strong{color:inherit;font-size:12.5px;font-weight:700}body.nm-design-route .wizard-stepper-step.active{box-shadow:var(--nm-shadow-inset);color:var(--nm-text-strong)}body.nm-design-route .wizard-stepper-step.active.phase-1{color:var(--phase-1)}body.nm-design-route .wizard-stepper-step.active.phase-2{color:var(--phase-2)}body.nm-design-route .wizard-stepper-step.active.phase-3{color:var(--phase-3)}body.nm-design-route .wizard-side{display:none}body.nm-design-route .wizard-shell{grid-template-columns:1fr}body.nm-design-route .wizard-phase-banner{align-items:flex-start;flex-direction:column;margin:14px}body.nm-design-route .phase-tag{margin-left:0}body.nm-design-route .wizard-header{display:none}body.nm-design-route .wizard-body{padding:14px}body.nm-design-route .wizard-actionbar{position:sticky;bottom:0;z-index:25;display:flex;padding:12px 14px 14px;background:var(--nm-bg);box-shadow:0 -8px 20px rgba(0,0,0,.35)}body.nm-design-route .wizard-actionbar .btn-primary{width:100%}}.clickable-row{cursor:pointer}.clickable-row:hover{background:rgba(129,140,248,.1)}.drawer-header-actions{display:inline-flex;align-items:center;gap:8px}.category-badge,.category-choice{border:0}.badge-career{color:#bfdbfe;background:rgba(37,99,235,.28)}.badge-autonomy{color:#bbf7d0;background:rgba(22,163,74,.24)}.badge-reference{color:#fde68a;background:rgba(245,158,11,.24)}.badge-neutral{color:#cbd5e1;background:rgba(148,163,184,.16)}.record-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.search-wrap.align-left{max-width:420px;justify-self:start}.student-panel-title-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.student-year-toggle{display:inline-flex;flex-wrap:wrap;gap:7px}.year-toggle-btn{min-height:32px;padding:6px 12px;border:0;border-radius:999px;background:var(--student-surface);color:var(--student-muted);box-shadow:var(--student-raised-sm);font-family:inherit;font-weight:800;cursor:pointer}.year-toggle-btn.active{background:#4f46e5;color:#fff;box-shadow:4px 4px 12px rgba(79,70,229,.3),-3px -3px 9px rgba(255,255,255,.72)}.student-route[data-theme=student] .self-eval-inline-panel{background:#fffaf0;box-shadow:0 18px 36px rgba(180,133,67,.18),inset 0 0 0 1px rgba(217,119,6,.18)}.student-route[data-theme=student] .self-eval-inline-panel .eval-step-card,.student-route[data-theme=student] .self-eval-sheet,.student-route[data-theme=student] .self-eval-preview{background:#fffdf7}.student-route[data-theme=student] .manual-activity-input{background:#fff;color:#111827;box-shadow:inset 0 0 0 1px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.06)}.student-route[data-theme=student] .self-eval-actions .btn-sky{background:#2563eb;color:#fff}.student-route[data-theme=student] .self-eval-actions .btn-emerald{background:#16a34a;color:#fff}.dept-chip.tone-dept-1{color:#bfdbfe;background:rgba(37,99,235,.18)}.dept-chip.tone-dept-2{color:#bbf7d0;background:rgba(22,163,74,.18)}.dept-chip.tone-dept-3{color:#ddd6fe;background:rgba(124,58,237,.18)}.dept-chip.tone-dept-4{color:#fecaca;background:rgba(239,68,68,.16)}.dept-chip.tone-dept-5{color:#fde68a;background:rgba(245,158,11,.16)}.dept-chip.tone-dept-6{color:#a5f3fc;background:rgba(6,182,212,.16)}.dept-chip.tone-dept-7{color:#fbcfe8;background:rgba(219,39,119,.16)}.dept-chip.active-register,.category-choice.active-register{color:#fff;box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(255,255,255,.1)}.category-choice.badge-career.active-register{background:#2563eb}.category-choice.badge-autonomy.active-register{background:#16a34a}.category-choice.badge-reference.active-register{background:#d97706}.register-top-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:end}.inline-action-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.wizard-edit-loader{grid-template-columns:minmax(0,1fr) auto}.btn-edit-load{min-height:44px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff}body.nm-design-route .wizard-phase-banner{min-height:auto;margin:10px 14px 0;padding:10px 14px;border-radius:14px}body.nm-design-route .phase-step{min-width:48px;height:44px;border-radius:12px}body.nm-design-route .wizard-phase-banner h2{font-size:17px}body.nm-design-route .wizard-phase-banner p:not(.eyebrow){margin-top:2px;font-size:12px}body.nm-design-route .wizard-header{padding:10px 14px 12px}body.nm-design-route .wizard-primary-action,body.nm-design-route .wizard-actionbar .btn-primary{min-height:46px;padding-inline:18px;border-radius:13px;font-size:14px}body.nm-design-route .wizard-actionbar{display:flex;justify-content:flex-end;padding:12px 20px 18px;background:transparent}body.nm-design-route .wizard-actionbar .btn-primary{min-width:180px;min-height:52px;font-size:15px}body.nm-design-route .wizard-job{cursor:pointer;border:0;background:var(--nm-inset);box-shadow:var(--nm-shadow-inset)}body.nm-design-route .wizard-job.selected{box-shadow:var(--nm-shadow-inset),0 0 0 1px rgba(129,140,248,.3)}.job-status-tag{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900}.job-status-tag.status-pending{color:#fde68a;background:rgba(245,158,11,.18)}.job-status-tag.status-processing{color:#bfdbfe;background:rgba(37,99,235,.2)}.job-status-tag.status-done{color:#bbf7d0;background:rgba(22,163,74,.2)}.job-status-tag.status-failed{color:#fecaca;background:rgba(239,68,68,.22)}.wizard-job-detail{display:grid;gap:5px;padding:10px;border-radius:12px;background:rgba(15,23,42,.28);box-shadow:var(--nm-shadow-inset)}.wizard-job-detail strong{color:var(--nm-text-strong);font-size:12.5px}.wizard-job-detail p,.wizard-job-detail small{margin:0;color:var(--nm-muted);font-size:11.5px;line-height:1.4}@media(max-width:900px){.record-box-grid,.register-top-grid,.inline-action-field,.wizard-edit-loader{grid-template-columns:1fr}.search-wrap.align-left{max-width:none}}.signed-out-screen{--login-bg-main: #071a36;--login-bg-sub: #0b2a55;--login-surface: #10284d;--login-surface-soft: #15315d;--login-card-light: #f5f8ff;--login-card-light-2: #eaf1fb;--login-text-main: #ffffff;--login-text-muted: #c8d4e8;--login-text-dark: #10213f;--login-accent: #4f7cff;--login-shadow-dark: rgba(0, 0, 0, .42);--login-shadow-light: rgba(120, 160, 220, .18);--login-shadow-card-dark: rgba(9, 22, 45, .28);--login-shadow-card-light: rgba(255, 255, 255, .82);display:block;overflow:auto;padding:clamp(28px,6vw,76px);background:radial-gradient(circle at 18% 16%,rgba(79,124,255,.22),transparent 34%),radial-gradient(circle at 88% 24%,rgba(56,189,248,.12),transparent 30%),linear-gradient(145deg,var(--login-bg-sub) 0%,var(--login-bg-main) 48%,#041127 100%);color:var(--login-text-main)}.signed-out-screen:before,.signed-out-screen:after{content:"";position:fixed;pointer-events:none}.signed-out-screen:before{inset:auto -10% -24% 52%;height:48%;border:1px solid rgba(79,124,255,.22);border-radius:50% 0 0;transform:rotate(-10deg)}.signed-out-screen:after{right:clamp(24px,5vw,72px);top:clamp(70px,9vw,128px);width:76px;height:76px;opacity:.3;background-image:radial-gradient(circle,rgba(200,212,232,.45) 2px,transparent 2.5px);background-size:16px 16px}.login-neo-layout{position:relative;z-index:1;width:min(1260px,100%);min-height:calc(100vh - clamp(56px,12vw,152px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);align-items:center;gap:clamp(44px,7vw,96px)}.login-neo-layout,.login-hero-panel,.login-hero-copy,.login-feature-grid,.login-auth-card{min-width:0}.login-hero-panel{display:grid;gap:clamp(28px,4vw,42px)}.login-school-brand{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content}.login-school-logo{width:clamp(270px,31vw,430px);max-height:118px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.34)) drop-shadow(0 0 12px rgba(210,228,255,.2))}.login-school-mark{width:76px;height:76px;display:grid;place-items:center;border-radius:24px;color:#f8fbff;background:linear-gradient(145deg,#15315d,#0b2141);border:1px solid rgba(255,255,255,.1);box-shadow:12px 12px 26px rgba(0,0,0,.34),-8px -8px 22px rgba(120,160,220,.15)}.login-school-mark svg{width:34px;height:34px;stroke-width:1.8}.login-school-brand strong{display:block;color:var(--login-text-main);font-size:clamp(24px,2vw,34px);font-weight:900;letter-spacing:-.01em}.login-school-brand span{display:block;margin-top:5px;color:var(--login-text-muted);font-size:14px;font-weight:700;letter-spacing:.12em}.login-hero-copy{max-width:820px}.login-kicker{margin:0 0 14px;color:#9eb8ed;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.login-hero-copy h1{margin:0;color:var(--login-text-main);font-size:clamp(42px,5vw,68px);font-weight:900;letter-spacing:-.03em;line-height:1.08;text-shadow:0 10px 32px rgba(0,0,0,.3)}.login-hero-copy p:not(.login-kicker){max-width:none;margin:24px 0 0;color:var(--login-text-muted);font-size:clamp(17px,1.25vw,20px);font-weight:600;line-height:1.5;white-space:nowrap}.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:720px}.login-feature-card{min-height:190px;padding:28px;border-radius:24px;background:linear-gradient(145deg,#122d56,#0b2141);border:1px solid rgba(255,255,255,.08);box-shadow:14px 14px 28px rgba(0,0,0,.35),-10px -10px 24px rgba(95,135,200,.14)}.login-feature-icon{width:66px;height:66px;display:grid;place-items:center;margin-bottom:24px;border-radius:999px;color:#f8fbff;background:linear-gradient(145deg,#1f4b8d,#143567);box-shadow:8px 8px 18px rgba(0,0,0,.28),-6px -6px 16px rgba(122,164,231,.18)}.login-feature-icon svg{width:31px;height:31px;stroke-width:1.8}.login-feature-card h2{margin:0;color:var(--login-text-main);font-size:clamp(22px,2vw,28px);font-weight:900;letter-spacing:-.02em}.login-feature-card p{margin:12px 0 0;color:var(--login-text-muted);font-size:15px;font-weight:600;line-height:1.55}.login-auth-card{width:min(470px,100%);justify-self:center;padding:clamp(34px,4vw,54px) clamp(34px,3.5vw,48px);border-radius:24px;text-align:center;color:var(--login-text-dark);background:linear-gradient(145deg,#ffffff,var(--login-card-light-2));border:1px solid rgba(255,255,255,.78);box-shadow:18px 18px 40px rgba(8,22,45,.28),-10px -10px 24px rgba(255,255,255,.78)}.login-lock-badge{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 26px;border-radius:999px;color:#1f4b8d;background:linear-gradient(145deg,#eef4fc,#dce6f2);box-shadow:8px 8px 18px rgba(8,22,45,.16),-7px -7px 16px rgba(255,255,255,.92)}.login-lock-badge svg{width:28px;height:28px;stroke-width:1.9}.login-auth-card h2{margin:0;color:#0b2044;font-size:clamp(38px,3vw,50px);font-weight:900;letter-spacing:-.04em}.login-auth-card p{margin:16px 0 0;color:#244165;font-size:16px;font-weight:700;line-height:1.45;white-space:nowrap}.login-divider{height:2px;margin:28px 0;border-radius:999px;background:#edf3fb;box-shadow:inset 2px 2px 4px rgba(8,22,45,.12),inset -2px -2px 4px rgba(255,255,255,.9)}.google-login-button{width:100%;min-height:64px;display:inline-flex;align-items:center;justify-content:center;gap:16px;border:0;border-radius:14px;background:linear-gradient(145deg,#fff,#eef4fc);color:#10213f;box-shadow:10px 10px 22px rgba(8,22,45,.18),-8px -8px 18px rgba(255,255,255,.88);font-family:inherit;font-size:18px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.google-login-button:hover{transform:translateY(-2px);background:linear-gradient(145deg,#fff,#f3f7fe);box-shadow:13px 13px 28px rgba(8,22,45,.2),-9px -9px 20px rgba(255,255,255,.95)}.google-login-button:active{transform:translateY(0);box-shadow:inset 5px 5px 10px rgba(8,22,45,.18),inset -5px -5px 10px rgba(255,255,255,.85)}.google-login-button:focus-visible{outline:3px solid rgba(79,124,255,.45);outline-offset:4px}.google-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#fff;box-shadow:inset 2px 2px 4px rgba(8,22,45,.08),inset -2px -2px 4px rgba(255,255,255,.92)}.google-mark svg{width:24px;height:24px;display:block}.login-auth-card small{display:block;margin-top:26px;color:#304b70;font-size:14px;font-weight:800}@media(max-width:980px){.signed-out-screen{padding:28px 18px}.login-neo-layout{min-height:auto;grid-template-columns:1fr;gap:30px}.login-school-brand,.login-hero-copy{margin-inline:auto;text-align:center}.login-hero-copy h1{font-size:clamp(34px,8vw,46px)}.login-hero-copy p:not(.login-kicker){margin-top:16px;font-size:17px;white-space:normal;text-wrap:balance}.login-feature-grid{width:min(680px,100%);margin-inline:auto}}@media(max-width:640px){.signed-out-screen:before,.signed-out-screen:after{display:none}.login-school-brand{justify-content:center}.login-school-logo{width:min(310px,80vw);max-height:88px}.login-school-mark{width:58px;height:58px;border-radius:18px;box-shadow:8px 8px 18px rgba(0,0,0,.3),-6px -6px 16px rgba(120,160,220,.12)}.login-school-brand strong{font-size:22px}.login-school-brand span{font-size:11px}.login-hero-copy h1{max-width:330px;margin-inline:auto;font-size:30px;line-height:1.18;word-break:keep-all;text-wrap:balance}.login-hero-copy p:not(.login-kicker){max-width:330px;margin-inline:auto}.login-feature-grid{grid-template-columns:1fr;gap:14px}.login-feature-card{min-height:0;padding:20px;border-radius:18px;box-shadow:9px 9px 20px rgba(0,0,0,.32),-6px -6px 16px rgba(95,135,200,.12)}.login-feature-icon{width:54px;height:54px;margin-bottom:16px}.login-feature-card h2{font-size:21px}.login-auth-card{padding:28px 22px;border-radius:20px;box-shadow:12px 12px 28px rgba(8,22,45,.24),-7px -7px 18px rgba(255,255,255,.7)}.login-lock-badge{width:60px;height:60px;margin-bottom:20px}.login-auth-card h2{font-size:34px}.login-auth-card p{font-size:15px;white-space:normal}.google-login-button{min-height:56px;font-size:16px}.student-brand-block{align-items:flex-start;flex-direction:column;gap:10px}.student-school-logo{width:min(300px,100%);max-height:72px}}
