/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#172038;--muted:#7a849c;--line:#e8ecf4;--blue:#3159d8;--bg:#f5f7fb}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui,"Kripa"), Arial, sans-serif;margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:252px;height:100dvh;padding:25px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar>.brand,.sidebar>.profile-card{flex-shrink:0}.sidebar-scroll{overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#a7b6d8 transparent;flex-direction:column;flex:1 1 0;min-height:0;margin-top:12px;display:flex;overflow:hidden auto}.sidebar-scroll>*{flex-shrink:0}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#a7b6d8;border-radius:6px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#7188b8}.sidebar-scroll .sidebar-help{margin-top:20px}.sidebar>.profile-card{margin-top:12px}.brand{align-items:center;gap:11px;padding:0 8px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#3159d8,#5e7be7);border-radius:11px;place-items:center;width:37px;height:37px;font-size:21px;font-weight:800;display:grid;box-shadow:0 7px 18px #3159d838}.brand strong{letter-spacing:-.5px;font-size:19px;display:block}.brand strong span{color:var(--blue)}.brand small{color:#98a1b4;text-transform:uppercase;letter-spacing:1.1px;margin-top:1px;font-size:9px;display:block}.role-switch{background:#f1f3f8;border-radius:10px;margin:27px 4px 25px;padding:4px;display:flex}.role-switch button{color:#8790a4;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:8px;font-size:12px;font-weight:650}.role-switch .selected{color:var(--blue);background:#fff;box-shadow:0 2px 8px #1b2c5c12}.nav-label{letter-spacing:1.3px;text-transform:uppercase;color:#a7afbe;margin:0 0 8px;padding-left:12px;font-size:9px;font-weight:750}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#667188;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.sidebar nav button:hover{color:#3159d8;background:#f6f8fd}.sidebar nav button.active{color:#3159d8;background:#edf1ff}.sidebar nav i{color:#6d48c9;background:#f0eafe;border-radius:10px;margin-left:auto;padding:2px 6px;font-size:9px;font-style:normal}.nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-help{background:linear-gradient(145deg,#f0f3ff,#f8f9ff);border-radius:12px;margin:auto 3px 17px;padding:14px;position:relative;overflow:hidden}.help-icon{color:#3159d8;background:#dfe6ff;border-radius:8px;place-items:center;width:27px;height:27px;margin-bottom:9px;font-weight:800;display:grid}.sidebar-help strong{font-size:11px}.sidebar-help p{color:#8c95a9;margin:4px 0 9px;font-size:9px;line-height:1.55}.sidebar-help button{color:#3159d8;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:750}.profile-card{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:9px;padding:17px 6px 0;display:flex}.avatar{color:#3159d8;background:#e9edfb;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid}.profile-card>span:nth-child(2){flex:1;min-width:0}.profile-card strong,.profile-card small{display:block}.profile-card strong{white-space:nowrap;font-size:10px}.profile-card small{color:#929bad;margin-top:3px;font-size:9px}.profile-card b{color:#a3acbc;font-size:10px}.workspace{width:calc(100% - 252px);margin-left:252px}.topbar{border-bottom:1px solid var(--line);z-index:15;background:#fff;align-items:center;height:70px;padding:0 32px;display:flex;position:sticky;top:0}.search{color:#a0a9b9;align-items:center;gap:9px;width:min(420px,45vw);display:flex}.search input{width:100%;font:inherit;color:#445068;background:0 0;border:0;outline:0;font-size:11px}.search input::placeholder{color:#a4acba}.top-actions{align-items:center;gap:22px;margin-left:auto;display:flex}.term{color:#68738a;border-right:1px solid var(--line);padding-right:22px;font-size:10px}.icon-button{border:1px solid var(--line);color:#59647a;cursor:pointer;background:#fff;border-radius:9px;width:32px;height:32px;position:relative}.icon-button i{background:#ef5555;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.notification-wrap{position:relative}.notice-panel{border:1px solid var(--line);z-index:25;background:#fff;border-radius:12px;width:230px;padding:14px;position:absolute;top:42px;right:0;box-shadow:0 14px 35px #29375918}.notice-panel strong{font-size:12px}.notice-panel p{color:var(--muted);margin:6px 0 11px;font-size:10px}.notice-panel button{color:#3159d8;cursor:pointer;background:#edf1ff;border:0;border-radius:7px;padding:7px 9px;font-size:9px;font-weight:700}.menu-button{display:none}.content{max-width:1450px;margin:auto;padding:30px 32px 40px}.welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:.2px;text-transform:capitalize!important;color:#8e97aa!important;margin-bottom:5px!important;font-size:10px!important}.welcome-row h1{letter-spacing:-.8px;margin:0 0 5px;font-size:25px}.welcome-row h1 span{font-size:22px}.welcome-row p{color:#7f899d;margin:0;font-size:11px}.primary-button{color:#fff;cursor:pointer;background:#3159d8;border:0;border-radius:9px;align-items:center;gap:7px;padding:10px 16px;font-size:10px;font-weight:700;display:flex;box-shadow:0 7px 14px #3159d829}.primary-button span{font-size:16px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:12px;min-width:0;padding:17px;display:flex;box-shadow:0 3px 12px #27345505}.stat-icon{border-radius:10px;place-items:center;width:39px;height:39px;font-size:10px;font-weight:800;display:grid}.blue{color:#3159d8!important;background:#eaf0ff!important}.violet{color:#744cd0!important;background:#f0ebff!important}.green{color:#18956b!important;background:#e8f8f1!important}.orange{color:#df6b2d!important;background:#fff0e8!important}.stat-copy{grid-template-columns:auto auto;align-items:center;column-gap:9px;min-width:0;display:grid}.stat-copy p{color:#8892a6;grid-column:1/3;margin:0 0 5px;font-size:9px}.stat-copy strong{letter-spacing:-.7px;font-size:23px}.stat-copy small{white-space:nowrap;font-size:8px}.stat-copy .up{color:#1b9a6b}.stat-copy .warn{color:#dc6b31}.stat-card>button{color:#b6becb;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-left:auto}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:17px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:19px;box-shadow:0 3px 12px #27345504}.panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.panel-header h2{letter-spacing:-.15px;margin:0 0 4px;font-size:12px}.panel-header p{color:#929caf;margin:0;font-size:9px}.panel-header button{color:#60708e;cursor:pointer;background:0 0;border:0;font-size:9px}.chart-panel{min-height:290px}.chart-wrap{gap:10px;height:220px;padding-top:6px;display:flex}.y-axis{color:#abb3c1;flex-direction:column;justify-content:space-between;padding:0 0 20px;font-size:8px;display:flex}.chart-area{flex:1;position:relative}.grid-lines{position:absolute;inset:0 0 20px}.grid-lines i{border-top:1px dashed #edf0f5;height:25%;display:block}.chart-area svg{width:100%;height:calc(100% - 20px);position:absolute;inset:0 0 20px;overflow:visible}.chart-area .area{fill:url(#area)}.chart-area .line{fill:none;stroke:#3159d8;stroke-width:2px}.chart-area circle{fill:#fff;stroke:#3159d8;stroke-width:2px}.x-axis{color:#a0a8b7;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.quick-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.quick-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;padding:13px;transition:all .18s}.quick-grid button:hover{border-color:#cbd5ef;transform:translateY(-2px);box-shadow:0 6px 16px #2534570c}.quick-grid button>span,.teacher-actions button>span:first-child{border-radius:8px;place-items:center;width:28px;height:28px;margin-bottom:10px;font-size:12px;display:grid}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:9px}.quick-grid small{color:#9ba4b5;margin-top:5px;font-size:7.5px}.activity-panel,.status-panel{min-height:240px}.activity-list{display:grid}.activity{border-top:1px solid #f0f2f6;align-items:center;gap:10px;padding:9px 0;display:flex}.activity:first-child{border-top:0}.activity>div{flex:1}.activity strong{font-size:9px}.activity p{color:#919bad;margin:3px 0 0;font-size:8px}.activity time{color:#a3abba;font-size:7.5px}.activity .avatar{width:30px;height:30px}.status-ok{background:#edf9f4;border-radius:10px;gap:9px;margin-bottom:9px;padding:12px;display:flex}.status-ok>span{color:#fff;background:#27a97d;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.status-ok strong{color:#23785d;font-size:9px}.status-ok p{color:#6ba08f;margin:2px 0 0;font-size:7.5px}.status-row{border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;padding:8px 2px;font-size:8.5px;display:flex}.status-row:last-child{border:0}.status-row span{color:#69758c;align-items:center;gap:7px;display:flex}.status-row i{background:#28b083;border-radius:50%;width:6px;height:6px}.status-row strong{font-size:8px}.schedule-panel{min-height:345px}.class-list{display:grid}.class-row{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #f0f2f6;align-items:center;gap:16px;width:100%;padding:14px 2px;display:flex}.class-row:first-child{border-top:0}.class-time{width:62px;font-size:12px;font-weight:750;color:#3159d8!important;background:0 0!important}.class-time small{color:#9aa3b3;margin-top:3px;font-size:8px;font-weight:500;display:block}.class-info{flex:1;align-items:center;gap:10px;display:flex}.class-info>i{border-radius:5px;width:4px;height:38px}.class-info strong,.class-info small{display:block}.class-info strong{font-size:10px}.class-info small{color:#929cad;margin-top:4px;font-size:8px}.class-row>b{color:#b7bfcc}.teacher-actions{gap:8px;display:grid}.teacher-actions button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.teacher-actions button>span:first-child{flex:none;margin:0}.teacher-actions button>span:nth-child(2){flex:1}.teacher-actions strong,.teacher-actions small{display:block}.teacher-actions strong{font-size:9px}.teacher-actions small{color:#99a2b4;margin-top:3px;font-size:7.5px}.teacher-actions b{color:#bbc2ce}.submission{border-top:1px solid #f0f2f6;align-items:center;gap:11px;padding:11px 0;display:flex}.submission:first-of-type{border-top:0}.file-icon{border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.submission>div{flex:1}.submission strong{font-size:9px}.submission p{color:#97a0b1;margin:3px 0 6px;font-size:8px}.submission time{color:#d16a37;font-size:7.5px}.progress{background:#edf0f5;border-radius:3px;width:100%;height:3px}.progress i{background:#3159d8;border-radius:3px;height:100%;display:block}.class-summary{text-align:left}.donut{background:conic-gradient(#3159d8 0 92%, #eef1f7 92%);border-radius:50%;place-items:center;width:115px;height:115px;margin:10px auto 17px;display:grid;position:relative}.donut:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:12px}.donut>div{text-align:center;position:relative}.donut strong,.donut span{display:block}.donut strong{font-size:20px}.donut span{color:#98a1b2;font-size:7.5px}.legend{justify-content:center;gap:15px;display:flex}.legend span{color:#8d97a9;font-size:8px}.legend i{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.legend b{color:#435069;margin-left:3px}.present{background:#3159d8}.absent{background:#dfe4ee}.toast{color:#fff;z-index:100;background:#18213a;border-radius:10px;padding:11px 15px;font-size:10px;animation:.2s slideIn;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #18213a40}.toast span{color:#62dda8;margin-right:8px}.scrim{display:none}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1050px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.quick-panel{grid-row:auto}.chart-panel{min-height:280px}}@media (max-width:760px){.sidebar{transition:all .2s;transform:translate(-100%);box-shadow:12px 0 30px #16234922}.sidebar.open{transform:none}.scrim{z-index:25;background:#17203866;border:0;display:block;position:fixed;inset:0}.workspace{width:100%;margin-left:0}.topbar{height:62px;padding:0 18px}.menu-button{background:0 0;border:0;margin-right:12px;font-size:18px;display:block}.search{flex:1;width:auto}.term{display:none}.content{padding:23px 18px 35px}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:21px}.welcome-row p{max-width:240px;line-height:1.5}.primary-button{padding:9px 11px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{gap:9px;padding:13px}.stat-icon{width:33px;height:33px}.stat-copy strong{font-size:19px}.stat-copy small{display:none}.dashboard-grid{gap:12px}.panel{padding:15px}.chart-panel{min-height:245px}.chart-wrap{height:175px}.quick-grid{grid-template-columns:1fr 1fr}.toast{text-align:center;left:18px;right:18px}}@media (max-width:430px){.stats-grid{grid-template-columns:1fr}.welcome-row{display:block}.primary-button{margin-top:14px}.search input::placeholder{font-size:0}.dashboard-grid{display:block}.panel{margin-bottom:12px}.chart-panel{display:none}}.signed-role{background:#f4f6fb;border:1px solid #e8ecf4;border-radius:10px;align-items:center;gap:10px;margin:27px 4px 25px;padding:10px;display:flex}.signed-role>span{color:#3159d8;background:#e2e8ff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:9px;font-weight:800;display:grid}.signed-role small,.signed-role strong{display:block}.signed-role small{color:#9aa3b5;margin-bottom:2px;font-size:7px}.signed-role strong{font-size:10px}.profile-card{cursor:default}.logout-button{color:#788399;cursor:pointer;background:#f3f5f9;border:0;border-radius:7px;width:27px;height:27px}.logout-button:hover{color:#d4583f;background:#fff0ed}.auth-loading{color:#7a849c;background:#f5f7fb;place-content:center;justify-items:center;gap:12px;min-height:100vh;font-size:12px;display:grid}.login-page{background:#fff;grid-template-columns:minmax(430px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 78% 74%,#6681ed55,#0000 28%),linear-gradient(145deg,#172b77,#3159d8 65%,#4d6ee7);flex-direction:column;padding:38px 52px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";border:1px solid #ffffff16;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-190px;right:-190px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.login-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-brand .brand-mark{color:#3159d8;box-shadow:none;background:#fff}.login-brand strong{font-size:20px}.login-brand small{letter-spacing:1.4px;text-transform:uppercase;color:#ccd6ff;margin-top:2px;font-size:8px;display:block}.visual-copy{z-index:1;max-width:510px;margin:auto 0;position:relative}.visual-copy p{letter-spacing:2.2px;color:#b9c8ff;font-size:10px;font-weight:750}.visual-copy h1{letter-spacing:-1.5px;margin:17px 0;font-size:43px;line-height:1.12}.visual-copy>span{color:#d8e0ff;max-width:410px;font-size:13px;line-height:1.8;display:block}.visual-orbit{border:1px solid #ffffff25;border-radius:50%;place-items:center;width:180px;height:180px;display:grid;position:absolute;bottom:13%;right:6%}.visual-orbit:before,.visual-orbit:after{content:"";border:1px solid #ffffff1c;border-radius:50%;position:absolute}.visual-orbit:before{inset:23px}.visual-orbit:after{inset:48px}.visual-orbit b{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff18;border-radius:18px;place-items:center;width:58px;height:58px;font-size:18px;display:grid}.visual-orbit i{background:#fff;border-radius:50%;width:10px;height:10px;position:absolute}.visual-orbit i:first-child{top:17px;left:30px}.visual-orbit i:nth-child(2){background:#8bdcc1;top:83px;right:2px}.visual-orbit i:nth-child(3){background:#ffc58d;bottom:9px;left:58px}.copyright{z-index:1;color:#aebffb;font-size:8px;position:relative}.login-form-wrap{place-items:center;padding:50px;display:grid}.login-form{width:min(390px,100%)}.mobile-login-brand{display:none}.login-kicker{letter-spacing:1.4px;text-transform:uppercase;color:#3159d8;margin:0 0 8px;font-size:10px;font-weight:750}.login-form h2{letter-spacing:-.9px;margin:0;font-size:29px}.login-subtitle{color:#8a94a8;margin:9px 0 30px;font-size:11px}.login-form>label{color:#3f4960;margin:0 0 16px;font-size:10px;font-weight:700;display:block}.login-form>label>input,.password-field{margin-top:7px}.login-form input[type=text],.login-form input[type=password]{width:100%;height:43px;font:inherit;color:#24304a;background:#fff;border:1px solid #dfe4ee;border-radius:9px;outline:none;padding:0 13px;font-size:11px}.login-form input:focus{border-color:#3159d8;box-shadow:0 0 0 3px #3159d812}.password-field{border:1px solid #dfe4ee;border-radius:9px;align-items:center;display:flex;overflow:hidden}.password-field:focus-within{border-color:#3159d8;box-shadow:0 0 0 3px #3159d812}.password-field input{box-shadow:none!important;border:0!important;border-radius:0!important}.password-field button{color:#3159d8;cursor:pointer;background:#fff;border:0;padding:0 12px;font-size:9px;font-weight:700}.login-options{justify-content:space-between;align-items:center;margin:-2px 0 21px;display:flex}.login-options label{color:#7e889c;align-items:center;gap:6px;font-size:9px;display:flex}.login-options input{accent-color:#3159d8}.login-options button,.login-help button{color:#3159d8;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:700}.login-error{color:#b44534;background:#fff1ef;border:1px solid #ffd9d2;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.login-error span{color:#fff;background:#e96650;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-weight:800;display:grid}.login-submit{color:#fff;cursor:pointer;background:#3159d8;border:0;border-radius:9px;width:100%;height:44px;font-size:11px;font-weight:750;box-shadow:0 8px 18px #3159d82d}.login-submit:disabled{opacity:.65;cursor:wait}.login-help{text-align:center;color:#949dae;margin-top:22px;font-size:9px}@media (max-width:850px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:30px}.mobile-login-brand{align-items:center;gap:10px;margin-bottom:40px;display:flex}.mobile-login-brand strong{font-size:18px}.login-form h2{font-size:25px}}.password-note{color:#34745e;background:#eef8f4;border:1px solid #d4eee4;border-radius:8px;align-items:flex-start;gap:8px;margin:-2px 0 14px;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.password-note span{color:#fff;background:#28a779;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:8px;display:grid}.back-login{color:#65718a;cursor:pointer;background:0 0;border:0;margin:15px auto 0;font-size:9px;font-weight:700;display:block}.back-login:hover{color:#3159d8}.feature-page{min-height:calc(100vh - 140px)}.back-dashboard{color:#65718a;cursor:pointer;background:0 0;border:0;margin:0 0 18px;padding:0;font-size:10px;font-weight:650}.back-dashboard:hover{color:#3159d8}.feature-heading{justify-content:space-between;align-items:flex-end;margin-bottom:25px;display:flex}.feature-heading h1{letter-spacing:-.8px;margin:3px 0 6px;font-size:27px}.feature-heading p{color:#8791a5;margin:0;font-size:10px}.feature-tools{gap:10px;margin-bottom:13px;display:flex}.feature-search{border:1px solid var(--line);color:#a0a9b9;background:#fff;border-radius:9px;flex:1;align-items:center;gap:8px;height:38px;padding:0 12px;display:flex}.feature-search input{font:inherit;border:0;outline:0;flex:1;font-size:10px}.feature-tools select{border:1px solid var(--line);color:#65718a;background:#fff;border-radius:9px;padding:0 12px;font-size:9px}.feature-table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}.feature-table-wrap table{border-collapse:collapse;width:100%;min-width:680px}.feature-table-wrap th{text-align:left;color:#929caf;text-transform:uppercase;letter-spacing:.7px;background:#f8f9fc;padding:13px 16px;font-size:8px}.feature-table-wrap td{color:#69758a;border-top:1px solid #eef1f5;padding:16px;font-size:9px}.feature-table-wrap td strong{color:#24304a;font-size:10px}.feature-table-wrap td:last-child{text-align:right}.feature-table-wrap td button{color:#3159d8;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:700}@media (max-width:760px){.feature-heading{align-items:flex-start;gap:15px}.feature-heading h1{font-size:23px}.feature-tools{flex-direction:column}.feature-tools select{height:38px}}.feature-form{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:14px;padding:18px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:15px;display:grid}.feature-form label{color:#556078;gap:6px;font-size:9px;font-weight:700;display:grid}.feature-form input{height:38px;font:inherit;border:1px solid #dfe4ee;border-radius:8px;outline:0;padding:0 11px;font-size:10px}.feature-form input:focus{border-color:#3159d8;box-shadow:0 0 0 3px #3159d812}.feature-error{color:#b44534;background:#fff1ef;border:1px solid #ffd9d2;border-radius:9px;align-items:center;gap:9px;margin-bottom:13px;padding:11px 13px;font-size:9px;display:flex}.feature-error button{color:#3159d8;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:700}.refresh-button{border:1px solid var(--line);color:#526079;cursor:pointer;background:#fff;border-radius:9px;height:38px;padding:0 14px;font-size:9px;font-weight:700}.row-actions{justify-content:flex-end;gap:7px;display:flex}.row-actions button{background:#edf1ff!important;border-radius:6px!important;padding:6px 8px!important}.row-actions .danger{color:#cc4e3a!important;background:#fff0ed!important}.feature-form .primary-button:disabled{opacity:.6}.feature-table-wrap td[colspan]{color:#939bad;padding:35px;text-align:center!important}@media (max-width:900px){.form-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.feature-heading{flex-direction:column}.feature-heading .primary-button{margin-top:0}}.connection-badge{color:#23785d;background:#edf9f4;border-radius:8px;margin:10px 4px 14px;padding:8px 10px;font-size:8.5px;font-weight:700}.connection-badge.offline{color:#b44534;background:#fff1ef}.global-search{width:min(480px,48vw);position:relative}.global-search .search{width:100%}.search-results{border:1px solid var(--line);z-index:50;background:#fff;border-radius:12px;width:min(520px,75vw);max-height:390px;padding:7px;position:absolute;top:42px;left:0;overflow:auto;box-shadow:0 18px 40px #29375920}.search-results button{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.search-results button:hover{background:#f6f8fd}.search-results button span{color:#3159d8;text-transform:uppercase;min-width:58px;font-size:8px;font-weight:800}.search-results button div{gap:3px;display:grid}.search-results button strong{font-size:10px}.search-results button small{color:#8b95a8;font-size:8px}.notice-panel.wide{width:340px;max-height:430px;overflow:auto}.notice-list{gap:8px;margin-top:10px;display:grid}.notice-item{border:1px solid #edf0f5;border-radius:9px;gap:3px;padding:9px;display:grid}.notice-item strong{font-size:9px}.notice-item span,.notice-item small{color:#8d97aa;font-size:8px}.notice-item small{color:#3159d8}.empty-note{color:#9099ab;margin:8px 0;font-size:9px;line-height:1.6}.metric-list{gap:9px;display:grid}.metric-list>div{border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;padding:8px 0;font-size:9px;display:flex}.metric-list>div:last-child{border-bottom:0}.metric-list strong{font-size:11px}.secondary-wide{grid-column:1/-1}.offer-mini{border-top:1px solid #f0f2f6;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.offer-mini:first-child{border-top:0}.offer-mini div{gap:3px;display:grid}.offer-mini strong{font-size:9px}.offer-mini small{color:#8f99ab;font-size:8px}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-action-card{background:#f8f9fc;border:1px solid #edf0f5;border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;padding:12px;display:flex}.inline-action-card label{min-width:180px}.schedule-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d193285;place-items:center;padding:24px;animation:.18s ease-out schedule-fade-in;display:grid;position:fixed;inset:0}.schedule-modal{background:#fff;border:1px solid #dce2efe6;border-radius:18px;width:min(780px,100%);max-height:calc(100vh - 48px);animation:.2s ease-out schedule-pop-in;overflow:auto;box-shadow:0 24px 70px #15274e3d}.schedule-modal-header{background:linear-gradient(135deg,#f8faff 0%,#fff 68%);border-bottom:1px solid #edf0f5;align-items:flex-start;gap:14px;padding:22px 24px 18px;display:flex;position:relative}.schedule-modal-icon{color:#3159d8;background:#eaf0ff;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.schedule-modal-header .eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#5975c9;margin:0 0 3px;font-size:9px;font-weight:800}.schedule-modal-header h2{color:#17223b;margin:0;font-size:20px;line-height:1.3}.schedule-modal-header>div>p:last-child{color:#768197;margin:5px 0 0;font-size:10px}.schedule-modal-close{color:#657086;cursor:pointer;background:#fff;border:1px solid #e3e7ef;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;margin-left:auto;display:grid}.schedule-modal-close:hover{color:#263551;background:#f8faff;border-color:#cdd5e4}.schedule-class-summary{background:#f7f9fe;border:1px solid #e2e8f5;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 24px 0;padding:13px 15px;display:grid}.schedule-class-summary span{border-left:1px solid #e2e7f1;gap:3px;padding:0 15px;display:grid}.schedule-class-summary span:first-child{border-left:0;padding-left:0}.schedule-class-summary small{color:#8a94a8;text-transform:uppercase;letter-spacing:.07em;font-size:8px}.schedule-class-summary strong{color:#24304a;font-size:10px}.schedule-modal-body{gap:20px;padding:21px 24px 23px;display:grid}.schedule-modal-body section{gap:13px;display:grid}.schedule-modal-body h3{color:#25314a;align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.schedule-modal-body h3>span{color:#fff;background:#3159d8;border-radius:7px;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-field{align-content:start;gap:7px;min-width:0;display:grid}.schedule-field-wide{grid-column:1/-1}.schedule-field>span{color:#4e5b73;font-size:9px;font-weight:750}.schedule-field>span b{color:#e24d3d}.schedule-field input,.schedule-field select{box-sizing:border-box;color:#2e3b55;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #dce2ed;border-radius:10px;outline:0;padding:0 12px;font-size:10px;transition:border-color .16s,box-shadow .16s}.schedule-field input:focus,.schedule-field select:focus{border-color:#5b7be1;box-shadow:0 0 0 3px #3159d81a}.schedule-field select:disabled{color:#59667d;opacity:1;background:#f3f5f9}.schedule-field small{color:#758198;font-size:8px;line-height:1.5}.schedule-field .field-warning{color:#b36a24}.schedule-repeat-note{color:#3159d8;background:#f4f7ff;border:1px solid #dce6ff;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.schedule-repeat-note svg{flex:none;margin-top:1px}.schedule-repeat-note strong{color:#3d518b;margin-bottom:2px;font-size:9px;display:block}.schedule-repeat-note p{color:#66769e;margin:0;font-size:8px;line-height:1.55}.schedule-modal-footer{background:#fafbfc;border-top:1px solid #edf0f5;justify-content:flex-end;align-items:center;gap:9px;padding:15px 24px;display:flex}.schedule-modal-footer .primary-button{margin:0}@keyframes schedule-fade-in{0%{opacity:0}to{opacity:1}}@keyframes schedule-pop-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:680px){.schedule-modal-backdrop{place-items:end center;padding:10px}.schedule-modal{border-radius:16px 16px 10px 10px;max-height:calc(100vh - 20px)}.schedule-modal-header,.schedule-modal-body,.schedule-modal-footer{padding-left:16px;padding-right:16px}.schedule-class-summary{grid-template-columns:1fr;gap:9px;margin-left:16px;margin-right:16px}.schedule-class-summary span,.schedule-class-summary span:first-child{border:0;padding:0}.schedule-form-grid{grid-template-columns:1fr}.schedule-field-wide{grid-column:auto}}.feature-form select,.feature-form textarea,.compact-form select,.compact-form input,.attendance-record select,.submission-grade input{font:inherit;color:#445068;background:#fff;border:1px solid #dfe4ee;border-radius:8px;outline:0;padding:0 11px;font-size:10px}.feature-form select,.compact-form select,.compact-form input{height:38px}.feature-form textarea{resize:vertical;min-height:80px;padding-top:10px}.feature-form select:focus,.feature-form textarea:focus,.compact-form select:focus,.compact-form input:focus,.attendance-record select:focus,.submission-grade input:focus{border-color:#3159d8;box-shadow:0 0 0 3px #3159d812}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}.check-line{grid-auto-flow:column;justify-content:start;align-items:center;gap:8px!important;display:flex!important}.check-line input{width:16px;height:16px;padding:0}.compact-form{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.compact-form label{color:#556078;gap:6px;font-size:9px;font-weight:700;display:grid}.danger-button{color:#c64c38;cursor:pointer;background:#fff0ed;border:1px solid #ffd3ca;border-radius:9px;height:38px;padding:0 13px;font-size:9px;font-weight:700}.danger-button:disabled,.refresh-button:disabled{opacity:.55;cursor:not-allowed}.attendance-layout{grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);gap:14px;display:grid}.session-list{gap:7px;display:grid}.session-list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #edf0f5;border-radius:9px;gap:4px;width:100%;padding:10px;display:grid}.session-list button:hover,.session-list button.selected{background:#f6f8ff;border-color:#c8d3f5}.session-list strong{font-size:9px}.session-list span,.session-list small{color:#8c96a8;font-size:8px}.session-list small{color:#27936c}.attendance-detail{min-width:0}.qr-code-card{color:#fff;background:#182342;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:7px;margin-bottom:12px;padding:16px;display:grid}.qr-code-card small{color:#aebbd7;letter-spacing:.8px;grid-column:1/-1;font-size:8px}.qr-code-card strong{font-family:var(--font-ui,"Kripa"), Arial, sans-serif;word-break:break-all;font-size:13px}.qr-code-card span{color:#b9c7e7;font-size:9px}.qr-code-card button{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff30;border-radius:7px;grid-column:1/-1;justify-self:start;padding:7px 9px;font-size:8px}.attendance-records{margin-top:12px;display:grid}.attendance-record{border-top:1px solid #f0f2f6;align-items:center;gap:12px;padding:10px 2px;display:flex}.attendance-record>div{flex:1;gap:3px;display:grid}.attendance-record strong{font-size:9px}.attendance-record span{color:#8f99aa;font-size:8px}.attendance-record select{min-width:110px;height:34px}.grades-table{border-collapse:collapse;width:100%}.grades-table th,.grades-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef1f5;padding:9px 8px;font-size:8.5px}.grades-table th{color:#8b95a8;text-transform:uppercase;letter-spacing:.45px;font-size:8px}.grades-table td:first-child{min-width:165px}.cell-sub{color:#9ba4b3;margin-top:3px;font-size:7.5px;display:block}.score-input{border:1px solid #dfe4ee;border-radius:7px;width:66px;height:32px;padding:0 7px;font-size:9px}.split-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:14px;display:grid}.submissions-drawer{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:17px}.drawer-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.drawer-head h3{margin:0;font-size:11px}.drawer-head button{cursor:pointer;background:0 0;border:0}.submission-grade{border-top:1px solid #f0f2f6;grid-template-columns:1fr 85px auto;align-items:end;gap:8px;padding:10px 0;display:grid}.submission-grade:first-of-type{border-top:0}.submission-grade div{gap:3px;display:grid}.submission-grade strong{font-size:9px}.submission-grade small{color:#8c96a8;font-size:8px}.submission-grade input{width:100%;height:34px}.report-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.report-cards .stat-card{min-height:92px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-list{gap:7px;display:grid}.report-list>div{border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:9px;display:flex}.report-list>div:last-child{border-bottom:0}@media (max-width:1100px){.attendance-layout,.split-layout{grid-template-columns:1fr}.report-cards{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}}@media (max-width:700px){.global-search{width:100%}.notice-panel.wide{width:min(340px,88vw)}.report-cards{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.attendance-record{flex-direction:column;align-items:flex-start}.attendance-record select{width:100%}.submission-grade{grid-template-columns:1fr}.topbar{padding:0 15px}.search-results{width:88vw}}.report-cards article{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:15px;display:grid}.report-cards article span{color:#8a94a7;font-size:8.5px}.report-cards article strong{letter-spacing:-.6px;font-size:22px}.metric-list>span{border-bottom:1px solid #f0f2f6;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:9px;display:flex}.metric-list>span:last-child{border-bottom:0}.metric-list>span b{font-size:10px}.attendance-qr{border-radius:10px;grid-column:1/-1;justify-self:center;width:min(260px,80vw);height:auto;overflow:hidden}.qr-background{fill:#fff}.qr-module{fill:#111827}.qr-code-card .attendance-qr+strong{color:#d6e0f5;text-align:center;grid-column:1/-1;font-size:10px}.qr-code-card .attendance-qr+strong+span{text-align:center;grid-column:1/-1}.nav-icon,.stat-icon,.quick-grid button>span,.teacher-actions button>span,.icon-button,.logout-button,.menu-button,.primary-button,.refresh-button,.login-submit,.password-field button,.toast>svg,.qr-code-card button{justify-content:center;align-items:center;display:inline-flex}.primary-button,.refresh-button,.login-submit,.qr-code-card button{gap:7px}.nav-icon svg,.stat-icon svg,.quick-grid svg,.teacher-actions svg,.icon-button svg,.logout-button svg,.menu-button svg{display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.student-picker{min-width:260px}.student-picker select{min-height:145px;padding:7px}.student-picker small{color:#8b95a8;margin-top:5px;display:block}.feature-heading>.form-actions{flex-wrap:wrap}.row-actions button:disabled,button:disabled{cursor:not-allowed;opacity:.62}.schedule-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px;display:grid}.schedule-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:12px;padding:16px;display:flex}.schedule-summary-grid article>span{border-radius:10px;place-items:center;width:39px;height:39px;display:grid}.schedule-summary-grid small,.schedule-summary-grid strong{display:block}.schedule-summary-grid small{color:#8993a7;margin-bottom:4px;font-size:9px}.schedule-summary-grid strong{font-size:22px}.teaching-today{margin-bottom:17px}.teaching-section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.teaching-section-heading h2{margin:0 0 4px;font-size:13px}.teaching-section-heading p{color:#929caf;margin:0;font-size:9px}.teaching-card-list{gap:9px;display:grid}.teaching-card{border:1px solid var(--line);background:#fff;border-left:4px solid #b7c0d0;border-radius:11px;align-items:center;gap:15px;padding:13px 14px;display:flex}.teaching-card.current{background:#f8fffc;border-left-color:#20a978}.teaching-card.upcoming{border-left-color:#3159d8}.teaching-card.finished{opacity:.76}.teaching-time{text-align:center;flex:none;width:54px}.teaching-time strong,.teaching-time span{display:block}.teaching-time strong{color:#263550;font-size:15px}.teaching-time span{color:#929caf;margin-top:3px;font-size:9px}.teaching-detail{flex:1;min-width:0}.teaching-detail>div{align-items:center;gap:8px;display:flex}.teaching-detail>div small{color:#8d97aa;font-size:8px}.teaching-detail h3{margin:7px 0 5px;font-size:11px}.teaching-detail p{color:#7d879b;align-items:center;gap:6px;margin:0;font-size:9px;display:flex}.teaching-card>button{color:#3159d8;cursor:pointer;background:#edf2ff;border:1px solid #cbd6f6;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:9px;font-weight:700;display:flex}.teaching-badge{white-space:nowrap;color:#68758b;background:#eef1f6;border-radius:999px;align-items:center;padding:4px 8px;font-size:8px;font-weight:750;display:inline-flex}.teaching-badge.current,.inline-state.current{color:#13845d;background:#e5f8f0}.teaching-badge.upcoming,.inline-state.upcoming{color:#3159d8;background:#eaf0ff}.teaching-badge.finished,.inline-state.finished{color:#7e889a;background:#f1f3f6}.teaching-badge.outside,.inline-state.outside{color:#cf632d;background:#fff0e8}.weekly-schedule{padding-bottom:8px}.weekly-schedule .feature-table-wrap{border:0;margin:0}.weekly-schedule table{min-width:900px}.table-sub{color:#98a1b2;margin-top:4px;font-size:8px;display:block}.inline-state{border-radius:999px;padding:2px 5px;font-style:normal;font-weight:700}.empty-schedule button{color:#3159d8;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:9px;font-weight:700}@media (max-width:900px){.schedule-summary-grid{grid-template-columns:1fr 1fr}.teaching-card{flex-wrap:wrap;align-items:flex-start}.teaching-card>button{margin-left:69px}}@media (max-width:520px){.schedule-summary-grid{grid-template-columns:1fr}.teaching-card>button{margin-left:0}.teaching-section-heading{flex-direction:column;align-items:flex-start}}.offer-content{white-space:normal;color:#667188;max-width:350px;line-height:1.6}.public-site{--public-blue:#2157d5;--public-navy:#0c1b3a;--public-gold:#f4bd4a;color:#13213d;min-height:100vh;font-family:var(--font-ui,"Kripa"), Arial, sans-serif;background:#fff}.public-container{width:min(1180px,100% - 48px);margin:0 auto}.public-header{z-index:80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #e9edf5;position:sticky;top:0}.public-nav{align-items:center;gap:36px;height:76px;display:flex}.public-brand{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.public-brand img,.footer-brand img,.login-school-logo{border-radius:13px;width:44px;height:44px;box-shadow:0 8px 20px #2157d533}.public-brand strong,.public-brand small{display:block}.public-brand strong{letter-spacing:-.4px;font-size:18px}.public-brand small{color:#8993a6;letter-spacing:1.4px;text-transform:uppercase;margin-top:2px;font-size:8px;font-weight:700}.public-nav nav{gap:27px;margin-left:auto;display:flex}.public-nav nav button{color:#56627a;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:13px;font-weight:650}.public-nav nav button:hover{color:var(--public-blue)}.public-nav-actions{align-items:center;gap:9px;display:flex}.nav-download,.nav-login,.public-primary,.public-secondary,.cta-download{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.nav-download{color:#40506e;background:#fff;border:1px solid #d9e0ed}.nav-login{background:var(--public-blue);color:#fff;border:0;box-shadow:0 8px 20px #2157d533}.nav-download.disabled,.public-secondary.disabled,.cta-download.disabled{cursor:not-allowed;opacity:.64}.public-menu-button{color:var(--public-blue);background:#eef3ff;border:0;border-radius:9px;place-items:center;width:40px;height:40px;display:none}.public-hero{background-position:50%;background-size:cover;align-items:center;min-height:690px;display:flex;position:relative;overflow:hidden}.public-hero-overlay{background:linear-gradient(90deg,#05112bf0 0%,#08193ac7 42%,#08193a14 78%);position:absolute;inset:0}.public-hero-content{z-index:1;color:#fff;padding:86px 0 70px;position:relative}.public-eyebrow,.public-section-label{color:var(--public-gold);text-transform:uppercase;letter-spacing:2px;margin:0 0 17px;font-size:11px;font-weight:800}.public-hero h1{letter-spacing:-3px;max-width:680px;margin:0;font-size:clamp(48px,6vw,76px);line-height:.99}.hero-description{color:#d3dced;max-width:600px;margin:26px 0 31px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.public-primary{background:var(--public-blue);color:#fff;border:0;min-height:50px;padding:0 23px}.public-secondary{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff61;min-height:50px;padding:0 23px}.hero-trust{gap:42px;margin-top:53px;display:flex}.hero-trust span{color:#bbc6da;text-transform:uppercase;letter-spacing:1px;font-size:10px}.hero-trust b{color:#fff;letter-spacing:-.5px;margin-bottom:5px;font-size:22px;display:block}.public-section{padding:100px 0}.about-section{background:#fff}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.section-copy h2,.public-section-heading h2,.public-cta h2{letter-spacing:-1.7px;color:var(--public-navy);margin:0 0 22px;font-size:clamp(32px,4vw,46px);line-height:1.13}.text-link{color:var(--public-blue);margin-top:15px;font-size:13px;font-weight:750;text-decoration:none;display:inline-block}.about-visual{padding:0 0 34px 34px;position:relative}.about-visual img{object-fit:cover;border-radius:6px 34px;width:100%;height:410px;display:block}.about-visual:before{content:"";z-index:-1;background:#e8efff;border-radius:6px 34px;width:88%;position:absolute;inset:34px auto 0 0}.about-badge{background:var(--public-blue);color:#fff;border-radius:4px 18px;width:190px;padding:19px 22px;position:absolute;bottom:0;left:0;box-shadow:0 16px 32px #2157d542}.about-badge strong{font-size:27px;display:block}.about-badge span{margin-top:3px;font-size:10px;line-height:1.5;display:block}.public-section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px;display:flex}.public-section-heading>p{color:#727d92;max-width:450px;font-size:13px;line-height:1.7}.public-section-heading h2{margin-bottom:0}.program-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.program-card{background:#fff;border:1px solid #e6ebf4;border-radius:18px;padding:31px;transition:all .25s}.program-card:hover{border-color:#cbd9f7;transform:translateY(-5px);box-shadow:0 18px 46px #182f5d1a}.program-card>span{width:42px;height:42px;color:var(--public-blue);background:#edf3ff;border-radius:12px;place-items:center;font-size:11px;font-weight:800;display:grid}.program-card h3{margin:25px 0 12px;font-size:19px}.program-card p{color:#748096;min-height:61px;font-size:12px;line-height:1.7}.program-card b{color:var(--public-blue);font-size:11px}.news-section{background:#fff}.news-layout{grid-template-columns:1.18fr 1fr;gap:24px;display:grid}.featured-post,.news-card{color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;padding:0}.featured-post{border-radius:20px;min-height:500px;position:relative;overflow:hidden}.featured-post:after{content:"";background:linear-gradient(#0000,#050f25f5);position:absolute;inset:25% 0 0}.featured-post>img{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.featured-post:hover>img{transform:scale(1.035)}.featured-post-copy{z-index:2;color:#fff;padding:33px;position:absolute;bottom:0;left:0;right:0}.featured-post-copy small{color:#c9d4e8;font-size:10px}.featured-post-copy strong{margin:11px 0;font-size:26px;line-height:1.2;display:block}.featured-post-copy p{color:#d4deed;margin:0 0 15px;font-size:12px;line-height:1.6}.featured-post-copy b{color:#fff;font-size:11px}.news-list{gap:17px;display:grid}.news-card{border-bottom:1px solid #e7ebf3;grid-template-columns:180px 1fr;gap:19px;padding-bottom:17px;display:grid}.news-card:last-child{border-bottom:0}.news-card img{object-fit:cover;border-radius:12px;width:180px;height:145px}.news-card small{color:#8b95a6;font-size:9px}.news-card strong{color:var(--public-navy);margin:8px 0;font-size:15px;line-height:1.35;display:block}.news-card p{color:#778297;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.public-loading{text-align:center;color:#7d8799;padding:50px;font-size:13px}.public-api-note{color:#a06d18;background:#fff8e8;border:1px solid #f5dda9;border-radius:9px;margin:22px 0 0;padding:11px 14px;font-size:10px}.public-cta{color:#fff;background:linear-gradient(120deg,#10234b,#183b86);padding:75px 0}.cta-inner{justify-content:space-between;align-items:center;gap:50px;display:flex}.public-cta h2{color:#fff;margin-bottom:12px}.public-cta p:not(.public-section-label){color:#c5d1e7;max-width:640px;font-size:13px;line-height:1.7}.cta-download{color:#183b86;background:#fff;border:0;min-width:190px;min-height:52px}.public-footer{color:#c2ccdd;background:#09142b;padding:60px 0 20px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:70px;display:grid}.footer-brand{align-items:flex-start;gap:14px;display:flex}.footer-brand strong{color:#fff;font-size:19px}.footer-grid strong{color:#fff;margin-bottom:13px;font-size:12px;display:block}.footer-grid p,.footer-grid a{color:#9cabc2;margin:7px 0;font-size:10px;line-height:1.6;text-decoration:none;display:block}.footer-bottom{color:#718098;border-top:1px solid #ffffff1a;margin-top:44px;padding-top:19px;font-size:9px}.public-article-page{width:min(920px,100% - 48px);margin:0 auto;padding:65px 0 100px}.article-back{color:var(--public-blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.article-heading{text-align:center;max-width:780px;margin:46px auto 35px}.article-heading>span{color:var(--public-blue);letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:800}.article-heading h1{color:var(--public-navy);letter-spacing:-2px;margin:16px 0;font-size:clamp(36px,5vw,56px);line-height:1.08}.article-heading p{color:#8791a3;font-size:10px}.article-cover{object-fit:cover;border-radius:22px;width:100%;height:500px}.article-body{max-width:720px;margin:45px auto 0}.article-body p{color:#46536b;margin:0 0 22px;font-size:15px;line-height:1.95}.website-admin-tabs{border:1px solid var(--line);background:#fff;border-radius:11px;gap:6px;width:fit-content;margin-bottom:18px;padding:5px;display:flex}.website-admin-tabs button{color:#7a8599;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 16px;font-size:10px;font-weight:700}.website-admin-tabs button.active{color:#3159d8;background:#edf2ff}.website-admin-tabs span{background:#dfe7ff;border-radius:99px;margin-left:5px;padding:2px 6px}.website-settings-form{gap:0;display:grid}.admin-form-section{border-bottom:1px solid var(--line);grid-template-columns:210px 1fr;gap:30px;padding:22px 0;display:grid}.admin-form-section:first-child{padding-top:0}.admin-form-section>div:first-child p{color:#8c95a7;font-size:9px;line-height:1.55}.post-editor{margin-bottom:18px}.post-editor .feature-heading{margin-bottom:17px}.post-content-input{min-height:210px!important}.admin-post-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.admin-post-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:170px 1fr;display:grid;overflow:hidden}.admin-post-card>img{object-fit:cover;width:170px;height:100%;min-height:205px}.admin-post-card>div{padding:18px}.admin-post-card h3{margin:10px 0 7px;font-size:12px;line-height:1.4}.admin-post-card p{color:#7b869a;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 10px;font-size:9px;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-post-card small{color:#9aa3b3;font-size:8px}.admin-post-card .row-actions{justify-content:flex-start;margin-top:13px}.admin-post-status{flex-wrap:wrap;gap:5px;display:flex}.admin-post-status span{border-radius:99px;padding:4px 7px;font-size:7px;font-weight:800}.admin-post-status .published{color:#14835e;background:#e7f8f0}.admin-post-status .draft{color:#737e90;background:#f0f2f5}.admin-post-status .featured{color:#a3690c;background:#fff3d9}.login-home-link{color:#3159d8;cursor:pointer;text-align:left;background:0 0;border:0;margin:0 0 28px;padding:0;font-size:10px;font-weight:700}.login-brand .login-school-logo{width:38px;height:38px}.mobile-login-brand .login-school-logo{width:34px;height:34px}.sidebar-school-logo{border-radius:11px;width:37px;height:37px;box-shadow:0 7px 18px #3159d838}@media (max-width:980px){.public-nav{height:68px}.public-menu-button{margin-left:auto;display:grid}.public-nav nav{background:#fff;border-bottom:1px solid #e7ebf3;margin:0;padding:14px 24px 20px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 15px 30px #0f1f4114}.public-nav nav.open{display:grid}.public-nav nav button{text-align:left;padding:11px 0}.nav-download{display:none}.public-hero{background-position:64%;min-height:620px}.about-grid{gap:44px}.news-layout{grid-template-columns:1fr}.featured-post{min-height:440px}.news-list{grid-template-columns:repeat(3,1fr)}.news-card{border:1px solid #e7ebf3;border-radius:13px;grid-template-columns:1fr;padding:0 0 15px;overflow:hidden}.news-card img{border-radius:0;width:100%;height:150px}.news-card span{padding:0 14px}.admin-post-grid{grid-template-columns:1fr}}@media (max-width:720px){.public-container{width:min(100% - 30px,1180px)}.public-brand img{width:38px;height:38px}.public-brand strong{font-size:15px}.nav-login{min-height:38px;padding:0 13px;font-size:10px}.public-hero{background-position:70%;min-height:630px}.public-hero-overlay{background:linear-gradient(90deg,#05112bf5,#05112bad)}.public-hero-content{padding:72px 0 55px}.public-hero h1{letter-spacing:-2px;font-size:46px}.hero-description{font-size:13px}.hero-trust{gap:20px}.hero-trust b{font-size:18px}.public-section{padding:72px 0}.about-grid{grid-template-columns:1fr}.about-visual img{height:340px}.public-section-heading{display:block}.public-section-heading>p{margin-top:15px}.program-grid,.news-list{grid-template-columns:1fr}.news-card{grid-template-columns:130px 1fr;padding:0}.news-card img{width:130px;height:125px}.news-card span{padding:13px 13px 10px 0}.cta-inner{display:block}.cta-download{margin-top:20px}.footer-grid{grid-template-columns:1fr;gap:32px}.article-cover{height:300px}.article-body p{font-size:14px}.admin-form-section{grid-template-columns:1fr;gap:12px}}@media (max-width:480px){.public-nav-actions{margin-left:0}.public-menu-button{margin-left:auto}.public-brand small{display:none}.public-nav{gap:10px}.public-hero h1{font-size:40px}.hero-actions{display:grid}.hero-trust{grid-template-columns:repeat(3,1fr);display:grid}.featured-post{min-height:470px}.featured-post-copy{padding:24px}.featured-post-copy strong{font-size:21px}.news-card{grid-template-columns:1fr}.news-card img{width:100%;height:180px}.news-card span{padding:3px 15px 15px}.admin-post-card{grid-template-columns:1fr}.admin-post-card>img{width:100%;height:180px;min-height:0}}.file-import-dialog{color:#172b4d;background:#fff;border:1px solid #dce2ef;border-radius:18px;width:min(1000px,100vw - 32px);max-height:min(85dvh,100dvh - 32px);margin:auto;padding:24px;position:fixed;inset:0;overflow:auto}.file-import-dialog::backdrop{background:#0d193285}.file-import-dialog li{margin:8px 0}.file-import-dialog th,.file-import-dialog td{white-space:nowrap;text-align:left;padding:10px}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.warning-filters{display:block}.warning-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.warning-policy{color:#64748b;margin:16px 0 0;font-size:13px;line-height:1.7}.warning-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.warning-summary>div{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;padding:20px;display:grid}.warning-summary strong{color:#1d4ed8;font-size:28px}.warning-summary span{color:#64748b;font-size:13px}.warning-toolbar,.warning-toolbar>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.warning-toolbar{margin:18px 0}.warning-toolbar p,.warning-toolbar>span{color:#64748b;font-size:13px}.warning-cell-note{color:#64748b;margin-top:6px;font-size:12px;display:block}.warning-reasons{flex-wrap:wrap;gap:6px;min-width:170px;display:flex}.warning-reasons span{color:#b91c1c;background:#fff1f2;border-radius:6px;padding:5px 8px;font-size:12px}.warning-page input[type=checkbox]{accent-color:#3154df;cursor:pointer;width:17px;height:17px}.warning-compose>label{gap:8px;font-weight:600;display:grid}.warning-compose select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:12px}.warning-compose p,.warning-compose details{color:#64748b;font-size:14px;line-height:1.7}.warning-compose summary{cursor:pointer}.warning-compose ul{max-height:180px;overflow:auto}.warning-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:#243b5a;background:#f8faff;border:1px solid #dbeafe;border-radius:12px;padding:20px;font-size:14px;line-height:1.8}@media (max-width:900px){.warning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.warning-filters .form-grid{grid-template-columns:1fr}}@media (max-width:480px){.warning-summary{grid-template-columns:1fr}.warning-toolbar>div,.warning-toolbar button{width:100%}}.toast-error{color:#fff;background:#991b1b;border:1px solid #fecaca}.toast-success{color:#fff;background:#166534;border:1px solid #bbf7d0}.class-summary{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:0;padding:18px}.class-calendar-table{max-height:420px;overflow:auto}.class-calendar-table thead{z-index:1;position:sticky;top:0}.class-lesson-conflict td{color:#991b1b;background:#fff1f2}.class-pending-plans{margin-top:24px}.class-pending-plans>p{color:var(--muted);font-size:13px}.class-pending-plans .teaching-offer-card{margin-top:14px}.learning-modal-body .teaching-offer-form{margin:0}.teaching-offer-form{display:block}.offer-date-builder{border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:18px}.offer-date-builder legend{padding:0 8px;font-weight:700}.offer-date-builder>button{margin-top:14px}.weekly-day-picker{border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:16px}.weekly-day-picker>div{flex-wrap:wrap;gap:12px 22px;display:flex}.weekly-day-picker label{cursor:pointer;align-items:center;gap:8px;display:flex}.weekly-day-picker input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary,#3154df);margin:0}.weekly-day-picker p{margin:12px 0 0;font-size:14px}.class-student-attendance{gap:12px;min-width:290px;display:grid}.class-student-attendance>div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:10px;display:grid}.attendance-warning,.learning-grade-result.is-failed{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5}.learning-grade-result{border-radius:8px;margin:10px 0;padding:10px 12px}.learning-grade-result.is-low{color:#92400e;background:#fffbeb}.class-student-list{gap:24px;margin-top:16px;display:grid}.class-roster-section{position:relative}.profile-page-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:24px;display:grid}.profile-page-grid .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-password-fields{gap:18px;margin-top:20px;display:grid}.profile-password-fields label{gap:8px;display:grid}.profile-link{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;gap:4px;padding:0;display:grid}.teacher-tabs{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.teacher-tabs button{border:1px solid var(--line);color:#52647a;cursor:pointer;font:inherit;background:#fff;border-radius:10px;padding:12px 18px}.teacher-tabs button[aria-selected=true]{color:#3154df;background:#eef2ff;border-color:#a5b4fc;font-weight:700}.teacher-class-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;display:grid}.teacher-class-card header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-class-card h2{font-size:20px}.teacher-next-lesson{background:#f7f9fc;border:1px solid #dce3ef;border-radius:12px;margin:18px 0;padding:18px}.teacher-next-lesson p{margin:8px 0}.teaching-next{border-left:4px solid #3154df;margin:20px 0}@media (max-width:760px){.profile-page-grid,.profile-page-grid .form-grid{grid-template-columns:1fr}}.class-roster-toolbar{z-index:3;border-bottom:1px solid var(--line);background:#f7f9fc;margin-inline:-28px;padding:12px 28px;position:sticky;top:-24px;box-shadow:0 6px 10px #0f172a0a}.class-roster-toolbar h3{margin:0 0 6px}.class-roster-toolbar p{margin:0 0 10px;font-size:13px;line-height:1.5}.class-roster-toolbar .feature-tools{margin:0}.class-roster-toolbar .feature-tools label{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.class-roster-toolbar input{flex:1;min-width:180px;max-width:520px}@media (max-width:760px){.class-roster-toolbar{margin-inline:-18px;padding-inline:18px;top:-18px}}.class-student-card{background:#fff;border:1px solid #cbd5e1;border-radius:16px;min-width:0;padding:22px;box-shadow:0 3px 10px #0f172a0a}.class-student-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.class-student-header h4{overflow-wrap:anywhere;margin:6px 0 0;font-size:18px}.class-student-code{color:#3154df;background:#eef2ff;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:700;display:inline-block}.class-student-info{grid-template-columns:2fr 1fr 1fr;gap:16px;margin:16px 0 20px;display:grid}.class-student-info dt{color:#64748b;margin-bottom:4px;font-size:13px}.class-student-info dd{overflow-wrap:anywhere;margin:0}.class-student-card .class-student-attendance{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));min-width:0}.class-student-card .class-student-attendance>strong{grid-column:1/-1}@media (max-width:600px){.class-student-card{padding:16px}.class-student-header{flex-direction:column}.class-student-info{grid-template-columns:1fr;gap:12px}}.offer-date-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;max-height:300px;margin-top:16px;display:grid;overflow:auto}.offer-date-list>label{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.offer-date-list input{width:100%;min-width:0}.offer-date-list button{color:#b91c1c;cursor:pointer;background:0 0;border:0}.offer-plan-preview{color:#264589;background:#eef3ff;border-radius:12px;flex-wrap:wrap;gap:14px 28px;margin:18px 0;padding:16px;font-size:13px;display:flex}.offer-plan-note{background:#fff8e7;border-radius:10px;padding:12px 16px;font-size:13px;line-height:1.7}.offer-plan-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:20px 0;display:grid}.offer-plan-summary dt{color:var(--muted);margin-bottom:5px;font-size:12px}.offer-plan-summary dd{margin:0;font-size:14px;font-weight:600}.offer-plan-details summary{cursor:pointer;color:var(--blue);padding:10px 0;font-weight:600}.offer-plan-details .feature-table-wrap{margin:10px 0}.teaching-offer-list{gap:20px;display:grid}.teaching-offer-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px}.teaching-offer-card>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teaching-offer-card h2{margin:0 0 8px;font-size:19px}.teaching-offer-card p{font-size:13px;line-height:1.7}.teaching-offer-card>header p{color:var(--muted)}.teaching-offer-card footer{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.teaching-offer-card footer label{gap:8px;font-size:13px;display:grid}.teaching-offer-card textarea{border:1px solid #cfd7e4;border-radius:10px;width:100%;padding:12px}.offer-message{white-space:pre-wrap}.offer-status{white-space:nowrap;color:#3159d8;background:#eef2ff;border-radius:20px;padding:6px 12px;font-size:12px}.offer-status-accepted{color:#166534;background:#dcfce7}.offer-status-rejected{color:#991b1b;background:#fee2e2}@media (max-width:600px){.teaching-offer-card{padding:16px}.teaching-offer-card>header{flex-direction:column}}.learning-modal{width:min(1080px,100% - 48px);max-width:none;max-height:calc(100dvh - 64px);color:var(--ink);font-family:var(--font-ui);background:#fff;border:1px solid #e0e7f1;border-radius:20px;margin:auto;padding:0;overflow:hidden;box-shadow:0 28px 90px #17203840}.learning-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101b365e}.learning-modal-layout{flex-direction:column;max-height:calc(100dvh - 66px);display:flex}.learning-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px;display:flex}.learning-modal-header h2{margin:0 0 8px;font-size:22px;font-weight:700;line-height:1.4}.learning-modal-header p{max-width:760px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.learning-modal-header>button{white-space:nowrap;flex-shrink:0}.learning-modal-body{overscroll-behavior:contain;background:#f7f9fc;min-height:0;padding:24px 28px 28px;overflow-y:auto}.learning-modal-search{flex-direction:column;gap:8px;margin-bottom:20px;font-size:13px;font-weight:600;display:flex}.learning-modal-search input{background:#fff;border:1px solid #cfd7e4;border-radius:10px;width:100%;min-height:44px;padding:10px 14px}.learning-modal-search input:focus{outline-offset:2px;outline:2px solid #3159d8}.learning-course-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.learning-course-card{overflow-wrap:anywhere;background:#fff;border:1px solid #dce3ef;border-radius:14px;min-width:0;padding:20px}.learning-course-card.is-warning{background:#fff1f2;border-color:#f87171}.learning-course-card h3{margin:0 0 10px;font-size:16px;line-height:1.5}.learning-student-fields{gap:8px;margin:14px 0 18px;display:grid}.learning-student-fields>div{grid-template-columns:115px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.learning-student-fields dt{color:#64748b;font-size:13px}.learning-student-fields dd{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:500}.learning-course-card p{margin:8px 0;font-size:13px;line-height:1.75}.learning-course-card summary{color:var(--blue);cursor:pointer;margin-top:12px;font-size:13px;font-weight:600}.learning-course-card ul{padding-left:20px;font-size:13px;line-height:1.8}@media (max-width:760px){.learning-modal{border-radius:14px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.learning-modal-layout{max-height:calc(100dvh - 26px)}.learning-modal-header{gap:12px;padding:18px}.learning-modal-header h2{font-size:18px}.learning-modal-header>button{padding:10px}.learning-modal-body{padding:18px}.learning-course-list{grid-template-columns:1fr}}@font-face{font-family:Kripa;src:url(/fonts/kripa/Kripa-Variable.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--font-ui:"Kripa", Arial, sans-serif;--font-heading:var(--font-ui);--font-geist-sans:var(--font-ui);--control-border:#cfd7e4;--control-muted:#65748b}body{font-family:var(--font-ui);font-size:14px;line-height:1.5}button,input,select,textarea{font-family:var(--font-ui);-webkit-tap-highlight-color:transparent}.workspace{min-width:0}.feature-heading{gap:20px}.feature-heading h1{letter-spacing:-.5px;font-size:28px;font-weight:650}.feature-heading p{color:var(--control-muted);font-size:13px;line-height:1.65}.feature-heading .eyebrow{letter-spacing:.6px;font-size:11px}.sidebar nav button{font-size:13px;font-weight:500}.profile-card strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.profile-card small{font-size:11px}.feature-table-wrap th{letter-spacing:.4px;font-size:11px}.feature-table-wrap td{font-size:13px;line-height:1.6}.feature-table-wrap td small{font-size:11px}.feature-page .row-actions{flex-wrap:wrap}.feature-page .row-actions button{min-height:32px;font-size:11px;font-weight:600}.feature-form,.inline-action-card{background:#fff;border:1px solid #e0e5ed;border-radius:12px;margin:0 0 24px;padding:24px;box-shadow:0 2px 6px #17203808}.form-section-heading,.action-card-heading{border-bottom:1px solid var(--line);grid-column:1/-1;margin-bottom:22px;padding-bottom:16px}.form-section-heading h2,.action-card-heading strong{color:var(--ink);margin:0;font-size:17px;font-weight:650;display:block}.form-section-heading p,.action-card-heading p{color:var(--control-muted);margin:5px 0 0;font-size:12px}.form-grid{gap:20px;margin-bottom:22px}.feature-page :is(.feature-form,.inline-action-card,.submission-grade) label,.schedule-field{color:#3c4a60;flex-direction:column;align-items:stretch;gap:8px;min-width:0;font-size:13px;font-weight:600;line-height:1.5;display:flex}.field-required{color:#bb4141}.feature-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea){border:1px solid var(--control-border);min-width:0;max-width:100%;height:auto;min-height:44px;font-family:var(--font-ui);color:#26354b;background-color:#fff;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s,box-shadow .15s}.feature-page :is(.feature-form,.inline-action-card,.schedule-field,.submission-grade) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}.feature-page select:not([multiple]){-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2365748b' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}.feature-page textarea{resize:vertical;min-height:110px}.feature-page :is(input,textarea)::placeholder{color:#8995a7;opacity:1}.feature-page :is(input,select,textarea):hover:not(:disabled){border-color:#a8b7cd}.feature-page :is(input,select,textarea):focus-visible{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #3159d81f}.feature-page :is(input,select,textarea)[aria-invalid=true]{border-color:#c44d4d}.feature-page :is(input,select,textarea):disabled{color:#79869a;cursor:not-allowed;opacity:1;background-color:#f1f3f7}.feature-page label small{color:var(--control-muted);font-size:12px;font-weight:400;line-height:1.6}.feature-page .check-line{flex-direction:row;align-items:center;gap:10px;font-size:13px;font-weight:400}.feature-page .check-line input{width:17px;height:17px;min-height:17px;accent-color:var(--blue);flex:0 0 17px;padding:0}.feature-page .form-actions{flex-wrap:wrap;gap:10px;display:flex}.feature-form>.form-actions,.inline-action-card>.form-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;margin-top:4px;padding-top:18px}.feature-form>.form-actions .check-line{margin-right:auto}.feature-page :is(.primary-button,.refresh-button){height:auto;min-height:42px;box-shadow:none;border-radius:8px;justify-content:center;padding:10px 17px;font-size:13px;font-weight:600;line-height:1.4}.feature-page .primary-button:hover:not(:disabled){background:#254ab9}.feature-page .refresh-button:hover:not(:disabled){background:#f4f6fa}.feature-page button:focus-visible{outline-offset:3px;outline:3px solid #9eb4fa}.logout-button:focus-visible{outline-offset:3px;outline:3px solid #9eb4fa}.inline-action-card{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:20px;display:grid}.inline-action-card .action-card-heading{margin-bottom:0}.inline-action-card .student-picker{grid-column:1/-1;min-width:0}.learning-modal-body .registration-action-form{grid-template-columns:minmax(0,1fr);margin:0}.registration-action-form>p{margin:0;line-height:1.7}.registration-dialog-actions{width:100%}.registration-action-form .registration-dialog-actions>button{justify-content:center;min-height:44px;font-size:13px}.registration-dialog-actions>button:disabled{opacity:.6;cursor:wait}.feature-page select[multiple]{background-image:none;min-height:200px;padding:8px}.feature-page select[multiple] option{border-radius:5px;margin:2px 0;padding:10px 12px}.feature-tools{flex-wrap:wrap;gap:12px}.feature-tools>select{flex:0 190px}.feature-search{min-width:0;height:auto;min-height:44px}.feature-page .feature-search input{min-height:40px;box-shadow:none;background:0 0;border:0;padding:8px 4px}.feature-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #3159d812}.feature-search select{flex:1}.feature-page .score-input{text-align:center;width:80px;min-height:38px;padding:7px 9px}.submission-grade{grid-template-columns:minmax(0,1fr) 100px minmax(160px,1fr) auto;gap:16px;padding:18px 0}.feature-error{flex-wrap:wrap;padding:14px 16px;font-size:13px;line-height:1.6}.schedule-modal{width:min(860px,100%)}.schedule-form-grid{gap:18px}.schedule-repeat-note{align-items:flex-start}.schedule-repeat-note>div{flex:1;min-width:0}.schedule-repeat-note p{overflow-wrap:anywhere;font-size:12px;line-height:1.6}.schedule-repeat-note button{margin:6px 0 6px 8px}.feature-page .attendance-record select{width:auto;min-width:140px}.admin-form-section>div:first-child strong{font-size:15px}.admin-form-section>div:first-child p{font-size:12px}.website-admin-tabs button{font-size:13px}.login-form>label{font-size:13px;line-height:1.5}.login-form :is(input[type=email],input[type=text],input[type=password]){min-height:44px;font-size:15px}.login-options{font-size:12px}@media (max-width:1100px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.submission-grade>div{grid-column:1/-1}}@media (max-width:600px){.feature-form,.inline-action-card{border-radius:10px;margin-bottom:18px;padding:18px}.form-grid,.inline-action-card,.submission-grade{grid-template-columns:minmax(0,1fr);gap:16px}.form-grid .span-2,.form-grid .span-3{grid-column:1/-1}.feature-page :is(input,select,textarea),.login-form input{font-size:16px}.feature-form>.form-actions,.inline-action-card>.form-actions{flex-direction:column-reverse;align-items:stretch}.feature-form>.form-actions .check-line{margin:0}.feature-tools>select{flex:100%;width:100%}.feature-search{flex-wrap:wrap;flex:100%}.schedule-modal-footer{gap:10px}}@media (prefers-reduced-motion:reduce){.feature-page :is(input,select,textarea){transition:none}}.attendance-sync{color:#52647a;margin:16px 0 8px;font-size:12px}.attendance-sync-error{color:#a34c24}.attendance-page .feature-heading{background:linear-gradient(120deg,#eef5ff,#f4f9f8);border:1px solid #dce7f3;border-radius:18px;padding:24px}.attendance-page .attendance-layout{grid-template-columns:minmax(240px,1fr) minmax(0,2.3fr);gap:24px}.attendance-page .qr-code-card{background:#f5f8ff;border:1px solid #dbe6f5;border-radius:18px;padding:24px}.attendance-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.attendance-metrics>div{background:#f4f8fc;border:1px solid #e2eaf3;border-radius:12px;gap:8px;padding:18px;display:grid}.attendance-metrics strong{color:#174e83;font-size:20px}.attendance-metrics span{color:#64748b;font-size:13px}.attendance-page .attendance-record{border:1px solid #e6edf4;border-radius:12px;margin:8px 0;padding:16px}@media (max-width:760px){.attendance-page .attendance-layout,.attendance-metrics{grid-template-columns:1fr}}.attendance-projection{color:#102743;box-sizing:border-box;background:#f2f6fc;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.attendance-projection::backdrop{opacity:1;background:#f2f6fc}.attendance-projection:-webkit-full-screen{background:#f2f6fc}.attendance-projection:fullscreen{background:#f2f6fc}.projection-header{background:#fff;border-bottom:1px solid #dce5f1;justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;display:flex}.projection-header p{letter-spacing:2px;color:#4669a1;margin:0 0 8px;font-size:12px;font-weight:800}.projection-header h1{margin:0 0 6px;font-size:clamp(24px,2.4vw,40px);line-height:1.15}.projection-header span{color:#536580;font-size:18px}.projection-actions{flex-wrap:wrap;gap:12px;display:flex}.projection-content{box-sizing:border-box;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;height:calc(100dvh - 155px);min-height:500px;padding:32px 40px;display:grid}.projection-scan{text-align:center;background:#fff;border:1px solid #dce5f1;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.projection-label{letter-spacing:2px;color:#365d95;font-size:14px;font-weight:800}.projection-qr{aspect-ratio:1;color:#64748b;background:#fff;justify-content:center;align-items:center;width:min(100%,54vh,520px);margin:16px 0;display:flex}.projection-qr .attendance-qr{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;display:block}.projection-qr .qr-background{fill:#fff}.projection-qr .qr-module{fill:#000}.projection-scan h2{margin:4px 0 8px;font-size:clamp(18px,1.5vw,26px)}.projection-scan p{color:#365d95;font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:18px}.projection-scan small{color:#64748b;font-size:14px}.projection-roster{background:#fff;border:1px solid #dce5f1;border-radius:24px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.projection-roster>header{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.projection-roster h2{margin:0 0 6px;font-size:24px}.projection-roster header p{color:#64748b;margin:0}.projection-roster header>strong{color:#176b53;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:36px}.projection-roster header>strong span{color:#8290a4;font-size:22px}.projection-roster header>strong small{text-align:right;font-size:12px;font-weight:500;display:block}.projection-sync{color:#176b53;background:#ecf8f2;margin:0;padding:12px 24px;font-size:13px}.projection-sync.is-error{color:#9a5818;background:#fff5e8}.projection-students{flex:1;padding:8px 24px 24px;overflow:auto}.projection-student{border-bottom:1px solid #e8eef6;align-items:center;gap:16px;padding:17px 0;display:flex}.projection-number{color:#8190a5;width:30px;font-size:14px}.projection-student>div{flex:1;min-width:0}.projection-student strong{overflow-wrap:anywhere;font-size:18px;display:block}.projection-student small{color:#64748b;margin-top:5px;font-size:13px;display:block}.projection-status{color:#64748b;white-space:nowrap;background:#f1f4f8;border-radius:24px;padding:8px 12px;font-size:13px}.is-scanned .projection-status{color:#146344;background:#dcf5e7;font-weight:700}.projection-notice,.projection-empty{color:#64748b;padding:16px 24px}@media (max-width:800px){.projection-header{flex-direction:column;align-items:flex-start;padding:20px}.projection-content{grid-template-columns:1fr;gap:20px;height:auto;min-height:0;padding:20px}.projection-roster{min-height:320px;max-height:65vh}.projection-qr{width:min(100%,420px)}.projection-header span{font-size:16px}}.program-image-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.program-image-admin-card{background:#fff;border:1px solid #dce7f7;border-radius:16px;min-width:0;overflow:hidden}.program-image-preview{aspect-ratio:16/9;background:#edf4ff;position:relative}.program-image-preview img{object-fit:cover;width:100%;height:100%}.program-image-preview span{color:#fff;background:#15366bd9;border-radius:6px;padding:6px 10px;font-size:11px;position:absolute;bottom:12px;left:12px}.program-image-admin-card>div:last-child{padding:24px}.program-image-admin-card h3{color:#15366b;margin:8px 0 20px}.program-image-admin-card small{color:#2563eb}.program-image-admin-card label{color:#526b91;gap:8px;font-size:12px;display:grid}.program-image-admin-card input{width:100%;font:inherit;color:#15366b;border:1px solid #dce7f7;border-radius:8px;padding:12px}.program-image-admin-card p{color:#7a8ca6;font-size:11px}.program-image-admin-card .text-link{color:#2563eb;align-items:center;gap:6px;margin-top:18px;font-size:12px;display:inline-flex}@media (max-width:700px){.program-image-admin-grid{grid-template-columns:1fr}}.program-management-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.program-management-heading h2{margin:0 0 8px}.program-management-heading p{color:#64748b;font-size:13px;line-height:1.8}.program-management-heading button{flex-shrink:0}.program-management-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;margin-top:24px;display:grid}.program-management-list{background:#fff;border:1px solid #e1e9f5;border-radius:14px;gap:8px;max-height:85vh;padding:16px;display:grid;position:sticky;top:92px;overflow:auto}.program-management-list label{gap:8px;margin-bottom:12px;font-size:12px;display:grid}.program-management-list input{width:100%;font:inherit;border:1px solid #dce7f7;border-radius:8px;padding:10px}.program-management-list>button{text-align:left;color:#15366b;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;gap:8px;padding:14px;display:grid}.program-management-list button strong{font-size:13px}.program-management-list button span{color:#7b8ca4;font-size:10px}.program-management-list button.selected{background:#eff6ff;border-color:#bfdbfe}.program-editor-empty{text-align:center;color:#60738e;padding:70px 24px}.program-content-editor{min-width:0;margin:0!important}.program-content-editor fieldset{border:0;min-width:0;margin:0;padding:0}.program-content-editor header h2{color:#15366b;font-size:22px}.program-content-editor header p{color:#7a8ca6;font-size:12px}.program-content-editor details{border:1px solid #e1e9f5;border-radius:12px;margin:18px 0;overflow:hidden}.program-content-editor summary{cursor:pointer;color:#15366b;background:#f7faff;padding:18px 20px;font-size:14px;font-weight:700}.program-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:22px;display:grid}.program-content-editor label{color:#526b91;gap:8px;font-size:12px;display:grid}.program-content-editor small{color:#8a9bb1;font-size:10px;font-weight:400}.program-content-editor :is(input:not([type=checkbox]),textarea,select){width:100%;max-width:100%;font:inherit;color:#15366b;background:#fff;border:1px solid #dce7f7;border-radius:8px;padding:12px;font-size:13px}.program-content-editor textarea{resize:vertical;line-height:1.7}.program-editor-wide{grid-column:1/-1}.program-content-editor .program-editor-check{grid-column:1/-1;align-items:center;gap:10px;display:flex}.program-content-editor input:read-only{color:#7a8ca6;background:#f1f5fb}.program-editor-stages{gap:18px;padding:22px;display:grid}.program-editor-stages>div{border:1px solid #e1e9f5;border-radius:10px;gap:16px;padding:18px;display:grid}.program-editor-stages header{color:#15366b;justify-content:space-between;align-items:center;gap:14px;display:flex}.program-editor-stages>button{justify-self:start}.program-content-preview{max-width:400px;margin:24px}.program-editor-actions{border-top:1px solid #e1e9f5;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0 4px;display:flex}.program-editor-actions a{color:#2563eb;align-items:center;gap:6px;font-size:12px;display:inline-flex}@media (max-width:1000px){.program-management-layout{grid-template-columns:1fr}.program-management-list{max-height:280px;position:static}.program-editor-grid{grid-template-columns:1fr}.program-management-heading{flex-direction:column;align-items:flex-start}}.teaching-offer-form option:disabled,.teaching-offer-form .busy-resource-option{color:#9ca3af;background:#f3f4f6}.conflict-choice-list{flex-direction:column;align-items:stretch;gap:10px;margin:16px 0;display:flex}.conflict-choice-list button{text-align:left;white-space:normal}.assignment-conflict-dialog{color:#253552;width:min(1080px,100% - 48px)}.assignment-conflict-dialog .learning-modal-header{background:#fff;padding:24px 28px}.assignment-conflict-dialog .learning-modal-header h2{margin-bottom:6px;font-size:21px}.assignment-conflict-dialog .learning-modal-body{background:#f6f8fc;padding:24px 28px 28px}.assignment-conflict-dialog h3{color:#172b4d;margin:0 0 12px;font-size:16px;line-height:1.5}.assignment-conflict-dialog p{font-size:13px;line-height:1.7}.conflict-alert{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.conflict-alert>span{background:#ffedd5;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:19px;font-weight:800;display:grid}.conflict-alert strong{font-size:14px}.conflict-alert p{color:#9a4c28;margin:3px 0 0}.assignment-conflict-dialog .conflict-busy-table{background:#fff;border:1px solid #dfe6f1;border-radius:12px;max-height:245px;margin:0 0 24px;overflow:auto}.assignment-conflict-dialog .conflict-busy-table table{border-collapse:separate;border-spacing:0;width:100%;min-width:620px}.assignment-conflict-dialog .conflict-busy-table th{z-index:1;color:#526681;background:#edf2f8;padding:12px 16px;font-size:11px;position:sticky;top:0}.assignment-conflict-dialog .conflict-busy-table td{color:#354968;padding:12px 16px;font-size:13px;line-height:1.6}.conflict-busy-table td small{color:#687b95;margin-top:2px;display:block}.conflict-time-badge{white-space:nowrap;color:#b42338;background:#fff1f2;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-block}.conflict-resolution{margin-bottom:24px}.conflict-resolution-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.conflict-resolution-actions button{font:inherit;color:#314769;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e1ef;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;transition:border-color .15s,background .15s;display:flex}.conflict-resolution-actions button strong{font-size:14px}.conflict-resolution-actions button span{color:#617795;font-size:12px;line-height:1.6}.conflict-resolution-actions button:hover{background:#f5f8ff;border-color:#7797ed}.conflict-resolution-actions button[aria-pressed=true]{background:#edf3ff;border-color:#3159d8;box-shadow:inset 0 0 0 1px #3159d8}.conflict-resolution-actions button[aria-pressed=true] strong{color:#244cc7}.conflict-suggestions{border-top:1px solid #dfe6f1;padding-top:24px}.assignment-conflict-dialog .conflict-section-description{color:#61738e;max-width:760px;margin:-4px 0 18px}.conflict-schedule-list{gap:16px;display:grid}.conflict-schedule-card{background:#fff;border:1px solid #dce5f2;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 3px 10px #243d6305}.conflict-schedule-card>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:18px 20px 12px;display:flex}.conflict-option-number{letter-spacing:.04em;text-transform:uppercase;color:#536c93;font-size:11px;font-weight:700}.conflict-available-badge{color:#18734b;background:#eaf8f0;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.conflict-schedule-card h4{color:#1f365c;margin:0 20px 6px;font-size:16px;line-height:1.5}.assignment-conflict-dialog .conflict-change-description{color:#61738e;margin:0 20px 16px}.conflict-date-comparison{border:1px solid #e5ebf4;border-radius:10px;margin:0 20px 18px;overflow:hidden}.conflict-date-comparison>div{background:#fafbfd;grid-template-columns:85px minmax(0,1fr);gap:12px;padding:10px 14px;display:grid}.conflict-date-comparison>div+div{border-top:1px solid #e5ebf4}.conflict-date-comparison dt{color:#61738e;align-self:center;font-size:12px}.conflict-date-comparison dd{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:12px;margin:0;font-size:13px;line-height:1.6;display:grid}.conflict-old-value{color:#748299}.conflict-comparison-arrow{text-align:center;color:#8499bc}.conflict-date-comparison dd strong{color:#244fc4;font-weight:600}.conflict-schedule-card>footer{background:#fbfcff;border-top:1px solid #e5ebf4;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.conflict-schedule-card>footer>span{color:#61738e;font-size:12px}.assignment-conflict-dialog .conflict-schedule-card footer button{white-space:nowrap;gap:10px;padding:11px 16px;font-size:13px}.assignment-conflict-dialog button:focus-visible{outline-offset:3px;outline:3px solid #91b4ff}.conflict-empty{color:#61738e;border:1px dashed #cbd7e8;border-radius:10px;padding:18px}.error-feedback-dialog{width:min(560px,100% - 32px)}.error-feedback-dialog .learning-modal-header h2{font-size:20px}.error-feedback-content{background:#fff5f5;border:1px solid #fecaca;border-radius:12px;align-items:flex-start;gap:14px;padding:18px;display:flex}.error-feedback-symbol{color:#b91c1c;background:#fee2e2;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:20px;font-weight:700;display:grid}.error-feedback-content>div{min-width:0}.error-feedback-content p{color:#9b2525;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.8}.error-feedback-content p+p{border-top:1px solid #fecaca;margin-top:12px;padding-top:12px}.error-feedback-actions{justify-content:flex-end;margin-top:20px;display:flex}.offer-preparation-policy{background:#f0f5ff;border:1px solid #dce6fb;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding:16px;display:flex}.offer-preparation-policy strong{color:#25477e;font-size:13px}.offer-preparation-policy p{color:#536a8a;overflow-wrap:anywhere;white-space:pre-wrap;margin:6px 0 0;font-size:12px;line-height:1.7}.offer-preparation-policy button{flex-shrink:0}.offer-exception-form label{gap:10px;font-size:14px;display:grid}.offer-exception-form textarea{font:inherit;resize:vertical;border:1px solid #cfd9e9;border-radius:8px;width:100%;padding:12px;line-height:1.7}.offer-exception-form p{color:#61738e;margin:12px 0 20px;font-size:13px}.offer-urgent-notice{color:#9a3412;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 16px}.makeup-lesson-form fieldset{border:0;min-width:0;margin:0;padding:0}.makeup-lesson-form .offer-plan-summary{margin-bottom:22px}.makeup-lesson-form label small{color:#61738e;font-weight:400}.makeup-saved-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.7}.class-schedule-filters{background:#fff;border:1px solid #dce5f2;border-radius:14px;margin:22px 0 26px;padding:20px}.class-schedule-filters>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.class-schedule-filters h3{color:#1e365d;margin:0 0 6px;font-size:16px}.class-schedule-filters header p{color:#687b95;margin:0;font-size:12px;line-height:1.7}.class-schedule-filters header button{flex-shrink:0}.class-schedule-filter-fields{grid-template-columns:repeat(2,minmax(0,1.2fr)) repeat(2,minmax(0,1fr));gap:14px;display:grid}.class-schedule-filter-fields label{color:#3a5072;flex-direction:column;align-items:stretch;gap:8px;min-width:0;font-size:12px;font-weight:600;display:flex}.class-schedule-filter-fields :is(select,input){box-sizing:border-box;color:#243d65;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cfd9eb;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:400}.class-schedule-filter-fields :is(select,input):focus-visible{border-color:#6687e3;outline:3px solid #dce7ff}.class-schedule-quick-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.class-schedule-quick-filters>span{color:#687b95;margin-right:4px;font-size:12px}.class-schedule-quick-filters button{color:#52698e;font:inherit;cursor:pointer;background:#f8fafd;border:1px solid #dce5f2;border-radius:7px;padding:7px 12px;font-size:12px}.class-schedule-quick-filters button:hover{border-color:#8aa5ed}.class-schedule-quick-filters button[aria-pressed=true]{color:#244fc4;background:#edf3ff;border-color:#b9ccfa;font-weight:600}.class-schedule-filter-result{color:#61738e;border-top:1px solid #e9eef6;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:16px;padding-top:14px;font-size:12px;line-height:1.7;display:flex}.class-schedule-filter-result strong{color:#244fc4}.class-schedule-filter-result>span:last-child{flex-basis:100%;font-size:11px}.class-schedule-filters button:disabled{opacity:.45;cursor:default}@media (max-width:900px){.class-schedule-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.class-schedule-filters{padding:16px}.class-schedule-filters>header{flex-direction:column}.class-schedule-filter-fields{grid-template-columns:1fr}}@media (max-width:600px){.offer-preparation-policy{flex-direction:column}}@media (max-width:700px){.assignment-conflict-dialog{width:calc(100% - 20px)}.assignment-conflict-dialog .learning-modal-header,.assignment-conflict-dialog .learning-modal-body{padding:18px}.assignment-conflict-dialog .learning-modal-header h2{font-size:18px}.conflict-resolution-actions{grid-template-columns:1fr}.conflict-date-comparison>div{grid-template-columns:1fr;gap:4px}.conflict-date-comparison dd{grid-template-columns:1fr;gap:3px}.conflict-comparison-arrow{text-align:left;width:20px;transform:rotate(90deg)}.conflict-schedule-card>header,.conflict-schedule-card>footer{padding:14px}.conflict-schedule-card h4,.assignment-conflict-dialog .conflict-change-description,.conflict-date-comparison{margin-left:14px;margin-right:14px}}.grade-filters{background:#fff;border:1px solid #e1e7f3;border-radius:14px;grid-template-columns:minmax(270px,320px) minmax(0,1fr) auto;align-items:end;gap:18px;margin-bottom:20px;padding:20px;display:grid}.grade-filter-field{color:#314665;flex-direction:column;gap:9px;min-width:0;font-size:14px;font-weight:600;display:flex}.grade-filters select{color:#18345b;width:100%;min-width:0;height:50px;font:inherit;box-sizing:border-box;background-color:#fff;border:1px solid #cdd8eb;border-radius:9px;padding:0 42px 0 14px;font-weight:400}.grade-filters select:focus-visible{border-color:#5375ed;outline:3px solid #dce5ff}.grade-filters>button{white-space:nowrap;height:50px}@media (max-width:1100px){.grade-filters{grid-template-columns:minmax(0,1fr) auto}.grade-filter-field:first-child{grid-column:1/-1}}@media (max-width:640px){.grade-filters{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.grade-filters>button{justify-content:center}}.offer-inbox{background:#fff;border:1px solid #dfe6f2;border-radius:14px;margin-top:20px;overflow:hidden}.offer-mail-row{text-align:left;color:#66758e;cursor:pointer;width:100%;font:inherit;background:#fff;border:0;border-bottom:1px solid #e8edf5;grid-template-columns:10px minmax(0,1fr) auto 175px;align-items:center;gap:18px;padding:22px;display:grid}.offer-mail-row:last-child{border-bottom:0}.offer-mail-row:hover{background:#f1f5ff}.offer-mail-row.unread{color:#18345b;background:#f5f8ff}.offer-mail-row.unread .offer-mail-subject{font-weight:700}.offer-mail-main{gap:8px;min-width:0;display:grid}.offer-mail-main small,.offer-mail-row time{color:#7d8da8;font-size:12px}.offer-mail-dot{background:0 0;border-radius:50%;width:8px;height:8px}.unread .offer-mail-dot{background:#3459e6}.offer-mail-row:focus-visible{outline-offset:-3px;outline:3px solid #6285ff}@media (max-width:760px){.offer-mail-row{grid-template-columns:8px minmax(0,1fr);gap:12px;padding:18px}.offer-mail-row>.offer-status,.offer-mail-row>time{grid-column:2;justify-self:start}}.public-site{font-family:var(--font-ui);color:#263449}.public-container{width:min(1120px,100% - 48px)}.public-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.public-nav{gap:24px;height:76px}.public-brand img,.footer-brand img{box-shadow:none;border-radius:8px}.public-brand small{text-transform:none;letter-spacing:0;color:#687486;font-size:11px;font-weight:400}.public-nav nav button{font-size:14px;font-weight:600}.public-site :is(.nav-download,.nav-login,.public-primary,.public-secondary,.cta-download){box-shadow:none;border-radius:6px;font-size:14px;font-weight:600}.public-site .public-hero{background:#fff;grid-template-columns:1fr 1.05fr;gap:48px;min-height:0;padding:48px 0;display:grid;overflow:visible}.public-hero-content{color:#24344a;padding:24px 0}.public-eyebrow,.public-section-label{color:#456082;letter-spacing:.5px;text-transform:none;margin-bottom:12px;font-size:12px;font-weight:600}.public-site .public-hero h1{letter-spacing:-.8px;color:#172e4c;font-size:clamp(34px,4vw,48px);font-weight:700;line-height:1.2}.hero-description{color:#566476;margin:18px 0 24px;font-size:16px;line-height:1.75}.public-site .public-secondary{color:#304d76;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#cbd4e1}.home-campus-image{object-fit:cover;border-radius:8px;width:100%;height:330px;display:block}.home-shortcuts{border-top:1px solid #e1e6ed;flex-wrap:wrap;gap:10px 20px;margin-top:26px;padding-top:18px;display:flex}.home-shortcuts a{color:#335780;text-underline-offset:4px;font-size:13px}.public-section{padding:54px 0;scroll-margin-top:90px}.about-section{border-top:1px solid #e5e9ef}.about-grid{grid-template-columns:1.15fr 1fr;gap:52px}.public-site :is(.section-copy h2,.public-section-heading h2,.public-cta h2){letter-spacing:-.4px;margin-bottom:16px;font-size:clamp(25px,3vw,32px);font-weight:650;line-height:1.3}.section-copy>p:not(.public-section-label){color:#546172;font-size:15px;line-height:1.8}.about-visual img{object-fit:cover;border-radius:8px;width:100%;height:300px}.public-section-heading{align-items:start;gap:30px}.public-section-heading>p{font-size:14px;line-height:1.75}.programs-section{background:#f5f7fa}.program-card{box-shadow:none;background:#fff;border:1px solid #dce3ed;border-radius:8px;padding:24px}.program-card>span{color:#667890;background:0 0;width:auto;height:auto;font-size:13px;display:block}.program-card h3{letter-spacing:-.2px;margin:14px 0 12px;font-size:20px}.program-card p{min-height:0;font-size:14px;line-height:1.7}.program-contact{color:#285989;text-underline-offset:4px;margin-top:16px;font-size:13px;display:inline-block}.featured-post,.news-card{box-shadow:none;border-radius:8px}.featured-post-copy strong{font-size:24px;line-height:1.4}.featured-post-copy p,.news-card p{font-size:13px}.news-card strong{font-size:16px;line-height:1.5}.news-card small,.featured-post-copy small{font-size:12px}.public-cta{background:#eef3f8;padding:40px 0}.public-cta p:not(.public-section-label){color:#546172;font-size:14px}.public-footer{padding-top:40px}.footer-grid p,.footer-grid a{font-size:13px;line-height:1.7}.footer-grid strong{font-size:14px}.footer-bottom{margin-top:28px;font-size:12px}:is(.public-site button:focus-visible,.public-site a:focus-visible){outline-offset:4px;outline:3px solid #7ca6d7}@media (max-width:900px){.public-site .public-hero{grid-template-columns:1fr;gap:20px;padding:28px 0}.public-hero-content{padding:0}.home-campus-image{height:290px}.about-grid{grid-template-columns:1fr;gap:24px}.public-nav{height:auto;min-height:72px}}@media (max-width:600px){.public-container{width:calc(100% - 32px)}.public-section{padding:36px 0}.public-brand small{display:none}.public-section-heading{display:block}.home-campus-image,.about-visual img{height:230px}.program-grid{grid-template-columns:1fr}.public-site .public-hero h1{font-size:34px}}.program-card:hover{box-shadow:none;transform:none}.public-site{font-family:var(--font-ui)}.public-site .public-hero{align-items:center;gap:52px;padding:64px 0}.public-site .public-hero h1{letter-spacing:-1.6px;font-size:clamp(36px,4.1vw,56px);line-height:1.16}.public-site .public-hero h1 span{color:#2563eb}.public-site .public-eyebrow{color:#2563eb;letter-spacing:.8px;font-size:12px}.campus-figure{min-width:0;margin:0;position:relative}.public-site .home-campus-image{border-radius:3px 48px 3px 3px;height:430px}.campus-figure figcaption{color:#173b75;background:#ffffffed;border-left:3px solid #2563eb;padding:18px 22px;position:absolute;bottom:20px;left:20px;right:20px}.campus-figure figcaption span,.campus-figure figcaption strong{display:block}.campus-figure figcaption span{margin-bottom:6px;font-size:11px}.campus-figure figcaption strong{font-size:16px;font-weight:600}.public-site .public-primary,.public-site .nav-login{background:#1d4ed8}.public-site .public-section-label{color:#2563eb}.public-site .about-section{background:#f5f8ff}.public-site .programs-section{background:#fff}.public-site .program-card{border-top:3px solid #2563eb;border-radius:4px}.public-site .program-card:nth-child(2){border-top-color:#60a5fa}.public-site .program-card:nth-child(3){border-top-color:#1d4ed8}.public-site .program-contact{color:#1d4ed8;font-weight:600}.public-site .news-section{background:#f5f8ff}.public-site .featured-post,.public-site .news-card{text-decoration:none}.public-site .news-card{background:0 0}.public-site .news-card small{color:#59677b}.public-site .featured-post{border-radius:5px}.student-stories{background:#fff}.student-stories .public-section-heading p{color:#586779;font-size:14px;line-height:1.7}.stories-refresh{color:#1d4ed8;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:8px 0;font-size:14px;text-decoration:underline}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.story-card{min-width:0;color:inherit;border:1px solid #dbe5f5;border-radius:5px;flex-direction:column;text-decoration:none;transition:border-color .2s;display:flex;overflow:hidden}.story-card:hover{border-color:#2563eb}.story-card>img{aspect-ratio:16/10;object-fit:cover;width:100%}.story-card>div{flex-direction:column;flex:1;padding:22px;display:flex}.story-card small{color:#47658d;font-size:11px}.story-card h3{margin:12px 0;font-size:20px;font-weight:600;line-height:1.4}.story-card p{color:#5c6876;margin:0 0 22px;font-size:14px;line-height:1.7}.story-card span{color:#1d4ed8;border-top:1px solid #e2eaf6;justify-content:space-between;margin-top:auto;padding-top:15px;font-size:13px;font-weight:600;display:flex}.public-site .public-cta{background:#edf4ff;scroll-margin-top:90px}.public-site .public-cta h2{color:#1d4ed8}.public-site .download-note{max-width:240px;margin-top:10px;font-size:12px}.public-site .public-footer{background:#102b57;scroll-margin-top:90px}.public-site .footer-grid a{color:#c9daf5;overflow-wrap:anywhere}.public-site .footer-grid a:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.public-site .article-heading h1{letter-spacing:-.8px;font-size:clamp(30px,4vw,46px);line-height:1.25}.public-site .article-heading p,.public-site .article-back{font-size:14px}.public-site .article-body{max-width:720px}.public-site .article-body p{color:#354761;font-size:17px;line-height:1.85}.public-site .article-cover{border-radius:5px;height:auto;max-height:480px}.public-site #trang-chu{scroll-margin-top:90px}@media (max-width:900px){.public-site .public-hero{grid-template-columns:1fr;gap:28px;padding:36px 0}.public-site .home-campus-image{height:340px}.story-grid{gap:14px}.story-card>div{padding:16px}.story-card h3{font-size:18px}.public-site .public-nav nav{top:100%}}@media (max-width:600px){.story-grid{grid-template-columns:1fr}.public-site .public-hero h1{letter-spacing:-.8px;font-size:38px}.public-site .home-campus-image{height:290px}.campus-figure figcaption{padding:14px;bottom:14px;left:14px;right:14px}.public-site .public-nav{gap:10px}.public-site .article-body p{font-size:16px}}@media (prefers-reduced-motion:reduce){.public-site *,.public-site :before,.public-site :after{scroll-behavior:auto!important;transition:none!important}}.public-site .public-brand{text-decoration:none}.public-site .public-nav nav a{color:#405775;padding:10px 0;font-size:14px;font-weight:600;text-decoration:none}.public-site .public-nav nav a:hover{color:#1d4ed8;text-underline-offset:6px;text-decoration:underline}.public-site .public-hero.full-width-hero{isolation:isolate;background:#edf4ff;gap:0;width:100%;min-height:clamp(560px,76svh,820px);padding:72px 0;display:flex;position:relative;overflow:hidden}.full-width-hero .hero-backdrop{object-fit:cover;object-position:center 55%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.full-width-hero .hero-shade{z-index:-1;background:linear-gradient(90deg,#05142bc7 0%,#05142b9e 32%,#05142b40 58%,#05142b00 82%);position:absolute;inset:0}.public-site .full-width-hero .public-hero-content{color:#fff;padding:0}.public-site .full-width-hero .public-eyebrow{color:#dbeafe;letter-spacing:1px}.public-site .full-width-hero h1{color:#fff;text-shadow:0 2px 14px #05142b4d;font-size:clamp(40px,4.5vw,64px);line-height:1.16}.public-site .full-width-hero h1 span{color:#bfdbfe}.full-width-hero .hero-description{color:#eff6ff;max-width:570px;margin:24px 0 30px;font-size:17px;line-height:1.8}.public-site .full-width-hero .public-primary{color:#fff;background:#2563eb}.public-site .full-width-hero .public-primary:hover{background:#1d4ed8}.public-site .full-width-hero .public-secondary{color:#1d4ed8;background:#fff;border-color:#b9ccef}.public-site .full-width-hero .public-secondary:hover{background:#eff6ff}.full-width-hero .home-shortcuts{border-color:#ffffff45;max-width:600px;margin-top:28px}.full-width-hero .home-shortcuts a{color:#fff}.full-width-hero .home-shortcuts a:hover{text-decoration:underline}.public-site .full-width-hero :is(a,button):focus-visible{outline-color:#60a5fa}@media (max-width:600px){.public-site .public-hero.full-width-hero{min-height:580px;padding:52px 0}.full-width-hero .hero-backdrop{object-position:65% center}.full-width-hero .hero-shade{background:linear-gradient(90deg,#05142bc7,#05142b61)}.public-site .full-width-hero h1{letter-spacing:-.8px;font-size:clamp(32px,8vw,42px)}.full-width-hero .hero-description{font-size:16px}.full-width-hero .hero-actions{flex-direction:column;align-items:stretch;display:flex}.full-width-hero .home-shortcuts{gap:14px 20px}}.public-brand img,.footer-brand img,.login-school-logo,.sidebar-school-logo{object-fit:cover;object-position:center;background:#0b2033;flex-shrink:0}.public-site .public-brand img{border-radius:8px;width:56px;height:56px}.public-site .footer-brand img{border-radius:8px;width:64px;height:64px}@media (max-width:600px){.public-site .public-brand img{width:44px;height:44px}}.public-content-shell{background:#fff;border:1px solid #dbe5f5;border-radius:10px;width:min(1240px,100% - 48px);min-width:0;margin:24px auto}.public-content-shell>:first-child{border-radius:9px 9px 0 0}.public-content-shell>:last-child{border-radius:0 0 9px 9px}.public-content-shell .public-container{max-width:100%}@media (max-width:600px){.public-content-shell{width:calc(100% - 24px);margin:12px auto}.public-content-shell .public-container{width:calc(100% - 32px)}}.public-site .public-hero.full-width-hero{padding-bottom:150px}.full-width-hero .hero-video{opacity:0;transition:opacity .4s}.full-width-hero .hero-video.is-ready{opacity:1}.hero-video-controls{z-index:2;background:#ffffffed;border:1px solid #ffffff45;border-radius:10px;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hero-video-controls button{color:#405775;cursor:pointer;min-height:42px;font:inherit;background:0 0;border:0;border-radius:5px;padding:8px 12px;font-size:13px}.hero-video-controls button:hover{background:#eff6ff}.hero-video-controls button:disabled{opacity:.45;cursor:default}.hero-video-controls button[aria-pressed=true]{color:#1d4ed8;background:#e8f0ff;box-shadow:inset 0 -3px #2563eb}.hero-video-tabs{flex:1;min-width:0;display:flex}.hero-video-tabs button{flex:1}.hero-video-controls>span{color:#405775;font-size:12px}@media (max-width:600px){.public-site .public-hero.full-width-hero{padding-bottom:190px}.hero-video-controls{flex-wrap:wrap;gap:4px;bottom:16px}.hero-video-tabs{flex-basis:100%;order:-1;overflow-x:auto}.hero-video-tabs button{white-space:nowrap;flex:none}}.public-content-shell .about-grid{gap:32px}.public-content-shell .about-visual{padding:0}.public-content-shell .about-visual:before{content:none}.public-content-shell .public-section-heading{gap:24px;margin-bottom:24px}.public-content-shell .public-section-heading h2{margin-bottom:0}.public-content-shell .public-section-label{margin-bottom:8px}.public-content-shell .section-copy h2{margin-bottom:12px}.public-content-shell .section-copy>p:not(.public-section-label){margin:0 0 12px}.public-content-shell .public-loading{padding:24px 16px}.public-content-shell .public-cta{padding:28px 0}@media (max-width:600px){.public-content-shell .public-section{padding:24px 0}.public-content-shell .about-grid{gap:20px}.public-content-shell .public-section-heading{margin-bottom:20px}.public-content-shell .public-section-heading>p{margin-top:10px}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.public-site :is(h1,h2,h3,h4,h5,h6),.app-shell :is(h1,h2,h3,h4,h5,h6){letter-spacing:normal;overflow-wrap:break-word;font-weight:700;line-height:1.5}.public-site .full-width-hero h1,.public-site .article-heading h1,.public-site :is(.section-copy h2,.public-section-heading h2,.public-cta h2){letter-spacing:normal;line-height:1.5}.public-site :is(.featured-post-copy strong,.news-card strong){font-family:var(--font-heading);font-weight:700;line-height:1.6}.public-site{--brand-blue:#2563eb;--brand-navy:#15366b;color:#243c60;background:#fff}.public-site .public-header{border-bottom:1px solid #e2eaf6;box-shadow:0 3px 18px #15366b06}.public-site .public-brand strong{color:var(--brand-navy)}.public-site .public-nav{height:84px}.public-site :is(.public-primary,.nav-login,.cta-download){background:var(--brand-blue);color:#fff;border:1px solid var(--brand-blue)}.public-site :is(.public-primary,.nav-login,.cta-download):hover{background:#1d4ed8;border-color:#1d4ed8}.public-site :is(.nav-download,.public-secondary){color:#1d4ed8;background:#fff;border:1px solid #c6d6f0}.public-site :is(.nav-download,.public-secondary):hover{background:#eff6ff;border-color:#93b4f0}.public-site :is(.nav-download,.nav-login,.public-primary,.public-secondary,.cta-download){border-radius:10px;gap:10px;min-height:46px}.public-site .public-hero.full-width-hero{min-height:660px;padding:64px 0 144px}.public-site .full-width-hero h1{max-width:760px;font-size:clamp(38px,4.1vw,62px);line-height:1.2}.public-site .full-width-hero .hero-description{max-width:530px;font-size:17px;line-height:1.8}.public-site .full-width-hero .public-eyebrow{letter-spacing:.8px;background:#15366b80;border:1px solid #ffffff40;border-radius:6px;padding:8px 12px;font-size:12px;display:inline-flex}.public-site .hero-actions{gap:12px}.public-site .hero-video-controls{border-color:#d8e4f7;border-radius:14px;box-shadow:0 12px 36px #123d7914}.public-site .hero-video-controls>button{flex-shrink:0;place-items:center;width:42px;padding:8px;display:grid}.public-site .hero-video-tabs button{border-radius:8px;font-weight:600}.public-site .public-content-shell{border:0;border-radius:0;width:min(1240px,100% - 48px);margin:0 auto}.public-content-shell .public-section{padding:56px 0}.public-site .program-card{background:#fff;border:1px solid #dce7f7;border-top:3px solid #2563eb;border-radius:14px}.public-site .program-card>span{color:#2563eb;background:#eff6ff;border-radius:10px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.public-site .program-card:hover{border-color:#93b4f0;box-shadow:0 8px 28px #1d4ed80a}.public-site :is(.news-card,.story-card,.featured-post){background:#fff;border-radius:14px;overflow:hidden}.public-site .public-cta{border:1px solid #dbe7fa;border-radius:18px;margin:16px 0 48px;padding:36px}.public-site .public-footer{color:#fff;background:#102b57}.public-site .footer-grid :is(p,a){color:#c9daf5}.public-site :is(.text-link,.article-back,.program-contact,.featured-post-copy b){color:#1d4ed8;align-items:center;gap:8px;display:inline-flex}.public-site .footer-grid a{align-items:baseline;gap:10px;display:flex}.public-site svg{vertical-align:middle;flex-shrink:0}.projection-status{align-items:center;gap:5px;display:inline-flex}.login-visual{isolation:isolate;background:#10233e}.login-visual:before{content:none}.login-media,.login-media-shade{pointer-events:none;position:absolute;inset:0}.login-media{z-index:-2}.login-media img,.login-media video{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.login-media video{opacity:0;transition:opacity 1.2s}.login-media video.is-ready{opacity:1}.login-media-shade{z-index:-1;background:linear-gradient(#06162d73,#06162d2e 30%,#06162dbf 73%,#06162dd9)}.login-visual .visual-copy{max-width:560px;margin:auto 0 100px;animation:.8s both login-reveal}.login-visual .visual-copy p{color:#bfdbfe;letter-spacing:2px;font-size:11px}.login-visual .visual-copy h1{letter-spacing:-.6px;text-shadow:0 2px 20px #07172b55;font-size:clamp(32px,3.2vw,48px);line-height:1.2}.login-visual .visual-copy>span{color:#e2edff;max-width:430px;font-size:14px}.login-brand{animation:.6s both login-reveal}.login-brand strong span{color:#dbeafe}.login-visual .copyright{z-index:1;color:#cbdaf1;max-width:calc(100% - 130px);position:relative}.login-motion-toggle{z-index:2;color:#fff;font:inherit;cursor:pointer;background:#10233e80;border:1px solid #ffffff50;border-radius:24px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;transition:background .2s,border-color .2s;display:inline-flex;position:absolute;bottom:32px;right:32px}.login-motion-toggle:hover{background:#153b70;border-color:#bfdbfe}.login-motion-toggle:focus-visible{outline-offset:4px;outline:3px solid #93c5fd}.login-form{animation:.65s .12s both login-reveal}.login-home-link{align-items:center;gap:8px;display:inline-flex}.login-form input{transition:border-color .2s,box-shadow .2s}.login-submit{transition:transform .2s,background .2s,box-shadow .2s}.login-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px);box-shadow:0 10px 24px #2563eb30}.login-submit:active:not(:disabled){transform:translateY(0)}@keyframes login-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lamp-login{background:#0b1426;grid-template-columns:minmax(0,1fr) minmax(400px,1fr);align-items:center;gap:64px;min-height:100dvh;padding:48px max(32px,50vw - 640px);transition:background .8s}.lamp-login.is-lit{background:#edf4ff}.lamp-login .login-visual{isolation:auto;background:0 0;align-self:stretch;min-height:650px;padding:0;overflow:visible}.lamp-login .login-brand{z-index:2}.lamp-login .login-brand strong{color:#f8fbff;transition:color .6s}.lamp-login.is-lit .login-brand strong{color:#173b75}.lamp-login.is-lit .login-brand strong span{color:#2563eb}.lamp-login.is-lit .login-brand small{color:#526b91}.lamp-login .visual-copy{max-width:520px;margin:auto 0 64px}.lamp-login .visual-copy h1{letter-spacing:-.5px;text-shadow:none;color:#f0f6ff;font-size:clamp(32px,3.2vw,46px);line-height:1.25;transition:color .6s}.lamp-login .visual-copy>span{color:#93a8c7;max-width:450px;font-size:14px;transition:color .6s}.lamp-login.is-lit .visual-copy h1{color:#173b75}.lamp-login.is-lit .visual-copy p{color:#2563eb}.lamp-login.is-lit .visual-copy>span{color:#526b91}.lamp-login .copyright{color:#7d94b8;max-width:none}.lamp-login.is-lit .copyright{color:#617b9d}.study-scene{flex-shrink:0;height:310px;margin:10px 0 30px;position:relative}.study-lamp{cursor:pointer;z-index:2;transform-origin:50% 0;background:0 0;border:0;width:150px;height:215px;animation:5s ease-in-out infinite lamp-sway;position:absolute;top:0;left:110px}.study-lamp:hover{animation-play-state:paused}.study-lamp:focus-visible{outline-offset:8px;border-radius:16px;outline:2px solid #60a5fa}.lamp-cord{background:#6885ae;width:2px;height:86px;position:absolute;top:0;left:74px}.lamp-shade{background:linear-gradient(110deg,#23457a,#4279c6);border-radius:60px 60px 7px 7px;width:118px;height:65px;position:absolute;top:84px;left:16px;box-shadow:inset 0 2px #729bce55,0 8px 20px #020c201f}.lamp-shade:after{content:"";background:#95afcf;border-radius:50%;height:7px;transition:background .5s,box-shadow .5s;position:absolute;bottom:0;left:5px;right:5px}.lamp-bulb{background:#8298b6;border-radius:0 0 14px 14px;width:22px;height:16px;transition:background .5s,box-shadow .5s;position:absolute;bottom:-8px;left:48px}.lamp-pull{background:#7893ba;width:1px;height:44px;position:absolute;top:146px;left:112px}.lamp-pull>span{background:#8fa9cc;border-radius:8px;width:9px;height:12px;transition:background .5s;position:absolute;bottom:-8px;left:-4px}.is-lit .lamp-shade:after{background:#eef8ff;box-shadow:0 4px 25px #a5d8ff}.is-lit .lamp-bulb{background:#fff;box-shadow:0 0 22px 9px #c7e6ff,0 0 65px 25px #93c5fd66}.is-lit .lamp-pull>span{background:#2563eb}.study-light{clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);opacity:0;pointer-events:none;background:linear-gradient(#c3e3ff77,#d7eaff00);width:325px;height:210px;transition:opacity .8s;position:absolute;top:142px;left:24px}.is-lit .study-light{opacity:1}.lamp-switch{color:#c5d7ef;font:inherit;cursor:pointer;white-space:nowrap;background:#14243d;border:1px solid #3b5273;border-radius:30px;align-items:center;gap:10px;padding:12px 16px;font-size:12px;transition:background .5s,color .5s,box-shadow .5s;display:inline-flex;position:absolute;top:82px;left:290px}.lamp-switch:focus-visible{outline-offset:4px;outline:3px solid #60a5fa}.is-lit .lamp-switch{color:#1d4ed8;background:#fff;border-color:#c4d9f6;box-shadow:0 6px 24px #2563eb12}.lamp-hint{color:#7d94b8;max-width:180px;font-size:11px;line-height:1.7;position:absolute;top:130px;left:290px}.is-lit .lamp-hint{color:#617b9d}.study-desk{width:360px;height:92px;position:absolute;bottom:0;left:64px}.study-table{background:#355884;border-radius:4px;height:5px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 12px 30px #04102244}.study-book{color:#5478a9;background:#1a3356;border-radius:8px 8px 0 0;place-items:center;width:102px;height:78px;transition:background .7s,color .7s;display:grid;position:absolute;bottom:5px;left:105px;transform:rotate(-6deg)}.is-lit .study-book{color:#2563eb;background:#fff;box-shadow:0 3px 18px #2563eb15}.study-books{gap:3px;width:76px;display:grid;position:absolute;bottom:5px;left:14px}.study-books i{background:#2e5185;border-radius:2px;height:10px}.study-books i:nth-child(2){background:#517cb6;transform:translate(6px)}.study-books i:nth-child(3){background:#96b6dd}.study-cup{background:#466b9d;border-radius:3px 3px 10px 10px;width:33px;height:43px;position:absolute;bottom:5px;right:45px}.study-cup:after{content:"";z-index:-1;border:4px solid #466b9d;border-radius:50%;width:17px;height:22px;position:absolute;top:8px;right:-13px}.study-cup span{opacity:0;border-left:2px solid #7d9bc0;border-radius:50%;width:10px;height:25px;position:absolute;top:-35px;left:15px}.is-lit .study-cup span{animation:3s ease-in-out infinite study-steam}.lamp-login .login-form-wrap{isolation:isolate;background:#213557;border-radius:24px;justify-self:center;width:100%;max-width:510px;padding:42px;transition:box-shadow .8s,background .8s;position:relative;overflow:hidden;box-shadow:0 24px 80px #02091655}@property --login-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.lamp-login .login-form-wrap:before{content:"";z-index:-2;border-radius:inherit;background:conic-gradient(from var(--login-border-angle),#1d4ed8 0deg,#1d4ed8 45deg,#22d3ee 80deg,#ecfeff 95deg,#6366f1 120deg,#1d4ed8 180deg,#a855f7 225deg,#f0abfc 260deg,#fff 275deg,#3b82f6 300deg,#1d4ed8 360deg);opacity:.8;pointer-events:none;transition:opacity .6s;animation:3s linear infinite login-border-orbit;position:absolute;inset:0}.lamp-login .login-form-wrap:after{content:"";z-index:-1;pointer-events:none;background:#f3f7fd;border-radius:21px;transition:background .8s;position:absolute;inset:3px}.lamp-login.is-lit .login-form-wrap{box-shadow:0 24px 70px #2563eb18,0 0 50px #bfdbfe55}.lamp-login.is-lit .login-form-wrap:before{opacity:1}.lamp-login.is-lit .login-form-wrap:after{background:#fff}.lamp-login .login-form{width:100%}.lamp-login .login-kicker{color:#2563eb}.lamp-login .login-form h2{color:#15366b}.lamp-login .login-form>label>input:hover,.lamp-login .login-form>label>input:focus,.lamp-login .password-field:hover,.lamp-login .password-field:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24,0 0 18px #2563eb40}.lamp-login .password-field{transition:border-color .2s,box-shadow .2s}@keyframes lamp-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes study-steam{0%{opacity:0;transform:translateY(8px)}50%{opacity:.6}to{opacity:0;transform:translateY(-10px)}}@keyframes login-border-orbit{to{--login-border-angle:360deg}}@media (max-width:1100px){.lamp-login{gap:32px;padding:32px}.lamp-login .login-form-wrap{padding:32px}.study-scene{transform-origin:0;transform:scale(.85)}.lamp-login .visual-copy h1{font-size:32px}}@media (max-width:800px){.lamp-login{grid-template-columns:1fr;gap:24px;padding:24px}.lamp-login .login-visual{justify-self:center;width:100%;max-width:510px;min-height:0;display:flex}.lamp-login .login-brand{justify-content:center}.lamp-login .study-scene{transform-origin:top;height:220px;margin:0;transform:scale(.75)}.lamp-login .visual-copy,.lamp-login .copyright{display:none}.lamp-login .login-form-wrap{margin-top:-40px;padding:28px}.lamp-login .mobile-login-brand{display:none}}@media (max-width:420px){.lamp-login{padding:20px 16px}.lamp-login .study-scene{transform-origin:0 0;transform:scale(.65)}.lamp-login .login-form-wrap{padding:24px}.lamp-login .login-form h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.login-page *{transition:none!important;animation:none!important}}@media (max-width:900px){.public-site .public-nav{height:auto;min-height:76px}.public-site .public-hero.full-width-hero{min-height:620px}.public-site .public-content-shell{width:100%}}@media (max-width:600px){.public-site .public-hero.full-width-hero{min-height:680px;padding:40px 0 175px}.public-site .full-width-hero h1{font-size:36px;line-height:1.25}.public-site .public-cta{margin:12px 16px 32px;padding:24px}.public-content-shell .public-section{padding:36px 0}.public-site .hero-video-controls{width:calc(100% - 32px)}}.overview-page{gap:24px;display:grid}.overview-page .overview-hero{background:linear-gradient(115deg,#eaf0ff 0%,#f5f7ff 60%,#e7f3ff 100%);border:1px solid #dce4ff;border-radius:22px;align-items:center;gap:24px;margin:0;padding:30px 34px;position:relative;overflow:hidden}.overview-hero:after{content:"";pointer-events:none;border:40px solid #4f6de60d;border-radius:50%;width:260px;height:260px;position:absolute;top:-105px;right:-90px}.overview-page .overview-hero>*{z-index:1;position:relative}.overview-page .overview-hero .eyebrow{color:#526db0;margin:0 0 10px;font-size:13px}.overview-page .overview-hero h1{letter-spacing:-.5px;margin:0 0 10px;font-size:clamp(23px,2.3vw,32px);line-height:1.3}.overview-page .overview-hero p{color:#65728e;margin:0;font-size:14px;line-height:1.7}.overview-page .stats-grid{gap:18px;margin:0}.overview-page .stat-card{border:1px solid #e4e9f3;border-radius:16px;gap:16px;min-width:0;padding:22px;position:relative;box-shadow:0 3px 12px #17203805}.overview-page .stat-icon{border-radius:14px;flex-shrink:0;width:48px;height:48px}.overview-page .stat-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.overview-page .stat-copy p{color:#65728e;margin:0 0 6px;font-size:13px}.overview-page .stat-copy strong{letter-spacing:-.8px;font-size:30px;line-height:1.2;display:block}.overview-page .stat-destination{color:#8290a8;margin-top:6px;font-size:11px;display:block}.overview-page .stat-card>button{color:#8290a8;align-self:flex-start;margin-left:auto;padding:3px}.overview-page .dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);align-items:start;gap:24px;margin:0}.overview-page .panel{border:1px solid #e4e9f3;border-radius:18px;min-height:0;padding:24px;box-shadow:0 3px 12px #17203805}.overview-page .panel-header{margin-bottom:20px}.overview-page .panel-header h2{margin:0;font-size:18px;line-height:1.4}.overview-page .panel-header p{color:#8290a8;margin-top:5px;font-size:12px;line-height:1.6}.overview-page .teacher-actions{gap:10px}.overview-page .teacher-actions button{border-radius:12px;gap:14px;padding:13px;transition:background .15s,border-color .15s}.overview-page .teacher-actions button:hover,.overview-page .quick-grid button:hover{background:#f7f9ff;border-color:#bac9f6}.overview-page .teacher-actions button>span:nth-child(2){text-align:left;justify-content:start;align-items:start;gap:3px;min-width:0;display:grid}.overview-page .teacher-actions button>span:first-child{border-radius:11px;width:40px;height:40px}.overview-page .teacher-actions strong{font-size:14px;line-height:1.5}.overview-page .teacher-actions small{margin:0;font-size:12px;line-height:1.5}.overview-empty-schedule{padding:6px 0 0}.overview-calendar-icon{color:#4665df;background:#edf2ff;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:16px;display:grid}.overview-empty-schedule h3{margin:0 0 8px;font-size:18px}.overview-empty-schedule>p{color:#7a849c;margin:0 0 18px;font-size:13px;line-height:1.7}.overview-next{background:#f5f8ff;border:1px solid #e0e8fa;border-left:3px solid #5474e8;border-radius:12px;gap:7px;margin:18px 0;padding:18px 20px;display:grid}.overview-next small{letter-spacing:1px;color:#5b78bf;font-size:10px}.overview-next strong{font-size:15px}.overview-next span{color:#65728e;font-size:13px}.overview-page .class-row{gap:16px;padding:16px 0}.overview-page .class-time{flex-shrink:0;width:70px;font-size:17px}.overview-page .class-time small,.overview-page .class-info small{font-size:12px;line-height:1.6}.overview-page .class-info strong{font-size:14px;line-height:1.5}.overview-page .class-info{min-width:0}.overview-page .submission,.overview-page .activity{align-items:flex-start;gap:12px;padding:16px 0}.overview-page .submission strong,.overview-page .activity strong{font-size:14px;line-height:1.6}.overview-page .submission p,.overview-page .activity p{margin:4px 0 0;font-size:12px;line-height:1.5}.overview-page .submission time,.overview-page .activity time{white-space:nowrap;font-size:11px}.overview-page .status-ok{gap:12px;margin:0 0 14px;padding:16px}.overview-page .status-ok>span{flex-shrink:0}.overview-page .status-ok strong{font-size:14px}.overview-page .status-ok p{margin-top:5px;font-size:12px;line-height:1.6}.overview-page .offer-mini{text-align:left;padding:14px}.overview-page .offer-mini strong{font-size:14px}.overview-page .offer-mini span{font-size:12px}.overview-page .quick-grid{gap:14px}.overview-page .quick-grid button{text-align:left;border-radius:14px;padding:20px}.overview-page .quick-grid strong{margin-top:12px;font-size:14px}.overview-page .quick-grid small{font-size:12px}.overview-page .metric-list span{padding:16px 0;font-size:14px}.overview-page .empty-note{margin:12px 0;font-size:13px;line-height:1.7}.overview-page .secondary-wide{font-size:13px}.overview-page button:focus-visible{outline-offset:3px;outline:3px solid #9bb2ff}@media (max-width:1100px){.overview-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-page .dashboard-grid{grid-template-columns:1fr}}@media (max-width:600px){.overview-page{gap:18px}.overview-page .overview-hero{flex-direction:column;align-items:flex-start;padding:22px}.overview-page .stat-card{flex-wrap:wrap;gap:10px;padding:16px}.overview-page .stat-copy strong{font-size:26px}.overview-page .stat-icon{width:36px;height:36px}.overview-page .panel{padding:18px}.overview-page .submission,.overview-page .activity{flex-wrap:wrap}.overview-page .submission time,.overview-page .activity time{margin-left:46px}}@media (prefers-reduced-motion:reduce){.overview-page button{transition:none}}.program-catalog{background:#f4f8ff;padding:64px 0;scroll-margin-top:100px}.program-catalog .public-section-heading h2{color:#15366b;font-size:clamp(30px,3.4vw,44px);line-height:1.25}.program-catalog .public-section-heading h2 span{color:#2563eb}.program-catalog .public-section-heading>p{color:#60738e;max-width:420px}.program-catalog-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;display:flex}.program-filters{flex-wrap:wrap;gap:8px;display:flex}.program-filters button{color:#526b91;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce7f7;border-radius:30px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.program-filters button span{background:#eff4fc;border-radius:20px;padding:3px 6px;font-size:10px}.program-filters button[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb}.program-filters button[aria-pressed=true] span{color:#fff;background:#ffffff25}.program-search{color:#7490b8;background:#fff;border:1px solid #dce7f7;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;display:flex}.program-search input{min-width:170px;font:inherit;color:#15366b;background:0 0;border:0;outline:0;font-size:13px}.program-search:focus-within{outline:2px solid #93c5fd}.program-result-count{color:#60738e;margin:20px 0 16px;font-size:12px}.degree-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.degree-card{color:#15366b;background:#fff;border:1px solid #dce7f7;border-radius:18px;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.degree-card:hover{border-color:#8bb4f5;transform:translateY(-5px);box-shadow:0 14px 35px #1d4ed813}.degree-card-copy{flex-direction:column;flex:1;padding:24px;display:flex}.degree-card-copy small{color:#2563eb;font-size:11px;font-weight:700}.degree-card-copy h3{margin:10px 0;font-size:21px;line-height:1.4}.degree-card-copy p{color:#60738e;margin:0 0 22px;font-size:13px;line-height:1.8}.degree-card-copy>span{color:#2563eb;border-top:1px solid #e6eef9;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-size:13px;font-weight:700;display:flex}.program-art{--art-start:#123a87;--art-end:#287af5;isolation:isolate;aspect-ratio:1.5;background:linear-gradient(135deg,var(--art-start),var(--art-end));color:#fff;position:relative;overflow:hidden}.program-art img{object-fit:cover;z-index:-2;opacity:.23;mix-blend-mode:luminosity;width:100%;height:100%;position:absolute;inset:0}.program-art:after{content:"";z-index:-1;background:linear-gradient(135deg,var(--art-start),transparent 95%);opacity:.65;position:absolute;inset:0}.program-art-brand{letter-spacing:1.3px;font-size:11px;font-weight:800;position:absolute;top:22px;left:24px;right:20px}.program-art-brand span{opacity:.7;margin-top:4px;font-size:8px;font-weight:500;display:block}.program-art-symbol{background:linear-gradient(135deg,#fff2,#ffffff05);border:1px solid #fff5;border-radius:28px;place-items:center;width:112px;height:112px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-40%);box-shadow:0 18px 60px #051b4f30}.program-art-orbit{border:1px solid #ffffff25;border-radius:50%;width:240px;height:160px;position:absolute;top:50%;left:50%;transform:translate(-50%,-44%)rotate(-24deg)}.program-art-orbit:before{content:"";border:1px solid #ffffff10;border-radius:50%;position:absolute;inset:-24px}.program-art-caption{letter-spacing:1.5px;opacity:.8;font-size:9px;position:absolute;bottom:20px;left:24px}.art-ai{--art-start:#20246c;--art-end:#537cfa}.art-shield{--art-start:#0b355d;--art-end:#268fbf}.art-cloud{--art-start:#123d8a;--art-end:#54a4ec}.art-chip{--art-start:#171f5d;--art-end:#5869cc}.art-design{--art-start:#393481;--art-end:#8787ea}.art-ux{--art-start:#1e4f92;--art-end:#719bee}.art-marketing{--art-start:#164076;--art-end:#3599c7}.art-business{--art-start:#163456;--art-end:#507fbc}.art-logistics{--art-start:#0e4062;--art-end:#4b96bf}.program-empty{text-align:center;color:#60738e;padding:50px 20px}.program-empty h3{color:#15366b}.degree-breadcrumb{color:#7a8ca6;flex-wrap:wrap;align-items:center;gap:10px;padding-top:24px;padding-bottom:24px;font-size:11px;display:flex}.degree-breadcrumb a{color:#526b91;text-decoration:none}.degree-hero{background:#edf4ff;padding:56px 0 76px}.degree-hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:56px;display:grid}.degree-back{color:#526b91;align-items:center;gap:8px;margin-bottom:30px;font-size:12px;text-decoration:none;display:inline-flex}.degree-eyebrow{color:#2563eb;letter-spacing:1.3px;font-size:11px;font-weight:700}.degree-hero h1{color:#15366b;margin:16px 0 20px;font-size:clamp(34px,4vw,54px);line-height:1.18}.degree-tagline{color:#2563eb;font-size:19px;font-weight:600;line-height:1.6}.degree-intro{color:#60738e;margin:16px 0 28px;font-size:14px;line-height:1.9}.degree-actions{flex-wrap:wrap;gap:12px;display:flex}.program-art.is-large{aspect-ratio:1.05;border-radius:24px 64px 24px 24px;box-shadow:0 24px 65px #1d4ed822}.is-large .program-art-symbol{border-radius:44px;width:180px;height:180px}.is-large .program-art-orbit{width:360px;height:260px}.is-large .program-art-brand{font-size:15px;top:32px;left:32px}.is-large .program-art-brand span{font-size:10px}.is-large .program-art-caption{font-size:11px;bottom:32px;left:32px}.degree-facts{background:#fff;border:1px solid #e0e9f7;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:-28px;padding:26px 30px;display:grid;position:relative;box-shadow:0 10px 35px #15366b08}.degree-facts>div{color:#2563eb;align-items:center;gap:14px;display:flex}.degree-facts small{color:#7a8ca6;margin-bottom:5px;font-size:10px;display:block}.degree-facts strong{color:#15366b;font-size:12px;line-height:1.6;display:block}.degree-section-nav{border-bottom:1px solid #e6eef9;flex-wrap:wrap;justify-content:center;gap:12px;padding:30px 0;display:flex}.degree-section-nav button{font:inherit;color:#526b91;cursor:pointer;background:0 0;border:0;border-radius:20px;padding:10px 16px;font-size:12px}.degree-section-nav button:hover{color:#2563eb;background:#eff6ff}.degree-section{padding-top:72px;padding-bottom:72px;scroll-margin-top:100px}.degree-section-title{text-align:center;max-width:700px;margin:0 auto 36px}.degree-detail h2{color:#15366b;margin:8px 0 16px;font-size:clamp(27px,3vw,36px);line-height:1.35}.degree-section-title>p:not(.public-section-label){color:#60738e;font-size:13px;line-height:1.8}.degree-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.degree-audience-grid>div{background:#f7faff;border:1px solid #e0eafb;border-radius:16px;padding:30px}.degree-audience-grid>div>span{color:#2563eb;background:#e8f0ff;border-radius:16px;place-items:center;width:58px;height:58px;display:grid}.degree-audience-grid h3{color:#15366b;margin:22px 0 12px;font-size:18px}.degree-audience-grid p{color:#60738e;margin:0;font-size:13px;line-height:1.8}.degree-learning,.degree-careers{background:#f4f8ff;padding:64px 0;scroll-margin-top:100px}.degree-curriculum{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}.degree-stage-list{gap:12px;display:grid}.degree-stage-list button{text-align:left;color:#60738e;cursor:pointer;font:inherit;background:#fff;border:1px solid #dce7f7;border-radius:14px;align-items:center;gap:18px;padding:24px;display:flex}.degree-stage-list button>b{color:#a8bfe0;font-size:28px;font-weight:500}.degree-stage-list button>span{flex:1}.degree-stage-list small{letter-spacing:1px;margin-bottom:6px;font-size:9px;display:block}.degree-stage-list strong{font-size:15px;display:block}.degree-stage-list button[aria-selected=true]{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 10px 25px #2563eb1a}.degree-stage-list button[aria-selected=true]>b{color:#bfdbfe}.degree-stage-panel{background:#fff;border:1px solid #dce7f7;border-radius:18px;padding:38px;position:relative;overflow:hidden}.degree-stage-number{color:#edf4ff;pointer-events:none;font-size:100px;font-weight:800;position:absolute;top:0;right:24px}.degree-stage-panel h3{color:#15366b;margin:0 0 24px;font-size:24px;position:relative}.degree-stage-panel ul,.degree-outcomes ul{margin:0;padding:0;list-style:none}.degree-stage-panel li{color:#526b91;align-items:center;gap:12px;margin:18px 0;font-size:14px;display:flex}.degree-stage-panel li svg{color:#2563eb}.degree-tools{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.degree-tools span{color:#2563eb;background:#eff6ff;border-radius:6px;padding:8px 12px;font-size:11px}.degree-outcomes{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;display:grid}.degree-outcomes li{color:#526b91;align-items:center;gap:16px;margin:22px 0;font-size:14px;line-height:1.8;display:flex}.degree-outcomes li>span{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.degree-project{color:#fff;background:#15366b;border-radius:20px;padding:38px}.degree-project>svg{color:#93c5fd}.degree-project small{color:#bfdbfe;letter-spacing:1.4px;margin:22px 0 12px;font-size:10px;display:block}.degree-project h3{margin:0 0 18px;font-size:24px;line-height:1.4}.degree-project p{color:#c4d8f5;font-size:14px;line-height:1.9}.degree-project>span{color:#bfdbfe;border-top:1px solid #ffffff25;margin-top:24px;padding-top:20px;font-size:11px;display:block}.degree-career-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.degree-career-grid>div{background:#fff;border:1px solid #dce7f7;border-radius:14px;padding:26px;position:relative}.degree-career-grid span{color:#8ca6ca;font-size:13px}.degree-career-grid h3{color:#15366b;margin:26px 20px 0 0;font-size:18px}.degree-career-grid svg{color:#2563eb;position:absolute;top:24px;right:24px}.degree-faq{grid-template-columns:1fr 1.5fr;gap:60px;display:grid}.degree-faq details{border-bottom:1px solid #dce7f7;padding:20px 0}.degree-faq summary{cursor:pointer;color:#15366b;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:600;list-style:none;display:flex}.degree-faq summary::-webkit-details-marker{display:none}.degree-faq details[open] summary svg{transform:rotate(45deg)}.degree-faq details p{color:#60738e;margin:16px 30px 0 0;font-size:13px;line-height:1.9}.degree-contact{color:#fff;background:#15366b;border-radius:24px;justify-content:space-between;align-items:center;gap:40px;padding:48px;scroll-margin-top:120px;display:flex}.degree-contact h2{color:#fff;font-size:30px}.degree-contact>div>p{letter-spacing:1.6px;color:#93c5fd;font-size:10px}.degree-contact>div>span{color:#c4d8f5;font-size:13px;line-height:1.8}.degree-contact>div:last-child{flex-direction:column;flex-shrink:0;align-items:center;gap:18px;display:flex}.degree-phone{color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.degree-contact small{color:#93b5e6;font-size:12px}.degree-related-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}:is(.degree-detail a:focus-visible,.program-catalog a:focus-visible,.degree-detail button:focus-visible,.program-catalog button:focus-visible,.degree-faq summary:focus-visible){outline-offset:4px;outline:3px solid #93c5fd}@media (max-width:950px){.degree-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.degree-hero-grid{gap:30px}.degree-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.degree-outcomes,.degree-faq{gap:30px}.related-degree-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related-degree-grid .degree-card-copy{padding:18px}.related-degree-grid .degree-card-copy h3{font-size:17px}.degree-audience-grid{gap:16px}.degree-audience-grid>div{padding:22px}.degree-contact{padding:32px}}@media (max-width:700px){.program-catalog{padding:40px 0}.degree-hero-grid{grid-template-columns:1fr}.degree-hero{padding:24px 0 60px}.program-art.is-large{aspect-ratio:1.6;border-radius:18px}.is-large .program-art-symbol{width:130px;height:130px}.is-large .program-art-symbol svg{width:70px;height:70px}.degree-facts{gap:20px;padding:20px}.degree-facts>div{gap:10px}.degree-facts strong{font-size:11px}.degree-section{padding-top:44px;padding-bottom:44px}.degree-audience-grid,.degree-curriculum,.degree-outcomes,.degree-career-grid,.degree-faq{grid-template-columns:1fr}.degree-stage-panel{padding:28px}.degree-learning,.degree-careers{padding:44px 0}.degree-contact{flex-direction:column;align-items:flex-start;width:calc(100% - 32px);padding:28px}.degree-contact>div:last-child{align-items:flex-start}.related-degree-grid{grid-template-columns:1fr}.degree-related-heading{flex-direction:column;align-items:flex-start}.program-filters{gap:6px}.program-filters button{padding:10px 12px;font-size:12px}.program-search,.program-search input{width:100%}.degree-card-copy{padding:20px}.degree-section-nav{gap:4px}.degree-section-nav button{padding:8px 10px;font-size:11px}}@media (max-width:450px){.degree-grid{grid-template-columns:1fr}.degree-facts{grid-template-columns:1fr 1fr}.degree-actions{flex-direction:column}.degree-actions>*{justify-content:center}.degree-hero h1{font-size:34px}.degree-tagline{font-size:17px}.degree-contact h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.degree-card{transition:none}.degree-card:hover{transform:none}}.degree-standards{border:1px solid #dbe7f9;border-radius:20px;margin-bottom:64px;padding:36px;box-shadow:0 12px 36px #15366b08}.degree-standards-heading{align-items:center;gap:18px;display:flex}.degree-standards-heading>span{color:#2563eb;background:#eff6ff;border-radius:18px;place-items:center;width:64px;height:64px;display:grid}.degree-standards-heading h2{margin:0}.degree-standards-heading .public-section-label{margin:0 0 5px}.degree-standards>p{color:#60738e;margin:24px 0;font-size:14px;line-height:1.9}.degree-standards ul{gap:16px;padding:0;list-style:none;display:grid}.degree-standards li{color:#405775;align-items:flex-start;gap:12px;font-size:14px;line-height:1.8;display:flex}.degree-standards li svg{color:#2563eb;margin-top:4px}.degree-standard-project{background:#f4f8ff;border-left:3px solid #2563eb;border-radius:12px;margin-top:28px;padding:22px 24px}.degree-standard-project strong{color:#15366b;font-size:13px}.degree-standard-project p{color:#60738e;margin:10px 0 0;font-size:13px;line-height:1.8}.consultation-section{background:#f1f6ff;border:1px solid #dce7f7;border-radius:24px;grid-template-columns:.8fr 1.3fr;gap:48px;margin-bottom:64px;padding:40px;scroll-margin-top:120px;display:grid}.consultation-icon{color:#2563eb;background:#fff;border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:30px;display:grid}.consultation-intro h2{font-size:38px;line-height:1.25}.consultation-intro>p:not(.public-section-label){color:#60738e;margin-bottom:30px;font-size:14px;line-height:1.9}.consultation-intro>div{color:#526b91;align-items:center;gap:10px;margin:18px 0;font-size:12px;display:flex}.consultation-intro>div svg{color:#2563eb}.consultation-intro>a{color:#2563eb;align-items:center;gap:12px;margin-top:32px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.consultation-form{background:#fff;border:1px solid #e0e9f7;border-radius:18px;min-width:0;padding:28px}.consultation-selected{border-bottom:1px solid #e6eef9;margin-bottom:22px;padding-bottom:20px}.consultation-selected small{color:#7a8ca6;letter-spacing:1px;margin-bottom:8px;font-size:9px;display:block}.consultation-selected strong{color:#2563eb;font-size:18px}.consultation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.consultation-fields label{color:#405775;min-width:0;font-size:11px;font-weight:600}.consultation-fields label>span{color:#2563eb}.consultation-wide{grid-column:1/-1}.consultation-fields :is(input,select,textarea){width:100%;font:inherit;color:#15366b;background:#fff;border:1px solid #dce7f7;border-radius:8px;outline:none;min-width:0;margin-top:8px;padding:12px 14px;font-size:12px;font-weight:400;display:block}.consultation-fields :is(input,select,textarea):focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb10}.consultation-fields textarea{resize:vertical}.consultation-fields input::placeholder,.consultation-fields textarea::placeholder{color:#96a5bb}.consultation-consent{color:#60738e;align-items:flex-start;gap:10px;margin:22px 0 12px;font-size:11px;line-height:1.8;display:flex}.consultation-consent input{accent-color:#2563eb;flex-shrink:0;margin-top:4px}.consultation-note{color:#8a9ab1;margin-bottom:20px;font-size:10px;line-height:1.7}.consultation-form>button{justify-content:center;width:100%}.consultation-form>button:disabled{opacity:.6;cursor:wait}.consultation-error{color:#b91c1c;background:#fff1f2;border-radius:8px;padding:12px;font-size:12px;line-height:1.8}.consultation-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.consultation-success{text-align:center;background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.consultation-success>span{color:#2563eb;background:#eff6ff;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.consultation-success h3{color:#15366b;font-size:22px}.consultation-success p{color:#60738e;margin-bottom:24px;font-size:13px;line-height:1.9}.degree-community{background:#f7faff;padding:64px 0}.faculty-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.faculty-card{text-align:center;background:#fff;border:1px solid #e5edfa;border-radius:28px 14px 14px;padding:30px}.faculty-avatar{color:#2563eb;background:linear-gradient(135deg,#edf4ff,#dbeafe);border:6px solid #f8fbff;border-radius:50%;place-items:center;width:108px;height:108px;margin:0 auto 22px;display:grid}.faculty-card>small{letter-spacing:1px;color:#7a8ca6;font-size:9px}.faculty-card h3{color:#15366b;margin:12px 0;font-size:20px}.faculty-card>p{color:#60738e;font-size:13px;line-height:1.8}.faculty-card>div:last-child:not(.faculty-avatar){color:#2563eb;border-top:1px solid #e6eef9;align-items:center;gap:8px;margin-top:8px;padding-top:16px;font-size:12px;display:inline-flex}.faculty-pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px;display:flex}.faculty-pagination button{color:#60738e;cursor:pointer;background:#fff;border:1px solid #dce7f7;border-radius:50%;place-items:center;min-width:30px;height:30px;font-size:11px;display:grid}.faculty-pagination button[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb}.faculty-pagination button:disabled{opacity:.35;cursor:default}.faculty-empty{text-align:center;color:#60738e;padding:28px;font-size:13px}.faculty-empty>svg{color:#2563eb}.faculty-empty span{font-size:12px}.student-story-heading{margin-top:72px}.community-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.community-story{background:#fff;border:1px solid #e0e9f7;border-radius:18px;align-items:flex-start;gap:24px;padding:26px;text-decoration:none;display:flex}.community-story>img{object-fit:cover;border:5px solid #eff6ff;border-radius:50%;width:100px;height:100px}.community-story>div{flex:1;min-width:0}.community-story small{color:#8a9ab1;font-size:9px}.community-story h3{color:#15366b;margin:12px 0;font-size:18px;line-height:1.5}.community-story p{color:#60738e;font-size:12px;line-height:1.8}.community-story span{color:#2563eb;align-items:center;gap:10px;margin-top:18px;font-size:12px;font-weight:600;display:flex}.community-story:hover{border-color:#93b4f0}.consultation-admin-link{color:#2563eb;margin-top:6px;font-size:12px;display:block}.consultation-admin-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:280px}@media (max-width:950px){.consultation-section{grid-template-columns:.8fr 1.2fr;gap:24px;padding:28px}.consultation-fields{grid-template-columns:1fr}.community-story{flex-direction:column}.faculty-card{padding:24px 18px}}@media (max-width:700px){.degree-standards{margin-bottom:36px;padding:24px}.degree-standards-heading{align-items:flex-start}.degree-standards-heading>span{flex-shrink:0;width:48px;height:48px}.degree-standards h2{font-size:25px}.consultation-section{grid-template-columns:1fr;gap:28px;width:calc(100% - 32px);margin-bottom:36px;padding:24px}.consultation-intro h2{font-size:30px}.consultation-intro h2 br{display:none}.consultation-form{padding:22px}.consultation-fields,.faculty-grid,.community-story-grid{grid-template-columns:1fr}.degree-community{padding:44px 0}.student-story-heading{margin-top:44px}.community-story{flex-direction:row}.community-story>img{width:72px;height:72px}.community-story{gap:16px;padding:22px}.community-story h3{font-size:16px}}.faculty-avatar{position:relative;overflow:hidden}.faculty-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.faculty-card .faculty-biography{text-align:left;white-space:pre-line;overflow-wrap:anywhere;line-height:1.9;color:#60738e!important;border-top:1px solid #e6eef9!important;margin-top:22px!important;padding-top:20px!important;font-size:13px!important;display:block!important}.faculty-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.faculty-admin-card{gap:18px;display:grid;margin:0!important}.faculty-admin-card header{align-items:center;gap:16px;display:flex}.faculty-admin-card h3{color:#15366b;margin:0 0 8px;font-size:18px}.faculty-admin-card header p{color:#7a8ca6;margin:0;font-size:12px}.faculty-admin-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.faculty-admin-avatar img{object-fit:cover;width:100%;height:100%}.faculty-admin-card label{color:#526b91;gap:8px;font-size:12px;display:grid}.faculty-admin-card :is(input,textarea){width:100%;font:inherit;color:#15366b;border:1px solid #dce7f7;border-radius:8px;padding:12px}.faculty-admin-card textarea{resize:vertical;line-height:1.8}.faculty-admin-card small{color:#8a9ab1;font-size:10px}@media (max-width:800px){.faculty-admin-grid{grid-template-columns:1fr}}.faculty-avatar img{position:absolute;inset:0}.report-page{--report-blue:#3459e6;--report-muted:#7383a0}.report-page .feature-heading{align-items:flex-start;gap:20px}.report-page .form-actions{flex-wrap:wrap}.report-page button:disabled{opacity:.5;cursor:not-allowed}.report-filter,.report-chart-panel,.report-detail{padding:24px}.report-section-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.report-section-title h2,.report-comparison h2{color:#172849;margin:0 0 7px;font-size:17px}.report-section-title p,.report-comparison p{color:var(--report-muted);margin:0;font-size:13px;line-height:1.6}.report-scope-tag{color:#3156ca;background:#f0f4ff;border:1px solid #dce4ff;border-radius:20px;flex-shrink:0;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.report-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.report-filter-grid label{color:#3d5073;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:600;display:flex}.report-filter-grid select,.report-filter-grid input{color:#233d67;width:100%;min-width:0;height:44px;font:inherit;background:#fff;border:1px solid #d7dfed;border-radius:9px;padding:0 12px;font-weight:400}.report-filter-grid select:focus,.report-filter-grid input:focus{border-color:#6b89ec;outline:3px solid #3459e61c}.report-filter-actions{border-top:1px solid #edf0f7;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.report-filter-actions>span{color:var(--report-muted);flex:1;font-size:12px;line-height:1.7}.report-active-scope{color:#4e638a;align-items:center;gap:9px;margin:22px 0 15px;font-size:12px;line-height:1.6;display:flex}.report-active-scope svg{color:var(--report-blue);flex-shrink:0}.report-active-scope time{white-space:nowrap;color:var(--report-muted);margin-left:auto}.report-content{gap:22px;transition:opacity .15s;display:grid}.report-content.is-loading{opacity:.45;pointer-events:none}.report-overview-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.report-overview-cards article{background:#fff;border:1px solid #e0e7f4;border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 16px;display:flex;box-shadow:0 3px 9px #203d6603}.report-card-icon{color:#3459e6;background:#eef2ff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.report-overview-cards article:last-child .report-card-icon{color:#b77920;background:#fff5e8}.report-overview-cards article>span:not(.report-card-icon){color:#637597;font-size:12px}.report-overview-cards strong{color:#18325e;font-size:29px;font-weight:650;line-height:1.15}.report-overview-cards small{color:#8695ae;font-size:10px;line-height:1.5}.report-insights{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;display:grid}.report-chart-panel{min-width:0;overflow:hidden}.report-chart-scroll{max-width:100%;padding:5px 0;overflow-x:auto}.report-line-chart{color:#7183a2;width:100%;height:220px;display:block}.report-line-chart text{fill:#7183a2;font-size:10px}.report-line-chart circle{cursor:pointer}.report-line-chart circle:focus{stroke:#112d79;stroke-width:4px;outline:none}.report-chart-caption{color:#61779b;min-height:36px;padding:9px 0;font-size:11px;line-height:1.6}.report-attendance-totals,.report-grade-summary{border-top:1px solid #eaf0f8;justify-content:space-between;gap:12px;margin-top:12px;padding-top:18px;display:flex}.report-attendance-totals span,.report-grade-summary span{color:var(--report-muted);flex-direction:column;gap:5px;font-size:11px;display:flex}.report-attendance-totals b,.report-grade-summary b{color:#263f69;font-size:19px;font-weight:600}.report-bars{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:14px;padding:10px 0 0;display:grid}.report-bar-column{color:#637597;text-align:center;flex-direction:column;align-items:center;gap:10px;font-size:10px;display:flex}.report-bar-column>b{color:#31518e;font-size:12px}.report-bar-track{background:#f3f6fd;border-radius:7px 7px 0 0;align-items:flex-end;width:100%;height:180px;display:flex;overflow:hidden}.report-bar-track>span{background:linear-gradient(#6386f6,#3459e6);border-radius:7px 7px 0 0;width:100%;min-height:0;display:block}.report-bar-column:last-child .report-bar-track>span{background:linear-gradient(#f4aa89,#e88865)}.report-footnote{color:#8190a9;margin:16px 0 14px;font-size:11px;line-height:1.8}.report-comparison{background:#f3f6ff;border-color:#dfe7fb;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.report-comparison>svg{color:#3459e6;flex-shrink:0;margin-top:3px}.report-comparison small{color:#8190a9;margin-top:6px;font-size:11px;line-height:1.7;display:block}.report-tabs{border-bottom:1px solid #e6ecf6;flex-wrap:wrap;gap:7px;margin-bottom:22px;padding-bottom:20px;display:flex}.report-tabs button{color:#7183a2;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 15px;font-size:12px}.report-tabs button[aria-selected=true]{color:#3459e6;background:#edf2ff;border-color:#dde5ff;font-weight:600}.report-tabs button:hover{background:#f4f6fb}.report-table-scroll{border:1px solid #e3eaf6;border-radius:11px;width:100%;overflow-x:auto}.report-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px;line-height:1.6}.report-table th{color:#8493ad;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;background:#f6f8fc;padding:15px 13px;font-size:10px;font-weight:650}.report-table td{color:#526989;border-top:1px solid #edf1f8;min-width:90px;max-width:300px;padding:15px 13px}.report-table td:first-child{color:#234272;font-weight:550}.report-table tbody tr:hover{background:#fafbff}.report-empty{text-align:center;color:#8b9ab0;padding:45px 14px;font-size:13px;line-height:1.8}.report-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.report-pagination>span{color:#7d8faa;margin-right:auto;font-size:12px}.report-assignment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.report-assignment-summary>span{color:#7183a2;background:#f8faff;border:1px solid #e5ebf7;border-radius:9px;flex-direction:column;gap:8px;padding:15px;font-size:12px;display:flex}.report-assignment-summary b{color:#325493;font-size:24px}.report-page .feature-error{justify-content:space-between;align-items:center;gap:15px;margin-top:18px;display:flex}@media (max-width:1350px){.report-overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.report-insights{grid-template-columns:1fr}}@media (max-width:850px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions{flex-wrap:wrap}.report-filter-actions>span{flex-basis:100%}.report-active-scope{flex-wrap:wrap}.report-active-scope time{margin-left:25px}.report-assignment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.report-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter,.report-chart-panel,.report-detail{padding:16px}.report-filter-grid{grid-template-columns:1fr}.report-section-title{flex-wrap:wrap}.report-bars{gap:7px}.report-comparison{padding:16px}.report-overview-cards strong{font-size:25px}}.class-student-dialog{width:min(1020px,100% - 48px)}.class-student-dialog .learning-modal-layout{height:min(840px,100dvh - 66px)}.class-student-dialog .learning-modal-header{background:#fff;padding:24px 28px}.class-student-dialog .learning-modal-header h2{font-size:21px}.class-student-dialog .learning-modal-body{background:#fff;flex:1;padding:0;display:flex;overflow:hidden}.class-student-picker{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.class-student-summary{background:#f5f8ff;border:1px solid #e0e7f6;border-radius:11px;grid-template-columns:1.6fr 1fr 1fr;gap:18px;margin:20px 28px 0;padding:15px 18px;display:grid}.class-student-summary>span{color:#7b8daa;flex-direction:column;justify-content:center;gap:5px;font-size:11px;display:flex}.class-student-summary>span:first-child{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px}.class-student-summary>span>span{flex-direction:column;gap:5px;display:flex}.class-student-summary svg{color:#3459e6}.class-student-summary strong{color:#24467e;font-size:14px;font-weight:650}.class-student-toolbar{padding:18px 28px 0}.class-student-search{color:#8a9ab5;background:#fff;border:1px solid #d8e1f1;border-radius:9px;align-items:center;gap:11px;padding:0 13px;display:flex}.class-student-search:focus-within{border-color:#708bf2;box-shadow:0 0 0 3px #3459e614}.class-student-search input{width:100%;min-width:0;height:43px;font:inherit;color:#28416c;background:0 0;border:0;outline:0;font-size:13px}.class-student-search button{color:#8b9bb5;cursor:pointer;background:0 0;border:0;align-items:center;padding:5px;display:inline-flex}.class-student-tabs{border-bottom:1px solid #e6edf8;gap:20px;margin-top:14px;display:flex}.class-student-tabs button{color:#7b8daa;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 1px 12px;font-size:12px}.class-student-tabs button[aria-selected=true]{color:#3459e6;border-bottom-color:#3459e6;font-weight:650}.class-student-selection{color:#7b8daa;align-items:center;gap:14px;padding:16px 28px;font-size:12px;display:flex}.class-student-selection label{color:#365581;cursor:pointer;align-items:center;gap:9px;display:flex}.class-student-selection>span{margin-left:auto}.class-student-selection b{color:#3459e6}.class-student-selection>button{font:inherit;color:#3459e6;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.class-student-picker input[type=checkbox]{accent-color:#3459e6;cursor:pointer;flex-shrink:0;width:17px;height:17px;margin:0}.class-student-picker input[type=checkbox]:focus-visible{outline-offset:3px;outline:2px solid #7c94ec}.class-student-picker button:disabled,.class-student-picker input:disabled{cursor:not-allowed;opacity:.5}.class-student-list{border:1px solid #e1e8f4;border-radius:11px;flex:1;min-height:110px;margin:0 28px;overflow:auto}.class-student-list table{border-collapse:collapse;text-align:left;width:100%}.class-student-list thead th{z-index:1;color:#8a9ab4;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#f4f7fc;padding:13px 12px;font-size:10px;font-weight:650;position:sticky;top:0}.class-student-list th:first-child,.class-student-list td:first-child{width:44px;padding-left:16px;padding-right:8px}.class-student-list td{color:#60799b;border-top:1px solid #edf1f8;padding:13px 12px;font-size:12px}.class-student-list tr.is-selected{background:#f0f4ff}.class-student-list tbody tr:not(.is-current):hover{background:#f6f8ff}.class-student-list tr.is-current{background:#fafbfd}.class-student-person{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.class-student-picker .class-student-person:disabled{opacity:1;cursor:default}.class-student-person>span:last-child{flex-direction:column;gap:5px;display:flex}.class-student-person strong{color:#28456e;font-size:13px;font-weight:550}.class-student-person small{color:#8a9ab4;word-break:break-word;font-size:10px}.class-student-avatar{color:#5978d1;background:#eaf0ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:650;display:flex}.class-student-status{white-space:nowrap;border-radius:6px;padding:5px 9px;font-size:10px;display:inline-block}.class-student-status.current{color:#8997ac;background:#edf0f5}.class-student-status.available{color:#329375;background:#eaf8f3}.class-student-status.assigned{color:#b38a3e;background:#fff6e7}.class-student-empty{text-align:center;height:130px;color:#8a9ab4!important}.class-student-hints{padding:12px 28px 14px}.class-student-hints p{color:#8b9bb4;margin:0;font-size:11px;line-height:1.7}.class-student-hints p+p{margin-top:5px}.class-student-hints .class-student-capacity-error{color:#cf5b50}.class-student-hints .class-student-move-note{color:#a57b32}.class-student-footer{background:#fafbfe;border-top:1px solid #e2e9f4;align-items:center;gap:10px;padding:17px 28px;display:flex}.class-student-footer>span{color:#7c8da8;margin-right:auto;font-size:12px}.class-student-footer>span b{color:#3459e6}.class-student-footer .primary-button,.class-student-footer .refresh-button{min-height:43px}.class-student-error{color:#c26054;background:#fff5f3;border:1px solid #ffd8d1;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 28px 12px;padding:10px 16px;font-size:12px;display:flex}@media (max-width:650px){.class-student-dialog{width:calc(100% - 20px)}.class-student-dialog .learning-modal-layout{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.class-student-dialog .learning-modal-header{padding:18px}.class-student-summary{grid-template-columns:1.5fr 1fr 1fr;gap:10px;margin:14px 16px 0;padding:12px}.class-student-summary strong{font-size:12px}.class-student-summary>span:first-child>svg{display:none}.class-student-toolbar{padding:14px 16px 0}.class-student-selection{flex-wrap:wrap;gap:9px;padding:12px 16px}.class-student-selection label{flex-basis:100%}.class-student-selection>span{margin-left:0;margin-right:auto}.class-student-list{margin:0 16px}.class-student-list table{min-width:600px}.class-student-hints{padding:10px 16px}.class-student-footer{flex-wrap:wrap;padding:14px 16px}.class-student-footer>span{flex-basis:100%}.class-student-footer>button{flex:1;justify-content:center}}@media (max-height:600px){.class-student-dialog .learning-modal-body{display:block;overflow-y:auto}.class-student-list{flex:none;height:200px}}.student-editor-dialog{width:min(920px,100% - 48px)}.student-editor-dialog .learning-modal-layout{height:min(890px,100dvh - 60px)}.student-editor-dialog .learning-modal-header{background:#fff;padding:23px 28px}.student-editor-dialog .learning-modal-header h2{font-size:22px}.student-editor-dialog .learning-modal-body{flex:1;padding:0;display:flex;overflow:hidden}.student-editor{flex-direction:column;flex:1;min-height:0;display:flex}.student-editor-scroll{overscroll-behavior:contain;background:#f6f8fc;min-height:0;padding:24px 28px 28px;overflow-y:auto}.student-code-card{background:linear-gradient(120deg,#edf2ff,#f8faff);border:1px solid #dbe4fa;border-radius:12px;align-items:center;gap:16px;padding:18px 20px;display:flex}.student-code-symbol{color:#3459e6;background:#fff;border:1px solid #e0e8ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.student-code-card label{color:#647a9e;flex:1;min-width:0;font-size:11px}.student-code-card input{font:inherit;color:#25488b;letter-spacing:1px;background:0 0;border:0;outline:0;width:100%;padding:7px 0;font-size:23px;font-weight:700;display:block}.student-code-card small{color:#7c8fb0;font-size:10px;line-height:1.6;display:block}.student-code-label{color:#5774c8;background:#e0e8ff;border-radius:5px;margin-left:8px;padding:3px 7px;font-size:9px;display:inline-block}.student-code-card>button{background:#fff;flex-shrink:0;font-size:11px}.student-editor-section{background:#fff;border:1px solid #e0e7f3;border-radius:12px;margin-top:19px;padding:22px}.student-editor-section>header{border-bottom:1px solid #edf1f8;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:18px;display:flex}.student-editor-section>header>span{color:#5275d5;background:#eef3ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:650;display:flex}.student-editor-section h3{color:#284570;margin:0 0 4px;font-size:15px;font-weight:650}.student-editor-section header p{color:#90a0b8;margin:0;font-size:11px;line-height:1.6}.student-editor-section fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;min-width:0;margin:0;padding:0;display:grid}.student-editor-section fieldset>label{color:#50688d;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:550;display:flex;position:relative}.student-editor-section label>span{color:#db786d;position:absolute;top:0;right:0}.student-editor-section .student-field-wide{grid-column:1/-1}.student-editor-section input,.student-editor-section select{color:#284570;width:100%;min-width:0;height:44px;font:inherit;background:#fff;border:1px solid #d8e1ef;border-radius:8px;padding:0 12px;font-weight:400;display:block}.student-editor-section input:focus,.student-editor-section select:focus{border-color:#7c96eb;outline:3px solid #3459e614}.student-editor-section input::placeholder{color:#a0aec3}.student-editor-section input[readonly]{color:#456293;background:#f5f7fc}.student-editor-section small{color:#8b9cb7;font-size:10px;font-weight:400;line-height:1.6}.student-editor button:disabled,.student-editor-section select:disabled{opacity:.6;cursor:not-allowed}.student-editor-section fieldset:disabled{opacity:.7}.student-password-field{position:relative}.student-password-field input{padding-right:44px}.student-password-field button{color:#8c9eba;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:35px;display:flex;position:absolute;top:0;bottom:0;right:5px}.student-editor-footer{background:#fff;border-top:1px solid #e2e8f2;align-items:center;gap:10px;padding:17px 28px;display:flex}.student-editor-footer>span{color:#92a0b7;align-items:center;gap:7px;margin-right:auto;font-size:10px;display:flex}.student-editor-footer>span svg{color:#6c90d4}.student-editor-footer button{min-height:43px}.student-editor-error{color:#be655b;background:#fff6f4;border:1px solid #f6d6d2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;font-size:12px;display:flex}@media (max-width:650px){.student-editor-dialog{width:calc(100% - 20px)}.student-editor-dialog .learning-modal-layout{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.student-editor-dialog .learning-modal-header{padding:18px}.student-editor-scroll{padding:16px}.student-code-card{flex-wrap:wrap;gap:10px;padding:15px}.student-code-card input{font-size:19px}.student-code-symbol{width:36px;height:36px}.student-code-card>button{margin-left:46px}.student-editor-section{padding:16px}.student-editor-section fieldset{grid-template-columns:1fr}.student-editor-footer{flex-wrap:wrap;padding:14px 16px}.student-editor-footer>span{flex-basis:100%}.student-editor-footer>button{flex:1;justify-content:center}}.entity-editor-dialog{width:min(920px,100vw - 32px)}.entity-editor-dialog .learning-modal-header{padding:24px 28px}.entity-editor-dialog .learning-modal-body{padding:0}.entity-editor-dialog .entity-editor-form{box-shadow:none;background:#f8faff;border:0;border-radius:0;margin:0;padding:0}.entity-editor-form>fieldset{border:0;min-width:0;margin:0;padding:28px}.entity-editor-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.entity-editor-form label{min-width:0}select option:disabled{color:#94a3b8;background:#f1f5f9}.entity-editor-form input,.entity-editor-form select,.entity-editor-form textarea{box-sizing:border-box;background:#fff;width:100%}.entity-editor-form .span-3,.entity-editor-form .span-2{grid-column:1/-1}.entity-editor-form>.form-actions{z-index:2;background:#fff;border-top:1px solid #e3e9f4;justify-content:flex-end;gap:12px;margin:0;padding:18px 28px;display:flex;position:sticky;bottom:0}.entity-editor-form fieldset>.filter-summary{margin:18px 0 0}@media (max-width:640px){.entity-editor-dialog{width:calc(100vw - 20px)}.entity-editor-dialog .learning-modal-header,.entity-editor-form>fieldset{padding:20px}.entity-editor-form .form-grid{grid-template-columns:1fr;gap:18px}.entity-editor-form>.form-actions{padding:16px 20px}}
