*,: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:Inter,Segoe UI,sans-serif;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}.table{display:table}.capitalize{text-transform:capitalize}.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)}:root{color-scheme:dark;font-family:Inter,Segoe UI,sans-serif;font-synthesis:none;--bg: #09090f;--panel: #111119;--panel-2: #171721;--line: #292936;--muted: #9593a6;--text: #f6f5fb;--purple: #8b5cf6;--purple-2: #a78bfa;--purple-soft: rgba(139, 92, 246, .13);--green: #34d399;--red: #fb7185}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% -5%,rgba(124,58,237,.12),transparent 28%),var(--bg);color:var(--text)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--purple-2);outline-offset:2px}h1,h2,h3,p{margin-top:0}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--muted)}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#a78bfa,#6d28d9);color:#fff;font-size:20px;font-weight:800;box-shadow:0 12px 30px #6d28d947}.brand-mark.pulse{animation:pulse 1.5s infinite}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:248px;border-right:1px solid rgba(255,255,255,.07);background:#0a0a10e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;padding:26px 18px 18px}.brand{display:flex;align-items:center;gap:12px}.brand>div{min-width:0;display:flex;flex-direction:column}.brand strong{font-size:15px}.brand small{color:var(--muted);margin-top:3px}.side-nav{display:flex;flex-direction:column;gap:5px;margin:38px 0}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 13px;border-radius:11px;color:#aaa8b8;font-size:14px;font-weight:600;transition:.18s}.nav-link:hover{color:#fff;background:#ffffff0a}.nav-link.active{color:#fff;background:linear-gradient(90deg,#8b5cf633,#8b5cf612);box-shadow:inset 3px 0 var(--purple)}.sidebar-profile{margin-top:auto;padding:13px 5px 3px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}.avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#29233b;color:#c4b5fd;font-weight:750}.avatar.small{width:30px;height:30px;font-size:12px}.profile-copy{flex:1;min-width:0;display:flex;flex-direction:column}.profile-copy strong,.profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:12px}.profile-copy small{margin-top:2px;color:var(--muted);font-size:10px}.main{margin-left:248px;min-height:100vh}.page{width:min(1500px,100%);margin:0 auto;padding:42px 44px 60px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.page-header h1{margin:7px 0 8px;font-size:clamp(28px,3vw,39px);letter-spacing:-.035em}.page-header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:9px}.eyebrow{color:var(--purple-2);text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:800}.button{min-height:40px;border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;cursor:pointer;font-size:13px;font-weight:700;transition:.18s;white-space:nowrap}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 8px 24px #6d28d938}.button-primary:hover{transform:translateY(-1px);filter:brightness(1.08)}.button-secondary{color:#eeeafd;background:#22212d;border:1px solid #343344}.button-ghost{color:#c5c2d0;background:transparent;border:1px solid #302f3b}.button-danger{color:#fecdd3;background:#f43f5e1c;border:1px solid rgba(244,63,94,.25)}.icon-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:9px;cursor:pointer;background:transparent;color:var(--muted)}.icon-button:hover{background:#ffffff0f;color:#fff}.icon-button.small{width:30px;height:30px}.input{width:100%;height:42px;border-radius:10px;border:1px solid #31303d;background:#0e0e16;color:var(--text);padding:0 12px;transition:.18s}.input:hover{border-color:#454359}.input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed21;outline:none}.input:disabled{color:#6f6d7b}.select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.card{background:linear-gradient(145deg,#14141df5,#0f0f17f5);border:1px solid rgba(255,255,255,.075);border-radius:16px;box-shadow:0 18px 45px #00000024}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{color:#b7b4c5;font-size:12px;font-weight:650}.field small{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-stack{display:flex;flex-direction:column;gap:17px}.full{grid-column:1 / -1}.form-error,.form-success{padding:10px 12px;border-radius:9px;font-size:12px}.form-error{background:#f43f5e1a;color:#fda4af;border:1px solid rgba(244,63,94,.18)}.form-success{background:#10b9811a;color:#6ee7b7;border:1px solid rgba(16,185,129,.18)}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#020207c2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .16s}.modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;border-radius:18px;border:1px solid #302e40;background:#12121b;box-shadow:0 30px 90px #0000008c;padding:22px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-head h2{margin:0;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.modal-actions.spaced{justify-content:space-between;margin-top:22px}.modal-actions.spaced>div{display:flex;gap:9px}.skeleton{border-radius:15px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(100deg,#13131c 20%,#1d1b29,#13131c 70%);background-size:300% 100%;animation:shimmer 1.5s infinite}.badge{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;white-space:nowrap}.badge-purple{color:#c4b5fd;background:#8b5cf621;border:1px solid rgba(139,92,246,.23)}.badge-green{color:#6ee7b7;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.badge-red{color:#fda4af;background:#f43f5e1a;border:1px solid rgba(244,63,94,.2)}.badge-neutral{color:#b8b5c3;background:#ffffff0b;border:1px solid rgba(255,255,255,.08)}.empty-state{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;color:var(--muted)}.empty-state>svg{color:#6f54a6;margin-bottom:12px}.empty-state h3{color:#e8e6ee;margin:0 0 7px}.empty-state p{max-width:420px;margin:0 0 18px;font-size:13px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-heading h2{margin:5px 0 0;font-size:20px}.text-link{color:#bda9ff;display:inline-flex;gap:5px;align-items:center;font-size:12px;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;overflow:hidden;position:relative;padding:30px}.login-panel{position:relative;z-index:2;width:min(1040px,100%);display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}.brand.large{margin-bottom:65px}.brand.large strong{font-size:17px}.brand.large small{font-size:12px}.login-copy h1{font-size:clamp(40px,6vw,68px);line-height:1.05;letter-spacing:-.055em;margin-bottom:22px}.login-copy h1 span{color:#9b7bff}.login-copy>p{max-width:570px;color:#a5a2b1;font-size:17px;line-height:1.7;margin-bottom:42px}.login-feature{display:inline-flex;width:48%;gap:13px;vertical-align:top}.login-feature>span{color:#8b5cf6;font-size:11px;font-weight:800}.login-feature div{display:flex;flex-direction:column}.login-feature strong{font-size:13px}.login-feature small{color:var(--muted);margin-top:5px;line-height:1.5}.login-form{padding:32px;display:flex;flex-direction:column;gap:16px}.login-form h2{margin:8px 0;font-size:27px}.login-form p{color:var(--muted);font-size:13px}.input-with-icon{position:relative}.input-with-icon>svg{position:absolute;left:13px;top:12px;color:#73707e;z-index:1}.input-with-icon .input{padding-left:42px}.login-form .button{min-height:46px;margin-top:4px}.login-hint{text-align:center;color:#6e6c78;line-height:1.5}.login-glow{position:absolute;filter:blur(4px);border-radius:50%}.glow-one{width:460px;height:460px;top:-250px;right:-100px;background:#6d28d91f}.glow-two{width:380px;height:380px;bottom:-220px;left:20%;background:#4c1d9517}.dashboard-page{max-width:1420px}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.dashboard-header h1{margin:7px 0 0;font-size:clamp(27px,3vw,38px);letter-spacing:-.04em}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;margin-bottom:18px}.week-status-card,.next-lesson-card{position:relative;overflow:hidden;min-height:228px;padding:25px}.week-status-card{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:20px;background:linear-gradient(135deg,#4d2c87e6,#21173af0 54%,#12111cfa);border-color:#a78bfa47}.week-status-glow{position:absolute;width:280px;height:280px;right:-90px;top:-160px;border-radius:50%;background:#a78bfa33;filter:blur(4px);pointer-events:none}.week-status-icon{position:relative;width:56px;height:56px;display:grid;place-items:center;border-radius:17px;color:#e9ddff;background:#ffffff1c;border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 35px #0000002e}.week-status-icon svg{width:25px}.week-status-copy{position:relative;min-width:0}.week-status-copy>span{color:#cfc1f3;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.week-status-copy h2{margin:8px 0 6px;font-size:clamp(25px,2.8vw,38px);letter-spacing:-.04em}.week-status-copy p{margin:0;color:#b8accf;font-size:12px}.week-status-copy .skeleton{margin-top:9px;max-width:280px}.week-status-metrics{position:relative;display:flex;gap:8px;align-self:stretch}.week-status-metrics div{min-width:92px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:14px;background:#09080f3b;border:1px solid rgba(255,255,255,.1)}.week-status-metrics strong{font-size:26px}.week-status-metrics span{margin-top:4px;color:#b9adc9;font-size:10px}.next-lesson-card{display:flex;flex-direction:column}.next-lesson-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.next-lesson-time{display:flex;align-items:center;gap:8px;margin-top:21px;color:#c4b5fd}.next-lesson-time strong{font-size:15px}.next-lesson-card h2{margin:9px 0 10px;max-width:520px;font-size:20px;line-height:1.25}.next-lesson-meta{display:flex;flex-wrap:wrap;gap:7px 15px;color:var(--muted);font-size:11px}.next-lesson-meta span{display:inline-flex;align-items:center;gap:5px}.next-lesson-action{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:17px;color:#cfc2ff;font-size:12px;font-weight:750}.next-lesson-action svg:last-child{margin-left:2px}.week-overview-card{margin-bottom:18px;padding:20px 22px 22px}.compact-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.compact-heading h2{margin:4px 0 0;font-size:19px}.week-overview{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-overview-day{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;transition:.16s}.week-overview-day:hover{border-color:#8b5cf657;background:#8b5cf60d}.week-overview-day.active{border-color:#a78bfa7a;background:linear-gradient(180deg,#8b5cf62e,#8b5cf60f);box-shadow:inset 0 0 0 1px #a78bfa14}.week-overview-day span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.week-overview-day strong{margin:5px 0 4px;font-size:20px}.week-overview-day i{min-height:12px;color:#817e8d;font-size:9px;font-style:normal}.week-overview-day.active span,.week-overview-day.active i{color:#c4b5fd}.dashboard-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.dashboard-grid>.card{padding:22px;min-height:360px}.date-chip{padding:7px 10px;border:1px solid var(--line);border-radius:9px;color:#c4c1cc;font-size:11px}.timeline-row{min-height:75px;display:grid;grid-template-columns:52px 15px 1fr auto;gap:11px;align-items:center;position:relative}.timeline-time{display:flex;flex-direction:column}.timeline-time strong{font-size:12px}.timeline-time span{color:var(--muted);font-size:10px;margin-top:3px}.timeline-dot{width:8px;height:8px;border:2px solid #b092ff;border-radius:50%;background:#1d1830;z-index:1}.timeline-dot:before{content:"";position:absolute;width:1px;background:#2a2737;top:0;bottom:0;margin-left:2px;z-index:-1}.timeline-content{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:11px;background:#ffffff06;border:1px solid rgba(255,255,255,.055)}.timeline-content>div{display:flex;flex-direction:column;min-width:0}.timeline-content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.timeline-content span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;margin-top:5px}.icon-link{display:flex;align-items:center;gap:2px;color:#777183;transition:.16s}.icon-link:hover{color:#c4b5fd}.upcoming-card{display:flex;flex-direction:column}.upcoming-list{display:flex;flex-direction:column;gap:8px}.upcoming-item{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;min-height:64px;padding:8px 11px;border:1px solid rgba(255,255,255,.055);border-radius:11px;background:#ffffff05;transition:.16s}.upcoming-item:hover{border-color:#8b5cf659;background:#8b5cf60d;transform:translate(2px)}.upcoming-date{height:42px;border-radius:9px;background:#201a31;display:flex;flex-direction:column;align-items:center;justify-content:center}.upcoming-date strong{font-size:15px}.upcoming-date span{color:#a78bfa;font-size:9px;text-transform:uppercase}.upcoming-copy{display:flex;flex-direction:column;min-width:0}.upcoming-copy strong,.upcoming-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-copy strong{font-size:12px}.upcoming-copy span{color:var(--muted);font-size:10px;margin-top:4px}.upcoming-item time{font-size:11px;color:#cbc8d3}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:16px}.quick-links a{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;color:#bbb7c7;background:#ffffff06;border:1px solid rgba(255,255,255,.065);font-size:11px;font-weight:700}.quick-links a:hover{color:#ddd6fe;border-color:#8b5cf64d;background:#8b5cf60f}.dashboard-empty{min-height:150px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#777383}.dashboard-empty svg{color:#68528f}.dashboard-empty strong{font-size:13px;font-weight:650}.schedule-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.schedule-page-header h1{margin:7px 0 0;font-size:clamp(29px,3vw,39px);letter-spacing:-.04em}.schedule-toolbar-new{min-height:96px;margin-bottom:16px;padding:17px 18px;display:grid;grid-template-columns:minmax(315px,1fr) auto auto;align-items:center;gap:18px}.schedule-week-nav{display:flex;align-items:center;gap:10px;min-width:0}.schedule-week-nav>.icon-button{flex:0 0 auto;border:1px solid rgba(255,255,255,.07);background:#ffffff06}.schedule-week-title{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.schedule-week-title>div{display:flex;align-items:center;gap:7px}.schedule-week-title>div>span:not(.badge){color:#777383;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.schedule-week-title>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.schedule-week-stats{display:flex;align-items:center;gap:7px}.schedule-week-stats>span{min-height:38px;display:flex;align-items:center;gap:5px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#858190;font-size:10px;white-space:nowrap}.schedule-week-stats svg{color:#8e73df}.schedule-week-stats strong{color:#e8e5ef;font-size:13px}.journal-toolbar{min-height:78px;margin-bottom:18px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.toolbar-actions{display:flex;gap:8px;align-items:center}.toolbar-actions .input{width:145px}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(148px,1fr));gap:9px;overflow-x:auto;padding-bottom:8px}.day-column{min-height:455px;overflow:hidden;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:linear-gradient(180deg,#14141ee6,#0e0e15c7)}.day-column.today{border-color:#8b5cf67a;box-shadow:0 13px 35px #4c1d951f,inset 0 1px #a78bfa21}.day-column.empty{min-height:300px;background:#0e0e1580}.day-column>header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.day-column>header>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.day-date{min-width:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;-moz-column-gap:7px;column-gap:7px;align-items:end}.day-date span{grid-column:1/-1;color:#8d8998;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.day-date strong{margin-top:4px;font-size:24px;line-height:1;letter-spacing:-.05em}.day-date small{padding-bottom:2px;color:#6e6a78;font-size:9px}.day-column.today .day-date strong{color:#c4b5fd}.day-count{min-width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#777382;background:#ffffff09;font-size:9px;font-weight:800}.day-lessons{padding:8px;display:flex;flex-direction:column;gap:8px}.lesson-card{position:relative;overflow:hidden;padding:11px;border-radius:11px;background:linear-gradient(145deg,#191822,#15151e);border:1px solid rgba(255,255,255,.075);box-shadow:0 8px 18px #0000001f}.lesson-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:#8b5cf6}.lesson-card.lesson-laboratory:before{background:#34d399}.lesson-card.lesson-practical:before{background:#60a5fa}.lesson-card.lesson-other:before{background:#8b8796}.lesson-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.lesson-actions{display:flex;align-items:center;margin-right:-5px}.lesson-actions .icon-button{color:#696574}.lesson-actions .icon-button:hover{color:#c4b5fd}.lesson-card time{color:#ded9e7;font-size:12px;font-weight:750}.lesson-card time span{margin-left:3px;color:#777382;font-size:9px;font-weight:500}.lesson-card>.badge{padding:3px 7px;font-size:8px}.lesson-card h3{margin:9px 0 5px;font-size:12px;line-height:1.4}.lesson-card p{color:#aaa6b5;font-size:10px;margin-bottom:10px}.room{color:#777382;display:flex;align-items:center;gap:4px;font-size:9px;line-height:1.35}.day-empty{min-height:185px;display:grid;place-items:center;color:#504d59;text-align:center;font-size:10px}.day-empty span{padding:7px 10px;border-radius:99px;border:1px dashed #292733}.rules-section{margin-top:20px}.rules-collapsible{border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#111119b8;overflow:hidden}.rules-collapsible>summary{min-height:70px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none}.rules-collapsible>summary::-webkit-details-marker{display:none}.rules-collapsible>summary>div{display:flex;flex-direction:column;gap:5px}.rules-collapsible>summary>div strong{font-size:14px}.rules-collapsible>summary>span{display:flex;align-items:center;gap:7px;color:#777382;font-size:10px}.rules-collapsible>summary svg{transition:transform .18s}.rules-collapsible[open]>summary svg{transform:rotate(180deg)}.rules-content{padding:0 13px 13px}.rules-list{border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}.rule-row{min-height:64px;padding:10px 14px;display:grid;grid-template-columns:150px 1fr 135px 90px;align-items:center;gap:15px;background:#12121a;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px}.rule-row:last-child{border:0}.rule-row>div{display:flex;flex-direction:column;min-width:0}.rule-row>div strong,.rule-row>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-row span{color:var(--muted);margin-top:4px}.rules-empty{padding:35px;color:#65616e;text-align:center;font-size:11px}.event-summary{display:flex;flex-direction:column;margin-bottom:18px}.event-summary span{color:var(--muted);font-size:12px;margin-top:5px}.import-intro{display:flex;gap:12px;align-items:flex-start;margin:-4px 0 20px;padding:13px;border:1px solid rgba(139,92,246,.18);border-radius:12px;background:#8b5cf60f}.import-intro>svg{flex:0 0 auto;color:#a78bfa}.import-intro div{display:flex;flex-direction:column;gap:4px}.import-intro strong{font-size:12px}.import-intro span{color:var(--muted);font-size:11px;line-height:1.5}.import-preview{margin:18px 0}.import-file{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-bottom:14px;padding:10px 12px;border-radius:10px;background:#ffffff06}.import-file span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.import-file strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.import-summary{display:flex;align-items:center;gap:18px;margin-bottom:12px}.import-summary>div:not(.import-group-list){display:flex;flex-direction:column}.import-summary strong{font-size:20px}.import-summary span{color:var(--muted);font-size:10px}.import-group-list{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.import-entry-list{max-height:265px;overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:12px}.import-entry{min-height:64px;display:grid;grid-template-columns:62px 1fr minmax(150px,.8fr);align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.055)}.import-entry:last-child{border-bottom:0}.import-entry>div{min-width:0;display:flex;flex-direction:column;gap:4px}.import-entry strong{font-size:11px}.import-entry span{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px}.import-time strong{color:#a78bfa;text-transform:uppercase}.import-room{text-align:right}.import-confirm{margin-top:14px;padding:15px;border:1px solid rgba(167,139,250,.3);border-radius:12px;background:linear-gradient(135deg,#8b5cf61f,#6d28d90d)}.import-confirm h3{margin:0 0 7px;font-size:15px}.import-confirm p{margin:0 0 11px;color:#aaa7b5;font-size:11px;line-height:1.6}.import-confirm>strong{color:#ded7ff;font-size:12px}.import-result{padding:24px 8px 8px;text-align:center}.import-result>svg{color:var(--green)}.import-result h3{margin:12px 0 8px}.import-result p{color:var(--muted);font-size:12px;line-height:1.6}.import-result .button{margin-top:8px}.import-progress{margin:16px 0;padding:14px;border:1px solid rgba(139,92,246,.26);border-radius:12px;background:#8b5cf612}.import-progress>div:first-child{display:flex;align-items:center;gap:8px;color:#ddd6fe}.import-progress strong{font-size:12px}.import-progress>span{display:block;margin:7px 0 11px;color:var(--muted);font-size:10px;line-height:1.5}.import-progress-track{height:5px;overflow:hidden;border-radius:99px;background:#292439}.import-progress-track i{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#c4b5fd);animation:importProgress 1.15s ease-in-out infinite}.journal-toolbar{justify-content:flex-start}.journal-toolbar .field{min-width:220px}.journal-actions{display:flex;align-items:flex-end;gap:7px;margin-left:auto}.save-status{display:flex;align-items:center;gap:7px;color:#777382;font-size:11px;padding-top:10px}.journal-summary{min-height:64px;padding:0 4px;display:flex;align-items:center;justify-content:space-between}.journal-summary>div:first-child{display:flex;flex-direction:column}.journal-summary strong{font-size:16px}.journal-summary span{color:var(--muted);font-size:11px;margin-top:4px}.summary-badges{display:flex;gap:6px}.attendance-table-card,.works-table-card{overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{height:48px;padding:0 15px;color:#8c8999;text-transform:uppercase;letter-spacing:.08em;font-size:9px;text-align:left;background:#ffffff06;border-bottom:1px solid var(--line)}.data-table td{height:56px;padding:8px 15px;border-bottom:1px solid rgba(255,255,255,.05)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#ffffff04}.attendance-table td:first-child{width:65px;color:#6d6979}.attendance-table td:last-child{width:260px}.status-control{display:flex;gap:6px}.status-control button{min-width:91px;height:32px;border-radius:8px;border:1px solid #302e3a;background:#171720;color:#777482;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:10px;font-weight:650}.status-control .present.active{color:#6ee7b7;border-color:#10b98159;background:#10b9811c}.status-control .absent.active{color:#fda4af;border-color:#f43f5e59;background:#f43f5e1c}.attendance-mobile{display:none}.segmented{display:flex;padding:3px;border-radius:11px;border:1px solid #2d2c38;background:#0e0e15}.segmented button{height:34px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:6px;font-size:11px;cursor:pointer}.segmented button.active{background:#262231;color:#d8cff9}.completion-meter{width:190px;margin-left:auto}.completion-meter>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.completion-meter strong{color:#c4b5fd}.meter{margin-top:7px;height:5px;background:#24232d;border-radius:99px;overflow:hidden}.meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa)}.table-scroll{overflow:auto;max-height:66vh}.works-table{min-width:-moz-max-content;min-width:max-content}.works-table th,.works-table td{text-align:center;min-width:66px;padding:8px}.works-table th{height:75px;max-width:100px}.works-table th span,.works-table th small{display:block}.works-table th small{margin-top:5px;font-size:8px;line-height:1.3;color:#706d7a;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.works-table .sticky-col{position:sticky;left:0;z-index:2;width:240px;min-width:240px;text-align:left;background:#13131c;box-shadow:1px 0 #2a2934}.works-table thead .sticky-col{z-index:3}.completion{width:30px;height:30px;margin:auto;border-radius:8px;display:grid;place-items:center;border:1px solid #34313e;background:#17161f;color:transparent;cursor:pointer}.completion:hover{border-color:#6d4ec2}.completion.active{color:#fff;border-color:#7c3aed;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.works-mobile{display:none}.directory-layout{display:grid;grid-template-columns:330px 1fr;gap:20px;align-items:start}.group-list{display:flex;flex-direction:column;gap:8px}.group-card{width:100%;min-height:67px;padding:10px 13px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:#111119;color:var(--text);display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.group-card.active{border-color:#8b5cf661;background:#8b5cf614}.group-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#211b32;color:#a78bfa}.group-card>div:nth-child(2){display:flex;flex-direction:column}.group-card strong{font-size:13px}.group-card span{color:var(--muted);font-size:10px;margin-top:4px}.group-card>svg{color:#5f5c68}.group-detail{min-height:420px;padding:22px}.assignment-chips{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:15px}.assignment-chips>span:not(.badge){color:var(--muted);font-size:11px}.student-list{border-top:1px solid var(--line)}.student-row{min-height:52px;display:grid;grid-template-columns:25px 30px 1fr;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.student-row>span{color:#656270;font-size:10px}.student-row strong{font-size:12px}.subjects-section{margin-top:38px}.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.subject-card{min-height:88px;padding:17px;display:flex;align-items:center;gap:14px}.subject-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#201a30;color:#a78bfa}.subject-icon svg{width:19px}.subject-card>div:last-child{display:flex;flex-direction:column}.subject-card strong{font-size:13px}.subject-card span{color:var(--muted);font-size:10px;margin-top:5px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid>.card{padding:25px}.card-title{display:flex;gap:13px;align-items:center;margin-bottom:25px}.card-title-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#b9a2ff;background:#211a33}.card-title-icon svg{width:20px}.card-title h2{font-size:18px;margin:0 0 5px}.card-title p{color:var(--muted);font-size:11px;margin:0}.settings-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.settings-info .card{padding:18px;display:flex;align-items:center;gap:14px}.settings-info svg{color:#8b5cf6}.settings-info div{display:flex;flex-direction:column}.settings-info strong{font-size:12px}.settings-info span{color:var(--muted);font-size:10px;margin-top:5px}.bottom-nav{display:none}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@keyframes shimmer{to{background-position-x:-300%}}@keyframes fadeIn{0%{opacity:0}}@keyframes importProgress{0%{transform:translate(-110%)}to{transform:translate(280%)}}@media(max-width:1180px){.page{padding-inline:28px}.week-status-card{grid-template-columns:52px 1fr}.week-status-metrics{grid-column:1/-1;min-height:68px}.week-status-metrics div{flex:1}.schedule-toolbar-new{grid-template-columns:1fr auto}.schedule-week-stats{grid-column:1/-1;justify-content:center}.week-grid{grid-template-columns:repeat(7,170px)}.directory-layout{grid-template-columns:280px 1fr}.subject-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{display:none}.main{margin-left:0;padding-bottom:72px}.page{padding:25px 16px 36px}.bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;height:64px;display:flex;justify-content:space-around;align-items:center;background:#0d0d14f5;border-top:1px solid #292834;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{width:20%;display:flex;flex-direction:column;align-items:center;gap:4px;color:#716e7b;font-size:8px}.bottom-nav a.active{color:#bda7ff}.page-header{align-items:center}.page-header p{font-size:12px}.page-header .button{padding:0 12px}.login-panel{grid-template-columns:1fr;max-width:420px;gap:30px}.login-copy{display:none}.dashboard-hero,.dashboard-grid,.settings-grid,.settings-info{grid-template-columns:1fr}.week-status-card{min-height:210px}.schedule-toolbar-new{grid-template-columns:1fr}.schedule-week-stats{grid-column:auto;flex-wrap:wrap}.schedule-week-stats>span{flex:1;justify-content:center}.toolbar-actions{justify-content:center}.schedule-week-grid{grid-template-columns:1fr;overflow:visible;scroll-snap-type:none}.day-column,.day-column.empty{min-height:0;scroll-snap-align:none}.day-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-empty{grid-column:1/-1;min-height:75px}.rules-list{overflow-x:auto}.rule-row{min-width:720px}.journal-toolbar{flex-wrap:wrap}.journal-actions{width:100%;margin-left:0;overflow-x:auto}.journal-summary{align-items:flex-start;flex-direction:column;gap:11px;padding:10px 4px 14px}.attendance-table-card,.works-table-card{display:none}.attendance-mobile,.works-mobile{display:flex;flex-direction:column;gap:8px}.student-attendance{padding:14px;display:flex;flex-direction:column;gap:12px}.student-attendance>div:first-child{display:flex;gap:9px;align-items:center}.student-attendance>div:first-child span{color:#6e6a78;font-size:10px}.student-attendance strong{font-size:12px}.student-attendance .status-control button{flex:1}.student-attendance .status-control{width:100%}.completion-meter{width:100%;order:3;margin-left:0}.student-works{padding:14px}.student-works-head{display:flex;justify-content:space-between;margin-bottom:10px}.mobile-work{width:100%;min-height:43px;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:10px;border:0;border-top:1px solid #282732;background:transparent;color:#aaa7b3;padding:8px 0;font-size:11px}.mobile-work i{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #36333f;border-radius:7px}.mobile-work.active{color:#fff}.mobile-work.active i{background:#7c3aed;border-color:#8b5cf6}.directory-layout{grid-template-columns:1fr}.group-detail{min-height:300px}.subject-grid,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.header-actions .button span{display:none}}@media(max-width:520px){.page-header{align-items:flex-start}.page-header h1{font-size:28px}.page-header>.button{width:42px;padding:0;font-size:0}.dashboard-header{align-items:center}.dashboard-header h1{font-size:25px}.dashboard-header .button{width:42px;padding:0;font-size:0}.week-status-card,.next-lesson-card{padding:19px}.week-status-card{grid-template-columns:44px 1fr;gap:14px}.week-status-icon{width:44px;height:44px;border-radius:13px}.week-status-copy h2{font-size:24px}.week-status-metrics{min-height:62px}.week-overview-card{padding:17px;overflow:hidden}.week-overview{grid-template-columns:repeat(7,72px);overflow-x:auto;padding-bottom:5px}.week-overview-day{min-height:80px}.dashboard-grid>.card{padding:16px}.timeline-row{grid-template-columns:46px 10px 1fr}.timeline-content{align-items:flex-start;flex-direction:column}.timeline-row .icon-link{display:none}.quick-links{margin-top:14px}.schedule-page-header{align-items:flex-start}.schedule-page-header h1{font-size:28px}.schedule-page-header .header-actions{gap:6px}.schedule-page-header .button{width:42px;padding:0}.schedule-week-nav{gap:5px}.schedule-week-title>strong{font-size:12px}.schedule-week-stats>span{min-width:95px}.schedule-toolbar-new .toolbar-actions{display:grid;grid-template-columns:1fr 130px}.schedule-toolbar-new .toolbar-actions .button{padding:0 10px;font-size:10px}.schedule-toolbar-new .toolbar-actions .input{width:100%}.day-lessons{grid-template-columns:1fr}.rules-collapsible>summary{padding-inline:14px}.summary-badges{overflow-x:auto;width:100%}.journal-toolbar .field{width:100%;min-width:0}.segmented{width:100%}.segmented button{flex:1;justify-content:center}.modal{padding:18px}.modal-actions{flex-wrap:wrap}.modal-actions .button{white-space:normal}.modal-actions.spaced{align-items:stretch;flex-direction:column-reverse}.modal-actions.spaced>div{display:grid;grid-template-columns:1fr 1fr}.modal-actions.spaced>.button{width:100%}.import-summary{align-items:flex-start;flex-wrap:wrap}.import-group-list{width:100%;margin-left:0}.import-entry{grid-template-columns:58px 1fr}.import-room{grid-column:2;text-align:left}.login-page{padding:16px}.login-form{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.disabled{opacity:.45;pointer-events:none}.attendance-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:13px;margin:0 2px 12px;font-size:10px;color:var(--muted)}.attendance-high{color:#6ee7b7!important}.attendance-medium{color:#fbbf24!important}.attendance-low{color:#fb7185!important}.attendance-neutral{color:#8b8997!important}.attendance-name{display:flex;flex-direction:column;gap:3px}.attendance-name small{color:currentColor;opacity:.72;font-size:9px;font-weight:500}.confirmation-card>svg{display:block;margin:0 auto 14px;color:var(--green)}.confirmation-card>p{color:#bbb7c8;line-height:1.65;text-align:center}.confirmation-card>p strong{color:#fff}.mobile-work span{display:flex;flex-direction:column;gap:3px}.mobile-work span small{color:#817d8c;font-size:9px}.back-link{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:6px;color:#a78bfa;cursor:pointer;font-size:11px;font-weight:700}.profile-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px;align-items:start;margin-bottom:18px}.profile-panel{padding:22px}.profile-panel .section-heading>svg{color:#8b5cf6}.term-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkpoint-editor{display:flex;flex-direction:column;gap:8px;margin:19px 0;padding-top:16px;border-top:1px solid var(--line)}.checkpoint-edit{display:grid;grid-template-columns:48px 1fr auto 1fr;gap:8px;align-items:center}.checkpoint-edit strong{font-size:11px;color:#c4b5fd}.checkpoint-edit>span{color:#666271}.panel-actions{display:flex;justify-content:flex-end;gap:8px}.plan-list{display:flex;flex-direction:column;gap:8px}.plan-row{display:grid;grid-template-columns:1fr 86px;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}.plan-row>div{display:flex;flex-direction:column;gap:4px}.plan-row strong{font-size:12px}.plan-row span{color:var(--muted);font-size:9px}.roster-panel{margin-top:18px}.student-row-actions{grid-template-columns:25px 30px 1fr auto}.student-row-actions>a{display:flex;flex-direction:column;gap:3px;min-width:0}.student-row-actions>a strong{overflow:hidden;text-overflow:ellipsis}.student-row-actions>a small{color:var(--muted);font-size:9px}.student-row-actions>div:last-child{display:flex}.danger-icon{color:#fb7185}.roster-textarea{min-height:180px;height:auto;padding:12px;resize:vertical;line-height:1.6}.roster-preview{max-height:270px;overflow:auto;border:1px solid var(--line);border-radius:12px}.roster-preview-summary{display:flex;align-items:baseline;gap:7px;padding:12px;background:#8b5cf614}.roster-preview-summary strong{font-size:20px}.roster-preview-summary span{color:var(--muted);font-size:10px}.roster-preview-row{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:9px 12px;border-top:1px solid rgba(255,255,255,.05)}.roster-preview-row span{font-size:11px}.roster-preview-row small{color:var(--muted);font-size:9px}.action-add,.action-attach{color:#6ee7b7}.action-duplicate{color:#fbbf24}.roster-removed{padding:11px 12px;border-top:1px solid rgba(244,63,94,.2);color:#fda4af;font-size:10px;line-height:1.5}.roster-removed strong{display:block;margin-bottom:4px}.student-profile-header .select{min-width:240px}.student-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.student-overview .card{min-height:118px;padding:18px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px 11px}.student-overview svg{grid-row:1/3;color:#8b5cf6}.student-overview span{color:var(--muted);font-size:10px}.student-overview strong{font-size:26px}.student-overview strong small{color:var(--muted);font-size:12px}.checkpoint-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.checkpoint-card{padding:17px}.checkpoint-card-head{display:flex;justify-content:space-between;align-items:center}.checkpoint-card-head>div{display:flex;flex-direction:column;gap:3px}.checkpoint-card-head span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.checkpoint-card-head strong{font-size:17px}.checkpoint-card>small{display:block;margin:9px 0 15px;color:var(--muted);font-size:9px}.score-line{display:grid;grid-template-columns:1fr 1fr;gap:8px}.score-line>div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:9px;background:#ffffff09}.score-line span,.score-line small{color:var(--muted);font-size:8px}.score-line strong{font-size:15px}.detail-grid{grid-template-columns:1fr 1fr}.detail-list{max-height:360px;overflow:auto}.detail-list>div{min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.05);font-size:10px}.muted{color:var(--muted);font-size:11px}@media(max-width:1180px){.checkpoint-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.profile-grid,.detail-grid,.student-overview{grid-template-columns:1fr}.student-profile-header{align-items:flex-start;flex-direction:column}.student-profile-header .select{width:100%}.student-row-actions{grid-template-columns:22px 28px 1fr}.student-row-actions>div:last-child{grid-column:3}.attendance-legend{justify-content:flex-start}}@media(max-width:520px){.checkpoint-grid{grid-template-columns:1fr}.checkpoint-edit{grid-template-columns:42px 1fr}.checkpoint-edit>span{display:none}.term-dates{grid-template-columns:1fr}.panel-actions{flex-direction:column}.panel-actions .button{width:100%}.roster-preview-row{grid-template-columns:18px 1fr}.roster-preview-row small{grid-column:2}}.semester-history{margin-bottom:18px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:18px}.semester-history>div{display:flex;align-items:center;gap:11px}.semester-history svg{color:#a78bfa}.semester-history>div>div{display:flex;flex-direction:column;gap:3px}.semester-history strong{font-size:12px}.semester-history span{color:var(--muted);font-size:9px}.semester-history .select{width:min(470px,50%)}.plan-columns,.plan-row-types{display:grid;grid-template-columns:minmax(150px,1fr) 105px 105px;gap:10px;align-items:center}.plan-columns{padding:0 0 7px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.plan-columns span:not(:first-child){text-align:center}.plan-row-types{grid-template-columns:minmax(150px,1fr) 105px 105px}.plan-row-types .input{text-align:center}.plan-save{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.modal-note{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.overview-detail{grid-column:2;color:var(--muted);font-size:9px}@media(max-width:820px){.semester-history{align-items:flex-start;flex-direction:column}.semester-history .select{width:100%}.plan-columns,.plan-row-types{grid-template-columns:1fr 88px 88px}}@media(max-width:520px){.plan-columns{display:none}.plan-row-types{grid-template-columns:1fr 1fr}.plan-row-types>div{grid-column:1/-1}.plan-row-types .input:before{content:""}}.subject-card-link{color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}.subject-card-link:hover{border-color:#8b5cf666;background:#8b5cf60f;transform:translateY(-1px)}.subject-card-link>svg{margin-left:auto;color:#706b7d}.subject-card-link small{color:#8b5cf6;font-size:10px;margin-top:7px}.subject-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px}.subject-guide,.subject-groups,.subject-catalog{padding:22px}.muted-copy,.catalog-help{color:var(--muted);font-size:12px;line-height:1.65}.guide-file{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin:14px 0;border:1px solid rgba(139,92,246,.2);border-radius:13px;background:#8b5cf612}.guide-file>div{min-width:0;display:flex;align-items:center;gap:12px}.guide-file span{min-width:0;display:flex;flex-direction:column;gap:4px}.guide-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.guide-file small{color:var(--muted)}.guide-upload{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px;align-items:end}.subject-group-links{display:flex;flex-direction:column;gap:8px}.subject-group-links a{display:flex;flex-direction:column;gap:4px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;color:var(--text);text-decoration:none;background:#ffffff05}.subject-group-links a:hover{border-color:#8b5cf659}.subject-group-links strong{font-size:12px}.subject-group-links span{color:var(--muted);font-size:10px}.catalog-totals{display:flex;gap:7px}.catalog-help{max-width:760px;margin:-3px 0 18px}.catalog-list{border-top:1px solid var(--line)}.catalog-row{min-height:58px;display:grid;grid-template-columns:145px 54px 1fr 38px;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.055)}.catalog-row>strong,.catalog-row>span:nth-child(3){font-size:12px}.work-kind{width:-moz-max-content;width:max-content;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;font-size:10px}.work-kind-practical{color:#c4b5fd;background:#8b5cf61c}.work-kind-laboratory{color:#86efac;background:#22c55e1a}.new-term-button{box-shadow:0 8px 24px #7c3aed38}.plan-hint{color:var(--muted);font-size:11px;line-height:1.55;margin:-3px 0 14px}.plan-row a{color:inherit;text-decoration:none}.plan-row a:hover{color:#c4b5fd}.plan-count{display:grid;grid-template-columns:minmax(55px,1fr) auto;align-items:center;gap:6px}.plan-count small{color:var(--muted);font-size:9px;white-space:nowrap}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}@media(max-width:820px){.subject-overview{grid-template-columns:1fr}.catalog-row{grid-template-columns:125px 48px 1fr 36px}.guide-upload{grid-template-columns:1fr}.guide-upload .button{width:100%}}@media(max-width:520px){.catalog-row{grid-template-columns:1fr 45px 36px;padding:10px 0}.catalog-row .work-kind{grid-column:1}.catalog-row>span:nth-child(3){grid-column:1/3}.new-term-button{width:auto!important}.plan-count{grid-template-columns:1fr auto}}.subject-profile-page{max-width:1460px}.subject-hero{position:relative;overflow:hidden;min-height:190px;padding:30px 32px;margin-bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border:1px solid rgba(139,92,246,.23);border-radius:20px;background:radial-gradient(circle at 82% 10%,rgba(139,92,246,.2),transparent 38%),linear-gradient(135deg,#171421,#111119 65%)}.subject-hero:after{content:"";position:absolute;width:240px;height:240px;right:-65px;bottom:-130px;border:1px solid rgba(167,139,250,.17);border-radius:50%;box-shadow:0 0 0 38px #8b5cf606,0 0 0 76px #8b5cf605;pointer-events:none}.subject-hero>*{position:relative;z-index:1}.subject-hero h1{margin:7px 0 8px;max-width:850px;font-size:34px;letter-spacing:-.03em}.subject-hero p{max-width:680px;margin:0;color:#9b97a7;font-size:12px;line-height:1.65}.subject-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.subject-stat-grid .card{min-height:86px;padding:16px;display:flex;align-items:center;gap:13px}.subject-stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px}.subject-stat-icon svg{width:19px}.subject-stat-icon.purple{color:#c4b5fd;background:#8b5cf61f}.subject-stat-icon.green{color:#86efac;background:#22c55e1a}.subject-stat-icon.blue{color:#7dd3fc;background:#0ea5e91a}.subject-stat-icon.amber{color:#fcd34d;background:#f59e0b1a}.subject-stat-grid .card>div{display:flex;flex-direction:column;gap:3px}.subject-stat-grid strong{font-size:21px}.subject-stat-grid small{color:var(--muted);font-size:9px}.subject-guide-featured{background:linear-gradient(145deg,#8b5cf611,#ffffff03)}.guide-empty{min-height:62px;margin:14px 0;border:1px dashed #383443;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;color:#777382;font-size:10px}.subject-group-links a{flex-direction:row;align-items:center}.group-link-mark{width:32px;height:32px;flex:0 0 auto;display:grid!important;place-items:center;margin:0!important;border-radius:9px;color:#c4b5fd!important;background:#8b5cf61f;font-size:10px!important;font-weight:800}.subject-group-links a>div{display:flex;flex-direction:column;gap:3px}.subject-catalog-new{padding:24px}.catalog-callout{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;margin:0 0 18px;border:1px solid rgba(139,92,246,.16);border-radius:11px;color:#aaa5b6;background:#8b5cf60b}.catalog-callout svg{flex:0 0 auto;color:#a78bfa}.catalog-callout p{margin:0;font-size:10px;line-height:1.55}.catalog-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px}.work-section{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#08080d38}.work-section>header{min-height:64px;padding:13px 15px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.work-section>header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.work-section-practical>header>span{color:#c4b5fd;background:#8b5cf61f}.work-section-laboratory>header>span{color:#86efac;background:#22c55e1a}.work-section header h3{margin:0 0 3px;font-size:12px}.work-section header small{color:var(--muted);font-size:8px}.work-catalog-list{max-height:560px;overflow:auto}.work-catalog-item{min-height:66px;padding:9px 12px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.045)}.work-catalog-item:last-child{border-bottom:0}.work-catalog-item:hover{background:#ffffff05}.work-number{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#bcb8c7;background:#22212b;font-size:10px}.work-catalog-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.work-catalog-copy>span{font-size:11px;line-height:1.4}.work-catalog-copy>small{color:#6f6b79;font-size:8px}.work-catalog-copy>a{max-width:100%;display:flex;align-items:center;gap:5px;overflow:hidden;color:#8fd8b3;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.work-catalog-actions{display:flex;gap:3px}.guide-attached{color:#6ee7b7;background:#10b98114}.work-section-empty{padding:28px 16px;color:var(--muted);text-align:center;font-size:10px}.work-guide-summary{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid var(--line);border-radius:11px}.work-guide-summary>div{display:flex;flex-direction:column;gap:4px}.work-guide-summary strong{font-size:11px}.work-guide-summary small{color:var(--muted);font-size:8px}.range-plan-panel{min-width:0}.range-plan-list{display:flex;flex-direction:column;gap:12px}.range-plan-subject{padding:14px;border:1px solid var(--line);border-radius:13px;background:#ffffff04}.range-plan-subject-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.range-plan-subject-head>div{display:flex;flex-direction:column;gap:4px}.range-plan-subject-head strong{font-size:12px}.range-plan-subject-head span{color:var(--muted);font-size:8px}.catalog-link{color:#a78bfa!important;font-size:9px;font-weight:700;white-space:nowrap}.range-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.range-editor{padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:11px;background:#111119}.range-editor-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.range-editor-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#c4b5fd;background:#8b5cf61a}.range-editor-title>div{display:flex;flex-direction:column;gap:3px}.range-editor-title strong{font-size:10px}.range-editor-title small{color:var(--muted);font-size:7px}.range-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px}.range-inputs>span{padding-bottom:11px;color:#6e6979}.range-inputs .field>span{font-size:7px}.range-inputs .input{text-align:center}.range-clear{margin-top:7px;padding:0;border:0;background:transparent;color:#8e8999;font-size:7px;cursor:pointer}.range-clear:hover{color:#fda4af}.range-empty{display:block;margin-top:7px;color:#676372;font-size:7px}@media(max-width:1180px){.subject-stat-grid{grid-template-columns:repeat(2,1fr)}.catalog-sections,.range-grid{grid-template-columns:1fr}}@media(max-width:820px){.subject-hero{min-height:170px;padding:24px}.subject-hero h1{font-size:28px}.subject-hero>.button{align-self:flex-start}.subject-stat-grid{grid-template-columns:1fr 1fr}.subject-catalog-new{padding:17px}}@media(max-width:520px){.subject-hero{align-items:flex-start;flex-direction:column}.subject-hero>.button{width:100%;font-size:11px}.subject-stat-grid{grid-template-columns:1fr}.work-catalog-item{grid-template-columns:32px 1fr}.work-catalog-actions{grid-column:2}.range-plan-subject-head{align-items:flex-start;flex-direction:column}.catalog-link{align-self:flex-start}}.subject-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.subject-hero-copy .back-link{margin-bottom:18px}.subject-hero-copy .eyebrow{display:block;margin-bottom:4px}.subject-hero-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.subject-materials-card{min-height:220px;padding:24px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:18px;background:radial-gradient(circle at 8% 10%,rgba(139,92,246,.12),transparent 35%),#12121a}.materials-card-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;color:#c4b5fd;background:linear-gradient(145deg,#8b5cf638,#8b5cf614);box-shadow:0 12px 30px #4c1d9526}.materials-card-copy{min-width:0}.materials-card-copy h2{margin:7px 0 8px;font-size:19px}.materials-card-copy p{max-width:590px;margin:0 0 16px;color:#918d9d;font-size:10px;line-height:1.65}.coverage-line{max-width:390px;height:5px;overflow:hidden;border-radius:99px;background:#292733}.coverage-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa)}.materials-card-copy>small{display:block;margin-top:7px;color:#777382;font-size:8px}.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.catalog-heading h2{margin:5px 0 4px;font-size:21px}.catalog-heading p{margin:0;color:var(--muted);font-size:9px}.catalog-toolbar{min-height:58px;margin:0 -24px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff03}.catalog-filters{display:flex;gap:5px}.catalog-filters button{height:34px;padding:0 11px;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;gap:6px;color:#85818f;background:transparent;font-size:9px;cursor:pointer}.catalog-filters button span{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:99px;color:#8f899b;background:#272530;font-size:7px}.catalog-filters button.active{border-color:#8b5cf640;color:#ded5f8;background:#8b5cf617}.catalog-filters button.active span{color:#d8cbff;background:#8b5cf62e}.catalog-search{width:230px;height:34px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #302e3a;border-radius:9px;color:#777382;background:#0e0e15}.catalog-search input{width:100%;border:0;outline:0;color:var(--text);background:transparent;font:inherit;font-size:9px}.catalog-table{margin:0 -24px -24px}.catalog-table-head,.catalog-work-row{display:grid;grid-template-columns:58px minmax(260px,1fr) minmax(180px,300px) 82px;align-items:center;gap:12px}.catalog-table-head{min-height:38px;padding:0 24px;color:#696575;text-transform:uppercase;letter-spacing:.08em;font-size:7px;background:#ffffff03}.catalog-work-row{position:relative;min-height:72px;padding:10px 24px;border-top:1px solid rgba(255,255,255,.045);transition:background .15s ease}.catalog-work-row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:0 3px 3px 0}.catalog-work-practical:before{background:#8b5cf6}.catalog-work-laboratory:before{background:#22c55e}.catalog-work-row:hover{background:#ffffff05}.catalog-work-number{width:34px;height:34px;display:grid;place-items:center;border:1px solid #302e3a;border-radius:10px;color:#c7c2d0;background:#1b1a23;font-size:10px}.catalog-work-main{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.catalog-work-main>strong{overflow:hidden;max-width:100%;color:#e8e5ec;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.catalog-work-main .work-kind{padding:3px 6px;font-size:7px}.catalog-work-guide{min-width:0}.catalog-work-guide a,.catalog-work-guide button{max-width:100%;height:31px;padding:0 9px;border:1px solid rgba(16,185,129,.18);border-radius:8px;display:flex;align-items:center;gap:6px;overflow:hidden;color:#7edcac;background:#10b9810e;text-decoration:none;font-size:8px;cursor:pointer}.catalog-work-guide a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-work-guide a svg:last-child{margin-left:auto;flex:0 0 auto}.catalog-work-guide button{border-color:#32303c;color:#898492;background:#17171f}.catalog-work-guide button:hover{border-color:#8b5cf659;color:#c4b5fd}.catalog-work-actions{display:flex;justify-content:flex-end;gap:4px}.method-upload-flow{display:flex;flex-direction:column;gap:13px}.upload-step{min-height:42px;padding:8px 10px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;color:#8c8797}.upload-step>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#958fa0;background:#25232d;font-size:9px;font-weight:800}.upload-step>div{display:flex;flex-direction:column;gap:3px}.upload-step strong{color:#bdb8c7;font-size:10px}.upload-step small{color:#716d7a;font-size:8px}.upload-step.active{border-color:#8b5cf638;background:#8b5cf60b}.upload-step.active>span{color:#ddd2ff;background:#5b35a2}.upload-step.complete>svg{color:#6ee7b7}.method-file-picker{min-height:76px;padding:14px;border:1px dashed #3a3645;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:11px;color:#8a8495;background:#ffffff03;cursor:pointer}.method-file-picker:hover{border-color:#6747b5;background:#8b5cf609}.method-file-picker>div{display:flex;flex-direction:column;gap:4px}.method-file-picker strong{color:#c8c3d0;font-size:10px}.method-file-picker small{color:#77717f;font-size:8px}.method-file-picker input{position:absolute;width:1px;height:1px;opacity:0}.method-select-actions{display:flex;flex-wrap:wrap;gap:5px}.method-select-actions button{height:27px;padding:0 8px;border:1px solid #302e39;border-radius:7px;color:#938d9d;background:#17171f;font-size:8px;cursor:pointer}.method-select-actions button:hover{border-color:#694cb0;color:#c4b5fd}.method-work-list{max-height:285px;overflow:auto;border:1px solid var(--line);border-radius:11px}.method-work-list>button{width:100%;min-height:42px;padding:7px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.045);display:grid;grid-template-columns:22px 42px 1fr 25px;align-items:center;gap:7px;color:#aaa5b2;background:transparent;text-align:left;font-size:9px;cursor:pointer}.method-work-list>button:last-child{border-bottom:0}.method-work-list>button:hover{background:#ffffff05}.method-work-list>button.selected{color:#fff;background:#8b5cf612}.method-work-list i{width:19px;height:19px;display:grid;place-items:center;border:1px solid #3a3744;border-radius:6px;color:#fff}.method-work-list button.selected i{border-color:#8b5cf6;background:#7c3aed}.method-work-list strong{font-size:8px}.method-work-list small{color:#777280;font-size:7px}.method-upload-progress{padding:12px;border:1px solid rgba(139,92,246,.24);border-radius:11px;background:#8b5cf60e}.method-upload-progress>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.method-upload-progress strong{color:#d8d1e5;font-size:9px}.method-upload-progress div span{color:#bca7fa;font-size:9px;font-weight:800}.method-upload-progress>i{display:block;height:6px;overflow:hidden;border-radius:99px;background:#2a2733}.method-upload-progress>i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#a78bfa);transition:width .15s ease}.method-upload-progress small{display:block;margin-top:7px;color:#7f7989;font-size:8px}@media(max-width:1180px){.subject-materials-card{grid-template-columns:52px 1fr}.subject-materials-card>.button{grid-column:2;justify-self:start}.catalog-table-head,.catalog-work-row{grid-template-columns:52px minmax(220px,1fr) minmax(160px,240px) 76px}}@media(max-width:820px){.subject-hero-actions{width:100%;flex-wrap:wrap}.subject-hero-actions .button{flex:1}.catalog-toolbar{align-items:stretch;flex-direction:column}.catalog-filters{overflow:auto}.catalog-search{width:100%}.catalog-table-head{display:none}.catalog-work-row{grid-template-columns:44px 1fr 72px}.catalog-work-guide{grid-column:2}.catalog-work-actions{grid-column:3;grid-row:1/3}.subject-materials-card{grid-template-columns:1fr}.materials-card-icon{width:46px;height:46px}.subject-materials-card>.button{grid-column:1}.catalog-heading{align-items:flex-start}}@media(max-width:520px){.subject-hero-actions{flex-direction:column}.subject-hero-actions .button{width:100%}.catalog-filters button{white-space:nowrap}.catalog-heading{flex-direction:column}.catalog-heading>.button{width:100%}.catalog-work-row{padding-inline:16px}.catalog-table,.catalog-toolbar{margin-inline:-17px}.catalog-table{margin-bottom:-17px}.catalog-toolbar{padding-inline:17px}.catalog-work-guide a,.catalog-work-guide button{width:100%}.method-work-list>button{grid-template-columns:21px 35px 1fr 22px}}.catalog-guide-actions{display:flex;align-items:center;gap:5px}.catalog-guide-actions>button{flex:1}.catalog-guide-actions>a{width:31px;flex:0 0 31px;padding:0;justify-content:center}.guide-file-actions{display:flex;align-items:center;gap:7px}.guide-preview-dialog{width:min(1180px,100%);overflow:hidden}.guide-preview-dialog .modal-head{margin-bottom:12px}.guide-preview{display:flex;flex-direction:column;gap:11px}.guide-preview-bar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px}.guide-preview-bar>div{min-width:0;display:flex;align-items:center;gap:10px}.guide-preview-bar>div>svg{flex:0 0 auto;color:#a78bfa}.guide-preview-bar span{min-width:0;display:flex;flex-direction:column;gap:3px}.guide-preview-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.guide-preview-bar small{color:var(--muted);font-size:8px}.guide-preview iframe{width:100%;height:min(75vh,850px);border:1px solid #34313e;border-radius:12px;background:#26242d}.guide-preview>.empty-state{min-height:420px}@media(max-width:820px){.guide-preview-dialog{width:100%;height:calc(100vh - 24px);max-height:none}.guide-preview iframe{height:calc(100vh - 155px)}.guide-file{align-items:flex-start;flex-direction:column}.guide-file-actions{width:100%}.guide-file-actions>*{flex:1}.catalog-guide-actions>button span{display:none}.catalog-guide-actions>button{flex:0 0 31px;padding:0;justify-content:center}}.subject-catalog-new{overflow:hidden}.subject-catalog-new .catalog-toolbar{margin-bottom:0}.subject-catalog-new .catalog-filters button{height:38px;padding:0 13px;border-radius:10px;font-size:11px}.subject-catalog-new .catalog-filters button span{min-width:20px;height:20px;font-size:9px}.subject-catalog-new .catalog-search{width:260px;height:38px;border-radius:10px}.subject-catalog-new .catalog-search input{font-size:11px}.subject-catalog-new .catalog-table{margin:16px 0 0;display:flex;flex-direction:column;gap:9px}.subject-catalog-new .catalog-work-row{position:relative;min-height:88px;padding:14px 16px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid #292734;border-radius:14px;background:linear-gradient(100deg,#ffffff06,#ffffff02);transition:border-color .18s ease,background .18s ease,transform .18s ease}.subject-catalog-new .catalog-work-row:hover{border-color:#3b3749;background:linear-gradient(100deg,#8b5cf60e,#ffffff03);transform:translateY(-1px)}.subject-catalog-new .catalog-work-row:before{top:18px;bottom:18px;width:3px}.subject-catalog-new .catalog-work-number{width:40px;height:40px;border-color:#353240;border-radius:12px;color:#eeeaf4;background:#211f2a;font-size:13px;box-shadow:inset 0 1px #ffffff09}.subject-catalog-new .catalog-work-main{min-width:0;gap:9px}.catalog-work-title{min-width:0;display:flex;align-items:center;gap:10px}.catalog-work-title>strong{min-width:0;overflow:hidden;color:#f1edf5;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.subject-catalog-new .catalog-work-main .work-kind{flex:0 0 auto;padding:5px 8px;border-radius:8px;font-size:9px;font-weight:650}.catalog-guide-meta{min-width:0;display:flex;align-items:center;gap:6px;color:#7fd9ae;font-size:10px}.catalog-guide-meta svg{flex:0 0 auto}.catalog-guide-meta b{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.catalog-guide-meta small{flex:0 0 auto;padding-left:7px;border-left:1px solid #34313e;color:#777281;font-size:9px}.catalog-guide-meta.empty{color:#777280}.catalog-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.catalog-row-actions button,.catalog-row-actions a{height:38px;border:1px solid #34313f;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#9993a3;background:#191821;text-decoration:none;font:inherit;font-size:10px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease}.catalog-row-actions button:hover,.catalog-row-actions a:hover{border-color:#68509e;color:#ded2ff;background:#221d30;transform:translateY(-1px)}.catalog-primary-action,.catalog-secondary-action{min-width:116px;padding:0 13px}.catalog-row-actions .catalog-primary-action{border-color:#8b5cf661;color:#e3d9ff;background:linear-gradient(135deg,#7c3aed42,#5b21b626)}.catalog-row-actions .catalog-secondary-action{border-color:#3c3747;color:#c2bbca}.catalog-icon-action{width:38px;flex:0 0 38px;padding:0}.catalog-row-actions .catalog-icon-action:nth-last-child(2){color:#73ddb1;background:#10b9810e;border-color:#10b9812e}@media(max-width:980px){.subject-catalog-new .catalog-work-row{grid-template-columns:46px minmax(0,1fr)}.catalog-row-actions{grid-column:2;justify-content:flex-start}.catalog-guide-meta b{max-width:280px}}@media(max-width:620px){.subject-catalog-new .catalog-work-row{grid-template-columns:38px minmax(0,1fr);padding:13px 12px;gap:11px}.subject-catalog-new .catalog-work-number{width:36px;height:36px}.catalog-work-title{align-items:flex-start;flex-direction:column;gap:7px}.catalog-work-title>strong{max-width:100%;white-space:normal;line-height:1.45}.catalog-guide-meta b{max-width:170px}.catalog-guide-meta small{display:none}.catalog-row-actions{grid-column:1/-1;width:100%;padding-top:2px}.catalog-primary-action,.catalog-secondary-action{flex:1}.catalog-row-actions button,.catalog-row-actions a{height:40px}.subject-catalog-new .catalog-toolbar{padding-inline:17px}.subject-catalog-new .catalog-search{width:100%}}.directory-page{max-width:1460px}.directory-hero{position:relative;overflow:hidden;margin-bottom:18px;padding:28px 30px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;border:1px solid rgba(139,92,246,.22);border-radius:20px;background:radial-gradient(circle at 88% 0,rgba(124,58,237,.18),transparent 35%),linear-gradient(135deg,#17141f,#111119 68%)}.directory-hero:after{content:"";position:absolute;right:-90px;top:-130px;width:290px;height:290px;border:1px solid rgba(167,139,250,.11);border-radius:50%;box-shadow:0 0 0 45px #8b5cf605,0 0 0 90px #8b5cf603;pointer-events:none}.directory-hero-copy,.directory-hero-actions,.directory-summary{position:relative;z-index:1}.directory-hero-copy h1{margin:7px 0 8px;font-size:36px;letter-spacing:-.04em}.directory-hero-copy p{margin:0;color:#9994a4;font-size:12px;line-height:1.6}.directory-hero-actions{display:flex;align-items:flex-start;gap:9px}.directory-summary{grid-column:1/-1;margin-top:5px;display:grid;grid-template-columns:repeat(3,minmax(150px,220px));border-top:1px solid rgba(255,255,255,.075)}.directory-summary>div{min-height:82px;padding:16px 22px 16px 0;display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;-moz-column-gap:11px;column-gap:11px;align-content:center;border-right:1px solid rgba(255,255,255,.065)}.directory-summary>div:not(:first-child){padding-left:22px}.directory-summary-icon{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px}.directory-summary-icon svg{width:18px}.directory-summary-icon.purple{color:#c4b5fd;background:#8b5cf621}.directory-summary-icon.blue{color:#7dd3fc;background:#0ea5e91a}.directory-summary-icon.green{color:#86efac;background:#22c55e1a}.directory-summary strong{font-size:20px;line-height:1}.directory-summary small{margin-top:5px;color:#777382;font-size:9px}.directory-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.directory-groups-panel{padding:18px}.directory-panel-head{min-height:54px;padding:0 2px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.directory-panel-head h2{margin:5px 0 0;font-size:18px}.directory-panel-head>span{min-width:30px;height:30px;padding:0 8px;display:grid;place-items:center;border-radius:9px;color:#c9bbf4;background:#8b5cf61f;font-size:10px;font-weight:750}.directory-groups-panel .group-list{max-height:620px;overflow:auto;gap:8px;padding-top:12px;padding-right:3px}.directory-groups-panel .group-card{position:relative;min-height:72px;padding:11px 12px;border-color:#2a2834;border-radius:13px;background:#15141c;transition:border-color .16s ease,background .16s ease,transform .16s ease}.directory-groups-panel .group-card:hover{border-color:#49415d;background:#1a1823;transform:translate(2px)}.directory-groups-panel .group-card.active{border-color:#8b5cf673;background:linear-gradient(100deg,#7c3aed29,#7c3aed0e);box-shadow:inset 3px 0 #8b5cf6}.directory-groups-panel .group-card.active>svg{color:#bca7f5;transform:translate(2px)}.directory-groups-panel .group-icon{width:40px;height:40px;border-radius:12px}.directory-groups-panel .group-card strong{font-size:13px}.directory-groups-panel .group-card span{font-size:9px}.directory-group-preview{min-height:540px;padding:0;overflow:hidden}.group-preview-hero{min-height:114px;padding:22px 24px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,rgba(139,92,246,.075),transparent 55%)}.group-preview-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(139,92,246,.25);border-radius:15px;color:#c4b5fd;background:#8b5cf61f}.group-preview-mark svg{width:24px}.group-preview-title h2{margin:4px 0 3px;font-size:24px}.group-preview-title p{margin:0;color:var(--muted);font-size:10px}.group-preview-actions{display:flex;gap:8px}.group-subjects-row{min-height:70px;padding:14px 24px;display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;gap:16px;border-bottom:1px solid var(--line);background:#ffffff03}.group-subjects-row>div:first-child{display:flex;flex-direction:column;gap:4px}.group-subjects-row>div:first-child span{color:var(--muted);font-size:9px}.group-subjects-row>div:first-child strong{font-size:17px}.group-subjects-row .assignment-chips{padding:0}.group-students-head{padding:18px 24px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.group-students-head h3{margin:5px 0 0;font-size:17px}.group-students-head>span{color:var(--muted);font-size:9px}.directory-group-preview .student-list{max-height:355px;overflow:auto;margin:0 24px 22px;border:1px solid #292733;border-radius:12px}.directory-group-preview .student-row{min-height:52px;padding:0 12px;grid-template-columns:26px 30px minmax(0,1fr) 18px;color:inherit;text-decoration:none}.directory-group-preview .student-row:hover{background:#8b5cf60e}.directory-group-preview .student-row:last-child{border-bottom:0}.directory-group-preview .student-row>span{font-variant-numeric:tabular-nums}.directory-group-preview .student-row>svg{color:#595563}.directory-subjects{margin-top:24px}.directory-section-head{margin-bottom:13px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.directory-section-head h2{margin:5px 0 4px;font-size:22px}.directory-section-head p{margin:0;color:var(--muted);font-size:10px}.directory-subjects .subject-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.directory-subjects .subject-card{min-height:104px;padding:18px;border-color:#292733;border-radius:14px;background:linear-gradient(115deg,#8b5cf609,#ffffff02)}.directory-subjects .subject-icon{width:44px;height:44px;flex:0 0 auto;border-radius:13px}.directory-subjects .subject-card>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.directory-subjects .subject-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.directory-subjects .subject-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.directory-subjects .subject-card small{color:#9b82e8;font-size:9px}.directory-subjects .subject-card>svg{flex:0 0 auto}@media(max-width:1100px){.directory-workspace{grid-template-columns:285px minmax(0,1fr)}.group-preview-hero{grid-template-columns:48px 1fr}.group-preview-actions{grid-column:2;justify-content:flex-start}.group-subjects-row{grid-template-columns:110px 1fr}}@media(max-width:820px){.directory-hero{padding:22px 20px 0;grid-template-columns:1fr}.directory-hero-actions{grid-row:2;flex-wrap:wrap}.directory-summary{grid-row:3;grid-template-columns:repeat(3,1fr)}.directory-summary>div{padding-inline:10px!important}.directory-workspace{grid-template-columns:1fr}.directory-groups-panel .group-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.directory-group-preview{min-height:480px}.directory-subjects .subject-grid{grid-template-columns:1fr}}@media(max-width:560px){.directory-hero-copy h1{font-size:30px}.directory-hero-actions{display:grid;grid-template-columns:1fr 1fr}.directory-hero-actions .button{padding-inline:9px;font-size:10px}.directory-summary{grid-template-columns:1fr}.directory-summary>div{min-height:64px;padding:10px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)}.directory-summary>div:last-child{border-bottom:0}.directory-groups-panel .group-list{grid-template-columns:1fr}.group-preview-hero{grid-template-columns:44px 1fr;padding:18px 16px}.group-preview-mark{width:44px;height:44px}.group-preview-title h2{font-size:21px}.group-preview-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.group-preview-actions .button{padding-inline:8px;font-size:9px}.group-subjects-row{padding:13px 16px;grid-template-columns:1fr}.group-subjects-row>div:first-child{flex-direction:row;align-items:center;justify-content:space-between}.group-students-head{padding:16px 16px 9px}.directory-group-preview .student-list{margin:0 16px 16px}.directory-section-head{align-items:flex-start;flex-direction:column}.directory-section-head .button{width:100%}.directory-subjects .subject-grid{grid-template-columns:minmax(0,1fr)}}.group-profile-page{max-width:1460px;scroll-behavior:smooth}.group-profile-hero{position:relative;overflow:hidden;margin-bottom:14px;padding:28px 30px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border:1px solid rgba(139,92,246,.23);border-radius:20px;background:radial-gradient(circle at 86% 0,rgba(124,58,237,.2),transparent 38%),linear-gradient(135deg,#181421,#111119 68%)}.group-profile-hero:after{content:"";position:absolute;right:-75px;bottom:-165px;width:300px;height:300px;border:1px solid rgba(167,139,250,.13);border-radius:50%;box-shadow:0 0 0 46px #8b5cf605,0 0 0 92px #8b5cf603;pointer-events:none}.group-profile-copy,.group-profile-actions,.group-profile-stats{position:relative;z-index:1}.group-profile-copy{display:flex;flex-direction:column;align-items:flex-start}.group-profile-copy .back-link{margin-bottom:17px}.term-status{padding:5px 9px;border:1px solid;border-radius:99px;font-size:8px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.term-status.active{border-color:#22c55e38;color:#86efac;background:#22c55e14}.term-status.archive{border-color:#393642;color:#96919f;background:#ffffff06}.group-profile-copy h1{margin:9px 0 7px;font-size:38px;letter-spacing:-.045em}.group-profile-copy p{margin:0;color:#9a95a5;font-size:12px;line-height:1.6}.group-profile-actions{display:flex;align-items:flex-start;gap:8px}.group-profile-stats{grid-column:1/-1;margin-top:6px;display:grid;grid-template-columns:150px 150px 165px minmax(230px,1fr);border-top:1px solid rgba(255,255,255,.075)}.group-profile-stats>div{min-height:82px;padding:15px 20px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;align-content:center;border-right:1px solid rgba(255,255,255,.065)}.group-profile-stats>div:first-child{padding-left:0}.group-profile-stats>div:last-child{border-right:0}.group-profile-stats>div>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#c4b5fd;background:#8b5cf61f}.group-profile-stats>div:nth-child(2)>span{color:#7dd3fc;background:#0ea5e91a}.group-profile-stats>div:nth-child(3)>span{color:#86efac;background:#22c55e17}.group-profile-stats>div:nth-child(4)>span{color:#fcd34d;background:#f59e0b17}.group-profile-stats svg{width:18px}.group-profile-stats strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;line-height:1.1}.group-profile-stats small{overflow:hidden;margin-top:4px;color:#777281;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.group-semester-switcher{margin-bottom:12px;min-height:70px;padding:14px 18px;border-color:#2c2936;background:linear-gradient(100deg,#8b5cf60b,#ffffff03)}.group-semester-switcher .semester-history-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#c4b5fd;background:#8b5cf61f}.group-semester-switcher>div>svg{color:inherit}.group-semester-switcher .select{min-width:360px;height:42px}.group-profile-nav{min-height:48px;margin-bottom:14px;padding:5px;display:flex;align-items:center;gap:4px;border:1px solid #292733;border-radius:13px;background:#12121a}.group-profile-nav a{height:36px;padding:0 13px;display:flex;align-items:center;gap:7px;border-radius:9px;color:#918b9b;text-decoration:none;font-size:10px;font-weight:650}.group-profile-nav a:hover{color:#ddd3fa;background:#8b5cf61a}.group-profile-page .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.group-profile-page .profile-panel{border-color:#292733;border-radius:16px;background:linear-gradient(145deg,#ffffff05,#ffffff02)}.group-panel-heading{min-height:56px;margin-bottom:18px;display:flex;align-items:center;gap:12px}.group-panel-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px}.group-panel-icon svg{width:20px}.group-panel-icon.purple{color:#c4b5fd;background:#8b5cf61f}.group-panel-icon.green{color:#86efac;background:#22c55e17}.group-panel-icon.blue{color:#7dd3fc;background:#0ea5e917}.group-panel-heading>div{min-width:0}.group-panel-heading h2{margin:5px 0 3px;font-size:19px}.group-panel-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.group-profile-page .term-panel .form-grid{margin-bottom:16px;padding:14px;border:1px solid #292733;border-radius:12px;background:#111119}.checkpoint-heading{padding-top:2px;display:flex;align-items:center;justify-content:space-between;gap:12px}.checkpoint-heading strong{font-size:12px}.checkpoint-heading span{color:var(--muted);font-size:9px}.group-profile-page .checkpoint-editor{margin:10px 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:0}.group-profile-page .checkpoint-edit{min-height:92px;padding:11px;grid-template-columns:42px 1fr;gap:8px;border:1px solid #2c2a35;border-radius:11px;background:#12121a}.group-profile-page .checkpoint-edit strong{align-self:start;height:28px;display:grid;place-items:center;border-radius:8px;color:#d3c7f7;background:#8b5cf61f;font-size:9px}.group-profile-page .checkpoint-edit .input{height:36px;font-size:9px}.group-profile-page .checkpoint-edit>span{display:none}.group-profile-page .checkpoint-edit .input:first-of-type{grid-column:2}.group-profile-page .range-plan-panel{display:flex;flex-direction:column}.group-profile-page .plan-hint{margin:0 0 13px;padding:10px 12px;border:1px solid rgba(139,92,246,.15);border-radius:10px;color:#9a94a4;background:#8b5cf60b;font-size:9px}.group-profile-page .range-plan-list{flex:1}.group-profile-page .range-plan-subject{padding:14px;border-color:#302d3a;background:#111119}.group-profile-page .range-plan-subject-head{padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.055)}.group-profile-page .range-plan-subject-head strong{color:#eee9f3;font-size:13px}.group-profile-page .range-plan-subject-head span{font-size:9px}.group-profile-page .range-editor{padding:12px;border-color:#2e2b37;background:#16151d}.group-profile-page .range-editor-title>span{width:34px;height:34px}.group-profile-page .range-editor-title strong{font-size:11px}.group-profile-page .range-editor-title small,.group-profile-page .range-inputs .field>span,.group-profile-page .range-clear,.group-profile-page .range-empty{font-size:8px}.group-profile-page .plan-save{margin-top:auto}.group-profile-page .panel-actions{padding-top:14px;border-top:1px solid var(--line)}.group-profile-page .roster-panel{margin-top:0}.roster-panel-head{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.roster-panel-head .group-panel-heading{margin-bottom:0}.roster-panel-actions{display:flex;align-items:center;gap:8px}.roster-panel-actions .badge{min-height:30px;padding-inline:10px}.group-profile-page .roster-panel .student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:0}.group-profile-page .student-row-actions{min-height:62px;padding:8px 10px;grid-template-columns:28px 32px minmax(0,1fr) auto;gap:9px;border:1px solid #292733;border-radius:11px;background:#12121a;transition:border-color .15s ease,background .15s ease}.group-profile-page .student-row-actions:hover{border-color:#3b3648;background:#17151f}.group-profile-page .student-row-actions>span{font-variant-numeric:tabular-nums}.group-profile-page .student-row-actions>a{color:inherit;text-decoration:none}.group-profile-page .student-row-actions>a strong{font-size:11px}.group-profile-page .student-row-actions>a small{font-size:8px}.group-profile-page .student-row-actions>div:last-child{gap:3px;opacity:.62;transition:opacity .15s ease}.group-profile-page .student-row-actions:hover>div:last-child{opacity:1}.group-profile-page .student-row-actions .icon-button.small{width:28px;height:28px;border-radius:8px}@media(max-width:1180px){.group-profile-page .profile-grid,.group-profile-page .roster-panel .student-list{grid-template-columns:1fr}.group-profile-stats{grid-template-columns:repeat(4,1fr)}.group-profile-stats>div{padding-inline:12px}.group-profile-stats>div:first-child{padding-left:0}}@media(max-width:820px){.group-profile-hero{padding:23px 20px 0;grid-template-columns:1fr}.group-profile-actions{grid-row:2;flex-wrap:wrap}.group-profile-stats{grid-row:3;grid-template-columns:1fr 1fr}.group-profile-stats>div:nth-child(2){border-right:0}.group-profile-stats>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.055)}.group-semester-switcher .select{min-width:0;width:100%}.group-profile-nav{overflow:auto}.group-profile-nav a{white-space:nowrap}.roster-panel-head{align-items:flex-start;flex-direction:column}.roster-panel-actions{width:100%;justify-content:space-between}}@media(max-width:560px){.group-profile-copy h1{font-size:31px}.group-profile-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.group-profile-actions .button{padding-inline:8px;font-size:9px}.group-profile-stats{grid-template-columns:1fr}.group-profile-stats>div{min-height:62px;padding:10px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)!important}.group-profile-stats>div:last-child{border-bottom:0!important}.group-profile-page .checkpoint-editor{grid-template-columns:1fr}.group-profile-page .checkpoint-edit{grid-template-columns:40px 1fr}.group-profile-page .range-grid{grid-template-columns:1fr}.roster-panel-actions{align-items:stretch;flex-direction:column}.roster-panel-actions .button{width:100%}.group-profile-page .student-row-actions{grid-template-columns:24px 30px minmax(0,1fr)}.group-profile-page .student-row-actions>div:last-child{grid-column:3;opacity:1}.group-profile-nav a{flex:1;justify-content:center}.group-profile-nav a svg{display:none}}.group-profile-page .checkpoint-edit .input:last-of-type{grid-column:2}.works-page{max-width:1540px}.works-hero{position:relative;overflow:hidden;margin-bottom:14px;padding:27px 30px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border:1px solid rgba(139,92,246,.23);border-radius:20px;background:radial-gradient(circle at 86% 0,rgba(124,58,237,.19),transparent 37%),linear-gradient(135deg,#181421,#111119 68%)}.works-hero:after{content:"";position:absolute;right:-70px;bottom:-170px;width:300px;height:300px;border:1px solid rgba(167,139,250,.12);border-radius:50%;box-shadow:0 0 0 46px #8b5cf605,0 0 0 92px #8b5cf603;pointer-events:none}.works-hero-copy,.works-hero>.button,.works-hero-stats{position:relative;z-index:1}.works-hero-copy h1{margin:7px 0 6px;font-size:37px;letter-spacing:-.045em}.works-hero-copy p{margin:0;color:#aaa4b4;font-size:12px}.works-hero>.button{align-self:flex-start}.works-hero-stats{grid-column:1/-1;margin-top:7px;display:grid;grid-template-columns:repeat(4,minmax(160px,220px));border-top:1px solid rgba(255,255,255,.075)}.works-hero-stats>div{min-height:78px;padding:14px 20px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;align-content:center;border-right:1px solid rgba(255,255,255,.065)}.works-hero-stats>div:first-child{padding-left:0}.works-hero-stats>div>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#c4b5fd;background:#8b5cf61f}.works-hero-stats>div:nth-child(2)>span{color:#86efac;background:#22c55e17}.works-hero-stats>div:nth-child(3)>span{color:#7dd3fc;background:#0ea5e917}.works-hero-stats>div:nth-child(4)>span{color:#fcd34d;background:#f59e0b17}.works-hero-stats svg{width:18px}.works-hero-stats strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.works-hero-stats small{margin-top:3px;color:#787382;font-size:9px}.works-toolbar{min-height:92px;margin-bottom:10px;padding:16px 18px;display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(145px,.55fr) auto 190px;align-items:end;gap:14px;border-color:#2b2935;border-radius:15px}.works-toolbar .field{min-width:0}.works-type-field{display:flex;flex-direction:column;gap:7px}.works-type-field>span{color:#8f8b99;font-size:10px;font-weight:650}.works-toolbar .segmented{height:42px}.works-toolbar .segmented button{height:34px;white-space:nowrap}.works-toolbar .completion-meter{align-self:center;width:190px}.works-toolbar .completion-meter small{display:block;margin-top:6px;color:#6f6b79;font-size:8px;text-align:right}.works-context-row{min-height:34px;padding:0 3px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.works-context-row .attendance-legend{margin:0;justify-content:flex-start}.works-context-row>span{color:#6d6977;font-size:9px}.works-table-card{border-color:#2b2936;border-radius:16px;background:#111119}.works-table-caption{min-height:70px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2b2935;background:linear-gradient(100deg,#8b5cf60e,#ffffff02)}.works-table-caption>div{display:flex;align-items:center;gap:11px}.works-table-caption>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px}.works-table-caption>div>span.purple{color:#c4b5fd;background:#8b5cf621}.works-table-caption>div>span.green{color:#86efac;background:#22c55e1a}.works-table-caption>div>span svg{width:19px}.works-table-caption>div>div{display:flex;flex-direction:column;gap:4px}.works-table-caption strong{font-size:13px}.works-table-caption small{color:var(--muted);font-size:9px}.works-page .table-scroll{max-height:calc(100vh - 190px);min-height:420px;overflow:auto;scrollbar-gutter:stable}.works-page .works-table{min-width:-moz-max-content;min-width:max-content;border-collapse:separate;border-spacing:0}.works-page .works-table thead th{position:sticky;top:0;z-index:5;height:92px;min-width:108px;max-width:126px;padding:10px 8px;vertical-align:middle;border-right:1px solid rgba(255,255,255,.045);border-bottom:1px solid #373342;color:#8f8999;background:linear-gradient(180deg,#1d1b27,#181720);box-shadow:0 7px 15px #03030742}.works-page .works-table thead th:last-child{border-right:0}.work-column-number{width:-moz-max-content;width:max-content;margin:0 auto;padding:4px 7px;border-radius:7px;color:#d7cbfa;background:#8b5cf621;font-size:9px;font-weight:800;letter-spacing:.03em}.works-page .works-table th small{display:-webkit-box;max-width:110px;min-height:25px;margin:7px auto 0;overflow:hidden;color:#aca6b4;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:normal;text-transform:none;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-column-title{display:flex!important;align-items:center;gap:7px;color:#bbb4c8;font-size:10px}.works-page .works-table .sticky-col{position:sticky;left:0;z-index:4;width:250px;min-width:250px;max-width:250px;padding-inline:15px;text-align:left;border-right:1px solid #34313e;background:#15141d;box-shadow:8px 0 18px #04040833}.works-page .works-table thead .sticky-col{z-index:9;background:linear-gradient(180deg,#211e2b,#191720)}.works-page .works-table tbody td{height:60px;min-width:108px;padding:9px 8px;border-right:1px solid rgba(255,255,255,.035);border-bottom:1px solid rgba(255,255,255,.05);background:#111119;transition:background .12s ease}.works-page .works-table tbody tr:nth-child(2n) td{background:#13131b}.works-page .works-table tbody tr:hover td{background:#191720}.works-page .works-table tbody tr:hover .sticky-col{background:#1b1822}.works-page .works-table tbody .sticky-col{background:#14131c}.works-page .works-table .attendance-name{gap:4px;font-size:11px;line-height:1.35}.works-page .works-table .attendance-name small{font-size:8px}.works-page .completion{width:34px;height:34px;border-radius:10px;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.works-page .completion:hover{border-color:#7557c7;background:#211b30;transform:scale(1.06)}.works-page .completion.active{box-shadow:0 5px 16px #6d28d947}.works-page .student-works{overflow:hidden;padding:0;border-radius:14px}.works-page .student-works-head{min-height:66px;margin:0;padding:13px 14px;align-items:center;border-bottom:1px solid var(--line);background:#8b5cf60b}.works-page .student-works>div:last-child{padding:0 14px 10px}.works-page .mobile-work{min-height:54px}.works-page .mobile-work span{align-items:flex-start}.works-page .mobile-work span b{color:#c4b5fd;font-size:9px}.works-page .mobile-work span small{margin-top:2px}.works-page .mobile-work.active{color:#f1edf6}@media(max-width:1180px){.works-toolbar{grid-template-columns:1fr 170px}.works-type-field{grid-column:1}.works-toolbar .completion-meter{grid-column:2;grid-row:2}.works-hero-stats{grid-template-columns:repeat(4,1fr)}.works-hero-stats>div{padding-inline:12px}.works-hero-stats>div:first-child{padding-left:0}}@media(max-width:820px){.works-hero{padding:22px 20px 0;grid-template-columns:1fr}.works-hero>.button{grid-row:2;justify-self:start}.works-hero-stats{grid-row:3;grid-template-columns:1fr 1fr}.works-hero-stats>div:nth-child(2){border-right:0}.works-hero-stats>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.055)}.works-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end}.works-toolbar .field{width:100%}.works-type-field{grid-column:1/-1}.works-toolbar .completion-meter{grid-column:1/-1;grid-row:auto}.works-context-row{align-items:flex-start;flex-direction:column}.works-context-row>span{display:none}}@media(max-width:520px){.works-hero-copy h1{font-size:31px}.works-hero-stats{grid-template-columns:1fr}.works-hero-stats>div{min-height:62px;padding:10px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)!important}.works-hero-stats>div:last-child{border-bottom:0!important}.works-toolbar{grid-template-columns:1fr}.works-type-field,.works-toolbar .completion-meter{grid-column:1}.works-toolbar .segmented button{padding-inline:8px;font-size:9px}.works-context-row .attendance-legend{gap:7px}.works-context-row .attendance-legend span{font-size:8px}}.attendance-page{max-width:1460px}.attendance-hero{position:relative;overflow:hidden;margin-bottom:14px;padding:27px 30px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;border:1px solid rgba(139,92,246,.23);border-radius:20px;background:radial-gradient(circle at 86% 0,rgba(124,58,237,.19),transparent 37%),linear-gradient(135deg,#181421,#111119 68%)}.attendance-hero:after{content:"";position:absolute;right:-70px;bottom:-170px;width:300px;height:300px;border:1px solid rgba(167,139,250,.12);border-radius:50%;box-shadow:0 0 0 46px #8b5cf605,0 0 0 92px #8b5cf603;pointer-events:none}.attendance-hero-copy,.attendance-save-state,.attendance-hero-stats{position:relative;z-index:1}.attendance-hero-copy h1{margin:7px 0 6px;font-size:37px;letter-spacing:-.045em}.attendance-hero-copy p{margin:0;color:#aaa4b4;font-size:12px}.attendance-save-state{align-self:start;min-height:36px;padding:0 11px;display:flex;align-items:center;gap:7px;border:1px solid #34313e;border-radius:10px;color:#888391;background:#111119b3;font-size:9px}.attendance-save-state.saved{border-color:#10b9812b;color:#7ed9ab;background:#10b9810e}.attendance-save-state.saving{border-color:#8b5cf640;color:#c4b5fd}.attendance-save-state.error{border-color:#f43f5e47;color:#fda4af;background:#f43f5e0f}.attendance-hero-stats{grid-column:1/-1;margin-top:7px;display:grid;grid-template-columns:repeat(4,minmax(155px,210px));border-top:1px solid rgba(255,255,255,.075)}.attendance-hero-stats>div{min-height:78px;padding:14px 20px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;align-content:center;border-right:1px solid rgba(255,255,255,.065)}.attendance-hero-stats>div:first-child{padding-left:0}.attendance-hero-stats>div>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#c4b5fd;background:#8b5cf61f}.attendance-hero-stats>div:nth-child(2)>span{color:#86efac;background:#22c55e17}.attendance-hero-stats>div:nth-child(3)>span{color:#fda4af;background:#f43f5e14}.attendance-hero-stats>div:nth-child(4)>span{color:#a8a3b1;background:#ffffff0d}.attendance-hero-stats svg{width:18px}.attendance-hero-stats strong{font-size:19px}.attendance-hero-stats small{margin-top:3px;color:#787382;font-size:9px}.attendance-toolbar{min-height:92px;margin-bottom:10px;padding:16px 18px;display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(220px,.85fr) auto auto;align-items:end;gap:14px;border-color:#2b2935;border-radius:15px}.attendance-toolbar .field{min-width:0}.attendance-bulk-action{display:flex;flex-direction:column;gap:7px}.attendance-bulk-action>span{color:#8f8b99;font-size:10px;font-weight:650}.attendance-bulk-action .button{height:42px;white-space:nowrap}.attendance-export-actions{align-items:center;margin:0}.attendance-export-actions .button{height:42px;padding-inline:12px}.attendance-day-bar{min-height:68px;margin-bottom:10px;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #2b2935;border-radius:14px;background:linear-gradient(100deg,#8b5cf60d,#ffffff02)}.attendance-day-bar>div:first-child{display:flex;align-items:center;gap:11px}.attendance-day-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#c4b5fd;background:#8b5cf61f}.attendance-day-icon svg{width:19px}.attendance-day-bar>div:first-child>div{display:flex;flex-direction:column;gap:4px}.attendance-day-bar strong{font-size:13px}.attendance-day-bar>div:first-child>div span{color:var(--muted);font-size:9px}.attendance-day-bar .summary-badges{flex-wrap:wrap;justify-content:flex-end}.attendance-table-card{border-color:#2b2936;border-radius:16px;background:#111119}.attendance-table-caption{min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2b2935;background:linear-gradient(100deg,#8b5cf60b,#ffffff02)}.attendance-table-caption>div{display:flex;align-items:center;gap:11px}.attendance-table-caption>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#c4b5fd;background:#8b5cf61f}.attendance-table-caption>div>span svg{width:19px}.attendance-table-caption>div>div{display:flex;flex-direction:column;gap:4px}.attendance-table-caption strong{font-size:13px}.attendance-table-caption small{color:var(--muted);font-size:9px}.attendance-table-scroll{max-height:calc(100vh - 205px);min-height:400px;overflow:auto;scrollbar-gutter:stable}.attendance-page .attendance-table{border-collapse:separate;border-spacing:0}.attendance-page .attendance-table thead th{position:sticky;top:0;z-index:3;height:50px;border-bottom:1px solid #373342;color:#9a94a3;background:linear-gradient(180deg,#1d1b27,#181720);box-shadow:0 6px 14px #0303073d}.attendance-page .attendance-table th:first-child{width:68px;padding-left:18px}.attendance-page .attendance-table th:last-child{width:300px;text-align:center}.attendance-page .attendance-table td{height:64px;background:#111119;transition:background .12s ease}.attendance-page .attendance-table tbody tr:nth-child(2n) td{background:#13131b}.attendance-page .attendance-table tbody tr:hover td{background:#191720}.attendance-page .attendance-table td:first-child{width:68px;padding-left:18px;color:#6f6a79;font-variant-numeric:tabular-nums;box-shadow:inset 3px 0 transparent}.attendance-page .attendance-table td:last-child{width:300px}.attendance-page .attendance-row-present td:first-child{box-shadow:inset 3px 0 #22c55e}.attendance-page .attendance-row-absent td:first-child{box-shadow:inset 3px 0 #f43f5e}.attendance-page .attendance-row-unset td:first-child{box-shadow:inset 3px 0 #47434f}.attendance-student-cell{display:flex;align-items:center;gap:10px}.attendance-student-cell>span{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:#c4b5fd;background:#8b5cf61c;font-size:10px;font-weight:750}.attendance-student-cell strong{font-size:12px}.attendance-page .status-control{justify-content:center}.attendance-page .status-control button{min-width:112px;height:38px;border-radius:10px;font-size:10px;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.attendance-page .status-control button:hover{border-color:#5c4a85;color:#cfc6df;transform:translateY(-1px)}.attendance-page .status-control .present.active{box-shadow:0 5px 15px #10b9811f}.attendance-page .status-control .absent.active{box-shadow:0 5px 15px #f43f5e1c}.attendance-page .student-attendance{position:relative;overflow:hidden;border-color:#2b2935;border-radius:13px;background:#12121a}.attendance-page .student-attendance:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#47434f}.attendance-page .student-attendance.attendance-row-present:before{background:#22c55e}.attendance-page .student-attendance.attendance-row-absent:before{background:#f43f5e}.attendance-page .student-attendance>div:first-child{display:grid;grid-template-columns:25px 30px 1fr;align-items:center}.attendance-page .student-attendance .status-control button{min-width:0;height:40px}@media(max-width:1180px){.attendance-toolbar{grid-template-columns:1fr 1fr}.attendance-bulk-action{grid-column:1}.attendance-export-actions{grid-column:2;justify-content:flex-end}.attendance-hero-stats{grid-template-columns:repeat(4,1fr)}.attendance-hero-stats>div{padding-inline:12px}.attendance-hero-stats>div:first-child{padding-left:0}}@media(max-width:820px){.attendance-hero{padding:22px 20px 0;grid-template-columns:1fr}.attendance-save-state{grid-row:2;justify-self:start}.attendance-hero-stats{grid-row:3;grid-template-columns:1fr 1fr}.attendance-hero-stats>div:nth-child(2){border-right:0}.attendance-hero-stats>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.055)}.attendance-toolbar{display:grid;grid-template-columns:1fr 1fr}.attendance-toolbar .field{width:100%}.attendance-bulk-action{grid-column:1/-1}.attendance-export-actions{grid-column:1/-1;width:100%;justify-content:flex-start}.attendance-day-bar{align-items:flex-start;flex-direction:column}.attendance-day-bar .summary-badges{justify-content:flex-start}}@media(max-width:520px){.attendance-hero-copy h1{font-size:31px}.attendance-hero-stats{grid-template-columns:1fr}.attendance-hero-stats>div{min-height:62px;padding:10px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.055)!important}.attendance-hero-stats>div:last-child{border-bottom:0!important}.attendance-toolbar{grid-template-columns:1fr}.attendance-bulk-action,.attendance-export-actions{grid-column:1}.attendance-export-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-export-actions .button{justify-content:center}.attendance-day-bar>div:first-child{align-items:flex-start}.attendance-day-icon{width:36px;height:36px}.attendance-day-bar .summary-badges{gap:5px}.attendance-page .student-attendance{padding:13px}.attendance-page .student-attendance>div:first-child{grid-template-columns:23px 28px 1fr}}.leader-badge{width:-moz-max-content;width:max-content;min-height:22px;margin-left:8px;padding:3px 7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(245,158,11,.25);border-radius:99px;color:#fcd34d;background:#f59e0b17;vertical-align:middle;font-size:8px;font-weight:750;line-height:1;letter-spacing:.02em;white-space:nowrap}.leader-badge.compact{width:22px;height:22px;min-height:22px;margin-left:5px;padding:0}.student-row.is-leader{position:relative;border-color:#f59e0b2e;background:linear-gradient(90deg,#f59e0b12,#f59e0b04 60%)}.student-row.is-leader:before{content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:0 3px 3px 0;background:#f59e0b;box-shadow:0 0 12px #f59e0b52}.student-row strong:has(.leader-badge){display:flex;align-items:center;flex-wrap:wrap;gap:2px}.leader-toggle.active{border-color:#f59e0b57;color:#fcd34d;background:#f59e0b1c;box-shadow:0 0 0 1px #f59e0b0d}.leader-toggle:hover{color:#fcd34d}.attendance-page tr.is-leader td{background-image:linear-gradient(90deg,rgba(245,158,11,.045),transparent 38%)}.attendance-page tr.is-leader td:first-child{box-shadow:inset 3px 0 #f59e0b}.attendance-page .attendance-student-cell strong{display:flex;align-items:center;flex-wrap:wrap}.attendance-page .student-attendance.is-leader{border-color:#f59e0b38;box-shadow:inset 3px 0 #f59e0b}.attendance-page .student-attendance.is-leader:before{display:none}.attendance-page .student-attendance strong{display:flex;align-items:center;flex-wrap:wrap}.works-page .works-table tr.is-leader td{background-image:linear-gradient(90deg,rgba(245,158,11,.04),transparent 52%)}.works-page .works-table tr.is-leader .sticky-col{box-shadow:inset 3px 0 #f59e0b,8px 0 18px #04040833}.works-page .attendance-name .leader-badge{color:#fcd34d}.works-page .student-works.is-leader{border-color:#f59e0b38;box-shadow:inset 3px 0 #f59e0b}.student-profile-header.is-leader{padding:20px 22px;border:1px solid rgba(245,158,11,.18);border-radius:16px;background:linear-gradient(110deg,rgba(245,158,11,.06),transparent 50%)}.student-profile-header h1{display:flex;align-items:center;flex-wrap:wrap}@media(max-width:620px){.leader-badge{margin-left:5px;padding:3px 6px}.student-row-actions .leader-badge,.attendance-page .leader-badge,.works-page .leader-badge{font-size:7px}}
