@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-7249155f.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-e34c5f1b.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-6e1a6b2b.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-656bbed6.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-fc83e075.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-749a3084.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-1ab1ad55.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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-f6b33328.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(/fonts/geist-mono-44e03052.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(/fonts/geist-mono-0638449e.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(/fonts/geist-mono-971fb274.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(/fonts/geist-mono-44745446.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(/fonts/geist-mono-013b2f2f.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}:root{--font-sam-sans:Inter, Arial, sans-serif;--font-geist-mono:"Geist Mono", monospace}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-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;--color-white:#fff;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;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)}.m-2{margin:calc(var(--spacing) * 2)}.m-26{margin:calc(var(--spacing) * 26)}.m-32{margin:calc(var(--spacing) * 32)}.m-40{margin:calc(var(--spacing) * 40)}.m-178{margin:calc(var(--spacing) * 178)}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.outline-white{outline-color:var(--color-white)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--navy:#092451;--blue:#075bdd;--blue-dark:#0846a9;--gold:#f2bf3b;--red:#d63b4c;--ink:#162b48;--muted:#5f6e84;--line:#e1e7f0;--bg:#f3f6fb;--white:#fff;--green:#187957;--font-sans:var(--font-sam-sans), "Noto Sans", "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-size:16px}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--blue);text-decoration:none}img{max-width:100%}button{background:0 0;border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.045em;font-size:2rem;font-weight:700;line-height:1.2}h2{font-size:1.125rem;font-weight:650;line-height:1.4}h3{font-size:1rem;font-weight:650;line-height:1.5}p{line-height:1.6}small{color:var(--muted);font-size:.875rem;line-height:1.5}strong{font-weight:650}svg{vertical-align:middle;flex-shrink:0}button svg{pointer-events:none}:focus-visible{outline-offset:3px;outline:3px solid #bd8110}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #cbd5e3;border-radius:9px;min-height:46px;padding:12px 13px;font-size:1rem;line-height:1.4}select{padding-inline-end:30px}select:disabled,input:read-only{background:#f5f7fb}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--blue);flex-shrink:0}fieldset{border:0;min-width:0;margin:0;padding:0}code{overflow-wrap:anywhere;font-size:.875rem}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.full{width:100%}.span-2{grid-column:1/-1}.inline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:10px;font-size:.75rem;font-weight:700;display:block}.btn{border:1px solid var(--line);min-height:42px;color:var(--ink);white-space:normal;text-align:center;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#f1f6ff;border-color:#afc5e8}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.danger{color:#b32137;background:#fff9fa;border-color:#e9bdc5}.btn.white{color:var(--blue);background:#fff;border-color:#fff}.btn.outline-white{color:#fff;background:0 0;border-color:#7085a6}.icon-btn{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.icon-btn:hover{border-color:var(--line);background:#edf3fc}.danger{color:#bd2640}.text-link{color:var(--blue);align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.badge{color:#465770;overflow-wrap:anywhere;background:#edf1f7;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:5px 9px;font-size:.75rem;font-weight:650;line-height:1.35;display:inline-flex}.badge-active,.badge-approved,.badge-published,.badge-greenLight,.badge-Publié{color:#176142;background:#e4f4ed}.badge-pending,.badge-draft,.badge-changes,.badge-serviceMissing,.badge-Brouillon{color:#84570b;background:#fff2d1}.badge-rejected,.badge-abandoned,.badge-suspended,.badge-deleted{color:#a7203a;background:#fde8ed}.badge-terminal,.badge-submitted,.badge-messages{color:#1354b9;background:#e7efff}.badge-pass{color:#155b3e;background:#e5f4ec}.badge-closed,.badge-archived,.badge-disabled{color:#536078;background:#e9edf2}.alert{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding:13px 16px;font-size:.9375rem;line-height:1.6;display:flex}.alert.info{color:#244c8c;background:#eff5ff;border-color:#ccdcfa}.alert.warning{color:#785615;background:#fff8e5;border-color:#ead29a}.alert.error{color:#9e2340;background:#fff0f3;border-color:#e8b7c2}.alert button{font-weight:700;text-decoration:underline}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.campus-shell{min-height:100vh}.sidebar{border-inline-end:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:248px;padding:28px 16px 18px;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.brand{color:var(--navy);align-items:center;gap:10px;display:flex}.brand img{object-fit:contain;width:46px;height:46px}.brand strong{letter-spacing:-.04em;font-size:1.25rem;font-weight:800;display:block}.brand small{font-size:.75rem;display:block}.sidebar .brand{padding:0 9px}.role-card{border:1px solid var(--line);background:#f2f6fc;border-radius:12px;align-items:center;gap:10px;margin:28px 4px 20px;padding:13px;display:flex}.role-card>span{color:var(--blue);background:#e2ecfd;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.role-card small{font-size:.75rem;display:block}.role-card strong{margin-top:2px;font-size:.875rem;display:block}.role-student>span{color:#956506;background:#fff0c7}.sidebar nav{scrollbar-width:thin;flex:1;padding:0 3px;overflow-y:auto}.sidebar nav button{text-align:start;color:#5b6b82;border-radius:9px;align-items:center;gap:12px;width:100%;margin-bottom:3px;padding:12px 13px;font-size:.875rem;line-height:1.4;display:flex}.sidebar nav button>span{flex:1}.sidebar nav button.active{background:var(--blue);color:#fff;font-weight:600}.sidebar nav button:not(.active):hover{color:var(--blue);background:#f0f5fc}.sidebar-bottom{border-top:1px solid var(--line);margin-top:12px;padding:18px 10px 0}.sidebar-bottom button{color:var(--blue);align-items:center;gap:9px;font-size:.875rem;font-weight:600;display:flex}.connection{color:#34745d;align-items:center;gap:7px;margin-top:15px;font-size:.75rem;display:flex}.connection.offline{color:#9d6817}.main-shell{min-width:0;margin-inline-start:248px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:15px;min-height:82px;padding:16px 30px;display:flex;position:sticky;top:0}.institution-selector{min-width:0;max-width:420px;color:var(--blue);flex:1;align-items:center;gap:10px;display:flex}.institution-selector select{background:#fff;border:0;padding-inline-start:0;font-size:.875rem;font-weight:650}.year-selector{width:150px;min-height:38px;padding:8px 10px;font-size:.875rem}.topbar-right{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.language-select{background:#fff;max-width:125px;min-height:38px;padding:8px 24px 8px 9px;font-size:.875rem}.notification-button{position:relative}.notification-button b{background:var(--red);color:#fff;top:0;border:2px solid #fff;border-radius:10px;place-items:center;min-width:17px;height:17px;font-size:.625rem;display:grid;position:absolute;inset-inline-end:-1px}.user-avatar{color:#765420;background:#f6e7c0;border:1px solid #ecd49c;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.8125rem;font-weight:700;display:grid}.main-content{max-width:1680px;min-height:calc(100vh - 140px);margin:0 auto;padding:24px 32px 40px}.breadcrumb{color:#6c7a8d;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:23px;font-size:.75rem;display:flex}.breadcrumb strong{color:#30445f;font-weight:500}.app-footer{border-top:1px solid var(--line);color:#778497;justify-content:space-between;padding:18px 32px;font-size:.75rem;display:flex}.footer-contacts{flex-wrap:wrap;justify-content:center;gap:8px 15px;display:flex}.footer-contacts a,.contact-preview span{align-items:center;gap:6px;display:inline-flex}.newsletter-banner{border:1px solid #c9d9f1;border-inline-start:4px solid var(--blue);background:linear-gradient(105deg,#fff,#f4f8ff);border-radius:13px;grid-template-columns:auto 1fr auto;align-items:start;gap:16px;margin:18px 0;padding:20px 23px;display:grid}.newsletter-banner>span{width:43px;height:43px;color:var(--blue);background:#e6efff;border-radius:11px;place-items:center;display:grid}.newsletter-banner small{color:var(--blue);text-transform:uppercase;letter-spacing:.07em;font-weight:700}.newsletter-banner h2{margin:3px 0 5px}.newsletter-banner p{color:var(--muted);white-space:pre-wrap}.newsletter-banner time{color:var(--muted);font-size:.75rem}.mobile-menu{display:none}.skip-link{z-index:200;top:-80px;background:#fff;padding:15px;position:fixed;inset-inline-start:20px}.skip-link:focus{top:12px}.heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;display:flex}.heading p{color:var(--muted);max-width:780px;margin-top:10px;font-size:.9375rem}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:23px 0 18px;display:flex}.toolbar>select{background:#fff;width:auto;min-width:140px;max-width:350px;font-size:.875rem}.toolbar>span{color:var(--muted);margin-inline-start:auto;font-size:.875rem}.search-box{flex:1;align-items:center;min-width:230px;max-width:440px;display:flex;position:relative}.search-box svg{color:#8190a5;position:absolute;inset-inline-start:13px}.search-box input{padding-inline-start:41px;font-size:.875rem}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:22px;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:21px 23px;display:flex}.panel-heading>span{max-width:620px;color:var(--muted);font-size:.875rem}.empty{text-align:center;max-width:580px;margin:0 auto;padding:42px 22px}.empty>span{color:#7d94b3;background:#eef3fa;border-radius:15px;place-items:center;width:56px;height:56px;margin:0 auto 15px;display:grid}.empty h3{font-size:1rem}.empty p{color:var(--muted);margin:8px 0 18px;font-size:.875rem}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.panel .table-wrap{border:0;border-radius:0}table{border-collapse:collapse;text-align:start;width:100%;font-size:.875rem}th{color:#67758a;text-align:start;white-space:nowrap;background:#f7f9fc;padding:14px 17px;font-size:.8125rem;font-weight:600}td{vertical-align:middle;border-top:1px solid #e9edf4;padding:17px}td>small{margin-top:4px;font-size:.75rem;display:block}td>strong{display:block}tr:hover td{background:#fafcff}.row-actions{align-items:center;gap:5px;display:flex}.row-actions .btn{white-space:nowrap;min-height:36px}.pagination{justify-content:flex-end;align-items:center;gap:8px;margin:16px 0;display:flex}.pagination>span{color:var(--muted);margin-inline-end:auto;font-size:.875rem}.institution-cell{align-items:center;gap:12px;min-width:280px;max-width:450px;display:flex}.institution-cell small{margin-top:4px;font-size:.75rem;line-height:1.45;display:block}.institution-avatar{color:#255897;background:#edf3fc;border:1px solid #d5e2f7;border-radius:10px;flex-shrink:0;place-items:center;width:47px;height:47px;font-size:.75rem;font-weight:750;display:grid}.catalogue-callout{color:#164f9d;background:#eaf2ff;border:1px solid #cbdcf6;border-radius:12px;align-items:center;gap:15px;padding:18px 22px;display:flex}.catalogue-callout>svg{width:28px;height:28px}.catalogue-callout p{color:#617795;font-size:.875rem}.catalogue-callout .badge{color:#1756b3;background:#fff;margin-inline-start:auto;font-size:1.25rem}.welcome-panel{background:var(--navy);color:#fff;border-inline-start:5px solid var(--gold);border-radius:16px;grid-template-columns:1fr 270px;gap:38px;padding:34px 36px;display:grid}.welcome-panel .eyebrow{color:#91b8fb}.welcome-panel h1{max-width:600px;font-size:2.15rem}.welcome-panel p{color:#bbc9dc;max-width:640px;margin:13px 0 23px;font-size:.9375rem}.welcome-date{color:#bdcde2;border-inline-start:1px solid #3c5271;flex-direction:column;justify-content:center;gap:12px;padding-inline-start:30px;display:flex}.welcome-date svg{color:#f5c453}.welcome-date strong{color:#fff;font-size:1.8rem}.welcome-date span{font-size:.875rem;line-height:1.55}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:22px 0;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:21px;display:flex}.metric-icon{border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.metric-icon svg{width:22px}.metric-icon.blue{color:#2865bf;background:#e9f1ff}.metric-icon.gold{color:#9b6c0c;background:#fff1cd}.metric-icon.red{color:#ba344b;background:#fdebef}.metric-icon.green{color:#287759;background:#e7f3ed}.metrics strong{font-size:1.8rem;line-height:1.15;display:block}.metrics small{margin-top:6px;font-size:.8125rem;display:block}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:22px;display:grid}.overview-course{text-align:start;border-top:1px solid #edf1f7;align-items:center;gap:14px;width:100%;padding:18px 22px;display:flex}.overview-course:hover{background:#f7faff}.overview-course>span:nth-child(2){flex:1}.overview-course strong{margin:4px 0;font-size:.9375rem;display:block}.overview-course small{font-size:.75rem}.course-square{border-radius:9px;flex-shrink:0;place-items:center;width:45px;height:45px;display:grid}.square-0{color:#2161bd;background:#e7effd}.square-1{color:#926510;background:#fff1c9}.square-2{color:#b12b45;background:#fce8ed}.deadline{text-align:start;border-top:1px solid #edf1f7;align-items:center;gap:15px;width:100%;padding:18px 23px;display:flex}.deadline>span{border:1px solid var(--line);text-align:center;background:#f2f5fa;border-radius:9px;flex-shrink:0;width:53px;padding:7px}.deadline>span strong{font-size:1.3rem;display:block}.deadline small{font-size:.75rem;display:block}.deadline>div strong{margin-bottom:5px;font-size:.875rem;display:block}.admin-shortcuts{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.admin-shortcuts button{border:1px solid var(--line);color:var(--blue);text-align:start;background:#fff;border-radius:11px;align-items:center;gap:12px;padding:20px;display:flex}.admin-shortcuts span{color:var(--ink);flex:1;font-size:.875rem;font-weight:600}.dialog{border:1px solid var(--line);width:min(620px,100vw - 32px);max-height:90dvh;color:var(--ink);background:#fff;border-radius:18px;margin:auto;padding:0;overflow:auto;box-shadow:0 26px 100px #0b214140}.dialog.wide{width:min(950px,100vw - 32px)}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081c3b70}.dialog>header{border-bottom:1px solid var(--line);z-index:3;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:22px 27px;display:flex;position:sticky;top:0}.dialog>header h2{font-size:1.25rem}.dialog footer{border-top:1px solid var(--line);background:#fcfdff;justify-content:flex-end;gap:11px;padding:19px 27px;display:flex}.dialog footer>.btn:first-child{margin-inline-end:auto}.form-body{flex-direction:column;gap:18px;padding:26px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:start;gap:20px;display:grid}.profile-security{grid-column:1/-1}.profile-readonly{gap:0;margin:0;padding:8px 24px 24px;display:grid}.profile-readonly>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);gap:14px;padding:13px 0;display:grid}.profile-readonly dt{color:var(--muted);font-weight:650}.profile-readonly dd{overflow-wrap:anywhere;margin:0}.profile-photo-field>label{font-weight:650}.session-list{padding:8px 24px 0}.session-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.session-row>div{min-width:0}.session-row strong{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-row small{overflow-wrap:anywhere;margin-top:5px;display:block}.session-row .btn{flex-shrink:0}.strong-confirm-input{text-transform:uppercase}.field{flex-direction:column;gap:9px;min-width:0;font-size:.875rem;display:flex}.field>span,.field-label{color:#455975;font-size:.875rem;font-weight:600}.field small{color:#708198;font-size:.8125rem}.field select[multiple]{min-height:150px}.checkbox{align-items:center;gap:10px;font-size:.875rem;line-height:1.6;display:flex}.phone-field{grid-template-columns:1fr 1fr;gap:19px;display:grid}.institution-picker{background:#f6f9ff;border:1px solid #cfdcf0;border-radius:12px;flex-direction:column;gap:15px;padding:18px;display:flex}.institution-picker h3{color:#23589f;font-size:.9375rem}.institution-picker .search-box{max-width:none}.selection-summary{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:.8125rem;display:flex}.selection-summary strong{color:var(--blue)}.selection-summary span{color:var(--muted)}.file-field{position:relative}.file-field .field-label{margin-bottom:9px;display:block}.upload-area{text-align:center;min-height:132px;color:var(--blue);cursor:pointer;background:#f6f9ff;border:1px dashed #a4bde4;border-radius:10px;flex-direction:column;align-items:center;gap:9px;padding:24px;display:flex;position:relative}.upload-area strong{font-size:.875rem}.upload-area input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-area small{font-size:.75rem}.upload-area.has-file{color:#20734f;background:#f0faf5;border-color:#91c8ae}.required-proxy{opacity:0;position:absolute;bottom:0;left:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important}.wizard-steps{border-bottom:1px solid var(--line);background:#f9fbfe;align-items:center;display:flex}.wizard-steps>div{color:#6d7c92;border-bottom:3px solid #0000;flex:1;align-items:center;gap:10px;padding:18px 25px;display:flex}.wizard-steps>div.current{color:var(--blue);border-color:var(--blue)}.wizard-steps span{border:1px solid #c8d3e6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;display:grid}.wizard-steps .current span,.wizard-steps .done span{color:#fff;background:var(--blue);border-color:var(--blue)}.wizard-steps strong{font-size:.75rem}.toast{z-index:150;color:#fff;background:#102f55;border:1px solid #3d5c7f;border-radius:12px;align-items:center;gap:12px;max-width:min(700px,100vw - 36px);padding:14px 16px;font-size:.875rem;line-height:1.5;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #08224733}.toast>button{color:#fff;place-items:center;margin-inline-start:10px;display:grid}.toast>svg{color:#a6d9bb}.academic-summary{border:1px solid var(--line);background:#fff;border-radius:12px;gap:24px;margin-bottom:22px;padding:21px 24px;display:flex}.academic-summary>div{flex:1;align-items:center;gap:13px;display:flex}.academic-summary svg{color:var(--blue)}.academic-summary span{font-size:1.4rem;font-weight:700}.academic-summary small{margin-top:3px;font-size:.8125rem;font-weight:400;display:block}.year-list{flex-wrap:wrap;gap:12px;padding:20px;display:flex}.year-list>button{border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:7px;min-width:210px;padding:18px 20px;display:flex}.year-list>button.selected{border-color:var(--blue);background:#f0f5fe}.year-list strong{font-size:1rem}.year-list span:not(.badge){color:var(--muted);font-size:.8125rem}.program-card{border-top:1px solid var(--line);padding:24px}.program-heading{align-items:center;gap:15px;display:flex}.program-icon{width:48px;height:48px;color:var(--blue);background:#eef4ff;border-radius:10px;place-items:center;display:grid}.program-heading h3{margin:4px 0;font-size:1.0625rem}.program-heading p{color:var(--muted);font-size:.875rem}.program-heading small{font-size:.75rem}.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 0 62px;display:grid}.promotion-card{border:1px solid var(--line);background:#f8fafd;border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;padding:13px;display:flex}.promotion-card>strong{width:36px;color:var(--blue);flex-shrink:0;font-size:1.125rem}.promotion-card>div{flex:1;min-width:120px}.promotion-card>div>span{font-size:.8125rem;font-weight:600}.promotion-card small{font-size:.75rem;display:block}.toggle{color:var(--muted);align-items:center;gap:7px;font-size:.75rem;display:flex}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.person-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:22px}.person-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.person-avatar{color:#175bb7;background:#eaf1fe;border-radius:15px;place-items:center;width:58px;height:58px;font-size:1.2rem;font-weight:700;display:grid}.person-card h2{margin-bottom:6px}.person-card>p{color:var(--muted);font-size:.875rem}.person-card>a{overflow-wrap:anywhere;margin-top:9px;font-size:.8125rem;display:block}dl{margin:20px 0}dl>div{justify-content:space-between;gap:12px;margin:8px 0;font-size:.8125rem;display:flex}dt{color:var(--muted)}dd{text-align:end;margin:0;font-weight:600}.card-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding-top:16px;display:flex}.card-actions .btn{flex:1;min-height:39px;font-size:.8125rem}.invite-row{border-top:1px solid var(--line);align-items:center;gap:17px;padding:19px 23px;display:flex}.invite-icon{width:42px;height:42px;color:var(--blue);background:#edf4ff;border-radius:10px;place-items:center;display:grid}.invite-row>div{flex:1}.invite-row strong{font-size:.9375rem}.invite-row small{margin-top:4px;font-size:.8125rem;display:block}.progression-banner{background:#edf5ff;border:1px solid #c8ddfb;border-radius:12px;align-items:center;gap:16px;margin:0 0 23px;padding:20px 23px;display:flex}.progression-banner>svg{color:var(--blue)}.progression-banner>div{flex:1}.progression-banner p{color:#536b8d;margin-top:5px;font-size:.875rem}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.course-color{color:var(--blue);border-top:4px solid var(--blue);background:#eef4ff;align-items:center;gap:11px;padding:18px 20px;display:flex}.course-card:nth-child(3n+2) .course-color{border-top-color:var(--gold);color:#8d6613;background:#fffae9}.course-card:nth-child(3n+3) .course-color{border-top-color:var(--red);color:#a83046;background:#fff3f5}.course-color>span:not(.badge){flex:1;font-size:.75rem;font-weight:700}.course-color>.badge{font-size:.625rem}.course-body{padding:22px}.course-body>small{min-height:24px;font-size:.75rem;display:block}.course-body h2{min-height:58px;margin:6px 0 10px;font-size:1.25rem}.course-body>p{color:var(--muted);font-size:.8125rem}.course-owner{align-items:center;gap:9px;margin-top:20px;font-size:.8125rem;display:flex}.mini-avatar{color:#4b6081;background:#e9edf5;border-radius:50%;flex-shrink:0;place-items:center;width:31px;height:31px;font-size:.75rem;font-weight:700;display:grid}.assignments-list{flex-direction:column;gap:17px;display:flex}.assignment-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:21px;padding:25px;display:flex}.assignment-symbol{color:#1656ad;background:#e9f1ff;border:1px solid #d5e2f9;border-radius:12px;flex-shrink:0;place-items:center;width:65px;height:76px;font-size:1.375rem;font-weight:750;display:grid}.assignment-symbol.td{color:#8e671d;background:#fff3d3;border-color:#f0ddb1}.assignment-info{flex:1;min-width:0}.assignment-info .inline{color:var(--muted);font-size:.75rem}.assignment-info h2{margin:9px 0 5px;font-size:1.125rem}.assignment-info p{color:var(--muted);font-size:.875rem}.due{color:#687994;flex-wrap:wrap;align-items:center;gap:7px;margin-top:13px;font-size:.8125rem;display:flex}.assignment-buttons{flex-direction:column;gap:8px;display:flex}.submission-list>div{border-top:1px solid var(--line);gap:15px;padding:17px 0;display:flex}.submission-list>div>div{flex:1}.submission-list small{margin-top:5px;display:block}.formula-strip{background:#edf4ff;border:1px solid #cbdcf3;border-radius:11px;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 22px;padding:17px;font-size:.8125rem;display:flex}.formula-strip strong{color:var(--blue);background:#fff;border-radius:5px;padding:4px 7px}.formula-strip>b{color:#7b92b5}.average{color:var(--blue);font-size:1.125rem}.claim-item{border-top:1px solid var(--line);align-items:center;gap:15px;padding:20px 24px;display:flex}.claim-item>div{flex:1}.claim-item p{font-size:.9375rem}.claim-item small{margin-top:7px;display:block}.research-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:25px;display:grid}.research-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:25px}.research-card>.inline{color:var(--muted);justify-content:space-between;font-size:.75rem}.research-card h2{margin:18px 0 9px;font-size:1.25rem}.research-card>p{color:var(--muted);font-size:.875rem}.progress-track{background:#eaf0f7;border-radius:6px;height:7px;margin-top:22px;overflow:hidden}.progress-track i{background:var(--blue);border-radius:6px;height:100%;display:block}.research-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px;font-size:.8125rem;display:flex}.green-light{color:var(--green);align-items:center;gap:5px;display:flex}.research-card>button{width:100%}.research-steps{margin:12px 0;padding:0;list-style:none}.research-steps>li{align-items:flex-start;gap:17px;padding-bottom:26px;display:flex;position:relative}.research-steps>li:not(:last-child):before{content:"";background:var(--line);inset-inline-start:19px;width:2px;position:absolute;top:40px;bottom:0}.step-number{color:#175fbd;background:#eaf1fc;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.875rem;font-weight:650;display:grid}.step-number.approved{color:var(--green);background:#dff3e8}.research-steps>li>div{border:1px solid var(--line);background:#f8fafd;border-radius:10px;flex:1;padding:17px}.research-steps p{color:#64748d;margin:10px 0;font-size:.875rem}.research-steps h3{font-size:1rem}.research-steps blockquote{background:#fff9eb;border-inline-start:3px solid #e5b74a;margin:11px 0;padding:7px 12px;font-size:.875rem}.research-steps blockquote small{margin-top:6px;font-size:.75rem;display:block}.step-editor{flex-direction:column;gap:13px;display:flex}.step-editor>div{align-items:flex-start;gap:12px;display:flex}.step-editor>div>div{flex:1}.step-editor>div>span{padding-top:12px;font-weight:650}.step-editor textarea{min-height:70px;margin-top:8px;font-size:.875rem}.template-list{padding:5px 23px}.template-list>div{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:17px 0;display:flex}.template-list>div>svg{color:var(--blue)}.template-list>div>span{flex:1}.template-list small{margin-top:4px;font-size:.8125rem;display:block}details{color:#425b7d;font-size:.875rem}summary{cursor:pointer;padding:9px 0;font-weight:600}details p{font-size:.875rem}details ol{padding-inline-start:23px}.library-header{background:var(--navy);color:#fff;border-bottom:5px solid var(--gold);border-radius:16px;justify-content:space-between;align-items:center;gap:40px;padding:36px;display:flex}.library-header .eyebrow{color:#a3c1f4}.library-header h1{font-size:2.4rem}.library-header p{color:#c0cde0;max-width:750px;margin-top:14px;font-size:.9375rem}.library-header .inline{color:#bbcce5;gap:28px;margin-top:22px;font-size:.8125rem}.library-header .inline strong{color:#fff;margin-inline-end:5px;font-size:1.2rem}.library-emblem{color:#f4c24d;border:1px solid #577293;border-radius:20px;flex-shrink:0;place-items:center;width:122px;height:122px;display:grid}.library-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:24px 0 14px;padding-bottom:0;display:flex}.tabs{align-items:center;gap:24px;display:flex;overflow-x:auto}.tabs>button{white-space:nowrap;color:var(--muted);border-bottom:3px solid #0000;padding:15px 1px;font-size:.875rem;font-weight:600}.tabs>button.active{border-color:var(--blue);color:var(--blue)}.library-nav>.btn{margin-bottom:10px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.library-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.book-cover{color:#fff;background:#15385c;border-inline-start:9px solid #31516b;flex-direction:column;justify-content:space-between;align-items:flex-start;height:215px;padding:20px;display:flex;position:relative}.book-cover>span{letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:.6875rem;font-weight:650}.book-cover>strong{max-height:65px;font-size:1.05rem;line-height:1.35;overflow:hidden}.book-cover>small{color:#d9e1ed;font-size:.75rem}.book-cover>svg{color:#e8bb64;width:31px;height:31px}.cover-1{background:#075cb5;border-color:#3277c1}.cover-2{background:#365449;border-color:#618675}.cover-3{background:#804441;border-color:#ab6b64}.book-cover .favorite{color:#fff;top:13px;background:#ffffff20;border:1px solid #ffffff30;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:absolute;inset-inline-end:13px}.favorite.selected{color:#ffd05b;background:#ffffff2a}.book-info{padding:18px}.book-info>small{margin-bottom:7px;font-size:.75rem;display:block}.book-info h2{font-size:.9375rem;line-height:1.5}.book-info h2 button{text-align:start;padding:0}.book-info p{color:var(--muted);margin:7px 0;font-size:.8125rem}.book-meta{color:#778399;flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;display:flex}.book-info .card-actions{gap:6px;margin-top:15px;padding-top:14px}.book-info .btn{padding:8px;font-size:.75rem}.book-info .btn svg{width:14px}.help-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:23px;display:grid}.help-card{padding:27px}.help-card>svg{color:var(--blue);margin-bottom:20px}.help-card h2{font-size:1.25rem}.help-card p{color:var(--muted);margin:10px 0 20px;font-size:.9375rem}.offline-list{flex-direction:column;gap:12px;margin:23px 0;display:flex}.offline-list article{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:15px;padding:22px;display:flex}.offline-list article>span{width:46px;height:46px;color:var(--blue);background:#eaf2ff;border-radius:10px;place-items:center;display:grid}.offline-list article>div{flex:1}.offline-list p{color:var(--muted);margin-top:6px;font-size:.8125rem}.offline-list h2{font-size:1.0625rem}.offline-page{max-width:1020px;margin:0 auto;padding:30px 24px}.offline-page>header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.offline-page h1{margin-bottom:14px}.chat-bubble{background:var(--blue);color:#fff;z-index:40;bottom:25px;border:2px solid #fff;border-radius:30px;align-items:center;gap:10px;padding:17px 21px;font-size:.875rem;font-weight:600;display:flex;position:fixed;inset-inline-end:26px;box-shadow:0 7px 24px #075bdd35}.messenger{grid-template-columns:230px 1fr;min-height:510px;max-height:72dvh;display:grid}.contact-column{border-inline-end:1px solid var(--line);background:#f9fbfd;padding:12px;overflow-y:auto}.chat-contact-tabs{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px;display:grid}.chat-contact-tabs>button{border:1px solid var(--line);min-height:39px;color:var(--muted);background:#fff;border-radius:8px;padding:7px 5px;font-size:.6875rem}.chat-contact-tabs>button.active{color:var(--blue);background:#eaf2ff;border-color:#bdd2f2}.chat-contact-tabs b{font-size:.75rem;display:block}.contact-column>button{text-align:start;border-radius:8px;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:12px 9px;font-size:.8125rem;display:flex}.contact-column>button.active{color:var(--blue);background:#e9f1ff}.contact-column>.chat-invite{color:var(--blue);background:#f5f8ff;border:1px dashed #aac5eb;margin-top:10px}.conversation{flex-direction:column;min-width:0;display:flex}.conversation>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.conversation>header strong{font-size:.875rem}.message-history{flex-direction:column;flex:1;gap:13px;min-height:240px;max-height:440px;padding:22px;display:flex;overflow-y:auto}.message{background:#eff3f9;border-radius:12px 12px 12px 3px;align-self:flex-start;max-width:85%;padding:13px 16px}.message.mine{background:#e5efff;border:1px solid #cbdcf6;border-radius:12px 12px 3px;align-self:flex-end}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem}.message small{margin-top:7px;font-size:.6875rem;display:block}.message-file{overflow-wrap:anywhere;background:#ffffffb8;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;font-size:.75rem;display:flex}.message-compose{border-top:1px solid var(--line);align-items:center;gap:10px;padding:16px;display:flex}.message-compose textarea{border-color:#dbe3ef;flex:1;font-size:.875rem}.chat-attachment{min-width:44px;min-height:44px;color:var(--blue);cursor:pointer;background:#eff4fc;border-radius:9px;align-items:center;gap:6px;padding:10px;display:flex;position:relative}.chat-attachment input{opacity:0;width:1px;height:1px;position:absolute}.chat-attachment span{text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:.6875rem;overflow:hidden}.chat-qr{z-index:8;border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;justify-items:center;gap:10px;width:min(330px,100% - 30px);padding:25px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 20px 70px #0b21414d}.chat-qr>.icon-btn{top:8px;position:absolute;inset-inline-end:8px}.chat-qr img{width:220px;height:220px}.chat-qr small{max-width:260px}.notification-list article{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:17px 5px;display:flex}.notification-list article.unread{background:#f2f7ff;border-radius:9px;padding:17px 12px}.notification-list article>svg{color:var(--blue);margin-top:3px}.notification-list strong{font-size:.9375rem}.notification-list p{margin-top:5px;font-size:.875rem}.notification-list small{margin-top:8px;font-size:.75rem;display:block}.assistant-panel{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:950px;padding:30px}.assistant-identity{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:25px;padding-bottom:23px;display:flex}.assistant-identity>span:first-child{width:57px;height:57px;color:var(--blue);background:#edf3ff;border-radius:15px;place-items:center;display:grid}.assistant-identity>div{flex:1}.assistant-identity h2{font-size:1.375rem}.assistant-identity p{color:var(--muted);margin-top:4px;font-size:.875rem}.assistant-panel form{flex-direction:column;gap:20px;display:flex}.assistant-panel form>.btn{align-self:flex-end}.ai-answer{background:#f6f9ff;border:1px solid #c9dbf5;border-radius:12px;margin-top:26px;padding:23px}.ai-answer>.btn{margin-top:20px}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.settings-body{flex-direction:column;gap:15px;padding:25px;display:flex}.settings-body>p{color:var(--muted);margin-bottom:5px;font-size:.9375rem}.service-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:14px;font-size:.875rem;display:flex}.boot-screen{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.boot-screen img{width:80px;height:80px}.boot-screen h1{color:var(--navy)}.boot-screen p{color:var(--muted);align-items:center;gap:10px;font-size:.9375rem;display:flex}.boot-screen svg{width:18px}.login-shell{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:var(--navy);color:#fff;border-bottom:7px solid var(--gold);flex-direction:column;justify-content:space-between;gap:60px;min-height:100vh;padding:42px 60px;display:flex}.brand.light{color:#fff}.brand.light small{color:#bbcce5}.login-story>div{max-width:640px}.login-story .eyebrow{color:#a5c4f3}.login-story h1{letter-spacing:-.06em;font-size:3.5rem;line-height:1.12}.login-story p{color:#c0cde0;margin-top:24px;line-height:1.8}.login-story>small{color:#acbed9;max-width:520px;font-size:.8125rem}.login-roles{flex-direction:column;gap:17px;margin-top:45px;display:flex}.login-roles span{align-items:center;gap:15px;font-size:.9375rem;display:flex}.login-roles svg{color:#f0c755;width:23px}.login-panel{flex-direction:column;min-width:0;padding:28px 45px;display:flex}.login-top{justify-content:space-between;align-items:center;display:flex}.login-top>span{color:var(--muted);align-items:center;gap:6px;font-size:.8125rem;display:flex}.login-card{width:100%;max-width:430px;margin:auto;padding:50px 0}.login-card h2{margin:12px 0;font-size:2rem}.login-card>p{color:var(--muted);margin-bottom:27px;font-size:.9375rem}.login-card form{flex-direction:column;gap:20px;display:flex}.role-switch{border:1px solid var(--line);background:#f5f7fb;border-radius:11px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.role-switch button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:.8125rem;font-weight:650;display:flex}.role-switch button.active{color:var(--blue);background:#fff;box-shadow:0 2px 9px #122d5417}.admin-entry{text-align:center;margin-top:18px;display:block}.institution-combobox{position:relative}.institution-selector>button{max-width:min(44vw,460px);color:inherit;font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 8px;overflow:hidden}.institution-results{z-index:25;border:1px solid var(--line);inset-inline:0;background:#fff;border-radius:12px;max-height:290px;padding:6px;position:absolute;top:calc(100% + 6px);overflow-y:auto;box-shadow:0 18px 45px #0a234a2e}.institution-results button{width:100%;color:var(--ink);text-align:start;background:0 0;border:0;border-radius:8px;grid-template-columns:90px 1fr;gap:3px 10px;padding:10px;display:grid}.institution-results button:hover,.institution-results button.active{background:var(--blue-100)}.institution-results button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.institution-results button small{color:var(--muted);grid-column:1/-1}.combobox-hint{color:var(--muted);padding:8px 10px;display:block}.duplicate-teacher{gap:9px;display:grid}.duplicate-teacher-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-link-panel{text-align:center;justify-items:center;gap:14px;padding:20px;display:grid}.share-link-panel canvas{border-radius:8px;width:min(300px,100%);height:auto}.qr-scanner video{object-fit:cover;background:#06162d;border-radius:14px;width:100%;min-height:260px}.group-preview-actions{align-items:center;gap:12px;display:flex}.group-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.group-preview article{border:1px solid var(--line);background:#f8fbff;border-radius:12px;gap:9px;padding:12px;display:grid}.group-preview article>input{font-weight:800}.group-preview article label{color:var(--muted);gap:4px;font-size:.78rem;display:grid}.group-member{grid-template-columns:1fr minmax(110px,.5fr);align-items:center;gap:8px;display:grid}.work-group-summary{border-inline-start:3px solid var(--blue-700);gap:3px;margin-top:10px;padding-inline-start:10px;display:grid}.work-group-summary small{overflow-wrap:anywhere}.pwa-install-prompt{z-index:90;background:#fff;border:1px solid #c9d9f1;border-radius:16px;grid-template-columns:48px minmax(180px,1fr) auto auto;align-items:center;gap:12px;max-width:760px;padding:14px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 20px 55px #051c4238}.pwa-install-prompt img{border-radius:12px;width:48px;height:48px}.pwa-install-prompt p{color:var(--muted);margin:4px 0;font-size:.82rem}.pwa-install-prompt small{color:var(--blue-700)}.contact-column>.chat-invite,.contact-column>.chat-invite .btn{width:100%}@media (max-width:768px){.institution-results{max-height:45vh;position:fixed;inset:auto 12px 78px}.group-preview{grid-template-columns:1fr}.duplicate-teacher-row{flex-direction:column;align-items:stretch}.pwa-install-prompt{grid-template-columns:42px 1fr;bottom:12px;left:12px;right:12px}.pwa-install-prompt>.btn{width:100%}.pwa-install-prompt img{width:42px;height:42px}.contact-column>.chat-invite{z-index:4;background:inherit;padding-top:8px;position:sticky;bottom:0}.qr-scanner-label{display:none}}@media (max-width:430px){.group-member{grid-template-columns:1fr}.share-link-panel .card-actions{width:100%;display:grid}.share-link-panel .card-actions .btn{width:100%}}.login-card form>.text-link{align-self:flex-end}.login-card>.btn{margin-top:22px}.registration-shell{background:#fff;grid-template-columns:minmax(300px,.85fr) 1.4fr;min-height:100vh;display:grid}.registration-aside{background:var(--navy);color:#fff;border-bottom:6px solid var(--gold);flex-direction:column;justify-content:space-between;gap:65px;padding:45px;display:flex}.registration-aside>div>svg{color:var(--gold);margin-bottom:28px}.registration-aside h1{font-size:2.7rem}.registration-aside p{color:#c2cfe0;margin-top:20px;font-size:.9375rem}.registration-aside>small{color:#c2cfe0}.registration-context{background:#102e59;border:1px solid #516e94;border-radius:12px;margin-top:30px;padding:23px}.registration-context h2{font-size:1.35rem}.registration-context p{margin-top:9px}.registration-context>strong{margin-top:17px;font-size:1.125rem;display:block}.registration-context>small{color:#acc2e1;margin-top:9px;font-size:.8125rem;display:block}.registration-context>.badge{color:#133668;background:#dbe9ff;font-size:.8125rem;display:inline-flex}.registration-main{min-width:0;padding:30px 44px}.registration-main>header{justify-content:space-between;align-items:center;gap:15px;display:flex}.registration-form-card{max-width:750px;margin:0 auto;padding:48px 0}.registration-form-card>h2{margin-bottom:13px;font-size:2rem}.registration-form-card>p{color:var(--muted);margin-bottom:27px}.registration-form-card form>.btn{width:100%;margin-top:26px}.registration-done{text-align:center;padding:70px 0}.registration-done>span{width:80px;height:80px;color:var(--green);background:#e2f4eb;border-radius:50%;place-items:center;margin:0 auto 23px;display:grid}.registration-done h2{font-size:1.8rem}.registration-done p{color:var(--muted);margin:18px 0 27px}.activation-page{background:var(--bg);place-items:center;min-height:100vh;padding:30px;display:grid}.activation-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-width:530px;padding:34px}.activation-card>img{width:70px;height:70px;margin-bottom:25px}.activation-card>.language-select{float:inline-end}.activation-card h1{margin-bottom:30px;font-size:1.7rem}.activation-card form{flex-direction:column;gap:22px;display:flex}@media (min-width:1800px){.main-content{padding:30px 48px}.sidebar{width:270px}.main-shell{margin-inline-start:270px}.topbar{padding-inline:45px}}@media (max-width:1400px){.sidebar{width:230px;padding-inline:12px}.main-shell{margin-inline-start:230px}.topbar{gap:10px;padding-inline:22px}.main-content{padding:22px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.people-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-panel{grid-template-columns:1fr 210px;padding:28px}.welcome-date{padding-inline-start:23px}.metrics article{gap:10px;padding:17px}.metrics .metric-icon{width:39px;height:39px}.metrics strong{font-size:1.55rem}.topbar .year-selector{width:135px}.heading{align-items:flex-start}.login-story{padding:40px}.login-story h1{font-size:3rem}.promotion-grid{margin-inline-start:0}}@media (max-width:1100px){.topbar .user-avatar{display:none}.topbar{gap:8px}.year-selector{max-width:128px}.language-select{max-width:100px}.topbar-right{gap:3px}.welcome-panel{grid-template-columns:1fr}.welcome-date{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heading{flex-direction:column;gap:15px}.heading-actions{justify-content:flex-start}.promotion-grid{grid-template-columns:1fr}.assignment-card{flex-wrap:wrap}.assignment-buttons{flex-direction:row;justify-content:flex-end;width:100%}.research-grid{grid-template-columns:1fr}.library-emblem{width:95px;height:95px}.settings-grid{grid-template-columns:1fr}.registration-shell{grid-template-columns:330px 1fr}.registration-aside{padding:30px}.registration-main{padding:24px}.registration-form-card .form-grid,.registration-form-card .phone-field{grid-template-columns:1fr}}@media (max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-security{grid-column:auto}.sidebar{z-index:65;width:260px;transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}[dir=rtl] .sidebar{transform:translate(100%)}[dir=rtl] .sidebar.is-open{transform:translate(0)}.main-shell{margin-inline-start:0}.nav-overlay{z-index:60;background:#0a21436b;position:fixed;inset:0}.topbar{flex-wrap:wrap;min-height:70px;padding:12px 16px;position:sticky}.mobile-menu{display:inline-flex}.institution-selector{max-width:none}.topbar-right{margin-inline-start:auto}.year-selector{background:#f6f9fd;order:5;width:100%;max-width:none;min-height:34px}.topbar .language-select{max-width:105px}.main-content{padding:20px}.welcome-panel h1{font-size:1.8rem}.welcome-panel{padding:27px}.heading h1{font-size:1.75rem}.library-header{padding:28px}.library-header h1{font-size:2rem}.library-emblem{display:none}.library-header p{font-size:.875rem}.library-nav{flex-wrap:wrap}.library-nav .tabs{gap:23px;width:100%}.library-nav>.btn{margin-top:0}.library-grid{gap:15px}.dialog>header{padding:17px 20px}.form-body{padding:22px}.dialog footer{padding:17px 22px}.wizard-steps>div{gap:8px;padding:15px 16px}.messenger{grid-template-columns:180px 1fr}.chat-bubble{bottom:18px;padding:15px;inset-inline-end:18px}.chat-bubble>span{display:none}.app-footer{padding:18px 20px;padding-bottom:80px;font-size:.6875rem}.newsletter-banner{grid-template-columns:auto 1fr}.newsletter-banner time{grid-column:2}.login-shell{grid-template-columns:1fr}.login-story{gap:40px;min-height:auto;padding:30px}.login-story h1{font-size:2.25rem}.login-story p{margin-top:17px}.login-roles{flex-flow:wrap;gap:20px;margin-top:24px}.login-roles span{gap:8px;font-size:.8125rem}.login-story>small{display:none}.login-panel{padding:24px}.login-card{max-width:500px;padding:38px 0}.registration-shell{grid-template-columns:1fr}.registration-aside{gap:25px;padding:27px}.registration-aside>div>svg{display:none}.registration-aside h1{font-size:1.8rem}.registration-aside>small{display:none}.registration-context{margin-top:20px;padding:18px}.registration-main{padding:23px}.registration-form-card{padding:30px 0}.registration-form-card .form-grid,.registration-form-card .phone-field{grid-template-columns:1fr 1fr}.login-story .brand img{width:40px;height:40px}}@media (max-width:540px){.profile-readonly>div{grid-template-columns:1fr;gap:4px}.dialog,.dialog.wide{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh;margin:0}.dialog>header{padding-top:max(16px, env(safe-area-inset-top))}.dialog footer{z-index:4;padding-bottom:max(16px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;display:grid;position:sticky;bottom:0}.dialog footer>.btn:first-child{margin-inline-end:0}.dialog footer .btn{min-height:48px}.topbar{gap:5px;padding:10px 12px}.topbar .language-select{max-width:85px;font-size:.75rem}.institution-selector{gap:3px;max-width:calc(100% - 200px)}.institution-selector>svg{display:none}.institution-selector select{font-size:.8125rem}.topbar-right .icon-btn{width:34px;min-width:34px}.main-content{padding:16px}.breadcrumb{margin-bottom:18px}.welcome-panel{border-inline-start-width:4px;padding:23px}.welcome-panel h1{font-size:1.65rem}.welcome-panel p{font-size:.875rem}.metrics{gap:11px;margin:16px 0}.metrics article{gap:9px;padding:14px}.metrics .metric-icon{width:33px;height:33px}.metrics .metric-icon svg{width:18px}.metrics strong{font-size:1.4rem}.metrics small{font-size:.75rem}.overview-grid{gap:0}.panel-heading{padding:18px}.overview-course{gap:10px;padding:15px}.overview-course>.badge{display:none}.admin-shortcuts{grid-template-columns:1fr;gap:10px}.admin-shortcuts button{padding:17px}.form-grid,.form-grid.three,.phone-field{grid-template-columns:1fr}.wizard-steps>div{text-align:center;flex-direction:column;gap:7px;padding:13px 10px}.wizard-steps strong{font-size:.6875rem}.wizard-steps span{width:25px;height:25px}.form-body{padding:18px}.dialog footer{padding:16px 18px max(16px, env(safe-area-inset-bottom))}.dialog>header{padding:max(16px, env(safe-area-inset-top)) 18px 16px}.dialog>header h2{font-size:1.125rem}.btn{font-size:.8125rem}.people-grid,.course-grid,.help-grid{grid-template-columns:1fr}.person-card{padding:20px}.course-body h2,.course-body>small{min-height:0}.academic-summary{gap:13px;padding:16px}.academic-summary>div{align-items:flex-start;gap:8px}.academic-summary svg{width:18px;margin-top:4px}.academic-summary small{font-size:.6875rem}.academic-summary span{font-size:1.25rem}.program-card{padding:18px}.program-icon{display:none}.promotion-card{padding:12px}.toolbar{gap:9px}.toolbar>select{flex:1;max-width:100%;font-size:.8125rem}.toolbar .search-box{min-width:100%}.assignment-card{gap:13px;padding:19px}.assignment-symbol{width:48px;height:60px;font-size:1.125rem}.assignment-info h2{font-size:1rem}.assignment-info p{font-size:.8125rem}.assignment-buttons .btn{flex:1}.research-card{padding:20px}.research-card h2{font-size:1.125rem}.research-steps>li{gap:10px}.step-number{width:31px;height:31px}.research-steps>li:not(:last-child):before{inset-inline-start:15px;top:31px}.research-steps>li>div{padding:13px}.step-editor>div{flex-wrap:wrap;gap:7px}.step-editor>div>div{min-width:200px}.step-editor .btn{margin-inline-start:auto}.template-list>div{flex-wrap:wrap}.library-header{padding:24px}.library-header h1{font-size:1.9rem}.library-grid{grid-template-columns:1fr}.book-cover{height:200px}.library-card{grid-template-columns:130px 1fr;display:grid}.book-cover{border-inline-start-width:6px;height:100%;min-height:220px;padding:16px 11px}.book-cover>strong{max-height:100px;font-size:.8125rem}.book-cover>svg{width:26px;height:26px}.book-cover>span{max-width:62px;font-size:.625rem;line-height:1.3}.book-cover .favorite{top:9px;width:29px;height:29px;inset-inline-end:7px}.book-info{padding:16px}.book-info .card-actions{flex-direction:column;align-items:stretch}.book-info h2{font-size:.9375rem}.book-info small{font-size:.6875rem}.library-header .inline{gap:20px}.library-nav .tabs{gap:22px}.tabs>button{font-size:.8125rem}.offline-list article{flex-wrap:wrap;padding:17px}.offline-list article>span{display:none}.offline-list article>div{min-width:100%}.messenger{grid-template-columns:1fr;min-height:460px;max-height:78dvh}.contact-column{border-bottom:1px solid var(--line);border-inline-end:0;max-height:165px;display:block;overflow-y:auto}.chat-contact-tabs{z-index:2;background:#f9fbfd;padding:8px 0;position:sticky;top:-12px}.contact-column>button{width:100%;min-width:0;margin:0 0 4px;font-size:.75rem}.conversation{min-height:360px}.conversation>header{padding:14px 16px}.message-history{min-height:200px;padding:16px}.message-compose{padding:10px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));gap:8px}.chat-attachment span{display:none}.message-compose .btn{padding:12px;font-size:0}.message-compose .btn svg{width:18px}.assistant-panel{padding:21px}.assistant-identity{flex-wrap:wrap;gap:11px}.assistant-identity>span:first-child{width:43px;height:43px}.assistant-identity h2{font-size:1.2rem}.assistant-identity>.badge{margin-inline-start:auto}.registration-form-card .form-grid,.registration-form-card .phone-field{grid-template-columns:1fr}.registration-main{padding:19px}.registration-aside{padding:24px}.login-story{padding:25px}.login-story h1{font-size:2rem}.login-story .eyebrow{font-size:.625rem}.login-story p{font-size:.875rem}.login-card h2{font-size:1.75rem}.activation-page{padding:20px}.activation-card{padding:25px}.formula-strip{gap:8px;font-size:.75rem}.app-footer{flex-direction:column;gap:7px}.footer-contacts{flex-direction:column;align-items:center}.newsletter-banner{grid-template-columns:1fr;padding:18px}.newsletter-banner>span{display:none}.newsletter-banner time{grid-column:1}.toast{width:calc(100vw - 34px);bottom:85px}.heading-actions .btn{flex:1}.heading-actions{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}@media print{.sidebar,.topbar,.chat-bubble,.app-footer,.heading-actions,.toast{display:none!important}.main-shell{margin:0}.main-content{padding:0}.panel{break-inside:avoid}body{background:#fff}}.country-select{align-items:center;gap:10px;display:flex}.country-select img{object-fit:cover;border:1px solid #ccd6e5;border-radius:3px;width:30px;height:23px}.country-select select{flex:1;min-width:0}.person-avatar img,.user-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-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}
