:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#0b1528;--navy-900:#101d35;--primary-700:#174c8f;--primary-600:#1e5fae;--primary-500:#3177c8;--primary-100:#dcecff;--primary-50:#f1f7ff;--text:#172033;--text-soft:#53627a;--muted:#5b697e;--border:#dce3ec;--border-soft:#e9eef4;--surface:#fff;--surface-soft:#f8fafc;--success:#18794e;--success-bg:#edf9f2;--danger:#b4232c;--danger-bg:#fff1f2;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 2px #0f1e370d, 0 4px 12px #0f1e370a;--shadow-md:0 16px 40px #0f1e3717;--transition:.16s ease;background:#f3f6fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{z-index:1000;border-radius:var(--radius-sm);color:#fff;background:var(--navy-950);transition:transform var(--transition);padding:.7rem 1rem;font-weight:800;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1rem))}.skipLink:focus{transform:translateY(0)}html{background:#f3f6fa;min-width:320px}body{background:radial-gradient(circle at 100% 0,#eaf2fb 0,#0000 28rem),#f3f6fa;min-height:100vh;margin:0}body.modalOpen{overflow:hidden}button,input,select,textarea{font:inherit}a{color:var(--primary-600)}h1,h2,h3{color:var(--text);line-height:1.2}h1{letter-spacing:-.03em;font-size:clamp(1.55rem,2vw,2rem)}h2{letter-spacing:-.015em;font-size:1.18rem}h3{font-size:1rem}p{line-height:1.6}section>h1,.card h1,.card h2,.card h3{margin-top:0}:focus-visible{outline-offset:2px;outline:3px solid #3177c859}button,.buttonLink{border-radius:var(--radius-sm);background:var(--primary-600);color:#fff;cursor:pointer;min-height:40px;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.58rem .9rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #0b25462e}button:hover:not(:disabled),.buttonLink:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:0 5px 14px #174c8f33}button:active:not(:disabled),.buttonLink:active{transform:translateY(0)}button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.secondaryButton{background:var(--surface);color:var(--primary-700);box-shadow:none;border-color:#bfd2e8}.secondaryButton:hover:not(:disabled),.buttonLink.secondaryButton:hover{background:var(--primary-50);color:var(--primary-700);box-shadow:none;border-color:#8eb3db}.dangerButton{background:var(--danger);color:#fff}.dangerButton:hover:not(:disabled){background:#941c24}.buttonGroup{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.paginationControls{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;display:flex}input,select,textarea{border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fff;border:1px solid #cbd6e3;padding:.65rem .75rem}textarea{resize:vertical;min-height:105px}.leadMessageBody{min-height:220px}.messageHistory{gap:.8rem;display:grid}.messageCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:1rem}.messageCard header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.messageCard pre,.tableMessageBody{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:.75rem 0 0;line-height:1.55}.messageMeta{color:var(--muted);margin:.35rem 0 0;font-size:.78rem}.templateEditor{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}input::placeholder,textarea::placeholder{color:#95a2b4}input:hover,select:hover,textarea:hover{border-color:#a9bad0}input:focus,select:focus,textarea:focus{border-color:var(--primary-500);outline:0;box-shadow:0 0 0 3px #3177c826}input:disabled,select:disabled,textarea:disabled{color:var(--muted);background:#f0f3f7}label{color:#3e4d63;gap:.42rem;font-size:.88rem;font-weight:700;display:grid}.loginPage{background:linear-gradient(135deg,#0b1528fa,#174c8feb);place-items:center;min-height:100vh;padding:2rem;display:grid}.loginCard{border:0;width:min(450px,100%);padding:2.25rem;box-shadow:0 28px 70px #030c1b59}.loginBrand{width:160px;max-width:100%;margin-bottom:1.25rem}.loginBrand img,.brandMark img,.leadBrand{width:100%;height:auto;display:block}.leadBrand{width:160px;max-width:100%}.loginCard h1{margin-bottom:.35rem}.loginCard>label{margin-top:1rem}.loginCard>button{width:100%;margin-top:1.25rem}.leadPublicPage{background:linear-gradient(135deg,#f7fbff 0%,#eef4fb 42%,#fff8f0 100%);place-items:center;min-height:100vh;padding:clamp(1rem,4vw,3rem);display:grid}.leadPublicPanel{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(980px,100%);box-shadow:var(--shadow-md);background:#ffffffed;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(1.25rem,3vw,2.25rem);padding:clamp(1.2rem,3vw,2.2rem);display:grid}.leadIntro{gap:.6rem;padding-top:.35rem;display:grid}.leadIntro h1{margin:0;font-size:clamp(1.75rem,3vw,2.55rem)}.leadIntro p{color:var(--text-soft);margin:0}.leadForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leadForm label:nth-of-type(5),.leadForm label:nth-of-type(6),.leadConsent,.leadForm .error,.leadForm .success,.leadForm button{grid-column:1/-1}.leadConsent{align-items:flex-start;margin-top:.15rem}.leadForm button{justify-self:start;min-width:210px}.shell{background:radial-gradient(circle at 6% 0,#16233d 0,#0000 32rem),#070d1a;grid-template-columns:320px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#dbe6f5;background:linear-gradient(#101d34 0%,#0b1526 100%);border:1px solid #7ea8e224;border-radius:22px;flex-direction:column;align-self:start;gap:1.05rem;height:calc(100vh - 28px);margin:14px 0 14px 14px;padding:1.15rem .9rem 1rem;display:flex;position:sticky;top:14px;overflow:hidden;box-shadow:0 26px 60px #02081480,inset 0 1px #ffffff0d}.sidebar>*{flex:none}.sidebar nav{scrollbar-width:thin;scrollbar-color:#8cafe147 transparent;flex:auto;grid-template-columns:minmax(0,1fr);gap:1.15rem;min-height:0;padding:.1rem .3rem;display:grid;overflow:hidden auto}.sidebar nav::-webkit-scrollbar{width:8px}.sidebar nav::-webkit-scrollbar-track{background:0 0}.sidebar nav::-webkit-scrollbar-thumb{background:#8cafe138;border-radius:999px}.brand{align-items:center;gap:.8rem;padding:.1rem .35rem;display:flex}.brandMark{flex:none;width:80px}.brand>div{min-width:0}.brand strong,.brand small{display:block}.brand strong{color:#f3f7ff;letter-spacing:-.01em;font-size:.95rem}.brand small{color:#93a6c4;margin-top:.16rem;font-size:.72rem}.sidebarUser{background:#ffffff0d;border:1px solid #8cafe129;border-radius:999px;align-items:center;gap:.65rem;padding:.5rem .85rem .5rem .5rem;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.userAvatar{color:#dcecff;background:linear-gradient(150deg,#5896dc73,#26569a66);border:1px solid #96c3f552;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:.72rem;font-weight:800;display:grid}.sidebarUser div{min-width:0}.sidebarUser strong,.sidebarUser span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebarUser strong{color:#eef4ff;font-size:.79rem}.sidebarUser span{color:#9aadca;margin-top:.14rem;font-size:.69rem}.sidebar nav{gap:1.15rem;display:grid}.navGroup{grid-template-columns:minmax(0,1fr);gap:.16rem;min-width:0;display:grid}.navLabel{color:#8295b7;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.55rem;margin:0 0 .5rem;padding:0 .7rem;font-size:.64rem;font-weight:800;display:flex}.navLabel:after{content:"";background:linear-gradient(90deg,#85a8da57,#85a8da00);flex:auto;height:1px}.navToggle{width:100%;min-height:0;box-shadow:none;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:flex-start}.navToggle:hover:not(:disabled),.navToggle:active:not(:disabled){box-shadow:none;color:#b6c8e2;background:0 0;transform:none}.navToggle:after{order:1}.navChevron{opacity:.75;width:7px;height:7px;transition:transform var(--transition);border-bottom:2px solid;border-right:2px solid;flex:none;order:2;margin-right:.15rem;transform:rotate(45deg)}.navToggle[aria-expanded=true] .navChevron{transform:rotate(-135deg)}.sidebar nav a{color:#c4d1e5;transition:color var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition);border:1px solid #0000;border-radius:11px;align-items:center;gap:.7rem;padding:.6rem .7rem;font-size:.845rem;font-weight:600;text-decoration:none;display:flex;position:relative}.sidebar nav a .navIcon{opacity:.82;width:18px;height:18px;transition:opacity var(--transition);flex:none}.sidebar nav a .navText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar nav a:hover{color:#fff;background:#6096dc1c}.sidebar nav a:hover .navIcon{opacity:1}.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,#4885d652,#4885d61f);border-color:#7ab2f566;box-shadow:0 8px 22px #061e4673}.sidebar nav a.active .navIcon{opacity:1}.sidebar nav a.active:before{content:"";background:#6cb4ff;border-radius:999px;width:3px;position:absolute;top:22%;bottom:22%;left:-1px;box-shadow:0 0 12px #6cb4ffb3}.sidebar nav a.active:after{content:"";background:#63b0ff;border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto;box-shadow:0 0 10px #63b0ffcc}.sidebarFooter{border-top:1px solid #8cafe124;margin-top:auto;padding-top:.9rem}.logoutButton{color:#ff8a92;width:100%;min-height:48px;box-shadow:none;background:#ce46521a;border-color:#e0606c6b;border-radius:13px;gap:.6rem;font-weight:700}.logoutButton .navIcon{width:19px;height:19px}.logoutButton:hover:not(:disabled){color:#ffb4b9;box-shadow:none;background:#d64e5a33;border-color:#e8707ab3;transform:none}.mainArea{background:#f3f6fa;border-radius:22px;min-width:0;min-height:calc(100vh - 28px);margin:14px 14px 14px 0;box-shadow:0 26px 60px #02081466}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border-radius:22px 22px 0 0;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.8rem clamp(1rem,3vw,2.25rem);display:flex}.topbar strong{color:var(--text);font-size:1.05rem;display:block}.topbarEyebrow{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .1rem;font-size:.68rem;font-weight:800}.topbarUser{border:1px solid var(--border);color:var(--text-soft);background:#fff;border-radius:999px;padding:.4rem .7rem;font-size:.76rem;font-weight:700}.content{width:100%;max-width:1500px;margin:0 auto;padding:clamp(1rem,3vw,2.25rem)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:clamp(1rem,2vw,1.4rem)}.card>p.muted:first-of-type{margin-top:-.3rem}.muted{color:var(--muted)}.error,.success{border-radius:var(--radius-md);border:1px solid;align-items:flex-start;gap:.45rem;padding:.75rem .9rem;line-height:1.5;display:flex}.error{color:var(--danger);background:var(--danger-bg);border-color:#ffd2d6}.success{color:var(--success);background:var(--success-bg);border-color:#c9ecd8}.error strong,.error span{display:block}.loadingState{min-height:110px;color:var(--text-soft);justify-content:center;align-items:center;gap:.7rem;font-weight:700;display:flex}.spinner{border:3px solid #d8e4f0;border-top-color:var(--primary-600);border-radius:50%;width:22px;height:22px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.emptyState{min-height:125px;color:var(--muted);text-align:center;border-radius:var(--radius-md);background:var(--surface-soft);border:1px dashed #cad6e4;align-content:center;place-items:center;gap:.55rem;padding:1.25rem;display:grid}.emptyState span{width:28px;height:28px;color:var(--primary-700);background:var(--primary-100);border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:800;display:grid}.emptyState p{max-width:620px;margin:0}.tableWrap{border:1px solid var(--border);border-radius:var(--radius-md);scrollbar-width:thin;background:#fff;overflow-x:auto}.tableWrap:focus-visible{outline-offset:3px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:.82rem .9rem}th{z-index:1;color:#4f6078;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap;background:#f6f8fb;font-size:.69rem;font-weight:800;position:sticky;top:0}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--primary-50)}tbody tr:last-child td{border-bottom:0}td a:not(.buttonLink){color:var(--primary-600);text-underline-offset:2px;font-weight:700}.gridCards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.metric{color:var(--primary-700);letter-spacing:-.04em;margin:0;font-size:2.25rem;font-weight:800}.metricGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin-bottom:1rem;display:grid}.metricCard{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#f7faff);gap:.35rem;min-height:125px;padding:1rem;display:grid;position:relative;overflow:hidden}.metricCard:before{content:"";background:#78a8d7;width:3px;position:absolute;top:0;bottom:0;left:0}.metricCard span,.metricCard small,.eyebrow{color:var(--muted)}.metricCard span{font-size:.77rem;font-weight:700}.metricCard strong{color:#173f70;overflow-wrap:anywhere;letter-spacing:-.025em;font-size:1.4rem}.metricCard small{line-height:1.4}.studentHero{background:linear-gradient(135deg,#fff,#edf5ff);border-color:#d2e2f3;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.45rem;display:grid}.studentHero h1,.studentHero p{margin:0}.eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800;margin-bottom:.25rem!important}.profileAvatar{background:linear-gradient(135deg, var(--primary-700), #4689ce);color:#fff;border-radius:20px;place-items:center;width:72px;height:72px;font-size:1.45rem;font-weight:800;display:grid;box-shadow:0 10px 20px #174c8f33}.statusBadge{background:var(--primary-50);width:fit-content;color:var(--primary-700);border:1px solid #c9daed;border-radius:999px;align-items:center;padding:.3rem .6rem;font-size:.71rem;font-weight:800;line-height:1.3;display:inline-flex}.statusBadge:before{content:"";background:#4383c6;border-radius:50%;width:6px;height:6px;margin-right:.38rem}.curriculumManager{gap:1rem;display:grid}.versionWorkspace{grid-template-columns:minmax(220px,.72fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}.versionList{gap:.55rem;display:grid}.versionCard{width:100%;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem;display:flex}.versionCard:hover,.versionCard.selected{color:var(--text);background:var(--primary-50);border-color:var(--primary-500)}.versionDetails{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;padding:1rem}.curriculumYears{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.65rem;margin:.75rem 0 1rem;display:grid}.yearEctsCard{border-radius:var(--radius-md);background:#fff6f6;border:1px solid #e4b5b5;gap:.2rem;padding:.75rem;display:grid}.yearEctsCard.complete{background:#f2fbf5;border-color:#a8d5bb}.yearEctsCard span{font-weight:800}.yearEctsCard small{color:var(--muted)}.versionCreateForm{border-top:1px solid var(--border);margin-top:.5rem;padding-top:1rem}.fullWidth{grid-column:1/-1}.status-draft:before{background:#d99614}.status-active:before{background:#24985a}.status-retired:before{background:#77879a}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sectionHeader h2,.sectionHeader p{margin:0}.sectionHeader p{margin-top:.25rem}.sectionHeading{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.sectionHeading h2{margin:0}.chartGrid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.chartCard{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#f8fbff);grid-template-rows:auto 150px auto;gap:.8rem;min-height:345px;padding:1rem;display:grid}.chartHeader{gap:.25rem;display:grid}.chartHeader span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.chartHeader strong{color:#173f70;overflow-wrap:anywhere;font-size:1rem}.donutWrap{place-items:center;min-height:150px;display:grid}.donutChart{width:150px;height:150px;overflow:visible}.donutTrack,.donutEmpty,.donutSegment{fill:none;stroke-width:17px;transform-origin:60px 60px;transform:rotate(-90deg)}.donutTrack{stroke:#e9eef4}.donutEmpty{stroke:#cdd7e4;stroke-dasharray:5 9}.donutSegment{stroke-linecap:butt;transition:stroke-dasharray var(--transition), stroke-dashoffset var(--transition)}.donutTotal{fill:#172033;dominant-baseline:middle;font-size:1.28rem;font-weight:800}.donutLabel{fill:var(--muted);text-transform:uppercase;dominant-baseline:middle;font-size:.58rem;font-weight:800}.chartLegend{align-self:end;gap:.48rem;display:grid}.legendItem{color:#4f6078;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;font-size:.82rem;display:grid}.legendSwatch{border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000014}.legendItem strong{color:var(--text);font-size:.84rem}.legendItem small{color:var(--muted);font-weight:700}.details{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:0;margin:0;display:grid;overflow:hidden}.detailItem{display:contents}.details dt,.details dd{border-bottom:1px solid var(--border-soft);padding:.72rem .85rem}.details dt{color:#506078;background:#f8fafc;font-size:.78rem;font-weight:750}.details dd{overflow-wrap:anywhere;margin:0}.details .detailItem:last-child dt,.details .detailItem:last-child dd{border-bottom:0}.stack{gap:1rem;display:grid}.stack>*{min-width:0}.stack>.card,.stack>section,.stack>article{margin-bottom:0}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.tabs button,.preExamTabs button{color:var(--text-soft);box-shadow:none;background:0 0;border-color:#0000}.tabs button:hover:not(:disabled),.preExamTabs button:hover:not(:disabled){background:var(--primary-50);color:var(--primary-700);box-shadow:none}.tabs button.active,.preExamTabs button.active{background:var(--primary-600);color:#fff}.requestTabs{border:1px solid var(--border);background:#eaeff7;border-radius:14px;flex-wrap:wrap;gap:.3rem;width:fit-content;max-width:100%;margin-bottom:1.35rem;padding:.3rem;display:flex}.requestTabs button{min-height:42px;color:var(--text-soft);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:10px;gap:.5rem;padding:.55rem .95rem;display:inline-flex}.requestTabs button .navIcon{opacity:.9;width:17px;height:17px}.requestTabs button:hover:not(:disabled){color:var(--primary-700);box-shadow:none;background:#ffffffb3;transform:none}.requestTabs button.active{color:var(--primary-700);background:#fff;border-color:#d3e1f2;box-shadow:0 6px 16px #0d23401f}.requestTabPanel{gap:1.5rem;display:grid}.disabledState{background:var(--surface-soft);border-style:dashed}.jsonBlock{color:#d7e4f5;border-radius:var(--radius-md);background:#101c30;border:1px solid #253752;max-height:420px;padding:1rem;font-size:.78rem;overflow:auto}.formGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:1rem;display:grid}.formGrid>.error,.formGrid>.success{grid-column:1/-1;margin:0}.studentFilters{margin-bottom:1.1rem}.searchField{position:relative}.searchField .navIcon{width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.searchField input{padding-left:2.55rem}.ectsBadge{background:var(--primary-50);min-width:36px;color:var(--primary-700);border:1px solid #d5e4f5;border-radius:999px;justify-content:center;align-items:center;padding:.22rem .55rem;font-size:.74rem;font-weight:800;display:inline-flex}.searchableSelectLabel{min-width:0}.searchableSelect{margin-top:.35rem;position:relative}.searchableSelect>input{width:100%;margin-top:0}.searchableSelectOptions{z-index:30;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;max-height:240px;padding:.3rem;display:grid;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto;box-shadow:0 14px 34px #0d23402e}.searchableSelectOptions button{border-radius:var(--radius-sm);min-height:38px;box-shadow:none;color:var(--text);text-align:left;background:0 0;border:0;padding:.5rem .65rem;font-weight:600}.searchableSelectOptions button:hover,.searchableSelectOptions button.selected{background:var(--primary-50);color:var(--primary-700);box-shadow:none}.searchableSelectEmpty{color:var(--muted);text-align:center;padding:.6rem}.repeatableFields{grid-column:1/-1;gap:.75rem;display:grid}.repeatableRow{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);grid-template-columns:minmax(220px,1fr) minmax(160px,.45fr) auto;align-items:end;gap:.75rem;padding:.75rem;display:grid}.credentialBox{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:.85rem;font-size:1.05rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0;display:flex}.toolbar input{max-width:380px}.pageHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.pageHeader h1,.pageHeader h2,.pageHeader p{margin-top:0}.pageHeader p{margin-bottom:0}.pageHeader .buttonLink{white-space:nowrap;flex:none}.pricelistHeader{align-items:center;margin-bottom:0}.pricelistHeader h1{margin-bottom:.35rem}.pricelistHeader .muted{max-width:680px}.pricelistHeader>button{flex:none}.pricelistSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.pricelistSummary article{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;gap:.25rem;padding:1rem 1.15rem;display:grid}.pricelistSummary span{color:var(--muted);font-size:.8rem;font-weight:700}.pricelistSummary strong{color:var(--primary-700);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1.2}.pricelistCatalog{padding:1.35rem}.pricelistCatalog .sectionHeader{align-items:center}.pricelistResultCount{color:var(--muted);flex:none;font-size:.78rem;font-weight:700}.pricelistFilters{grid-template-columns:minmax(240px,1fr) minmax(160px,200px) minmax(160px,200px);align-items:end;gap:.75rem;margin-bottom:1.15rem;display:grid}.pricelistFilters label{font-size:.78rem}.pricelistFilters input,.pricelistFilters select{font-size:.88rem}.pricelistTable table{min-width:900px}.pricelistTable th:last-child,.pricelistTable td:last-child{text-align:right}.pricelistService,.pricelistPeriod{gap:.2rem;display:grid}.pricelistService{min-width:185px;max-width:310px}.pricelistService strong{color:var(--text);font-weight:750}.pricelistService small,.pricelistPeriod small{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem;line-height:1.4}.pricelistAmount{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.98rem;font-weight:800}.pricelistAmount small{color:var(--muted);font-size:.7rem;font-weight:700}.pricelistPeriod{white-space:nowrap}.pricelistStatus{color:#526176;white-space:nowrap;background:#f3f6fa;border:1px solid #d5deea;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.pricelistStatus:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pricelistStatus--current{color:#146c49;background:#edf9f2;border-color:#bee7d1}.pricelistStatus--scheduled{color:#8b6000;background:#fff9e8;border-color:#f3dfaa}.pricelistActions{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.pricelistActions button{white-space:nowrap;min-height:32px;padding:.4rem .55rem;font-size:.75rem}.pricelistTextButton{box-shadow:none;color:var(--danger);background:0 0;border:0}.pricelistTextButton:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);box-shadow:none}.pricelistFormIntro{margin:0 0 1.15rem}.pricelistForm{gap:1rem;display:grid}.pricelistFormDates{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pricelistAmountInput{position:relative}.pricelistAmountInput input{padding-right:4rem}.pricelistAmountInput span{color:var(--muted);pointer-events:none;font-size:.78rem;font-weight:800;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.pricelistForm textarea{min-height:80px}.pricelistModalActions{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;padding-top:.9rem;display:flex}.headerActions{gap:.7rem;min-width:min(390px,100%);display:grid}.profilePanel{grid-template-columns:auto 1fr;align-items:center;gap:1rem;display:grid}.profilePanel h2,.profilePanel p{margin:0}.profileDetails{grid-column:1/-1;margin-top:.75rem}.profileSection{grid-column:1/-1}.profileSection h3{margin-bottom:.5rem}.checkLabel{border-radius:var(--radius-sm);align-items:center;gap:.6rem;min-height:42px;padding:.45rem .6rem;display:flex}.checkLabel:hover{background:var(--surface-soft)}.checkLabel input{width:17px;min-height:17px;accent-color:var(--primary-600)}.subjectChecklist{gap:.35rem;margin:1rem 0;display:grid}.checklistSummary{flex-wrap:wrap;gap:.35rem;display:flex}.checkDone,.checkMissing{border:1px solid;border-radius:999px;padding:.22rem .48rem;font-size:.68rem;font-weight:750}.checkDone{color:var(--success);background:var(--success-bg);border-color:#c9ecd8}.checkMissing{color:var(--danger);background:var(--danger-bg);border-color:#ffd2d6}.instructionPanel{border-left:4px solid var(--primary-600);background:var(--primary-50)}.instructionPanel p{margin-bottom:0}.pager{min-width:0;color:var(--text-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem;font-weight:700;display:flex}.inlineForm,.scoreEditor{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.inlineForm{min-width:360px}.inlineForm input{width:auto;min-width:85px}.preExamTabs{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.scoreEditor input{width:100px}.mfaFactors{border:1px solid var(--border);border-radius:var(--radius-md);gap:.65rem;padding:.85rem;display:grid}.mfaFactors legend{color:var(--text-soft);padding:0 .35rem;font-weight:750}.mfaEnrollment{border-top:1px solid var(--border);padding-top:.8rem}.mfaEnrollment>summary{cursor:pointer;color:var(--primary-700);font-weight:750}.mfaEnrollment>:not(summary){margin-top:.85rem}.recoveryCodes{border:2px solid var(--warning);border-radius:var(--radius-md);padding:1rem}.recoveryCodes ol{columns:2;padding-left:1.8rem}.recoveryCodes code{-webkit-user-select:all;user-select:all}.campaignCard{padding:clamp(1.1rem,2vw,1.55rem)}.campaignCardHeader{border-bottom:1px solid var(--border-soft);gap:.35rem;margin-bottom:1.25rem;padding-bottom:1.05rem;display:grid}.campaignCardHeader h2{margin:0}.campaignPlaceholders{color:var(--primary-600);overflow-wrap:anywhere;margin:0;font-size:.8rem;font-weight:650}.campaignCompose{grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);align-items:start;gap:1.25rem 1.75rem;display:grid}.campaignFields{gap:1rem;display:grid}.campaignBody{min-height:185px}.campaignSide{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);gap:1rem;padding:1.1rem;display:grid}.campaignSideSection{gap:.6rem;display:grid}.campaignSideSection+.campaignSideSection{border-top:1px solid var(--border);padding-top:1rem}.campaignSideTitle{color:var(--text);margin:0 0 .15rem;font-size:.85rem;font-weight:800}.switchField{min-height:42px;color:var(--text-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;display:flex}.switchField span{min-width:0}.switchField input[type=checkbox]{appearance:none;cursor:pointer;width:44px;height:25px;min-height:25px;transition:background var(--transition), border-color var(--transition);background:#dae2ed;border:1px solid #b9c7d9;border-radius:999px;flex:none;margin:0;padding:0;position:relative}.switchField input[type=checkbox]:after{content:"";width:19px;height:19px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f1e3759}.switchField input[type=checkbox]:checked{background:var(--primary-600);border-color:var(--primary-600)}.switchField input[type=checkbox]:checked:after{transform:translate(19px)}.campaignActions{border-top:1px solid var(--border-soft);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:.65rem;padding-top:1.15rem;display:flex}.campaignActions .navIcon{width:17px;height:17px}.campaignPreview{border-radius:var(--radius-md);background:var(--primary-50);border:1px solid #cfe0f4;gap:.5rem;margin-top:1.25rem;padding:1rem 1.15rem;display:grid}.campaignPreview h3{color:var(--primary-700);margin:0}.campaignPreview p{margin:0}.campaignPreview ul{color:var(--text-soft);margin:0;padding-left:1.15rem}.campaignChannels{flex-wrap:wrap;gap:.3rem;display:inline-flex}.channelChip{background:var(--primary-50);color:var(--primary-700);border:1px solid #c9daed;border-radius:999px;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.channelChipEmail{background:var(--success-bg);color:var(--success);border-color:#bee7d1}.status-queued:before,.status-sending:before{background:#d99614}.status-completed:before{background:#24985a}.status-failed:before{background:#b4232c}@media (width<=1000px){.campaignCompose{grid-template-columns:1fr}.campaignActions{grid-column:auto}}@media (width<=520px){.campaignActions{flex-direction:column}.campaignActions button{width:100%}}.modalBackdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#07101fad;place-items:center;padding:1rem;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);border-radius:var(--radius-xl);background:#fff;width:min(920px,100%);max-height:92vh;animation:.18s modalIn;overflow:hidden;box-shadow:0 28px 80px #030c1b61}.modal>header{border-bottom:1px solid var(--border);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.modal header h2,.modal header p{margin-top:0;margin-bottom:0}.modalClose{width:38px;height:38px;min-height:38px;color:var(--text-soft);border-color:var(--border);box-shadow:none;background:#fff;border-radius:50%;flex:none;padding:0;font-size:1.35rem}.modalClose:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);box-shadow:none;border-color:#ffd2d6}.modalBody{max-height:calc(92vh - 76px);padding:1.25rem;overflow:auto}.modalBody .card{background:var(--surface-soft);box-shadow:none}.modalActions{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.985)}}@media (width<=1000px){.shell{grid-template-columns:268px minmax(0,1fr)}.sidebar{padding-inline:.7rem}}@media (width<=780px){.pricelistFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.pricelistSearch{grid-column:1/-1}.leadPublicPanel,.leadForm{grid-template-columns:1fr}.leadForm button{width:100%}.shell{display:block}.sidebar{border-radius:18px;height:auto;margin:10px;padding:1rem;position:relative;overflow:visible}.mainArea{border-radius:18px;min-height:0;margin:0 10px 10px}.topbar{border-radius:18px 18px 0 0}.sidebarUser{display:none}.sidebar nav{flex:none;gap:.75rem;margin:0;padding:0 0 .25rem;display:flex;overflow:auto visible}.navGroup{flex:none;gap:.25rem;display:flex}.navLabel{display:none}.sidebar nav a{white-space:nowrap;border:1px solid #ffffff14}.sidebar nav a.active:before,.sidebar nav a.active:after{display:none}.sidebarFooter{border-top:0;margin:0;padding:0;position:absolute;top:1rem;right:1rem}.logoutButton{width:auto;min-height:44px}.topbar{min-height:62px}.topbarUser{display:none}.content{padding:1rem}.toolbar,.pageHeader{flex-direction:column;align-items:stretch}.toolbar input{max-width:none}.studentHero{grid-template-columns:auto 1fr}.studentHero .statusBadge{grid-column:1/-1}.details{grid-template-columns:1fr}.detailItem{grid-template-columns:minmax(120px,40%) minmax(0,1fr);display:grid}.details .detailItem:last-child dt,.details .detailItem:last-child dd{border-bottom:1px solid var(--border-soft)}.details .detailItem:last-child dd{border-bottom:0}.inlineForm{min-width:280px}}@media (width<=520px){.pricelistHeader>button{width:100%}.pricelistSummary{grid-template-columns:1fr 1fr}.pricelistSummary article:last-child{grid-column:1/-1}.pricelistFilters,.pricelistFormDates{grid-template-columns:1fr}.pricelistSearch{grid-column:auto}.pricelistCatalog{padding:1rem}.pricelistCatalog .sectionHeader{flex-direction:column;align-items:flex-start}.pricelistModalActions button{flex:1 1 0}.loginPage{padding:1rem}.loginCard{padding:1.35rem}.brand small{display:none}.logoutButton{width:44px;padding:0}.logoutButton .logoutLabel{display:none}.metricGrid,.gridCards,.formGrid,.versionWorkspace{grid-template-columns:1fr}.buttonGroup>button,.buttonGroup>.buttonLink{flex:auto}.detailItem{grid-template-columns:1fr}.details dt{padding-bottom:.25rem}.details dd{padding-top:.25rem}.pager{justify-content:flex-start}.pager span{overflow-wrap:anywhere;flex:1 0 100%}.pager button{flex:calc(50% - .375rem);min-width:0;padding-inline:.65rem}.inlineForm{min-width:0}.modalBackdrop{padding:.5rem}.modal{border-radius:var(--radius-lg)}.modalBody{padding:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.topbarActions{align-items:center;gap:1rem;display:flex}.languageToggle{align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.languageToggle button{appearance:none;box-shadow:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.2rem .25rem}.languageToggle button.active{color:var(--primary-700);text-underline-offset:.2rem;font-weight:800;text-decoration:underline}.languageToggle button:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px;border-radius:.2rem}.loginLanguage{justify-content:flex-end;display:flex}.examCalendar{margin-bottom:0}.examCalendarHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.examCalendarHeading h1{margin:0}.examCalendarMonth{margin:.35rem 0 0;font-size:.92rem}.examCalendarNav{align-items:center;gap:.5rem;display:flex}.examCalendarNavButton{width:44px;min-height:44px;padding:0}.examCalendarNavButton .navIcon{width:18px;height:18px}.examCalendarTodayButton{min-height:44px;padding-inline:1.15rem}.examCalendarLegend{flex-wrap:wrap;align-items:center;gap:1.35rem;margin-bottom:.75rem;display:flex}.examCalendarLegendItem{color:var(--text-soft);align-items:center;gap:.45rem;font-size:.82rem;font-weight:650;display:inline-flex}.examCalendarLegendItem:before{content:"";border-radius:50%;width:9px;height:9px}.examCalendarLegendItem--registered:before{background:var(--primary-500)}.examCalendarLegendItem--available:before{background:#1f9d5f}.examCalendarWrap{background:0 0;border:0;border-radius:0}.examCalendarTable{border-collapse:separate;border-spacing:.3rem;table-layout:fixed;min-width:640px}.examCalendarTable th{color:#64748b;letter-spacing:.1em;text-align:center;background:0 0;border:0;padding:.35rem .55rem .55rem;font-size:.67rem;position:static}.examCalendarDay{vertical-align:top;min-width:0;height:7rem;transition:background var(--transition);background:0 0;border:0;border-radius:12px;padding:.55rem .6rem;position:relative}.examCalendarDay:not(.empty):hover{background:#f1f5f9}.examCalendarDay.today{background:var(--primary-50)}.examCalendarDay.today:hover{background:#e6f0ff}.examCalendarDay.empty{background:0 0}.examCalendarDayNumber{width:28px;height:28px;color:var(--text-soft);font-variant-numeric:tabular-nums;place-items:center;margin-bottom:.4rem;font-size:.82rem;font-weight:650;display:grid}.examCalendarDay.today .examCalendarDayNumber{background:var(--primary-600);color:#fff;border-radius:50%;box-shadow:0 6px 14px #1e5fae4d}.examCalendarDay .examCalendarChip{text-align:left;border:1px solid #0000;border-radius:9px;gap:.15rem;width:100%;margin-bottom:.3rem;padding:.42rem .55rem;font-size:.73rem;line-height:1.3;display:grid}.examCalendarChip strong{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-size:.68rem;font-weight:800;display:inline-flex}.examCalendarChip strong:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.examCalendarChip span{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.examCalendarChip small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem;display:block;overflow:hidden}.examCalendarChip.registered{background:var(--primary-50);color:var(--primary-700);border-color:#d7e7fb}.examCalendarChip.available{background:var(--success-bg);color:var(--success);border-color:#c9ecd8}.examCalendarEmpty{margin:.9rem 0 0}.examsCalendarCard{padding:clamp(1.1rem,2.2vw,1.6rem)}.examsSection{gap:.9rem;display:grid}.examsSection>h2,.examsSectionHeader h2{margin:0;font-size:1.24rem}.examsSectionHeader p{margin:.35rem 0 0}.examCards{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.examCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr) auto;align-items:center;gap:1.25rem;padding:1.1rem 1.3rem 1.1rem 1.55rem;display:grid;position:relative;overflow:hidden}.examCard:before{content:"";background:var(--primary-500);border-radius:0 4px 4px 0;width:4px;position:absolute;inset:0 auto 0 0}.examCard--info:before{background:linear-gradient(180deg, #4d8fd6, var(--primary-600));box-shadow:0 0 12px #1e5fae66}.examCard--positive:before{background:linear-gradient(#34b26f,#15803d);box-shadow:0 0 12px #15803d66}.examCard--negative:before{background:linear-gradient(#f05252,#c81e1e);box-shadow:0 0 12px #c81e1e66}.examCardBody{gap:.4rem;min-width:0;display:grid}.examCardCode{color:#55657c;letter-spacing:.04em;background:#eef2f7;border-radius:6px;justify-self:start;padding:.18rem .5rem;font-size:.72rem;font-weight:800}.examCardTitle{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:1.02rem}.examCardMeta{color:var(--muted);flex-wrap:wrap;gap:.3rem 1.1rem;margin:0;font-size:.8rem;display:flex}.examCardMeta span{align-items:center;gap:.35rem;display:inline-flex}.examCardMeta .navIcon{opacity:.85;width:15px;height:15px}.examCardFields{flex-wrap:wrap;gap:1rem 1.5rem;min-width:0;margin:0;display:flex}.examCardField{flex:128px;gap:.3rem;min-width:0;display:grid}.examCardField dt{color:#6b7a90;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.examCardField dd{margin:0}.examCardValue{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:.95rem;font-weight:750;display:inline-flex}.examCardValue .navIcon{flex-shrink:0;width:16px;height:16px}.examCardValue strong{overflow-wrap:anywhere;min-width:0}.examCardValue--info{color:var(--primary-700)}.examCardValue--positive{color:var(--success)}.examCardValue--negative{color:var(--danger)}.examCardHint{color:var(--muted);font-size:.74rem}.examCardAction{justify-content:flex-end;display:flex}.examCardAction button{min-width:108px}.examCardAction button:disabled{color:#61708a;opacity:1;box-shadow:none;background:#eef2f7;border-color:#0000}.examCard--attempt{grid-template-columns:minmax(0,1.6fr) auto}.examAttemptScores{align-items:center;gap:1.4rem;display:flex}.examAttemptScore{justify-items:center;gap:.25rem;min-width:58px;display:grid}.examAttemptScore span{color:#6b7a90;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.examAttemptValue{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800}.examAttemptValue--positive{color:var(--success)}.examAttemptValue--negative{color:var(--danger)}.examAttemptStatus{border-left:1px solid var(--border-soft);letter-spacing:.06em;text-transform:uppercase;padding-left:1.4rem;font-size:.78rem;font-weight:800}.examAttemptStatus--positive{color:var(--success)}.examAttemptStatus--negative{color:var(--danger)}.examEmpty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;justify-items:center;gap:.45rem;padding:2.1rem 1.5rem;display:grid}.examEmptyIcon{background:var(--primary-50);width:56px;height:56px;color:var(--primary-600);border-radius:50%;place-items:center;margin-bottom:.3rem;display:grid}.examEmptyIcon .navIcon{width:26px;height:26px}.examEmpty strong{font-size:1.02rem}.examEmpty p{max-width:560px;color:var(--muted);margin:0}@media (width<=1160px){.examCard,.examCard--attempt{grid-template-columns:minmax(0,1fr) auto;align-items:start}.examCardFields,.examAttemptScores{grid-column:1/-1}.examAttemptScores{justify-content:flex-start}.examCardAction{grid-column:1/-1}.examCardAction button{width:100%}}@media (width<=780px){.examCalendarDay{height:auto;min-height:5.6rem}}@media (width<=640px){.examCard{grid-template-columns:minmax(0,1fr)}.examCardFields{gap:.8rem;display:grid}.examAttemptScores{gap:.9rem;display:grid}.examAttemptScore{border:0;grid-template-columns:auto auto;place-items:center start;gap:.6rem;padding:0}.examAttemptStatus{border-left:0;border-top:1px solid var(--border-soft);padding:.7rem 0 0}}.studentsHeader{align-items:center;margin-bottom:1.35rem}.studentsHeader h1{margin:0}.studentsHeader .buttonGroup{flex:none}.studentsHeader .buttonGroup>button,.studentsHeader .buttonGroup>.buttonLink{white-space:nowrap;min-height:42px}.studentsTabs,.catalogTabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.35rem;padding-bottom:0}.studentsTabs button,.catalogTabs button{min-height:44px;color:var(--text-soft);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.55rem .9rem}.studentsTabs button:hover:not(:disabled),.catalogTabs button:hover:not(:disabled){color:var(--primary-700);box-shadow:none;background:0 0;border-bottom-color:#b9cde4;transform:none}.studentsTabs button.active,.catalogTabs button.active{color:var(--primary-700);border-bottom-color:var(--primary-600);box-shadow:none;background:0 0}.studentsFilters{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin-bottom:1.35rem;display:grid}.studentsFilters--index{grid-template-columns:minmax(220px,1fr) minmax(150px,190px) minmax(140px,170px) auto}.studentsFilters .searchField{display:block}.studentsFilters .searchField input{min-height:44px;padding-left:2.7rem}.studentsFilters>button{min-height:44px;padding-inline:1.35rem}.studentsFilters .filterField{font-size:.8rem}.studentsFilters--index select{min-height:44px}.filterField,.searchFilterField{min-width:0}.studentIdentity{align-items:center;gap:.8rem;min-width:265px;display:flex}.studentIdentityAvatar{background:var(--primary-100);width:40px;height:40px;color:var(--primary-700);letter-spacing:.03em;text-transform:uppercase;border:1px solid #cfe0f4;border-radius:50%;flex:none;place-items:center;font-size:.76rem;font-weight:800;display:grid}.studentIdentityText{gap:.12rem;min-width:0;display:grid}.studentIdentityText strong{color:var(--text);font-size:.92rem;font-weight:750;line-height:1.3}.studentIdentityText small{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;line-height:1.35}.studentsTable{background:0 0;border:0;border-radius:0}.studentsTable table{min-width:960px}.studentsTable th{color:#67788f;background:var(--surface);border-bottom:1px solid var(--border);letter-spacing:.075em;padding:.4rem .95rem .8rem;font-size:.67rem}.studentsTable td{border-bottom:1px solid var(--border-soft);padding:1rem .95rem}.studentsTable th:first-child,.studentsTable td:first-child{padding-left:.15rem}.studentsTable th:last-child,.studentsTable td:last-child{text-align:right;padding-right:.15rem}.studentsTable .iconButton{color:#64748b;background:0 0;border-color:#0000;width:40px;height:40px}.studentsTable .iconButton:hover{background:var(--primary-50);color:var(--primary-700);border-color:#0000}.professorsTable table{min-width:720px}.professorsTable .studentIdentity{min-width:240px}@media (width>=641px){.professorsTable td:last-child .buttonGroup{justify-content:flex-end}}.subjectCode{background:var(--surface-soft);color:#42546b;font-variant-numeric:tabular-nums;border:1px solid #d6e2f0;border-radius:6px;padding:.2rem .5rem;font-size:.78rem;font-weight:800;display:inline-flex}.subjectCell{gap:.12rem;min-width:0;display:grid}.subjectCell strong{font-weight:750}.subjectCell small{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.instructorList{flex-wrap:wrap;gap:.32rem;display:flex}.instructorChip{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;align-items:baseline;gap:.35rem;padding:.25rem .55rem;font-size:.8rem;display:inline-flex}.instructorChip strong{font-weight:700}.instructorChip small{color:var(--muted);font-size:.7rem}.examPeriodsPage{gap:.9rem;display:grid}.periodSectionHeader{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;margin-bottom:.8rem;padding-bottom:.65rem;display:flex}.periodSectionHeader h2{margin:0}.periodCount{background:var(--primary-50);color:var(--primary-700);border-radius:99px;padding:.15rem .5rem;font-size:.72rem;font-weight:800}.periodList{gap:.55rem;display:grid}.periodArchive>summary{cursor:pointer;list-style:none}.periodArchive>summary::-webkit-details-marker{display:none}.periodArchive>summary::marker{content:""}.periodArchiveChevron{width:17px;height:17px;color:var(--muted);transition:transform var(--transition);margin-left:auto}.periodArchive[open] .periodArchiveChevron{transform:rotate(90deg)}.periodArchive[open]>summary{margin-bottom:.8rem}.periodCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);border-left:3px solid #cbd7e6;grid-template-columns:54px minmax(0,1fr) auto;gap:.9rem;padding:.6rem .85rem;display:grid}.periodCard--current{border-left-color:var(--primary-600)}.periodCard--past{background:var(--surface-soft)}.periodDateTile{background:var(--primary-50);min-height:52px;color:var(--primary-700);border-radius:10px;align-content:center;align-self:center;justify-items:center;gap:0;padding:.25rem;display:grid}.periodDateTile span{letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:800}.periodDateTile strong{font-variant-numeric:tabular-nums;font-size:1.12rem;line-height:1.15}.periodCard--past .periodDateTile{color:#526176;background:#f1f4f8}.periodCardBody{gap:.28rem;min-width:0;display:grid}.periodCardHead{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.periodCardHead h3{letter-spacing:-.01em;margin:0;font-size:.95rem}.periodCardHead .statusBadge{padding:.18rem .5rem;font-size:.67rem}.periodCardYear{color:var(--muted);margin-left:auto;font-size:.77rem;font-weight:700}.periodCardMeta{color:var(--muted);flex-wrap:wrap;gap:.15rem .95rem;margin:0;font-size:.77rem;display:flex}.periodCardMeta span{align-items:center;gap:.32rem;display:inline-flex}.periodCardMeta .navIcon{opacity:.8;width:14px;height:14px}.periodChecks{color:#8b6000;background:#fff9e8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.3rem .8rem;margin:.1rem 0 0;padding:.35rem .55rem;font-size:.74rem;display:flex}.periodChecks ul{flex-wrap:wrap;gap:.3rem .9rem;margin:0;padding:0;list-style:none;display:flex}.periodCardSide{border-left:1px solid var(--border-soft);align-self:center;align-items:center;gap:.5rem;padding-left:.85rem;display:flex}.periodExamCount{color:var(--muted);white-space:nowrap;align-items:baseline;gap:.35rem;font-size:.77rem;display:inline-flex}.periodExamCount strong{color:var(--primary-700);font-variant-numeric:tabular-nums;font-size:1.12rem}.periodCardActions{align-items:center;gap:.4rem;display:flex}.periodCardActions .buttonLink{min-height:34px;padding:.35rem .6rem;font-size:.79rem}.periodCardActions .iconButton{width:34px;height:34px;min-height:34px}.periodCardActions .iconButton .navIcon{width:16px;height:16px}.periodForm{gap:1rem;display:grid}.periodFormSection{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);gap:.8rem;padding:1rem;display:grid}.periodFormActions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.statusBadge--positive{background:var(--success-bg);color:var(--success);border-color:#bee7d1}.statusBadge--neutral{color:#526176;background:#f3f6fa;border-color:#d5deea}.statusBadge--warning{color:#8b6000;background:#fff9e8;border-color:#f3dfaa}.statusBadge--active{color:var(--primary-700);background:#e9f3ff;border-color:#bfd9f7}.statusBadge--active:before{background:var(--primary-500);box-shadow:0 0 0 3px #3177c829}@media (width<=780px){.periodCard{grid-template-columns:54px minmax(0,1fr)}.periodCardYear{margin-left:0}.periodCardSide{border:0;border-top:1px solid var(--border-soft);grid-column:2;align-self:auto;padding:.5rem 0 0}}@media (width<=560px){.periodCard{grid-template-columns:1fr;gap:.55rem;padding:.7rem .8rem}.periodDateTile{grid-auto-flow:column;justify-content:start;align-self:auto;place-items:center start;gap:.4rem;min-height:0;padding:.25rem .55rem}.periodCardSide{grid-column:1}}.ectsBadge--low{background:var(--danger-bg);color:var(--danger);border-color:#f3c9cd}.ectsBadge--mid{background:var(--primary-50);color:var(--primary-700);border-color:#cfe0f4}.ectsBadge--high{background:var(--success-bg);color:var(--success);border-color:#bee7d1}.adminExamsPage{gap:.9rem;display:grid}.adminExamsPage>*{min-width:0}.compactPageHeader{align-items:center;margin-bottom:0}.compactPageHeader h1{margin:0}.compactPageHeader p{margin:.3rem 0 0}.compactPageHeader .buttonGroup{flex:none}.compactPageHeader .buttonLink{white-space:nowrap}.examPeriodBar{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.examPeriodSelect{flex:0 340px;min-width:0}.examPeriodSelect select{min-height:40px}.examPeriodInfo{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .85rem;margin:0;font-size:.79rem;display:flex}.examPeriodsSummaryIcon{background:var(--primary-50);width:42px;min-width:42px;height:42px;color:var(--primary-700);border-radius:12px;place-items:center;display:grid}.examPeriodsSummaryIcon .navIcon{width:20px;height:20px}.examPeriodsSummary article>div>span:not(.examPeriodsSummaryIcon){color:var(--muted);font-size:.78rem;font-weight:750}.examPeriodsSummary article small{color:var(--muted);font-size:.74rem;line-height:1.4}.compactStats{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.compactStats--three{grid-template-columns:repeat(3,minmax(0,1fr))}.compactStats article{align-items:center;gap:.6rem;min-width:0;padding:.55rem .8rem;display:flex}.compactStats article+article{border-left:1px solid var(--border-soft)}.compactStats .navIcon{width:17px;height:17px;color:var(--primary-600)}.compactStats article.isWarning .navIcon{color:#8b6000}.compactStats article.isPositive .navIcon{color:var(--success)}.compactStats article>div{gap:.05rem;min-width:0;display:grid}.compactStats span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem;font-weight:750;overflow:hidden}.compactStats strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem;line-height:1.15}.examSection{gap:.7rem;display:grid}.examSectionHeader{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.examSectionHeader h2{margin:0}.examsToolbar{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.examsToolbar .searchField{flex:260px}.examsToolbar .filterField{flex:0 220px}.examsToolbar .searchField input,.examsToolbar select{min-height:40px}.adminExamList{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.adminExam{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);border-left:3px solid #cbd7e6;grid-template-columns:54px minmax(0,1fr) auto;gap:.9rem;padding:.6rem .85rem;display:grid}.adminExam--registrationOpen{border-left-color:var(--primary-600)}.adminExam--locked{border-left-color:var(--success)}.adminExam--incomplete{border-left-color:#e0a800}.adminExamDate{background:var(--primary-50);min-height:52px;color:var(--primary-700);border-radius:10px;align-content:center;align-self:center;justify-items:center;gap:0;padding:.25rem;display:grid}.adminExamDate span{letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:800}.adminExamDate strong{font-variant-numeric:tabular-nums;font-size:1.12rem;line-height:1.15}.adminExam--finished .adminExamDate{color:#526176;background:#f1f4f8}.adminExamBody{gap:.28rem;min-width:0;display:grid}.adminExamHead{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.adminExamHead h3{letter-spacing:-.01em;margin:0;font-size:.95rem}.adminExamHead .statusBadge{padding:.18rem .5rem;font-size:.67rem}.adminExamProfessor{color:var(--muted);align-items:center;gap:.3rem;margin-left:auto;font-size:.77rem;display:inline-flex}.adminExamProfessor .navIcon{width:14px;height:14px}.adminExamMeta{color:var(--muted);flex-wrap:wrap;gap:.15rem .95rem;margin:0;font-size:.77rem;display:flex}.adminExamMeta span{align-items:center;gap:.32rem;display:inline-flex}.adminExamMeta .navIcon{opacity:.8;width:14px;height:14px}.adminExamActions{border-left:1px solid var(--border-soft);align-self:center;align-items:center;gap:.4rem;padding-left:.85rem;display:flex}.adminExamActions .buttonLink{min-height:34px;padding:.35rem .6rem;font-size:.79rem}.adminExamActions .iconButton{width:34px;height:34px;min-height:34px}.adminExamActions .iconButton .navIcon{width:16px;height:16px}.examModalSubject{gap:.15rem;margin:0;display:grid}.examModalSubject span{color:var(--muted);font-size:.84rem}@media (width<=900px){.compactStats{grid-template-columns:repeat(2,minmax(0,1fr))}.compactStats article:nth-child(odd){border-left:0}.compactStats article:nth-child(n+3){border-top:1px solid var(--border-soft)}}@media (width<=780px){.adminExam{grid-template-columns:54px minmax(0,1fr)}.adminExamActions{border:0;border-top:1px solid var(--border-soft);grid-column:2;align-self:auto;padding:.5rem 0 0}.adminExamProfessor{margin-left:0}}@media (width<=560px){.compactStats{grid-template-columns:1fr}.compactStats article+article{border-left:0;border-top:1px solid var(--border-soft)}.adminExam{grid-template-columns:1fr;gap:.55rem;padding:.7rem .8rem}.adminExamDate{grid-auto-flow:column;justify-content:start;align-self:auto;place-items:center start;gap:.4rem;min-height:0;padding:.25rem .55rem}.adminExamActions{grid-column:1}}.iconButton{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;min-height:38px;color:var(--text-soft);box-shadow:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.iconButton .navIcon{width:18px;height:18px}.iconButton:hover{background:var(--primary-50);color:var(--primary-700);box-shadow:none;border-color:#8eb3db}.importPanel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:1.15rem 1.25rem}.importPanel h2,.importPanel p{margin-top:0}.bookingSubline{color:var(--muted);margin-top:.35rem;display:block}.bookingBadge{border-radius:.4rem;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.bookingBadge-HIGH_DEBT,.bookingBadge-REVIEW{color:#8a3412;background:#fff0d9}.financeRow-HIGH_DEBT td:first-child{border-left:4px solid #ea580c}.financeRow-CREDIT td:first-child{border-left:4px solid #0284c7}.bookingNotice{color:#0c4a6e;background:#f0f9ff;border-left:3px solid #0284c7;border-radius:.35rem;padding:.8rem 1rem}.bookingCounts{flex-wrap:wrap;gap:.6rem;display:flex}.bookingCounts span{border:1px solid var(--border);border-radius:.5rem;padding:.5rem .8rem}.bookingCandidates{gap:.8rem;min-width:16rem;max-width:32rem;display:grid}.bookingCandidate{border:1px solid var(--border);border-radius:.6rem;gap:.35rem;padding:.75rem;display:grid}.bookingScore{float:right;color:#155e75;margin-left:1rem}.bookingIssue{color:#9a3412;margin:0}.bookingSearchResults{gap:.4rem;max-height:18rem;display:grid;overflow-y:auto}.bookingSearchResults button{text-align:left}.bookingSearchResults button[aria-pressed=true]{outline-offset:-2px;outline:2px solid #0284c7}.importPanel .sectionHeader{margin-bottom:.9rem}.importPanel .formGrid{align-items:end}@media (width<=1000px){.studentsFilters--index{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.studentsFilters--index .searchFilterField{grid-column:1/-1}}@media (width<=780px){.studentsFilters,.studentsFilters--index{grid-template-columns:1fr}.searchFilterField{grid-column:auto}.studentsFilters>button{width:100%}.studentsTabs{flex-wrap:nowrap;overflow-x:auto}.studentsTabs button{white-space:nowrap}}.onboardingSteps{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.onboardingStep{min-width:0;position:relative}.onboardingStep+.onboardingStep:before{content:"";background:var(--border);border-radius:999px;height:2px;position:absolute;top:20px;left:calc(26px - 50%);right:calc(50% + 26px)}.onboardingStep.complete+.onboardingStep:before{background:#a9c9ea}.onboardingStepButton{border-radius:var(--radius-md);width:100%;min-height:0;color:var(--muted);box-shadow:none;text-align:center;background:0 0;border:0;justify-items:center;gap:.45rem;padding:.2rem;display:grid}.onboardingStepButton:hover:not(:disabled):not([aria-disabled=true]){color:var(--primary-700);box-shadow:none;background:0 0;transform:none}.onboardingStepButton[aria-disabled=true]{cursor:default}.onboardingStepCircle{border:2px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.92rem;font-weight:800;display:grid}.onboardingStepCircle .navIcon{width:20px;height:20px}.onboardingStep.current .onboardingStepCircle{border-color:var(--primary-600);background:var(--primary-600);color:#fff;box-shadow:0 8px 18px #174c8f42}.onboardingStep.complete .onboardingStepCircle{border-color:var(--primary-500);color:var(--primary-600)}.onboardingStep.current .onboardingStepButton{color:var(--primary-700)}.onboardingStepLabel{font-size:.8rem;font-weight:750;line-height:1.3}.onboardingWizard{gap:1rem;display:grid}.onboardingFormCard{gap:1.1rem;margin-bottom:0;padding:clamp(1.1rem,2.4vw,1.6rem);display:grid}.onboardingSectionTitle{border-bottom:1px solid var(--border-soft);margin:0;padding-bottom:.75rem;font-size:1.08rem}.onboardingGrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem 1.1rem;display:grid}.onboardingSubsection{border-top:1px solid var(--border-soft);grid-column:1/-1;margin:.5rem 0 -.2rem;padding-top:1.05rem;font-size:.98rem}.onboardingPanel{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-soft);grid-column:1/-1;margin:0;padding:.9rem 1rem 1rem;display:block}.onboardingPanel legend{float:left;width:100%;color:var(--text);padding:0 0 .5rem;font-size:.88rem;font-weight:750}.onboardingChoices{clear:both;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .7rem;display:grid}.onboardingChoices .checkLabel,.fieldLabel{min-width:0}.readonlyField{color:var(--muted);background:#f0f3f7}.requiredMark{color:var(--danger)}.onboardingActions{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.onboardingActions .buttonGroup{gap:.6rem}.onboardingActions .navIcon{flex:none;width:17px;height:17px}.onboardingBack{color:var(--text-soft);box-shadow:none;background:0 0;border:0}.onboardingBack:hover:not(:disabled){background:var(--surface-soft);color:var(--primary-700);box-shadow:none;transform:none}.successButton{background:var(--success)}.successButton:hover:not(:disabled){background:#13603d}@media (width<=1000px){.onboardingGrid,.onboardingChoices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.onboardingStepLabel{font-size:.72rem}.onboardingActions{flex-direction:column;align-items:stretch}.onboardingActions .buttonGroup{grid-template-columns:1fr;display:grid}}@media (width<=520px){.onboardingGrid,.onboardingChoices{grid-template-columns:1fr}.onboardingStepCircle{width:34px;height:34px;font-size:.82rem}.onboardingStep+.onboardingStep:before{top:17px;left:calc(23px - 50%);right:calc(50% + 23px)}}.paymentSlip{color:#233746;background:#fff;border:2px solid #536876;border-radius:8px;padding:20px;position:relative}.paymentSlip h3{padding-right:90px}.paymentSlipExample{letter-spacing:.1em;color:#657887;font-size:.8rem;position:absolute;top:24px;right:20px}.paymentSlipGrid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.paymentSlipField{overflow-wrap:anywhere;border:1px solid #82949f;flex-direction:column;gap:6px;padding:12px;display:flex}.paymentSlipField small{color:#526775}.enrollmentTuition{flex-basis:100%}.financeRow-CLEAR{background:#edf8f2}.financeRow-LOW_DEBT{background:#fffbe9}.financeRow-MEDIUM_DEBT{background:#fff0d7}.financeRow-DEBT{background:#ffe5ce}.financeRow-HIGH_DEBT{background:#ffe2e2}.financeRow-CREDIT{background:#eaf3ff}.bookingBadge-LOW_DEBT{color:#695400;background:#fff2b5}.bookingBadge-MEDIUM_DEBT{color:#764000;background:#ffdcab}.bookingBadge-DEBT{color:#753400;background:#ffc79e}.bookingBadge-HIGH_DEBT{color:#861b1b;background:#ffc6c6}.bookingBadge-CLEAR{color:#21603d;background:#d5f0df}.bookingBadge-CREDIT{color:#224f82;background:#d5e8ff}.financeLegend{flex-wrap:wrap;gap:8px}@media (width<=640px){.paymentSlipGrid{grid-template-columns:1fr;gap:12px}.paymentSlip{padding:12px}}svg.navIcon{flex:none;width:18px;height:18px}:root{--warning:#b7791f}.paginationControls{flex-wrap:wrap}.tableWrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.details>dd:last-of-type{border-bottom:0}.navBackdrop,.navOpenButton,.sidebarClose{display:none}body.navOpen{overflow:hidden}@media (width<=780px){.shell{display:block}.navOpenButton{border-radius:12px;flex:none;width:42px;height:42px;min-height:42px;padding:0;display:inline-flex}.navOpenButton .navIcon{width:21px;height:21px}.navBackdrop{z-index:15;min-height:0;box-shadow:none;opacity:0;pointer-events:none;background:#050c199e;border:0;border-radius:0;padding:0;transition:opacity .18s;display:block;position:fixed;inset:0}.navBackdrop:hover:not(:disabled){box-shadow:none;background:#050c199e;transform:none}.shell.navOpen .navBackdrop{opacity:1;pointer-events:auto}.sidebar{z-index:18;visibility:hidden;border-radius:0 20px 20px 0;width:min(310px,86vw);height:100dvh;margin:0;padding:1rem .8rem .85rem;transition:transform .2s,visibility .2s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.shell.navOpen .sidebar{visibility:visible;transform:none}.sidebar nav{flex:auto;gap:1.15rem;min-height:0;padding:.1rem .3rem;display:grid;overflow:hidden auto}.navGroup{gap:.16rem;display:grid}.navLabel{display:flex}.sidebar nav a{white-space:nowrap;border:1px solid #0000}.sidebar nav a.active:before,.sidebar nav a.active:after{display:block}.sidebarUser{display:flex}.sidebar .brand small{display:block}.sidebarClose{width:36px;height:36px;min-height:36px;box-shadow:none;color:#9fb2d0;background:0 0;border-color:#0000;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:1.45rem;line-height:1;display:inline-flex}.sidebarClose:hover:not(:disabled){color:#fff;box-shadow:none;background:#ffffff14;transform:none}.sidebarFooter{border-top:1px solid #8cafe124;margin-top:auto;padding-top:.9rem;position:static}.logoutButton{width:100%;min-height:48px;padding:.58rem .9rem}.logoutLabel{display:inline}.topbar{z-index:10;border-radius:0;gap:.65rem;padding:.55rem .8rem;position:sticky;top:0}.topbarHeading{flex:auto;min-width:0}.topbarHeading strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbarActions{flex:none;gap:.5rem}.mainArea{border-radius:0;min-height:100vh;margin:0}.content{padding:.9rem .8rem 2.5rem}.card{border-radius:var(--radius-md)}}@media (width<=640px){.pageHeader{flex-direction:column;align-items:stretch}.pageHeader>button,.pageHeader>.buttonLink,.pageHeader>.buttonGroup{width:100%}.pageHeader .buttonGroup>button,.pageHeader .buttonGroup>.buttonLink{flex:auto}.sectionHeader{flex-direction:column;align-items:stretch}.sectionHeader>button,.sectionHeader>.buttonLink{width:100%}.formGrid{grid-template-columns:1fr}.formGrid>button{width:100%}.formGrid fieldset{grid-column:1/-1;min-width:0}.repeatableRow{grid-template-columns:1fr;align-items:stretch}.repeatableRow button{width:100%}.toolbar input,.toolbar select{max-width:none}.inlineForm,.headerActions{min-width:0}.buttonGroup>button,.buttonGroup>.buttonLink{flex:auto}.tabs,.preExamTabs,.requestTabs{flex-wrap:nowrap;width:100%;overflow-x:auto}.tabs button,.preExamTabs button,.requestTabs button{white-space:nowrap;flex:none}.modalBackdrop{align-items:stretch;padding:0}.modal{border:0;border-radius:0;flex-direction:column;width:100%;height:100dvh;max-height:100dvh;display:flex}.modal>header{z-index:2;position:sticky;top:0}.modalBody{flex:auto;max-height:none;padding:.85rem}.modalActions{padding-bottom:calc(1rem + env(safe-area-inset-bottom));background:var(--surface);position:sticky;bottom:0}.loginPage,.leadPublicPage{min-height:100dvh}.examCalendar .tableWrap{background-color:#0000;background-image:linear-gradient(90deg,#fff 30%,#fff0),linear-gradient(90deg,#fff0,#fff 70%),radial-gradient(farthest-side at 0,#0f1e372e,#0000),radial-gradient(farthest-side at 100%,#0f1e372e,#0000);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:32px 100%,32px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.recoveryCodes ol{columns:1}.pricelistTable table{min-width:720px}.examCalendarDay{min-width:4.9rem}.versionWorkspace{grid-template-columns:1fr}.tableWrap:is(.dataTable,.pricelistTable){background:0 0;border:0;border-radius:0;overflow:visible}:is(.dataTable,.pricelistTable) table{width:100%;min-width:0;display:block}:is(.dataTable,.pricelistTable) thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.dataTable,.pricelistTable) tbody{gap:.7rem;display:grid}:is(.dataTable,.pricelistTable) tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:.2rem 0;display:block}:is(.dataTable,.pricelistTable) tbody tr:hover{background:var(--surface)}:is(.dataTable,.pricelistTable) td{border-bottom:1px solid var(--border-soft);text-align:left;grid-template-columns:minmax(92px,34%) minmax(0,1fr);align-items:start;gap:.55rem;padding:.55rem .8rem;display:grid}:is(.dataTable,.pricelistTable) tr td:last-child{border-bottom:0}:is(.dataTable,.pricelistTable) td:empty{display:none}:is(.dataTable,.pricelistTable) td:before{content:attr(data-label);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere;padding-top:.18rem;font-size:.67rem;font-weight:800;display:block}.dataTable .studentIdentity{min-width:0}.dataTable.bookingReviewTable td:last-child{display:block}.dataTable.bookingReviewTable td:last-child:before{margin-bottom:.6rem}.bookingReviewTable .bookingCandidates{width:100%;min-width:0;max-width:none}.bookingReviewTable .bookingCandidate{overflow-wrap:anywhere}.dataTable.studentsTable td:first-child,.dataTable.studentsTable td:last-child{text-align:left;padding-inline:.8rem}.dataTable td>.buttonGroup,.dataTable td>.iconButton{justify-self:start}.dataTable td .details{width:100%}:is(.dataTable,.pricelistTable) td>:is(.statusBadge,.ectsBadge,.pricelistStatus,.checkDone,.checkMissing){justify-self:start}.pricelistTable .pricelistService{min-width:0;max-width:none}.pricelistTable .pricelistPeriod,.pricelistTable .pricelistAmount{white-space:normal}.pricelistTable .pricelistActions{justify-content:flex-start}}@media (width<=420px){.content{padding:.8rem .65rem 2.5rem}.card{padding:.9rem}.metric{font-size:1.9rem}.metricCard strong{font-size:1.25rem}.pricelistSummary{grid-template-columns:1fr}.pricelistSummary article:last-child{grid-column:auto}.pricelistSummary strong{font-size:1.45rem}.topbarEyebrow{display:none}.details>dt{border-bottom:0;padding-bottom:.25rem}.details>dd{padding-top:0}.requestTabs button{padding-inline:.7rem}}
