@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Montserrat:wght@400;500;600;700;800&display=swap";/*! tailwindcss v4.3.3 | 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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--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;--tw-duration:initial;--tw-ease:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-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{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.right-0{right:0}.left-0{left:0}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:0}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[34px\]{height:34px}.h-\[46px\]{height:46px}.h-\[220px\]{height:220px}.h-full{height:100%}.min-h-\[44px\]{min-height:44px}.min-h-\[220px\]{min-height:220px}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-\[34px\]{width:34px}.w-\[46px\]{width:46px}.w-full{width:100%}.max-w-\[58px\]{max-width:58px}.max-w-\[640px\]{max-width:640px}.max-w-\[1180px\]{max-width:1180px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-\[3px\]{border-radius:3px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-full{border-radius:3.40282e38px}.rounded-t-\[9px\]{border-top-left-radius:9px;border-top-right-radius:9px}.rounded-b-\[3px\]{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#dfe9e5\]{border-color:#dfe9e5}.border-\[\#eef1f3\]{border-color:#eef1f3}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-white{background-color:var(--color-white)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-\[length\:var\(--text-2xs\)\]{font-size:var(--text-2xs)}.text-\[length\:var\(--text-base\)\]{font-size:var(--text-base)}.text-\[length\:var\(--text-lg\)\]{font-size:var(--text-lg)}.text-\[length\:var\(--text-sm\)\]{font-size:var(--text-sm)}.text-\[length\:var\(--text-xl\)\]{font-size:var(--text-xl)}.text-\[length\:var\(--text-xs\)\]{font-size:var(--text-xs)}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--muted-foreground\)\]{color:var(--muted-foreground)}.text-\[var\(--primary-dark\)\]{color:var(--primary-dark)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:border-\[var\(--border\)\]:hover{border-color:var(--border)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:bg-\[var\(--muted\)\]:hover{background-color:var(--muted)}.hover\:bg-\[var\(--secondary\)\]:hover{background-color:var(--secondary)}.hover\:shadow-\[var\(--shadow\)\]:hover{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-7{padding:calc(var(--spacing) * 7)}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.4fr_0\.8fr\]{grid-template-columns:1.4fr .8fr}}}:root{--background:#f3f7f4;--foreground:#12483d;--card:#fff;--card-foreground:#17222d;--primary:#19b77c;--primary-dark:#126c59;--primary-action:var(--primary-dark);--primary-foreground:#fff;--secondary:#e7f8f3;--secondary-foreground:#087f6d;--muted:#f5f7f8;--muted-foreground:#6b7785;--accent:#d7a73a;--accent-foreground:#fff;--border:#e5eaee;--ring:#00a889;--radius:10px;--navy:#155d4d;--sidebar-bg:#116451;--sidebar-border:#ffffff17;--sidebar-fg:#c9dbe0;--sidebar-fg-active:#fff;--gold:#d7a73a;--gold-light:#fbf3e2;--shadow:0 16px 45px #132a3817;--status-active-bg:#f0faf4;--status-active-fg:#15803d;--status-hold-bg:#fff7ed;--status-hold-fg:#c2410c;--status-graduated-bg:#eff6ff;--status-graduated-fg:#1d4ed8;--status-submitted-bg:#eff6ff;--status-submitted-fg:#1d4ed8;--status-pending-bg:#f4f4f5;--status-pending-fg:#52525b;--status-reviewed-bg:#f0faf4;--status-reviewed-fg:#15803d;--status-late-bg:#fef2f2;--status-late-fg:#b91c1c;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.375rem;--text-xl:1.4375rem}*{box-sizing:border-box}html,body,#root{background-color:var(--background);height:100%;color:var(--foreground);font-family:Montserrat,sans-serif}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#dde3ed;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#b0bcd4}h1,h2,h3,h4{letter-spacing:.01em;font-family:Barlow Condensed,sans-serif}button,a{font-family:inherit;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),opacity .32s,color .32s}@media (hover:hover){button:not(:disabled):hover{transform:translateY(-2px)scale(1.015);box-shadow:0 10px 22px #0857412e}a:hover{color:var(--primary-dark);opacity:.8}}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #19b77c61}button,a,input,select,textarea,[role=button]{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),background-color .32s,border-color .32s,color .32s,opacity .32s,filter .32s}@media (hover:hover){button:not(:disabled):hover,[role=button]:hover{filter:brightness(1.04);transform:translateY(-2px)scale(1.02)!important;box-shadow:0 10px 22px #08574133!important}a:hover{text-underline-offset:4px;text-decoration:underline;transform:translateY(-1px)}input:hover,select:hover,textarea:hover{box-shadow:0 0 0 3px #19b77c1a;border-color:var(--primary)!important}}button:not(:disabled):active,[role=button]:active{transform:translateY(0)scale(.98)!important;box-shadow:0 3px 8px #08574129!important}input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #19b77c2e!important}.home-shell>nav,.home-shell>header{animation:.55s cubic-bezier(.22,1,.36,1) both soft-enter}.home-shell>header{animation-delay:80ms}.home-shell button,.home-shell a,.login-screen button{transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),background-color .38s,border-color .38s,color .38s,filter .38s!important}.home-shell button:not(:disabled):hover,.login-screen button:not(:disabled):hover{transform:translateY(-3px)scale(1.025)!important;box-shadow:0 14px 28px #08574138!important}.home-shell a:hover{transform:translateY(-2px)}.login-card{animation:.55s cubic-bezier(.22,1,.36,1) both soft-pop}.login-screen input{transition:border-color .32s,box-shadow .32s,background-color .32s!important}@keyframes soft-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-pop{0%{opacity:0;transform:translateY(16px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}.sidebar-group{margin-bottom:4px}.sidebar-group-toggle{color:#9bbdb6;cursor:pointer;letter-spacing:.12em;text-align:left;text-transform:uppercase;width:100%;box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items:center;padding:12px 10px 7px;font-size:10px;font-weight:700;display:flex}.sidebar-group-toggle:hover{color:#fff;box-shadow:none;transform:translate(2px)}.sidebar-group-chevron{transition:transform .32s cubic-bezier(.22,1,.36,1)}.sidebar-group.is-open .sidebar-group-chevron{transform:rotate(180deg)}.sidebar-group-items{animation:.32s cubic-bezier(.22,1,.36,1) sidebar-expand;overflow:hidden}.sidebar-nav-item{transition:transform .32s cubic-bezier(.22,1,.36,1),background-color .32s,color .32s,box-shadow .32s cubic-bezier(.22,1,.36,1)!important}.sidebar-nav-item:hover{box-shadow:none!important;color:#fff!important;background:#ffffff1a!important;transform:translate(4px)!important}.sidebar-nav-item.is-active:hover{background:#19b77c52!important}@keyframes sidebar-expand{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.classroom-shell{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.classroom-banner{color:#fff;background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;min-height:210px;padding:32px;display:flex}.classroom-banner span{letter-spacing:.1em;text-transform:uppercase;opacity:.86;font-size:.75rem;font-weight:800}.classroom-banner h2{color:#fff;margin:8px 0 4px;font-size:clamp(2rem,4vw,3.35rem);line-height:.95}.classroom-banner p{opacity:.92;margin:0;font-size:.9rem}.classroom-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 22px;display:flex}.classroom-tabs button{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:16px 18px 13px;font-weight:800;box-shadow:none!important}.classroom-tabs button:hover{color:var(--primary-dark);transform:none!important}.classroom-tabs button.is-active{color:var(--primary-dark);border-bottom-color:var(--primary)}.classroom-content-grid{background:var(--background);grid-template-columns:minmax(0,1fr) minmax(250px,.38fr);gap:18px;padding:22px;display:grid}.classroom-announcements{flex-direction:column;align-self:start;gap:12px;display:flex}.classroom-announcements>div{padding:15px}.classroom-people{background:var(--background);grid-template-columns:minmax(190px,250px) 1fr;align-items:start;gap:18px;padding:22px;display:grid}.classroom-person-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:.68rem;font-weight:800;display:block}.classroom-person,.classroom-people-list{align-items:center;gap:10px;display:flex}.classroom-people-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.classroom-avatar{background:var(--secondary);width:34px;height:34px;color:var(--primary-dark);border-radius:50%;flex:0 0 34px;place-items:center;font-size:.7rem;font-weight:800;display:grid}@media (max-width:760px){.classroom-content-grid,.classroom-people{grid-template-columns:1fr}.classroom-banner{min-height:180px;padding:24px}.classroom-tabs{padding:0 10px;overflow-x:auto}.classroom-tabs button{white-space:nowrap}.classroom-people-list{grid-template-columns:1fr}}.dashboard-shell{max-width:1480px;color:var(--card-foreground);margin:0 auto;padding:30px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.dashboard-header h1{color:var(--foreground);letter-spacing:0;margin:0;font-size:2.35rem;line-height:.95}.dashboard-header p,.block-heading p,.version-panel p{color:var(--muted-foreground);margin:7px 0 0;font-size:.8125rem;line-height:1.5}.version-source{color:var(--primary-dark);white-space:nowrap;font-weight:800}.dashboard-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.period-chip{border:1px solid var(--border);color:#53616e;background:#fff;border-radius:8px;padding:8px 11px;font-size:.75rem;font-weight:700}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:38px;padding:8px 12px;font-size:.75rem;font-weight:750}.button--solid{color:#fff;background:var(--primary-action);border-color:var(--primary-action)}.button--quiet{color:var(--foreground);border-color:var(--border);background:#fff}.metrics-strip{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.metric{border-right:1px solid var(--border);min-width:0;padding:16px 18px;position:relative}.metric:last-child{border-right:0}.metric:before{content:"";background:var(--primary);border-radius:2px;width:24px;height:3px;margin-bottom:13px;display:block}.metric--gold:before{background:var(--gold)}.metric--blue:before{background:#3e77c7}.metric--ink:before{background:#263f54}.metric span,.metric small{color:var(--muted-foreground);font-size:.6875rem;display:block}.metric strong{color:var(--foreground);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:4px 0;font-size:1.55rem;line-height:1;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(310px,.82fr);align-items:start;gap:18px;display:grid}.dashboard-block,.version-panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px}.dashboard-block--wide{min-width:0}.block-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.block-heading h2,.version-panel h2{color:var(--foreground);letter-spacing:0;margin:0;font-size:1.35rem;line-height:1}.text-button{color:var(--primary-dark);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:2px 0;font-size:.75rem;font-weight:800}.group-table{border-top:1px solid var(--border)}.group-table__head,.group-row{border-bottom:1px solid var(--border);text-align:left;grid-template-columns:minmax(100px,1fr) 84px 92px 132px;align-items:center;gap:12px;width:100%;padding:11px 8px;font-size:.75rem;display:grid}.group-table__head{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.055em;font-size:.65rem;font-weight:800}.group-row{cursor:pointer;color:var(--card-foreground);background:0 0;border-inline:0}.group-row:hover{background:var(--muted)}.group-row strong{color:var(--foreground)}.group-row span{font-variant-numeric:tabular-nums}.group-row em{font-size:.65rem;font-style:normal;font-weight:800}.state-good{color:#167143}.state-watch{color:#986314}.action-queue ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.action-queue li{border-bottom:1px solid var(--border);grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:11px 0;display:grid}.action-queue li span{background:var(--secondary);width:20px;height:20px;color:var(--primary-dark);border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid}.action-queue li button{color:var(--card-foreground);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:650}.action-queue li button:hover{color:var(--primary-dark)}.action-queue__button{width:100%;margin-top:15px}.dashboard-block table{font-size:.75rem}.dashboard-block td{border-bottom:1px solid var(--border);padding:11px 12px}.dashboard-block tr:last-child td{border-bottom:0}.data-muted{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.empty-panel{color:var(--muted-foreground);margin:0;padding:22px 0;font-size:.8125rem}.version-panel{color:#effaf6;background:#153e38;border-color:#153e38;grid-area:1/2/span 2}.version-panel__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.version-panel h2{color:#fff}.version-panel p{color:#b6d5cc}.version-current{background:#ffffff17;border-radius:8px;margin:18px 0 10px;padding:13px}.version-current span,.version-current small{color:#b6d5cc;font-size:.65rem;display:block}.version-current strong{color:#fff;font-variant-numeric:tabular-nums;margin:4px 0;font-size:.875rem;display:block}.version-list{border-top:1px solid #ffffff24}.version-option{color:#e9f7f1;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff24;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;width:100%;padding:10px 2px;display:grid}.version-option:hover,.version-option.is-selected{color:#fff}.version-option__dot{background:#7bada0;border-radius:50%;width:7px;height:7px}.version-option.is-selected .version-option__dot{background:#70e1b7;box-shadow:0 0 0 3px #70e1b726}.version-option b,.version-option small{font-size:.6875rem;display:block}.version-option small{color:#a7cabe;margin-top:2px}.version-option em{color:#b6d5cc;font-size:.6rem;font-style:normal}.version-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.version-panel .button--quiet{color:#fff;background:0 0;border-color:#ffffff3d}.version-panel .button--solid{color:#123d36;background:#70e1b7;border-color:#70e1b7}.version-compare{background:#ffffff17;border-radius:7px;padding:9px;color:#d7efe7!important;margin:12px 0 0!important;font-size:.6875rem!important}.student-list{border-top:1px solid var(--border)}.student-list button{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px 0;display:flex}.student-list button:hover strong{color:var(--primary-dark)}.student-list strong,.student-list small{display:block}.student-list small{color:var(--muted-foreground);margin-top:3px;font-size:.7rem}.student-context{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.student-context div{background:var(--muted);border-radius:8px;padding:11px}.student-context span,.student-context strong{display:block}.student-context span{color:var(--muted-foreground);font-size:.65rem}.student-context strong{color:var(--foreground);margin-top:4px;font-size:.8125rem}@media (max-width:1080px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.version-panel{grid-area:auto}.dashboard-block--wide{grid-column:auto}}@media (max-width:720px){.dashboard-shell{padding:20px 15px}.dashboard-header{gap:16px;display:grid}.dashboard-header__actions{justify-content:space-between}.metrics-strip{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--border)}.group-table__head{display:none}.group-row{grid-template-columns:minmax(92px,1fr) 55px 72px}.group-row em{display:none}.student-context{grid-template-columns:repeat(2,1fr)}.version-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){button,a{transition:color .01ms,opacity .01ms}button:not(:disabled):hover{box-shadow:none;transform:none}.home-shell>nav,.home-shell>header,.login-card{animation:none}}.hamburger-btn,.sidebar-overlay{display:none}@media (max-width:900px){.hamburger-btn{display:inline-flex}.app-sidebar{z-index:40;transition:transform .35s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}.sidebar-overlay.is-open{z-index:30;background:#08141073;display:block;position:fixed;top:0;right:0;bottom:0;left:0}}@media (max-width:860px){.public-nav__links{display:none!important}.public-nav__cta{padding:10px 14px!important;font-size:12.5px!important}.public-nav__hamburger{display:inline-flex!important}.public-nav__drawer{display:flex!important}}@media (max-width:900px){.public-hero,.public-institucion,.public-academica-hero{grid-template-columns:1fr!important}.public-hero__img,.public-institucion img,.public-academica-hero__img{min-height:360px!important}.public-mvv,.public-docentes-grid,.public-vinculacion-grid,.public-footer-grid{grid-template-columns:1fr!important;gap:28px!important}.public-careers-grid,.public-vida-grid,.public-stats{grid-template-columns:repeat(2,1fr)!important}.public-stats__item:nth-child(2){border-left:none!important}.public-stats__item:nth-child(-n+2){border-bottom:1px solid #ffffff24!important}.public-stats__item:nth-child(3){border-left:none!important}}@media (max-width:560px){.public-careers-grid,.public-vida-grid{grid-template-columns:1fr!important}}html,body,#root{max-width:100%;overflow-x:hidden}.public-hero,.public-institucion,.public-academica-hero,.public-mvv,.public-docentes-grid,.public-vinculacion-grid,.public-footer-grid,.public-careers-grid,.public-vida-grid,.public-stats,.public-hero>*,.public-institucion>*,.public-academica-hero>*,.public-mvv>*,.public-docentes-grid>*,.public-vinculacion-grid>*,.public-footer-grid>*,.public-careers-grid>*,.public-vida-grid>*,.public-stats>*,.public-docentes-grid *,.public-footer-grid *,.public-vinculacion-grid *{min-width:0}.public-footer-grid a,.public-footer-grid li,.public-footer-grid p,.public-footer-grid span{overflow-wrap:anywhere}.rg-2,.rg-3,.rg-4,.rg-2>*,.rg-3>*,.rg-4>*{min-width:0}@media (max-width:900px){.rg-3,.rg-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:560px){.rg-2,.rg-3,.rg-4{grid-template-columns:1fr!important}}@media (max-width:760px){.kardex-layout{grid-template-columns:1fr!important}}@media print{@page{size:landscape;margin:10mm}html,body,#root{background:#fff;height:auto}#root>div{height:auto!important;overflow:visible!important}aside,header{display:none!important}main{overflow:visible!important}.kardex-page{gap:10px!important;padding:0!important}.kardex-layout{display:block!important}.kardex-layout>div:first-child:not(:only-child){display:none!important}.kardex-layout>div:last-child{box-shadow:none!important;border:0!important;padding:0!important}.kardex-page button{display:none!important}.kardex-page table{font-size:10pt!important}.kardex-page tr{break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
