@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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-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;--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,::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]){appearance:button}::file-selector-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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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{--navy:#071f45;--navy2:#0d3568;--red:#df1725;--ink:#112342;--muted:#66748a;--line:#e1e7ef;--canvas:#f4f7fb;--green:#0b9873}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,select,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:30;background:linear-gradient(#061c3e 0%,#09305c 67%,#061b3b 100%);flex-direction:column;width:254px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 30px #0211281f}.brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:12px;height:78px;padding:0 20px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#ed1b2f,#b7091c);border-radius:11px;place-items:center;width:40px;height:40px;font-weight:800;display:grid;box-shadow:0 8px 20px #df172540}.brand div{flex-direction:column;line-height:1.05;display:flex}.brand strong{font-size:18px}.brand small{color:#b9cae1;letter-spacing:.12em;text-transform:uppercase;margin-top:5px;font-size:12px}.close-menu{color:#fff;background:0 0;border:0;margin-left:auto;font-size:26px;display:none}.sidebar nav{scrollbar-width:none;flex:1;padding:15px 12px;overflow:auto}.sidebar nav button{color:#d6e2f2;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:45px;margin:2px 0;padding:8px 13px;font-size:13.5px;font-weight:550;transition:all .18s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.sidebar nav button.active{color:#fff;background:linear-gradient(135deg,#e31c2b,#c60e1c);box-shadow:0 8px 18px #b407164d}.nav-icon{text-align:center;width:24px;font-size:19px}.system-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:11px;align-items:center;gap:10px;margin:9px 14px 17px;padding:12px;display:flex}.system-card div{flex-direction:column;display:flex}.system-card strong{font-size:11px}.system-card small{color:#aabed8;margin-top:3px;font-size:9px}.pulse{background:#2bd39a;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #2bd39a1f}.workspace{width:calc(100% - 254px);min-width:0;margin-left:254px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:flex-end;align-items:center;height:78px;padding:0 30px;display:flex;position:sticky;top:0;box-shadow:0 3px 12px #10234208}.top-actions{align-items:center;gap:16px;display:flex}.semester-select{color:#243a5c;background:#fff;border:1px solid #d7dfeb;border-radius:9px;align-items:center;gap:9px;height:43px;padding:0 12px;display:flex}.semester-select select{color:inherit;background:0 0;border:0;outline:0;font-weight:650}.icon-button{color:#193457;background:#fff;border:1px solid #dfe5ee;border-radius:50%;width:42px;height:42px;font-size:19px;position:relative}.icon-button b{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;display:grid;position:absolute;top:-4px;right:-2px}.profile{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;display:flex}.profile>span{color:#fff;background:linear-gradient(135deg,#173f70,#071d41);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:750;display:grid}.profile div{flex-direction:column;display:flex}.profile strong{font-size:12px}.profile small{color:var(--muted);margin-top:2px;font-size:10px}.profile i{color:#6f7f94;font-style:normal}.menu-button,.mobile-title{display:none}.content{max-width:1720px;margin:auto;padding:28px 30px 18px}.page-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:23px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#8996a9!important;margin:0 0 6px!important;font-size:10px!important}.page-head h1{letter-spacing:-.03em;margin:0;font-size:29px;line-height:1.2}.page-head p{color:var(--muted);margin:7px 0 0;font-size:13px}.primary{color:#fff;background:linear-gradient(135deg,#e71b2b,#c70918);border:0;border-radius:9px;align-items:center;gap:9px;height:47px;padding:0 20px;font-weight:750;transition:all .18s;display:flex;box-shadow:0 9px 20px #d20d1e38}.primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px #d20d1e4d}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:16px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:14px;min-height:112px;padding:19px;display:flex;position:relative;box-shadow:0 4px 13px #1023420b}.stat-icon{border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:grid}.stat-icon.blue{color:#1a55bb;background:#e8f0ff}.stat-icon.purple{color:#6048c8;background:#eeeaff}.stat-icon.green{color:#08795c;background:#e2f7f0}.stat-icon.red{color:#d8182b;background:#fdebed}.stats article>div:nth-child(2){flex-direction:column;display:flex}.stats span{color:#6f7e91;font-size:11px;font-weight:650}.stats strong{letter-spacing:-.03em;margin:2px 0;font-size:27px}.stats small{color:#8a97a8;font-size:9.5px}.stats em{color:#08795c;background:#e5f7f1;border-radius:10px;padding:4px 6px;font-size:8.5px;font-style:normal;font-weight:750;position:absolute;top:13px;right:13px}.health-row{grid-template-columns:1.35fr 1fr;gap:15px;margin-bottom:16px;display:grid}.optimisation-card,.quick-card,.timetable-card,.management-card{border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 4px 13px #1023420b}.optimisation-card,.quick-card{padding:18px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title div{flex-direction:column;display:flex}.section-title span{font-size:13px;font-weight:750}.section-title small{color:#8a97a8;margin-top:3px;font-size:9.5px}.section-title button{color:#1e5d9f;background:0 0;border:0;font-size:10px;font-weight:650}.health-body{align-items:center;gap:28px;margin-top:15px;display:flex}.score-ring{background:conic-gradient(#0d9b76 0 94%,#e5ebf1 94% 100%);border-radius:50%;flex:none;place-items:center;width:92px;height:92px;display:grid;position:relative}.score-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.score-ring div{z-index:1;align-items:baseline;display:flex}.score-ring strong{font-size:25px}.score-ring span{color:#8b98a8;font-size:9px}.health-metrics{flex:1;gap:11px;display:grid}.health-metrics>div{color:#657489;grid-template-columns:1fr auto;gap:5px;font-size:9.5px;display:grid}.health-metrics b{color:#243957}.health-metrics i{background:#e9eef3;border-radius:10px;grid-column:1/-1;height:5px;overflow:hidden}.health-metrics u{background:linear-gradient(90deg,#0c906f,#22bd91);border-radius:10px;height:100%;text-decoration:none;display:block}.quick-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;display:grid}.quick-grid button{text-align:left;background:#fbfcfe;border:1px solid #e2e8f0;border-radius:9px;grid-template-rows:1fr 1fr;grid-template-columns:28px 1fr;align-items:center;min-height:62px;padding:8px 10px;transition:all .15s;display:grid}.quick-grid button:hover{background:#fff;border-color:#b6c7dc;transform:translateY(-1px)}.quick-grid span{color:#164c8c;background:#e9f0fb;border-radius:7px;grid-row:1/-1;place-items:center;width:26px;height:26px;display:grid}.quick-grid b{align-self:end;font-size:9.5px}.quick-grid small{color:#8a97a8;align-self:start;font-size:8.5px}.import-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.import-results-summary{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:16px;padding:18px;box-shadow:0 4px 13px #1023420b}.summary-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.summary-heading>div{flex-direction:column;display:flex}.summary-heading span{font-size:13px;font-weight:750}.summary-heading small{color:#8a97a8;margin-top:3px;font-size:9.5px}.summary-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.summary-grid article{background:#f9fbfd;border:1px solid #e5eaf0;border-radius:9px;flex-direction:column;justify-content:space-between;min-height:76px;padding:12px;display:flex}.summary-grid span{color:#718095;font-size:9px;font-weight:650}.summary-grid strong{color:#253b57;overflow-wrap:anywhere;text-transform:capitalize;font-size:14px}.summary-grid .summary-valid{color:#08795c}.summary-grid .summary-invalid{color:#cf2335}.recommendation-panel{background:#fff;border:1px solid #dce7f2;border-radius:12px;margin:-6px 0 16px;padding:18px;box-shadow:0 4px 13px #1023420b}.recommendation-panel h3{margin:0 0 10px;font-size:14px}.recommendation-panel ol{color:#5e6f84;margin:0 0 13px;padding-left:20px;font-size:11px;line-height:1.7}.recommendation-panel button{color:#145695;background:#f7faff;border:1px solid #ccd9e8;border-radius:7px;padding:8px 12px;font-size:10px;font-weight:700}.detail-list{gap:0;display:grid}.detail-list p{border-bottom:1px solid #edf1f5;justify-content:space-between;gap:20px;margin:0;padding:12px 0;font-size:11px;display:flex}.detail-list span{color:#718095}.detail-list b{color:#2a405c;text-align:right}.import-history{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:16px;padding:18px;box-shadow:0 4px 13px #1023420b}.history-table{border:1px solid #e1e7ef;border-radius:9px;margin-top:13px;overflow:hidden}.history-row{color:#52647b;border-top:1px solid #edf1f5;grid-template-columns:1.2fr 2fr .6fr .6fr .8fr;align-items:center;gap:10px;padding:10px 12px;font-size:10px;display:grid}.history-row:first-child{border-top:0}.history-head{color:#334963;text-transform:uppercase;letter-spacing:.04em;background:#f5f7fa;font-size:8.5px;font-weight:750}.timetable-card{margin-bottom:14px;padding:18px}.table-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.table-controls{gap:8px;display:flex}.table-controls select,.table-controls button{color:#40536d;background:#fff;border:1px solid #dfe6ee;border-radius:7px;height:34px;padding:0 10px;font-size:9.5px}.table-controls button{color:#145695;font-weight:700}.legend{color:#68768a;border-top:1px solid #edf1f5;align-items:center;gap:15px;margin:14px 0 9px;padding-top:11px;font-size:8.5px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:7px;height:7px}.legend .lecture{background:#3679d5}.legend .tutorial{background:#e6a429}.legend .lab{background:#18a27d}.legend .project{background:#7058c8}.legend .lunch{color:#67758a;background:#f6f8fa;border-radius:6px;margin-left:auto;padding:5px 8px}.table-scroll{overflow-x:auto}.schedule-grid{border:1px solid #dde5ee;border-radius:9px;grid-template-columns:80px repeat(5,minmax(135px,1fr));min-width:850px;display:grid;overflow:hidden}.grid-head{color:#34465f;background:#f2f5f9;border-right:1px solid #dde5ee;place-items:center;height:34px;font-size:9px;font-weight:750;display:grid}.time-cell{color:#485971;border-top:1px solid #e3e9f0;border-right:1px solid #e3e9f0;flex-direction:column;justify-content:center;min-height:54px;padding-left:10px;font-size:9px;font-weight:700;display:flex}.time-cell small{color:#9aa5b3;margin-top:2px;font-size:7px;font-weight:500}.schedule-cell{border-top:1px solid #e3e9f0;border-right:1px solid #e3e9f0;place-items:stretch stretch;min-height:54px;padding:4px;display:grid}.available{color:#c4ccd6;place-self:center;font-size:8px}.session{text-align:left;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;padding:5px 7px;transition:all .15s;display:flex}.session:hover{filter:saturate(1.15);transform:translateY(-1px);box-shadow:0 4px 9px #122b4a1a}.session b{font-size:8px}.session span{opacity:.78;margin-top:3px;font-size:7.5px}.session.lecture{color:#174d98;background:#e9f1ff;border-color:#bfd4f7}.session.tutorial{color:#8a5a00;background:#fff3dc;border-color:#f1d294}.session.lab{color:#087259;background:#e3f6f0;border-color:#aedfce}.session.project{color:#5940ad;background:#f0ecff;border-color:#d6cbfa}footer{text-align:center;color:#718096;padding:12px 20px 3px;font-size:9px;line-height:1.6}.module-head{margin-bottom:20px}.module-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px;display:grid}.module-stats article{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;padding:18px 20px;display:flex;box-shadow:0 4px 13px #1023420a}.module-stats span{color:#7a8899;font-size:10px;font-weight:650}.module-stats strong{margin:4px 0;font-size:25px}.module-stats small{color:#97a3b0;font-size:9px}.management-card{margin-bottom:15px;overflow:hidden}.management-toolbar{border-bottom:1px solid #e8edf2;justify-content:space-between;align-items:center;padding:20px;display:flex}.management-toolbar h2{margin:0;font-size:16px}.management-toolbar p{color:#8491a2;margin:4px 0 0;font-size:10px}.management-toolbar>div:last-child{gap:8px;display:flex}.management-toolbar button,.search-row button{color:#234362;background:#fff;border:1px solid #d9e2ec;border-radius:7px;padding:8px 11px;font-size:9.5px;font-weight:650}.search-row{background:#f8fafc;border-bottom:1px solid #e7edf3;gap:9px;padding:11px 20px;display:flex}.search-row label{color:#91a0b1;background:#fff;border:1px solid #dfe6ee;border-radius:7px;flex:1;padding:0 10px}.search-row input{background:0 0;border:0;outline:0;width:calc(100% - 22px);height:34px;font-size:10px}.search-row select{color:#52647b;background:#fff;border:1px solid #dfe6ee;border-radius:7px;padding:0 10px;font-size:10px}.data-row{border-bottom:1px solid #edf1f5;grid-template-columns:1.4fr 1.4fr 1fr .7fr .5fr;align-items:center;min-width:720px;padding:11px 20px;font-size:10px;display:grid}.data-table{overflow-x:auto}.data-header{color:#8996a7;text-transform:uppercase;letter-spacing:.05em;background:#fbfcfd;font-size:8px;font-weight:750}.data-row>span:first-child{flex-direction:column;display:flex}.data-row small{color:#98a4b1;margin-top:3px;font-size:8px}.data-row i{border-radius:10px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:700}.status-ready{color:#077457;background:#e3f6ef}.status-review{color:#9b6200;background:#fff2d8}.data-row span:last-child button{color:#145a99;background:0 0;border:0;font-size:9px;font-weight:700}.ai-callout{background:linear-gradient(90deg,#eaf2fd,#f6f9fd);border:1px solid #d7e4f3;border-radius:12px;align-items:center;gap:13px;padding:16px 18px;display:flex}.ai-callout>span{color:#fff;background:#173f70;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.ai-callout div{flex-direction:column;flex:1;display:flex}.ai-callout strong{font-size:11px}.ai-callout p{color:#65758a;margin:4px 0 0;font-size:9.5px}.ai-callout button{color:#164c83;background:#fff;border:1px solid #b8cbe0;border-radius:7px;padding:8px 11px;font-size:9px;font-weight:700}.toast{z-index:100;color:#fff;background:#102d52;border-radius:10px;align-items:center;gap:9px;max-width:420px;padding:13px 16px;font-size:11px;animation:.22s ease-out toastIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 35px #041a364d}.toast span{background:#13a37d;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.security-strip{background:#f0faf6;border:1px solid #cfe8df;border-radius:10px;align-items:center;gap:11px;margin:-2px 0 16px;padding:11px 14px;display:flex}.security-strip>span{color:#fff;background:#0c9874;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.security-strip div{flex-direction:column;flex:1;display:flex}.security-strip strong{color:#12644f;font-size:10px}.security-strip small{color:#5e7f76;margin-top:2px;font-size:8.5px}.security-strip a{color:#185b91;font-size:9px;font-weight:700;text-decoration:none}.security-badge{color:#08795c;background:#e5f7f0;border:1px solid #b9e5d5;border-radius:20px;padding:8px 12px;font-size:9px;font-weight:750}.security-overview{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:15px;display:grid}.security-overview article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex;box-shadow:0 4px 13px #1023420a}.security-overview article>span{color:#174f8b;background:#e9f2fc;border-radius:11px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:grid}.security-overview article div{flex-direction:column;display:flex}.security-overview strong{font-size:11px}.security-overview small{color:#8290a2;margin-top:3px;font-size:8.5px}.role-matrix{margin-bottom:15px}.role-row{border-top:1px solid #edf1f5;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:13px 20px;display:grid}.role-row>span{color:#1b548c;background:#edf3fa;border-radius:7px;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.role-row div{flex-direction:column;display:flex}.role-row strong{font-size:10px}.role-row small{color:#7b899b;margin-top:3px;font-size:8.5px}.role-row i{letter-spacing:.06em;color:#50637b;background:#f1f4f7;border-radius:12px;padding:5px 8px;font-size:7.5px;font-style:normal;font-weight:800}.security-notice{color:#765421;background:#fff9ed;border:1px solid #f0d7a8;border-radius:11px;padding:14px 17px}.security-notice b{font-size:10px}.security-notice p{margin:4px 0 0;font-size:9px;line-height:1.55}.capacity-panel{color:#fff;background:linear-gradient(120deg,#0a2a54,#123f73);border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding:17px 20px;display:flex;box-shadow:0 8px 20px #071f4524}.capacity-panel h2{margin:0;font-size:14px}.capacity-panel p{color:#b8cce2;margin:4px 0 0;font-size:9px}.quantity-grid{grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;display:grid}.quantity-grid article{background:#ffffff14;border:1px solid #ffffff24;border-radius:9px;min-width:105px;padding:8px 10px}.quantity-grid article>span{color:#b9cce1;text-transform:uppercase;letter-spacing:.08em;font-size:7.5px;display:block}.quantity-grid article>div{justify-content:space-between;align-items:center;margin-top:5px;display:flex}.quantity-grid strong{font-size:13px}.quantity-grid button{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;width:22px;height:22px;padding:0;line-height:1}.quantity-grid button:disabled{opacity:.35;cursor:not-allowed}.master-layout{grid-template-columns:205px minmax(0,1fr);align-items:start;gap:14px;display:grid}.register-list,.register-workspace{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 13px #1023420a}.register-title{background:#f8fafc;border-bottom:1px solid #e7edf3;justify-content:space-between;align-items:center;padding:14px 15px;font-size:10px;font-weight:800;display:flex}.register-title b{color:#1b528b;background:#e8eff8;border-radius:12px;padding:3px 7px;font-size:8px}.register-list button{color:#4b5e75;text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f3f6;justify-content:space-between;align-items:center;width:100%;padding:9px 13px;font-size:8.5px;transition:all .15s;display:flex}.register-list button:hover{background:#f6f9fc}.register-list button.active{color:#134e8a;background:#eaf2fc;font-weight:800;box-shadow:inset 3px 0 #d51a29}.register-list button b{color:#76869a;background:#f1f4f7;border-radius:10px;padding:3px 6px;font-size:7.5px}.register-head{border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;display:flex}.register-head h2{margin:0;font-size:15px}.register-head p{color:#8794a5;margin:3px 0 0;font-size:8.5px}.bulk-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.bulk-actions button,.file-button{color:#244866;cursor:pointer;background:#fff;border:1px solid #d9e2ec;border-radius:7px;padding:7px 8px;font-size:7.8px;font-weight:700}.file-button input{display:none}.register-filters{background:#f8fafc;border-bottom:1px solid #e6ecf2;gap:8px;padding:10px 17px;display:flex}.register-filters label{color:#8593a4;background:#fff;border:1px solid #dce4ed;border-radius:7px;flex:1;align-items:center;gap:6px;padding:0 9px;display:flex}.register-filters input{background:0 0;border:0;outline:0;width:100%;height:31px;font-size:9px}.register-filters select,.register-filters button{color:#53677e;background:#fff;border:1px solid #dce4ed;border-radius:7px;padding:0 9px;font-size:8.5px}.master-table{overflow-x:auto}.master-row{color:#4f6177;border-bottom:1px solid #edf1f5;grid-template-columns:.8fr 1.4fr 1.6fr .65fr 2fr;align-items:center;gap:10px;min-width:780px;padding:10px 17px;font-size:8.8px;display:grid}.master-header{text-transform:uppercase;letter-spacing:.05em;color:#8996a7;background:#fbfcfd;font-size:7.5px;font-weight:800}.master-row i{text-transform:capitalize;border-radius:10px;padding:4px 7px;font-size:7.5px;font-style:normal;font-weight:700}.row-actions{flex-wrap:wrap;gap:5px;display:flex}.row-actions button{color:#285476;background:#fff;border:1px solid #d8e1eb;border-radius:5px;padding:5px 6px;font-size:7.5px}.row-actions button.danger{color:#b31b2a;border-color:#edc8cd}.empty-state{text-align:center;color:#8a98a9;padding:35px;font-size:10px}.modal-backdrop{z-index:100;background:#0313298c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.record-modal{background:#fff;border-radius:14px;width:min(580px,100%);overflow:hidden;box-shadow:0 24px 70px #03132959}.record-modal header{border-bottom:1px solid #e4eaf1;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.record-modal header div{flex-direction:column;display:flex}.record-modal header span{color:#8290a2;letter-spacing:.1em;font-size:7.5px;font-weight:800}.record-modal h2{margin:4px 0 0;font-size:17px}.record-modal header button{color:#51657b;background:#f0f3f7;border:0;border-radius:50%;width:29px;height:29px;font-size:17px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;padding:20px;display:grid}.form-grid label{color:#5d6f84;flex-direction:column;gap:5px;font-size:8.5px;font-weight:700;display:flex}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{color:#243a55;background:#fff;border:1px solid #d9e2ec;border-radius:7px;padding:9px;font-size:10px}.form-grid textarea{resize:vertical;min-height:85px}.form-grid :disabled{color:#758498;background:#f4f6f8}.record-modal footer{background:#f8fafc;border-top:1px solid #e5ebf1;justify-content:flex-end;gap:8px;padding:13px 20px;display:flex}.record-modal footer button{color:#425a72;background:#fff;border:1px solid #d5dfe9;border-radius:7px;padding:8px 13px;font-size:9px;font-weight:700}.record-modal footer button.save{color:#fff;background:#143e6d;border-color:#143e6d}.validation-score{flex-direction:column;align-items:center;padding:20px 20px 12px;display:flex}.validation-score strong{color:#0b8e6c;font-size:34px}.validation-score span{color:#7f8da0;font-size:9px}.validation-modal ul{margin:0;padding:5px 25px 20px;list-style:none}.validation-modal li{color:#5d6f82;border-bottom:1px solid #edf1f5;gap:8px;padding:9px 0;font-size:9.5px;display:flex}.validation-modal li b{color:#163f6b;min-width:55px}.rollback-button{color:#a71927;background:#fff4f5;border:1px solid #e7b8be;border-radius:9px;padding:10px 14px;font-size:9px;font-weight:800}.import-summary{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px;display:grid}.import-summary article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:11px;padding:14px;display:flex;box-shadow:0 4px 12px #1023420a}.import-summary article>span{color:#154e88;background:#eaf2fc;border-radius:10px;place-items:center;min-width:37px;height:37px;font-size:12px;font-weight:850;display:grid}.import-summary article div{flex-direction:column;display:flex}.import-summary strong{font-size:9.5px}.import-summary small{color:#8794a5;margin-top:3px;font-size:7.8px}.import-layout{grid-template-columns:215px minmax(0,1fr);align-items:start;gap:14px;display:grid}.dataset-list,.import-workspace{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 13px #1023420a}.dataset-list button{color:#52657b;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;width:100%;padding:10px 13px;font-size:8.5px;display:flex}.dataset-list button.active{color:#154e88;background:#eaf2fc;font-weight:800;box-shadow:inset 3px 0 #d51a29}.dataset-list button i{color:#8594a7;font-style:normal}.stepper{background:#f8fafc;border-bottom:1px solid #e7edf3;grid-template-columns:repeat(4,1fr);padding:17px 20px;display:grid}.stepper div{color:#9aa6b4;align-items:center;gap:7px;display:flex;position:relative}.stepper div:not(:last-child):after{content:"";background:#dce4ed;height:1px;position:absolute;top:13px;left:82px;right:15px}.stepper span{z-index:1;background:#fff;border:1px solid #d6dfe8;border-radius:50%;place-items:center;width:27px;height:27px;font-size:8px;font-weight:800;display:grid}.stepper b{font-size:8px}.stepper .done{color:#0c795d}.stepper .done span{color:#fff;background:#0c9874;border-color:#0c9874}.template-bar{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.template-bar>div:first-child{flex-direction:column;display:flex}.template-bar strong{font-size:12px}.template-bar small{color:#7f8da0;margin-top:3px;font-size:8px}.template-bar>div:last-child{gap:6px;display:flex}.template-bar button{color:#245075;background:#fff;border:1px solid #d8e2ec;border-radius:6px;padding:7px 9px;font-size:8px;font-weight:700}.drop-zone{text-align:center;cursor:pointer;background:#f8fbfe;border:2px dashed #b9c8d9;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:285px;margin:22px;transition:all .18s;display:flex}.drop-zone.dragging{background:#effaf6;border-color:#0b9873;transform:scale(.995)}.drop-zone input{display:none}.drop-zone>span{color:#174e86;background:#e8f0fa;border-radius:15px;place-items:center;width:54px;height:54px;font-size:22px;display:grid}.drop-zone h2{margin:14px 0 4px;font-size:15px}.drop-zone p{color:#77879a;margin:0;font-size:9px}.drop-zone b{color:#94a0af;letter-spacing:.06em;margin-top:13px;font-size:7.5px}.mapping-panel,.preview-panel{padding:18px}.file-status{background:#f1faf7;border:1px solid #cfe8df;border-radius:9px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.file-status>span{color:#fff;background:#0d9874;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.file-status div{flex-direction:column;flex:1;display:flex}.file-status strong{font-size:9.5px}.file-status small{color:#688176;margin-top:2px;font-size:7.8px}.file-status button{color:#155c92;background:0 0;border:0;font-size:8px;font-weight:750}.mapping-panel h3,.preview-toolbar h3{margin:0;font-size:13px}.mapping-panel>p,.preview-toolbar p{color:#7e8c9d;margin:4px 0 13px;font-size:8.5px}.mapping-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mapping-grid>div{background:#fbfcfd;border:1px solid #e1e7ee;border-radius:8px;grid-template-columns:1fr 24px 1fr;align-items:end;padding:9px;display:grid}.mapping-grid>div>span{text-align:center;color:#8290a2;padding-bottom:8px}.mapping-grid label{color:#8a97a7;flex-direction:column;gap:4px;font-size:7.5px;display:flex}.mapping-grid b,.mapping-grid select{color:#354b65;background:#fff;border:1px solid #dae3ec;border-radius:6px;padding:7px;font-size:8.5px}.panel-actions{border-top:1px solid #e8edf2;justify-content:flex-end;gap:8px;margin-top:17px;padding-top:13px;display:flex}.panel-actions button{color:#4e6278;background:#fff;border:1px solid #d7e0e9;border-radius:7px;padding:8px 12px;font-size:8.5px;font-weight:700}.panel-actions button.next{color:#fff;background:#153f6e;border-color:#153f6e}.panel-actions button:disabled{opacity:.45;cursor:not-allowed}.validation-cards{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:15px;display:grid}.validation-cards article{background:#fbfcfd;border:1px solid #e0e7ee;border-radius:8px;flex-direction:column;padding:10px;display:flex}.validation-cards article.valid{background:#effaf6;border-color:#cce9df}.validation-cards article.invalid{background:#fff5f5;border-color:#f0d3d7}.validation-cards span{font-size:20px;font-weight:800}.validation-cards b{color:#758397;margin-top:2px;font-size:7.5px}.preview-toolbar{justify-content:space-between;align-items:center;display:flex}.preview-toolbar button{color:#a51c29;background:#fff5f6;border:1px solid #e4b9bf;border-radius:6px;padding:7px 9px;font-size:8px;font-weight:700}.preview-table{border:1px solid #e1e7ee;border-radius:8px;overflow-x:auto}.preview-row{color:#4f6278;border-bottom:1px solid #edf1f5;grid-template-columns:45px repeat(5,1fr) 85px;align-items:center;gap:8px;min-width:760px;padding:8px 10px;font-size:8px;display:grid}.preview-header{text-transform:uppercase;color:#8491a1;background:#f6f8fa;font-size:7px;font-weight:800}.preview-row.row-invalid{background:#fff8f8}.valid-pill,.invalid-pill{border-radius:10px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:750}.valid-pill{color:#087456;background:#e2f6ef}.invalid-pill{color:#ab1f2d;background:#fde7e9}.import-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:30px;display:flex}.import-success>span{color:#fff;background:#0b9873;border-radius:50%;place-items:center;width:65px;height:65px;font-size:25px;display:grid;box-shadow:0 0 0 10px #e5f7f1}.import-success h2{margin:24px 0 7px;font-size:20px}.import-success p{color:#718094;max-width:500px;margin:0;font-size:9.5px}.import-success div{gap:8px;margin-top:19px;display:flex}.import-success button{color:#34536f;background:#fff;border:1px solid #d5dfe9;border-radius:7px;padding:9px 12px;font-size:8.5px;font-weight:700}.confirmation-modal>div:not(header){padding:20px}.confirmation-modal p{color:#53667c;margin:0 0 12px;font-size:10px}.confirmation-modal ul{margin:0;padding:0;list-style:none}.confirmation-modal li{color:#596c80;border-top:1px solid #edf1f5;gap:9px;padding:9px 0;font-size:9px;display:flex}.confirmation-modal li span{color:#0a8061;background:#e8f3ee;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:800;display:grid}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width:1100px){.stats{grid-template-columns:1fr 1fr}.health-row{grid-template-columns:1fr}.profile div{display:none}.sidebar{transition:all .22s;transform:translate(-100%)}.sidebar.open{transform:none}.workspace{width:100%;margin-left:0}.menu-button{color:#173657;background:0 0;border:0;font-size:21px;display:block}.mobile-title{margin-left:12px;font-weight:750;display:block}.topbar{justify-content:space-between;padding:0 18px}.top-actions{margin-left:auto}.close-menu{display:block}.overlay{z-index:25;background:#020d1e73;border:0;position:fixed;inset:0}.capacity-panel{flex-direction:column;align-items:flex-start}.quantity-grid{width:100%}.master-layout{grid-template-columns:175px minmax(0,1fr)}.import-layout{grid-template-columns:185px minmax(0,1fr)}.mapping-grid{grid-template-columns:1fr}.validation-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.content{padding:20px 15px}.topbar{height:66px}.semester-select,.profile i{display:none}.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:24px}.primary{justify-content:center;width:100%}.stats,.import-summary{grid-template-columns:1fr}.stats article{min-height:96px}.module-stats,.security-overview{grid-template-columns:1fr}.health-body{align-items:flex-start;gap:17px}.score-ring{width:75px;height:75px}.quick-grid,.summary-grid{grid-template-columns:1fr 1fr}.table-top{flex-direction:column;align-items:flex-start}.table-controls{width:100%}.table-controls select{flex:1}.legend{flex-wrap:wrap}.legend .lunch{margin-left:0}.management-toolbar{flex-direction:column;align-items:flex-start;gap:13px}.management-toolbar>div:last-child,.search-row{flex-wrap:wrap}.search-row label{flex-basis:100%}.ai-callout{flex-wrap:wrap;align-items:flex-start}.ai-callout button{margin-left:49px}.security-strip{flex-wrap:wrap;align-items:flex-start}.security-strip a{margin-left:39px}.quantity-grid{grid-template-columns:1fr 1fr}.master-layout,.import-layout{grid-template-columns:1fr}.register-list,.dataset-list{grid-template-columns:1fr 1fr;display:grid}.register-title{grid-column:1/-1}.register-head,.template-bar{flex-direction:column;align-items:flex-start}.bulk-actions{justify-content:flex-start}.register-filters{flex-wrap:wrap}.register-filters label{flex-basis:100%}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.stepper{grid-template-columns:1fr 1fr;gap:12px}.stepper div:after{display:none}.validation-cards{grid-template-columns:1fr 1fr}.mapping-grid>div{grid-template-columns:1fr}.mapping-grid>div>span{display:none}.toast{bottom:15px;left:15px;right:15px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.selectable-row>span:first-child{align-items:center;gap:8px;display:flex}.selectable-row input[type=checkbox]{accent-color:#123b5d;cursor:pointer;width:14px;height:14px}.master-row.selected{background:#eef7ff}.selection-toolbar{color:#244866;background:#edf7ff;border-bottom:1px solid #d7e5f0;align-items:center;gap:7px;padding:9px 17px;font-size:8.5px;display:none}.selection-toolbar.visible{display:flex}.selection-toolbar span{margin-right:auto}.selection-toolbar button{color:#244866;background:#fff;border:1px solid #b9cfdf;border-radius:6px;padding:6px 8px;font-size:8px;font-weight:700}.selection-toolbar button.danger{color:#a71725;border-color:#e8bcc2}.selection-toolbar button:disabled{opacity:.45;cursor:not-allowed}.pagination-bar{color:#65778b;justify-content:space-between;align-items:center;gap:12px;padding:11px 17px;font-size:8.5px;display:flex}.pagination-bar label,.pagination-bar div{align-items:center;gap:6px;display:flex}.pagination-bar select,.pagination-bar button{color:#375773;background:#fff;border:1px solid #d7e1eb;border-radius:6px;padding:5px 7px;font-size:8px}.pagination-bar button:disabled{opacity:.4}.pagination-bar b{color:#39536c;font-size:8px}.confirm-modal>p{color:#586b7f;margin:0;padding:22px;font-size:10px;line-height:1.6}.danger-confirm{color:#fff!important;background:#b42332!important;border:0!important}@media (max-width:700px){.selection-toolbar,.pagination-bar{flex-wrap:wrap;align-items:flex-start}.selection-toolbar span,.pagination-bar>span{flex-basis:100%}}.import-stepper{grid-template-columns:repeat(5,1fr)}.import-context{background:#eef5fb;border-bottom:1px solid #dce7f0;align-items:end;gap:10px;padding:14px 18px;display:flex}.import-context label{color:#526980;flex-direction:column;gap:5px;font-size:8px;font-weight:750;display:flex}.import-context select{color:#2f4b66;background:#fff;border:1px solid #ccd9e5;border-radius:7px;min-width:165px;padding:8px;font-size:9px}.import-context>span{color:#176d58;margin-left:auto;padding-bottom:8px;font-size:8.5px;font-weight:750}.raw-preview .preview-row{grid-template-columns:repeat(6,minmax(110px,1fr))}.validation-note{color:#326b5d;background:#effaf6;border:1px solid #cce9df;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:9px}.import-cancel{margin:0 22px 20px}.import-cancel button{color:#9b2732;border-color:#e3c0c5}small{line-height:1.45;font-size:12px!important}.eyebrow{font-size:12px!important}.stats span,.section-title span,.summary-heading span{font-size:13px}.stats em,.section-title button,.health-metrics>div,.quick-grid b,.quick-grid small,.summary-heading small,.summary-grid span,.history-row,.table-controls select,.table-controls button,.legend,.grid-head,.time-cell,.time-cell small,.available,.session b,.session span,footer,.module-stats span,.module-stats small,.management-toolbar p,.management-toolbar button,.search-row button,.search-row input,.search-row select,.data-row,.data-header,.data-row small,.data-row i,.data-row span:last-child button,.ai-callout strong,.ai-callout p,.ai-callout button,.security-strip strong,.security-strip small,.security-strip a,.security-badge,.security-overview strong,.security-overview small,.role-row strong,.role-row small,.role-row i,.security-notice b,.security-notice p,.capacity-panel p,.quantity-grid article>span,.register-title,.register-title b,.register-list button,.register-list button b,.register-head p,.bulk-actions button,.file-button,.register-filters input,.register-filters select,.register-filters button,.master-row,.master-header,.master-row i,.row-actions button,.empty-state,.record-modal header span,.form-grid label,.form-grid input,.form-grid select,.form-grid textarea,.record-modal footer button,.validation-score span,.validation-modal li,.rollback-button,.import-summary strong,.import-summary small,.dataset-list button,.stepper span,.stepper b,.template-bar small,.template-bar button,.drop-zone p,.drop-zone b,.file-status strong,.file-status small,.file-status button,.mapping-panel>p,.preview-toolbar p,.mapping-grid label,.mapping-grid b,.mapping-grid select,.panel-actions button,.validation-cards b,.preview-toolbar button,.preview-row,.preview-header,.valid-pill,.invalid-pill,.import-success p,.import-success button,.confirmation-modal p,.confirmation-modal li,.selection-toolbar,.selection-toolbar button,.pagination-bar,.pagination-bar select,.pagination-bar button,.pagination-bar b,.confirm-modal>p,.import-context label,.import-context select,.import-context>span,.validation-note,.detail-list p,.recommendation-panel ol,.recommendation-panel button{line-height:1.4;font-size:11px!important}.sidebar nav button{font-size:14px}.page-head p{font-size:14px;line-height:1.55}.stats article,.optimisation-card,.quick-card,.timetable-card,.management-card,.module-stats article,.security-overview article,.capacity-panel,.register-list,.register-workspace,.dataset-list,.import-workspace,.import-summary article,.import-results-summary,.import-history,.recommendation-panel,.record-modal,.security-strip,.ai-callout,.summary-grid article,.validation-cards article,.mapping-grid>div,.file-status,.drop-zone,.history-table,.preview-table{border-color:#d8e1eb;transform:translateZ(0);box-shadow:0 12px 26px #142d4e1c,0 3px 7px #142d4e14,inset 0 1px #ffffffeb}.stats article:hover,.module-stats article:hover,.import-summary article:hover,.summary-grid article:hover{transform:translateY(-3px);box-shadow:0 18px 34px #142d4e26,0 5px 10px #142d4e17,inset 0 1px #fff}button:not(.overlay):not(.close-menu),.file-button{transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:0 5px 10px #122d4e21,inset 0 1px #ffffffe0,inset 0 -1px #102d4e14}button:not(:disabled):not(.overlay):not(.close-menu):hover,.file-button:hover{filter:saturate(1.06);transform:translateY(-2px);box-shadow:0 9px 16px #122d4e2e,inset 0 1px #ffffffeb}button:not(:disabled):not(.overlay):not(.close-menu):active,.file-button:active{transform:translateY(1px);box-shadow:0 2px 5px #122d4e26,inset 0 2px 4px #0f2a491f}.sidebar nav button{box-shadow:none!important}.sidebar nav button.active{box-shadow:0 9px 18px #b4071657,inset 0 1px #fff3!important}input:not([type=checkbox]),select,textarea{box-shadow:inset 0 2px 4px #1c345212,0 1px #ffffffe6}.stat-icon,.quick-grid span,.import-summary article>span,.drop-zone>span,.ai-callout>span,.security-overview article>span,.brand-mark{box-shadow:0 7px 14px #122d4e29,inset 0 1px #ffffff59}@media (max-width:700px){small{font-size:11px!important}.summary-grid,.quick-grid{grid-template-columns:1fr}}:root{--navy:#08284d;--blue:#135b9f;--sky:#e9f2fb;--gold:#c58a16;--red:#cf1d2e;--green:#0b8c69;--ink:#172b45;--muted:#617287;--line:#d8e2ed}body{color:var(--ink);background:linear-gradient(145deg,#f1f5f9 0%,#f8fafc 44%,#edf3f8 100%)}.topbar{border-bottom:1px solid #d3deea;box-shadow:0 8px 24px #08284d14}.page-head h1,.management-toolbar h2,.register-head h2,.record-modal h2{color:#102d50}.stats article:nth-child(4n+1),.module-stats article:nth-child(3n+1){border-top:3px solid #2d73b9}.stats article:nth-child(4n+2),.module-stats article:nth-child(3n+2){border-top:3px solid #7357bd}.stats article:nth-child(4n+3),.module-stats article:nth-child(3n+3){border-top:3px solid #159175}.stats article:nth-child(4n+4){border-top:3px solid #cf3344}.management-card,.register-workspace,.import-workspace{border-top:3px solid #164f87}.primary,.record-modal footer button.save,.panel-actions button.next{background:linear-gradient(145deg,#d92536,#b91021);border-color:#b91021}.top-popover-wrap{position:relative}.top-popover{z-index:70;background:#fff;border:1px solid #d7e1ec;border-radius:13px;width:360px;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 22px 55px #071f3f38,0 5px 14px #071f3f1f}.top-popover header{background:linear-gradient(135deg,#f7fafd,#edf4fb);border-bottom:1px solid #dfe7ef;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex}.top-popover header>div{flex-direction:column;display:flex}.top-popover header strong{color:#183655;font-size:14px}.top-popover header button{color:#155c99;box-shadow:none;background:0 0;border:0;font-size:11px;font-weight:750}.notification-popover ul{margin:0;padding:0;list-style:none}.notification-popover li{border-bottom:1px solid #edf1f5;gap:11px;padding:14px 16px;display:flex}.notification-popover li div{flex-direction:column;gap:3px;display:flex}.notification-popover li b{color:#253e5c;font-size:12px}.notice-dot{border-radius:50%;flex:none;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 4px #14467814}.notice-dot.red{background:#cf3344}.notice-dot.blue{background:#2d73b9}.notice-dot.green{background:#159175}.top-popover footer{background:#f8fafc;padding:11px 15px}.top-popover footer button,.profile-popover>button,.profile-popover>a{color:#174f85;text-align:center;background:#fff;border:1px solid #cfdae6;border-radius:8px;width:100%;padding:9px 11px;font-size:11px;font-weight:750;text-decoration:none;display:block}.profile-popover{width:310px;padding:15px}.profile-summary{border-bottom:1px solid #e6ecf2;align-items:center;gap:11px;padding-bottom:13px;display:flex}.profile-summary>span{color:#fff;background:linear-gradient(145deg,#194f85,#0b315d);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid;box-shadow:0 7px 14px #08284d33}.profile-summary div{flex-direction:column;display:flex}.profile-popover dl{margin:10px 0}.profile-popover dl div{justify-content:space-between;gap:15px;padding:7px 0;font-size:11px;display:flex}.profile-popover dt{color:#718196}.profile-popover dd{color:#263e59;text-align:right;margin:0;font-weight:700}.profile-popover>a{color:#a91d2b;margin-top:8px}@media (max-width:700px){.top-popover{width:auto;position:fixed;top:72px;left:15px;right:15px}.profile-popover{width:auto}}.data-header,.master-header,.preview-header,.history-head{text-transform:uppercase;text-shadow:0 1px 1px #00122859;box-shadow:inset 0 1px #ffffff2e,0 5px 12px #08284d2e;color:#fff!important;letter-spacing:.075em!important;background:linear-gradient(135deg,#0b315d 0%,#154f83 58%,#1c659d 100%)!important;border-bottom:3px solid #c89225!important;font-size:12px!important;font-weight:850!important;line-height:1.25!important}.data-header>span,.master-header>span,.preview-header>span,.history-head>span{border-right:1px solid #ffffff29;padding-top:3px;padding-bottom:3px;color:#fff!important;font-weight:850!important}.data-header>span:last-child,.master-header>span:last-child,.preview-header>span:last-child,.history-head>span:last-child{border-right:0}.grid-head{letter-spacing:.06em;text-shadow:0 1px 1px #00122852;color:#fff!important;background:linear-gradient(145deg,#103a69,#1a5b91)!important;border-color:#ffffff2e!important;font-size:12px!important;font-weight:850!important}.time-head{color:#fff!important}@media (max-width:700px){.import-stepper{grid-template-columns:1fr 1fr}.import-context{flex-direction:column;align-items:stretch}.import-context select{width:100%}.import-context>span{margin-left:0;padding-bottom:0}}.record-modal{max-height:calc(100vh - 40px);overflow-y:auto}.solver-strip{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.solver-strip article{background:#fff;border:1px solid #d9e3ed;border-radius:12px;align-items:center;gap:9px;min-height:72px;padding:12px;display:flex;box-shadow:0 8px 20px #102d4e14}.solver-strip article>span{color:#15558d;background:#e9f2fb;border-radius:9px;flex:none;place-items:center;width:29px;height:29px;font-weight:850;display:grid}.solver-strip article div{flex-direction:column;flex:1;min-width:0;display:flex}.solver-strip strong{color:#183653;font-size:11px}.solver-strip small{color:#7c8b9d;font-size:10px!important}.solver-strip i{letter-spacing:.05em;border-radius:9px;padding:4px 6px;font-size:8px;font-style:normal;font-weight:850}.solver-strip i.ready{color:#087456;background:#e3f6ef}.solver-strip i.running{color:#8a5b00;background:#fff0cf;animation:.8s infinite alternate pulseEngine}.generator-layout{grid-template-columns:minmax(0,1fr) 330px;gap:16px;margin-bottom:16px;display:grid}.constraint-stack{gap:16px;display:grid}.constraint-card,.score-panel{background:#fff;border:1px solid #d8e2ec;border-radius:14px;box-shadow:0 12px 28px #102d4e1a}.constraint-card{overflow:hidden}.constraint-card header{border-bottom:1px solid #e3eaf1;justify-content:space-between;align-items:center;gap:15px;padding:17px 18px;display:flex}.constraint-card header>div{align-items:center;gap:11px;display:flex}.constraint-card header>div>span{color:#fff;border-radius:10px;place-items:center;width:35px;height:35px;font-weight:900;display:grid}.hard-card header>div>span{background:#0b8c69}.soft-card header>div>span{background:#2469a7}.constraint-card h2{color:#173653;margin:0;font-size:15px}.constraint-card p{color:#718196;margin:3px 0 0;font-size:11px}.constraint-card header b{letter-spacing:.06em;border-radius:12px;padding:6px 8px;font-size:9px}.hard-card header b{color:#087456;background:#e4f7f0}.soft-card header b{color:#175d98;background:#e7f1fb}.constraint-grid{grid-template-columns:1fr 1fr;display:grid}.constraint-grid label{border-bottom:1px solid #edf1f5;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;min-height:45px;padding:9px 16px;display:grid}.constraint-grid label:nth-child(odd){border-right:1px solid #edf1f5}.constraint-grid input{accent-color:#0b8c69;width:15px;height:15px}.constraint-grid span{color:#334a64;font-size:11px;font-weight:650}.constraint-grid i{color:#8090a2;font-size:8px;font-style:normal}.score-panel{height:max-content;padding:19px;position:sticky;top:96px}.score-panel-head{justify-content:space-between;align-items:center;display:flex}.score-panel-head span{letter-spacing:.08em;color:#526980;font-size:10px;font-weight:850}.score-panel-head i{color:#0b8062;background:#e6f6f0;border-radius:10px;padding:4px 7px;font-size:9px;font-style:normal}.large-score{--score:94%;background:conic-gradient(#0b8c69 0 var(--score),#e7edf2 var(--score) 100%);border-radius:50%;place-items:center;width:158px;height:158px;margin:18px auto 12px;display:grid;box-shadow:0 10px 25px #0b8c6933}.large-score:before{content:"";background:#fff;border-radius:50%;width:130px;height:130px;position:absolute}.large-score div{z-index:1;align-items:baseline;display:flex}.large-score strong{color:#143656;font-size:42px}.large-score span{color:#8290a0;font-size:12px}.score-panel h2{text-align:center;color:#173653;margin:0;font-size:16px}.score-panel>p{text-align:center;color:#718196;margin:5px 0 15px;font-size:10px}.score-breakdown{border-top:1px solid #e7edf3;border-bottom:1px solid #e7edf3;padding:9px 0}.score-breakdown div{color:#637489;justify-content:space-between;gap:12px;padding:6px 0;font-size:10px;display:flex}.score-breakdown b{color:#173b5d}.strategy-select{flex-direction:column;gap:5px;margin-top:13px;display:flex}.strategy-select span{color:#607389;font-size:9px;font-weight:750}.strategy-select select{color:#28445f;background:#fff;border:1px solid #d2deea;border-radius:8px;height:38px;padding:0 9px;font-size:11px}.solution-summary{background:#f2f7fc;border:1px solid #dae8f4;border-radius:9px;align-items:center;gap:10px;margin-top:13px;padding:11px;display:flex}.solution-summary>span{color:#fff;background:#174f85;border-radius:8px;place-items:center;width:31px;height:31px;font-weight:850;display:grid}.solution-summary div{flex-direction:column;display:flex}.solution-summary strong{font-size:10px}.solution-summary small{color:#78899b;font-size:9px!important}.agent-reasoning{color:#fff;background:linear-gradient(110deg,#0b315d,#165b91);border-radius:13px;align-items:center;gap:13px;padding:17px 18px;display:flex;box-shadow:0 12px 28px #08284d33}.agent-reasoning>span{background:#ffffff24;border-radius:11px;flex:none;place-items:center;width:39px;height:39px;font-size:18px;display:grid}.agent-reasoning div{flex:1}.agent-reasoning strong{font-size:12px}.agent-reasoning p{color:#d6e5f2;margin:4px 0 0;font-size:10px;line-height:1.55}.agent-reasoning button{color:#164f85;background:#fff;border:1px solid #ffffff73;border-radius:8px;padding:9px 11px;font-size:10px;font-weight:750}@keyframes pulseEngine{to{filter:brightness(1.08);transform:scale(1.03)}}@media (max-width:1200px){.solver-strip{grid-template-columns:repeat(3,1fr)}.generator-layout{grid-template-columns:1fr}.score-panel{position:static}.large-score{position:relative}}@media (max-width:700px){.solver-strip,.constraint-grid{grid-template-columns:1fr}.constraint-grid label:nth-child(odd){border-right:0}.agent-reasoning{flex-wrap:wrap;align-items:flex-start}.agent-reasoning button{margin-left:52px}}@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}@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}
:root{--tg-background:#f6f8fc;--tg-surface:#fff;--tg-surface-elevated:#fffffff5;--tg-surface-glass:#ffffffc7;--tg-border:#dfe6ef;--tg-border-hover:#c7d4e4;--tg-text-primary:#10233f;--tg-text-secondary:#5f6f84;--tg-text-muted:#8492a6;--tg-primary:#165dff;--tg-primary-hover:#0e4fe2;--tg-success:#0b9873;--tg-warning:#d99112;--tg-danger:#d91837;--tg-info:#1b69d2;--tg-shadow-sm:0 4px 14px #142b490b;--tg-shadow-md:0 10px 28px #142b4912;--tg-shadow-lg:0 20px 48px #0d22421a;--tg-radius-sm:9px;--tg-radius-md:13px;--tg-radius-lg:16px;--canvas:var(--tg-background);--ink:var(--tg-text-primary);--muted:var(--tg-text-secondary);--line:var(--tg-border)}html,body{background:var(--tg-background);color:var(--tg-text-primary);font-family:var(--font-geist-sans), Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(circle at 50% -180px, #287eff14, transparent 430px), var(--tg-background)}button,select,input,textarea{font-family:inherit}button,a,select,input{transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .16s}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #165dff38}.brand{-webkit-backdrop-filter:blur(14px)saturate(125%);background:radial-gradient(circle at 15% 0,#279fff24,#0000 38%),linear-gradient(145deg,#ffffff12,#ffffff05);border:1px solid #92caff2b;border-radius:16px;align-items:center;gap:10px;height:auto;min-height:98px;margin:8px 9px 7px;padding:10px 12px;box-shadow:inset 0 1px #ffffff21,inset 0 -1px #704eff14,0 8px 22px #010c2329}.brand-mark{width:54px;height:54px;box-shadow:none;color:#0000;filter:drop-shadow(0 6px 10px #00aeff24);background:url(/timegrid-mark.svg) 50%/contain no-repeat;border-radius:0;flex:0 0 54px;font-size:0}.brand div{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand strong{width:148px;padding-bottom:6px;font-size:0;line-height:1;display:block;position:relative}.brand strong:after{content:"TimeGrid";background:linear-gradient(90deg,#fff 0%,#eaf9ff 58%,#8ce4ff 100%);color:#0000;letter-spacing:-.035em;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:21px;font-weight:800;line-height:1.02;display:block}.brand strong:before{content:"";opacity:.9;background:linear-gradient(90deg,#1d66ff 0 29%,#1fd4e8 29% 57%,#ff9e17 57% 77%,#8a38ff 77% 100%);border-radius:999px;height:2px;position:absolute;bottom:0;left:0;right:0}.brand small{color:#0000;letter-spacing:0;text-transform:none;max-width:150px;margin-top:5px;font-size:0;line-height:1.2}.brand small:before{content:"AI-Powered Intelligent Timetabling";color:#d3e2f1;letter-spacing:0;white-space:normal;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;font-size:10.8px;font-weight:590;line-height:1.28;display:block}.brand small:after{content:none}.sidebar{background:radial-gradient(circle at 0 0,#0d86ff29,#0000 31%),radial-gradient(circle at 100% 82%,#6b3dff1c,#0000 34%),linear-gradient(#051d42fc 0%,#062349fc 54%,#051837fe 100%);border-right:1px solid #7eb8ff21;width:260px;box-shadow:12px 0 36px #02122d21,inset -1px 0 #ffffff09}.sidebar nav{padding:8px 12px 14px}.sidebar nav button{color:#d9e5f3;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;background:#ffffff04;border:1px solid #0000;border-radius:11px;gap:11px;min-height:46px;margin:3px 0;padding:8px 11px;font-size:13.5px;font-weight:590}.sidebar nav button:hover{color:#fff;background:linear-gradient(135deg,#ffffff13,#3589ff0e);border-color:#86bfff1c;transform:translate(1px);box-shadow:inset 0 1px #ffffff0e}.sidebar nav button.active{color:#fff;background:linear-gradient(135deg,#f52c54 0%,#df1837 58%,#c80d2c 100%);border-color:#ff91aa52;box-shadow:0 8px 20px #d5082f36,inset 0 1px #ffffff38}.nav-icon{text-align:center;background:#ffffff0b;border:1px solid #9dcbff1a;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:17px;display:grid;box-shadow:inset 0 1px #ffffff0e}.sidebar nav button.active .nav-icon{background:#ffffff1c;border-color:#ffffff21}.system-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid #9ccbff1f;border-radius:13px;margin:10px 14px 17px;padding:13px;box-shadow:inset 0 1px #fff1}.system-card strong{letter-spacing:-.01em;font-size:11.5px}.system-card small{color:#b8cae0;font-size:10px}.workspace{width:calc(100% - 260px);margin-left:260px}.topbar{-webkit-backdrop-filter:blur(16px)saturate(135%);background:#ffffffeb;border-bottom:1px solid #cddaebd1;box-shadow:0 6px 22px #1e36560b}.role-view-switcher{z-index:60!important;box-shadow:none!important;color:#3b506c!important;font:600 11.5px/1.2 var(--font-geist-sans), Inter, sans-serif!important;background:0 0!important;border:0!important;border-radius:0!important;align-items:center!important;gap:7px!important;padding:0!important;display:flex!important;position:fixed!important;top:17px!important;left:278px!important}.role-view-switcher label{color:#65758a;white-space:nowrap;font-weight:620}.role-view-switcher select{color:#153151!important;background:#fffffff2!important;border:1px solid #d4deea!important;border-radius:10px!important;min-width:188px!important;height:39px!important;padding:0 31px 0 11px!important;font-size:11.5px!important;font-weight:650!important;box-shadow:0 3px 10px #1f38580a,inset 0 1px #ffffffe6!important}.role-view-switcher button{color:#174c89!important;background:#fff!important;border:1px solid #d1dbe8!important;border-radius:10px!important;height:39px!important;padding:0 12px!important;font-size:11px!important;font-weight:690!important;box-shadow:0 3px 10px #1f385809!important}.role-view-switcher button:hover{background:#f8fbff!important;border-color:#b9c9dc!important}.role-view-switcher span{color:#61758d!important;letter-spacing:.045em!important;text-transform:uppercase!important;background:#eef4fb!important;border-radius:999px!important;padding:4px 7px!important;font-size:9px!important;font-weight:750!important}.content{max-width:1660px;padding-top:30px}.page-head h1{color:var(--tg-text-primary);letter-spacing:-.035em;font-size:clamp(29px,2.15vw,34px);font-weight:700;line-height:1.13}.page-head p{color:var(--tg-text-secondary);font-size:13px;line-height:1.55}.eyebrow{color:#7d8ba0!important;letter-spacing:.13em!important;font-size:10.5px!important;font-weight:750!important}.stats{gap:16px}.stats article,.optimisation-card,.quick-card,.timetable-card,.management-card,.security-strip,.import-results-summary,.import-history,.recommendation-panel,.constraint-card,.score-panel,.agent-reasoning{box-shadow:var(--tg-shadow-sm), inset 0 1px 0 #fffffff5;background:#fffffff7;border-color:#d8e1ecf2}.stats article{border-radius:14px;min-height:116px}.stats article:hover{border-color:#ced9e7;transform:translateY(-1px);box-shadow:0 10px 26px #142b4911,inset 0 1px #fff}.stats span{color:#6d7c91;font-size:11.5px}.stats strong{font-size:28px;font-weight:720}.stats small,.section-title small{color:#8795a8;font-size:10.5px}.section-title span{font-size:14px;font-weight:680}.primary{border-radius:10px;min-height:44px;font-weight:680}.semester-select,.icon-button,.profile,.table-controls select,.table-controls button{border-color:#d9e2ed}.semester-select:hover,.icon-button:hover,.table-controls select:hover,.table-controls button:hover{border-color:var(--tg-border-hover)}.timetable-card{border-radius:15px;box-shadow:0 12px 30px #142b490f,inset 0 1px #fff}.schedule-grid{border-color:#d9e2ec}.grid-head{color:#324760;background:#f4f7fb;font-size:10px}.session{box-shadow:inset 0 1px #ffffff73}.content>footer{color:#8996a8;text-align:center;border-top:1px solid #e6ebf2;margin-top:18px;padding:13px 4px 4px;font-size:10.5px;line-height:1.55}.app-footer{color:#66778c;background:var(--tg-background);width:calc(100% - 260px);margin-left:260px;padding:0 30px 18px}.app-footer-inner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border:1px solid #e1e7ef;border-radius:13px;align-items:center;gap:18px;max-width:1660px;min-height:56px;margin:0 auto;padding:13px 15px;display:flex;box-shadow:0 4px 14px #142b4909}.app-footer-brand{align-items:baseline;gap:7px;min-width:max-content;display:flex}.app-footer-brand strong{color:#173554;font-size:12px;font-weight:750}.app-footer-brand span,.app-version{color:#8795a7;font-size:10px}.app-footer nav{flex-wrap:wrap;flex:1;justify-content:center;gap:13px;display:flex}.app-footer a{color:#63758a;font-size:10.5px;font-weight:570;text-decoration:none}.app-footer a:hover{color:#165d9f;text-underline-offset:3px;text-decoration:underline}.app-version{background:#eef3f9;border-radius:999px;min-width:max-content;padding:4px 7px}.info-page-shell{background:radial-gradient(circle at 50% -120px, #1f78ff1c, transparent 360px), var(--tg-background);min-height:100vh;padding:48px 22px}.info-page{max-width:880px;box-shadow:var(--tg-shadow-md);background:#fffffff5;border:1px solid #dfe7f0;border-radius:18px;margin:0 auto;padding:34px}.info-page-brand{color:#173554;align-items:center;gap:10px;margin-bottom:26px;font-weight:780;text-decoration:none;display:flex}.info-page-brand:before{content:"";background:url(/timegrid-mark.svg) 50%/contain no-repeat;width:38px;height:38px}.info-page .eyebrow{margin-bottom:8px!important}.info-page h1{color:#10233f;letter-spacing:-.04em;margin:0;font-size:clamp(30px,4vw,42px);line-height:1.08}.info-page .lead{color:#607086;margin:14px 0 26px;font-size:15px;line-height:1.7}.info-page section{border-top:1px solid #e7ecf2;padding:18px 0}.info-page h2{color:#1b3453;margin:0 0 8px;font-size:16px}.info-page p{color:#66778b;margin:0;font-size:13px;line-height:1.7}.info-page-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.info-page-actions a{color:#174f8b;background:#fff;border:1px solid #d5dfeb;border-radius:10px;align-items:center;min-height:42px;padding:0 14px;font-size:12px;font-weight:680;text-decoration:none;display:inline-flex}.info-page-actions a:hover{background:#f7faff;border-color:#bdcde0}.mobile-title{font-size:0}.mobile-title:after{content:"TimeGrid";letter-spacing:-.02em;font-size:15px;font-weight:760}@media (max-width:1180px){.role-view-switcher span{display:none!important}.role-view-switcher select{min-width:164px!important}.app-footer-inner{flex-wrap:wrap;align-items:flex-start}.app-footer nav{order:3;justify-content:flex-start;width:100%}}@media (max-width:900px){.sidebar{width:270px}.brand{min-height:94px;margin-top:7px}.brand-mark{flex-basis:52px;width:52px;height:52px}.brand strong{width:142px}.brand strong:after{font-size:20px}.brand small:before{font-size:10.5px}.workspace{width:100%;margin-left:0}.role-view-switcher{box-shadow:var(--tg-shadow-sm)!important;background:#fffffff5!important;border:1px solid #dce5ef!important;border-radius:12px!important;padding:8px!important;top:70px!important;left:10px!important;right:10px!important}.role-view-switcher select{flex:1!important;min-width:145px!important}.app-footer{width:100%;margin-left:0;padding:0 16px 16px}.app-footer-inner{gap:10px}.app-footer-brand{flex-wrap:wrap;width:100%}.app-version{margin-left:auto}.info-page-shell{padding:28px 14px}.info-page{border-radius:15px;padding:24px 20px}}@media (max-width:520px){.role-view-switcher label{display:none}.role-view-switcher button{padding:0 10px!important}.app-footer nav{gap:10px 12px}.app-footer a{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.content>footer{display:none!important}
:root{--tg-text-primary:#0f172a;--tg-text-secondary:#25364d;--tg-text-supporting:#3f5067;--tg-text-muted:#58697f;--tg-nav-green:#16a34a;--tg-nav-green-2:#4caf28;--tg-nav-lime:#84cc16;--tg-nav-lime-light:#a3e635;--tg-nav-shadow:#22c55e40}html,body,button,input,select,textarea{font-family:var(--font-geist-sans), Geist, Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}html,body,.app-shell,.workspace,.content,.topbar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none}.content *,.topbar *,.role-view-switcher *{text-shadow:none}.content{color:var(--tg-text-primary)}.page-head h1{letter-spacing:-.035em;font-weight:720;color:#0b1528!important}.page-head p{font-weight:450;color:var(--tg-text-secondary)!important;opacity:1!important}.eyebrow{color:#4b5f78!important;opacity:1!important;font-weight:760!important}.stats span{font-weight:620;color:#40526a!important;opacity:1!important}.stats strong{font-weight:740;color:#0f172a!important;opacity:1!important}.stats small{font-weight:470;color:#52647b!important;opacity:1!important}.stats em{font-weight:720;opacity:1!important}.section-title span{font-weight:700;color:#17243a!important}.section-title small{font-weight:470;color:#52647b!important;opacity:1!important}.topbar{color:#0f172a}.semester-select,.semester-select select{font-weight:660;color:#15243b!important;opacity:1!important}.profile strong{font-weight:680;color:#13213a!important}.profile small{font-weight:500;color:#4b5d73!important;opacity:1!important}.role-view-switcher label{color:#40536b!important;opacity:1!important;font-weight:650!important}.role-view-switcher select{color:#12233b!important;opacity:1!important;font-weight:670!important}.role-view-switcher span{color:#425873!important;opacity:1!important}.grid-head{letter-spacing:-.005em;color:#fff!important;opacity:1!important;font-weight:720!important}.time-cell{color:#25364d!important;opacity:1!important;font-weight:680!important}.time-cell small{color:#66778c!important;opacity:1!important;font-weight:470!important}.session{opacity:1!important;text-shadow:none!important}.session b{color:#183b70!important;opacity:1!important;font-weight:720!important}.session span{color:#3d5e88!important;opacity:1!important;font-weight:520!important}.session.tutorial b{color:#765013!important}.session.tutorial span{color:#88642c!important}.session.lab b{color:#086c55!important}.session.lab span{color:#287865!important}.session.project b{color:#5439a6!important}.session.project span{color:#6650a8!important}.available{color:#66778c!important;opacity:1!important;font-weight:520!important}.legend,.legend span{font-weight:540;color:#40536b!important;opacity:1!important}.legend .lunch{color:#42536a!important}.table-controls select,.table-controls button{font-weight:620;color:#25364d!important;opacity:1!important}.security-strip strong{font-weight:690;color:#17243a!important}.security-strip small{color:#4d6078!important;opacity:1!important}.sidebar{color:#fff}.sidebar nav button{color:#e8f0f9;letter-spacing:-.008em;opacity:1;border-radius:12px;min-height:47px;font-size:13.5px;font-weight:620;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}.sidebar .nav-icon{color:#eaf2fb;opacity:1}.sidebar nav button:hover:not(.active){color:#fff;background:linear-gradient(135deg,#ffffff17,#27a0ff0f);border-color:#a0d0ff26;transform:translate(1px)}.sidebar nav button.active{transform:none;color:#fff!important;background:linear-gradient(115deg,#149447 0%,#18a84d 31%,#55b92e 67%,#87c91c 100%)!important;border:1px solid #c7ff816b!important;box-shadow:0 9px 23px #16a34a40,inset 0 1px #ffffff47,inset 0 -1px #21691d1f!important}.sidebar nav button.active .nav-icon{box-shadow:inset 0 1px #fff3;color:#fff!important;background:#ffffff29!important;border-color:#ffffff40!important}.sidebar nav button.active:hover{transform:translateY(-1px);background:linear-gradient(115deg,#118b42 0%,#16a34a 30%,#65bd28 68%,#94d321 100%)!important;box-shadow:0 11px 27px #16a34a4a,inset 0 1px #ffffff4d!important}.brand small:before{text-rendering:optimizelegibility;font-size:10.8px;font-weight:610;line-height:1.3;color:#e0ebf6!important;opacity:1!important}.system-card strong{font-weight:680;color:#fff!important}.system-card small{color:#d2deeb!important;opacity:1!important}button{text-rendering:optimizelegibility}.primary{font-weight:700}input,select,textarea{color:#17243a;font-weight:500}input::placeholder,textarea::placeholder{color:#65758a;opacity:1}.data-table,.history-table{color:#26384f}.history-row{color:#40536b!important;opacity:1!important}.history-head{color:#25364d!important;font-weight:720!important}.app-footer{color:#40536b}.app-footer strong{color:#17243a}.app-footer a{color:#405b78;opacity:1;font-weight:540}.app-footer a:hover{color:#165dff}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
html{scroll-padding-top:76px}.site-chrome-header{z-index:900;-webkit-backdrop-filter:blur(18px)saturate(145%);background:#f8fbffeb;border-bottom:1px solid #cddae9f0;min-height:64px;position:fixed;inset:0 0 auto;box-shadow:0 8px 26px #152f4e12}.site-chrome-inner{justify-content:space-between;align-items:center;gap:22px;max-width:1240px;min-height:64px;margin:0 auto;padding:7px 28px;display:flex}.site-chrome-brand{color:#0f172a;flex:none;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.site-chrome-mark{filter:drop-shadow(0 6px 12px #0f70cf24);background:url(/timegrid-mark.svg) 50%/contain no-repeat;width:42px;height:42px}.site-chrome-copy{flex-direction:column;line-height:1.05;display:flex}.site-chrome-copy strong{letter-spacing:-.03em;font-size:20px}.site-chrome-copy small{color:#52677e;margin-top:4px;font-size:10.5px;font-weight:650}.site-chrome-actions{align-items:center;gap:8px;display:flex}.site-chrome-link,.site-chrome-login,.site-chrome-register{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;height:40px;padding:0 13px;font-size:12.5px;font-weight:730;text-decoration:none;display:inline-flex}.site-chrome-link{color:#314a67}.site-chrome-link:hover{background:#fff}.site-chrome-login{color:#173d68;background:#fff;border:1px solid #d4dfeb}.site-chrome-register{color:#fff;background:linear-gradient(115deg,#158f46,#68bd25);box-shadow:0 8px 19px #189c4a2e}.site-chrome-footer{z-index:890;-webkit-backdrop-filter:blur(18px)saturate(140%);background:#f9fcfff2;border-top:1px solid #cddae9f0;min-height:38px;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #152f4e0d}.site-chrome-footer-inner{color:#5c6f84;justify-content:space-between;align-items:center;gap:16px;max-width:1240px;min-height:38px;margin:0 auto;padding:5px 28px;font-size:10.5px;display:flex}.site-chrome-footer nav{align-items:center;gap:14px;display:flex}.site-chrome-footer a{color:#435d77;font-weight:650;text-decoration:none}.tg-home>.tg-nav,.tg-home>.tg-footer{display:none!important}main:not(.app-shell){padding-top:76px!important;padding-bottom:50px!important}.auth-page .auth-head>.brand,.register-page .wrap>.brand,.phasec-wrap>.phasec-brand,.auth-step-card>.auth-step-brand,.password-card>.password-brand,.reset-card>.reset-brand,.info-page>.info-page-brand,.auth-transition-card>.auth-transition-brand,.forgot-card>.forgot-brand{display:none!important}.auth-page .auth-head h1{margin-top:0!important}.register-page .head,.phasec-card{margin-top:6px!important}.auth-step-eyebrow,.password-eyebrow,.reset-eyebrow,.info-page .eyebrow,.auth-transition-eyebrow,.forgot-eyebrow{margin-top:0!important}.register-page{padding-left:24px!important;padding-right:24px!important}.register-page .grid{margin-top:18px!important}.register-page .admin{margin-top:12px!important}.phasec-page{padding-left:22px!important;padding-right:22px!important}.auth-step-page,.password-page,.reset-page,.auth-page,.auth-transition-page,.forgot-page{min-height:100vh!important}.info-page-shell{padding-top:78px!important;padding-bottom:52px!important}.tg-features{scroll-margin-top:74px}@media (min-width:901px){.tg-home{padding-top:70px!important;padding-bottom:44px!important}.tg-hero h1{margin-top:10px!important;margin-bottom:10px!important;font-size:42px!important;line-height:1.04!important}.tg-feature-head{margin-bottom:18px!important}.tg-feature-head h2{margin-bottom:6px!important;font-size:28px!important;line-height:1.08!important}.tg-feature-head p{font-size:13px!important;line-height:1.55!important}.tg-features{padding-top:18px!important}}.topbar{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#f8fbfff0!important;border-bottom:1px solid #cddae9f0!important;height:64px!important;padding:0 24px!important;box-shadow:0 8px 26px #152f4e0f!important}.topbar:before{content:"TimeGrid\a AI-Powered Intelligent Timetabling";white-space:pre;color:#0f172a;letter-spacing:-.03em;background:url(/timegrid-mark.svg) 0/42px 42px no-repeat;align-items:center;min-height:44px;margin-right:auto;padding-left:53px;font-size:20px;font-weight:800;line-height:1.05;display:flex}.topbar:first-line{font-size:20px}.sidebar .brand{height:64px!important}.workspace{padding-bottom:42px}.app-footer{-webkit-backdrop-filter:blur(16px)saturate(135%);bottom:0;left:254px;right:0;box-shadow:0 -8px 24px #152f4e0b;z-index:80!important;background:#f9fcfff5!important;border-top:1px solid #cddae9f0!important;min-height:36px!important;position:fixed!important}.app-footer-inner{min-height:36px!important;padding-top:5px!important;padding-bottom:5px!important}@media (min-width:901px) and (max-height:740px){.site-chrome-header,.site-chrome-inner{min-height:58px}.site-chrome-inner{padding-top:5px;padding-bottom:5px}.site-chrome-mark{width:38px;height:38px}.site-chrome-copy strong{font-size:19px}main:not(.app-shell){padding-top:66px!important;padding-bottom:42px!important}.tg-home{padding-top:62px!important;padding-bottom:40px!important}.tg-hero h1{font-size:38px!important;line-height:1.03!important}.tg-feature-head{margin-bottom:12px!important}.tg-feature-head h2{font-size:25px!important}.tg-feature-head p{font-size:12.5px!important;line-height:1.45!important}.tg-features{padding-top:12px!important}}@media (max-width:900px){.site-chrome-inner{padding-left:18px;padding-right:18px}.site-chrome-link{display:none}.site-chrome-actions{gap:6px}.site-chrome-login,.site-chrome-register{height:38px;padding:0 11px}.site-chrome-footer-inner{padding-left:18px;padding-right:18px}.site-chrome-footer nav a:nth-child(n+3){display:none}.topbar:before{content:"TimeGrid";background-size:34px 34px;min-height:38px;padding-left:42px;font-size:17px}.app-footer{left:0}}@media (max-width:560px){.site-chrome-header,.site-chrome-inner{min-height:60px}.site-chrome-inner{padding:7px 13px}.site-chrome-mark{width:36px;height:36px}.site-chrome-copy strong{font-size:18px}.site-chrome-copy small,.site-chrome-login{display:none}.site-chrome-register{height:36px;font-size:12px}.site-chrome-footer-inner{min-height:34px;padding:4px 13px;font-size:9.5px}.site-chrome-footer nav{display:none}main:not(.app-shell){padding-top:68px!important;padding-bottom:42px!important}.topbar:before{display:none}}
.tg-hero-buttons{display:none!important}.site-chrome-home{background:#ffffffb8;border:1px solid #d4dfebeb;color:#173d68!important}.site-chrome-home:hover{background:#fff!important}@media (max-width:900px){.site-chrome-actions .site-chrome-home{display:inline-flex!important}}@media (max-width:620px){.site-chrome-actions .site-chrome-home{width:38px;padding:0;font-size:0}.site-chrome-actions .site-chrome-home:before{content:"⌂";font-size:18px;line-height:1}}.dashboard-floating-home{z-index:950;color:#173d68;white-space:nowrap;background:#fff;border:1px solid #d4dfeb;border-radius:9px;justify-content:center;align-items:center;height:38px;padding:0 12px;font-size:12px;font-weight:740;text-decoration:none;display:inline-flex;position:fixed;top:13px;right:420px;box-shadow:0 6px 18px #152f4e0f}.dashboard-floating-home:hover{background:#f7fbff}@media (max-width:1180px){.dashboard-floating-home{right:340px}}@media (max-width:900px){.dashboard-floating-home{width:38px;padding:0;font-size:0;top:13px;right:78px}.dashboard-floating-home:before{content:"⌂";font-size:18px}}
html,body{background:#fff!important}body{color:#0f172a}.site-chrome-header,.topbar{-webkit-backdrop-filter:blur(20px)saturate(150%)!important;background:#ffffffe0!important;border-color:#dce5efeb!important;box-shadow:0 10px 30px #18365612!important}.site-chrome-footer,.app-footer{-webkit-backdrop-filter:blur(18px)saturate(145%)!important;background:#ffffffeb!important;border-color:#dce5efeb!important;box-shadow:0 -8px 28px #1836560b!important}.tg-home,.auth-page,.register-page,.senior-page,.phasec-page,.auth-step-page,.password-page,.reset-page,.auth-transition-page,.forgot-page,.info-page-shell{background:radial-gradient(circle at 13% 4%,#2480ff14,#0000 30%),radial-gradient(circle at 88% 8%,#25c3840e,#0000 28%),linear-gradient(#fff 0%,#fbfdff 54%,#f7faff 100%)!important}.workspace{background:radial-gradient(circle at 88% 7%,#257ef511,#0000 28%),radial-gradient(circle at 18% 18%,#43c99d0a,#0000 24%),#fff!important}.content{background:0 0!important}.stats article,.optimisation-card,.quick-card,.timetable-card,.management-card,.import-results-summary,.recommendation-panel,.import-history,.module-panel,.auth-card,.register-page .card,.register-page .admin,.senior-card,.phasec-card,.auth-step-card,.password-card,.reset-card,.auth-transition-card,.forgot-card{-webkit-backdrop-filter:blur(14px)saturate(130%);background:#ffffffe0!important;border-color:#dce5eff2!important;box-shadow:0 14px 38px #16335311!important}.top-popover{-webkit-backdrop-filter:blur(22px)saturate(145%);background:#fffffff5!important;border:1px solid #d8e3eff5!important;box-shadow:0 24px 64px #122d4c29!important}.profile{transition:all .16s;border:1px solid #0000!important;border-radius:12px!important;padding:5px 8px 5px 5px!important}.profile:hover,.profile[aria-expanded=true]{box-shadow:0 8px 22px #16335312;background:#fffffff0!important;border-color:#dce6f0!important}.profile-popover{min-width:330px!important;padding-bottom:10px!important}.tg-profile-extra{border-top:1px solid #e8eef5;gap:5px;margin-top:10px;padding-top:10px;display:grid}.tg-profile-designation{color:#52677e;justify-content:space-between;gap:16px;padding:8px 0;font-size:11px;display:flex}.tg-profile-designation strong{color:#1d334e;text-align:right;font-size:11px}.tg-profile-action{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:38px;color:#274866!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:8px!important;padding:0 10px!important;font-size:11.5px!important;font-weight:690!important;text-decoration:none!important;display:flex!important}.tg-profile-action:hover{background:#f4f8fc!important}.tg-profile-action span{color:#7990a6;font-size:12px}.tg-profile-action.danger{color:#b4232f!important;background:#fff8f8!important}.tg-profile-action.danger:hover{background:#fff0f1!important}.account-shell{background:radial-gradient(circle at 15% 4%,#237ef413,#0000 28%),radial-gradient(circle at 88% 12%,#2bc0890d,#0000 25%),linear-gradient(#fff,#f8fbff);min-height:100vh;padding:92px 24px 64px}.account-wrap{max-width:980px;margin:0 auto}.account-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.account-head h1{letter-spacing:-.04em;margin:0 0 6px;font-size:30px}.account-head p{color:#5c7087;margin:0;font-size:13px;line-height:1.55}.account-grid{grid-template-columns:1.1fr .9fr;gap:14px;display:grid}.account-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #dce6f0;border-radius:16px;padding:20px;box-shadow:0 16px 42px #16335312}.account-card h2{margin:0 0 13px;font-size:16px}.account-data{gap:0;display:grid}.account-data div{border-bottom:1px solid #edf2f7;grid-template-columns:140px 1fr;gap:14px;padding:11px 0;display:grid}.account-data div:last-child{border-bottom:0}.account-data dt{color:#708196;font-size:11px}.account-data dd{color:#203851;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:670}.account-actions{gap:8px;display:grid}.account-actions a{color:#244968;background:#fff;border:1px solid #dbe5ef;border-radius:10px;justify-content:space-between;align-items:center;min-height:43px;padding:0 12px;font-size:12px;font-weight:720;text-decoration:none;display:flex}.account-actions a:hover{background:#f7faff;border-color:#c8d8e8}.account-actions a.danger{color:#b4232f;background:#fff9f9}@media (max-width:760px){.account-grid{grid-template-columns:1fr}.account-shell{padding-left:16px;padding-right:16px}.profile-popover{min-width:min(330px,100vw - 24px)!important}}
:root{--tg-text:#111827;--tg-text-strong:#0b1220;--tg-text-muted:#374151;--tg-text-soft:#4b5563;--tg-border:#d9e1ea;--tg-border-soft:#e8edf3}html{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,button,input,select,textarea{color:var(--tg-text);font-family:var(--font-geist-sans), Geist, Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}.site-chrome-link,.site-chrome-login,.site-chrome-register,.site-chrome-footer,.site-chrome-footer a,.tg-link,.tg-login,.tg-register,.tg-footer,.tg-footer a{color:#172033!important;font-size:11px!important;font-weight:680!important}.site-chrome-copy small,.tg-brand-copy span{color:#364152!important;font-size:10px!important;font-weight:650!important}.tg-eyebrow,.tg-entry-label,.tg-entry-meta,.tg-result,.tg-status,.tg-window-top strong,.tg-side div,.tg-card span,.tg-feature p,.tg-feature-head p,.tg-admin-note{color:#263244!important;font-size:10.5px!important;font-weight:560!important}.tg-hero p{color:#202b3d!important;font-size:12px!important;font-weight:500!important;line-height:1.6!important}.tg-feature h3,.tg-canvas h3{color:#111827!important}.tg-search,.tg-school-search,.login-fields input,.senior-field input,.senior-field select{color:#111827!important;font-size:12px!important;font-weight:540!important}.auth-head p,.role-help,.notice,.login-message,.register-page p,.register-page .role span,.register-page .admin-flow,.senior-lead,.senior-field,.senior-authority,.senior-super-note,.senior-status,.account-head p,.account-data dt,.account-data dd,.password-card p,.reset-card p,.forgot-card p,.phasec-card p,.auth-step-card p,.auth-transition-card p{color:#283548!important;font-size:11px!important;line-height:1.55!important}.auth-head p,.register-page .head p,.senior-lead,.account-head p{font-size:12px!important}.actions a,.actions button,.admin-actions a,.senior-actions a,.senior-actions button,.account-actions a,.tg-profile-action{font-size:11px!important;font-weight:700!important}.sidebar nav button{font-size:12px!important;font-weight:620!important}.system-card strong,.system-card small,.profile strong,.profile small,.semester-select,.top-popover,.top-popover button,.top-popover a,.notification-popover small,.profile-popover dt,.profile-popover dd{font-size:10.5px!important}.profile strong,.profile-popover strong,.notification-popover b{color:#111827!important;font-weight:720!important}.profile small,.profile-popover small,.notification-popover small,.profile-popover dt,.profile-popover dd{color:#344054!important}.page-head p,.section-title span,.section-title small,.stats span,.stats small,.quick-grid b,.quick-grid small,.health-metrics>div,.summary-heading span,.summary-heading small,.summary-grid span,.detail-list p,.history-row,.table-controls select,.table-controls button,.legend,.grid-head,.module-panel p,.module-panel button,.management-card,.timetable-card{color:#273244!important;font-size:10.5px!important}.page-head p{font-size:11.5px!important}.eyebrow{color:#344054!important;font-size:10px!important}.stats strong,.summary-grid strong,.health-metrics b,.detail-list b,.section-title span{color:#0f172a!important}.stats article,.optimisation-card,.quick-card,.timetable-card,.management-card,.import-results-summary,.recommendation-panel,.import-history,.module-panel,.auth-card,.register-page .card,.register-page .admin,.senior-card,.account-card{border-color:var(--tg-border)!important;box-shadow:0 8px 24px #0f172a0e!important}input,select,textarea{border-color:#cfd8e3!important}input::placeholder,textarea::placeholder{opacity:1;color:#6b7280!important}button,a{-webkit-tap-highlight-color:transparent}.history-row,.detail-list p{line-height:1.4!important}.workspace :where(p,small,span,dt,dd,label),.auth-page :where(p,small,span,dt,dd,label),.register-page :where(p,small,span,dt,dd,label),.senior-page :where(p,small,span,dt,dd,label),.account-shell :where(p,small,span,dt,dd,label){text-shadow:none}@media (max-width:760px){.sidebar nav button{font-size:11.5px!important}.site-chrome-link,.site-chrome-login,.site-chrome-register{font-size:10.5px!important}}
