:root{--sidebar-width:260px;--brand:#5144df;--canvas:#f5f6fb;--ink:#20233b}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink)}a{text-decoration:none}.sidebar{background:#171b35;color:#b7bdd5;width:var(--sidebar-width)!important;padding:30px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:1040}.brand{color:white;display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;margin-bottom:42px}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#929ab9;margin-top:6px}.brand-mark{background:#6757ec;display:grid;place-items:center;width:42px;height:44px;border-radius:13px;font-size:26px}.sidebar-label{font-size:9px;letter-spacing:1.8px;color:#7883a7;margin:0 12px 16px}.sidebar .nav-link{color:#abb4d2;font-size:13px;border-radius:9px;padding:11px 13px;margin-bottom:4px}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#323154;color:white}.sidebar-footer{margin-top:auto;padding-top:26px;font-size:11px}.sidebar-footer small{display:block;margin-left:14px;color:#7883a7;margin-top:5px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#51ceac;margin-right:6px}.app-shell{margin-left:var(--sidebar-width)}.topbar{height:89px;background:var(--bs-body-bg);border-bottom:1px solid var(--bs-border-color);display:flex;align-items:center;padding:20px 38px;gap:15px}.main-content{padding:34px 38px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#787d9c;text-transform:uppercase}.page-heading{font-size:28px;font-weight:750;letter-spacing:-.7px;margin:6px 0 8px}.page-description{color:#777c94;font-size:14px;margin-bottom:28px}.card{border:1px solid var(--bs-border-color);border-radius:14px;box-shadow:0 4px 15px #151b3510}.card-header{background:transparent;border-bottom:1px solid var(--bs-border-color);padding:18px 22px;font-weight:650}.card-body{padding:22px}.metric-number{font-size:34px;font-weight:750;letter-spacing:-1px}.metric-label{font-size:12px;color:#777c94}.btn-primary{--bs-btn-bg:#5144df;--bs-btn-border-color:#5144df;--bs-btn-hover-bg:#4034be;--bs-btn-hover-border-color:#4034be}.btn{font-size:13px;border-radius:8px;padding:9px 14px}.form-label{font-size:12px;font-weight:650}.form-control,.form-select{font-size:13px;min-height:42px;border-radius:8px}.table{font-size:13px;vertical-align:middle}.table>:not(caption)>*>*{padding:15px 17px}.table th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#777c94}.badge{font-weight:550}.hero{background:linear-gradient(115deg,#24224d,#5144df);color:white;overflow:hidden;position:relative;padding:32px;border-radius:16px;margin-bottom:28px}.hero:after{content:"</>";font-size:125px;position:absolute;right:35px;top:-10px;font-weight:700;color:#ffffff18}.hero p{color:#d2cffa;font-size:14px;max-width:560px}.hero a{position:relative;z-index:1}.auth-shell{min-height:100vh;max-width:1100px;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:40px 24px}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.auth-intro h1{font-size:46px;font-weight:780;letter-spacing:-1.8px}.auth-intro p{color:#777c94;line-height:1.9}.auth-intro .brand{color:var(--ink);margin-bottom:48px}.auth-card .card-body{padding:35px}.timeline{border-left:2px solid #ddd9fa;margin-left:8px;padding-left:22px}.timeline-entry{position:relative;margin-bottom:20px;font-size:13px}.timeline-entry:before{content:"";position:absolute;left:-28px;top:6px;width:10px;height:10px;border-radius:100%;background:var(--brand)}.exam-option{display:flex;align-items:center;gap:12px;border:1px solid var(--bs-border-color);border-radius:10px;padding:18px;margin-bottom:12px;cursor:pointer}.exam-option:has(input:checked){border-color:var(--brand);background:#5144df0b}.question-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.question-nav .btn{padding:8px}.exam-timer{font-variant-numeric:tabular-nums;font-size:28px;font-weight:750}.exam-question{min-height:260px}.print-only{display:none}[data-bs-theme=dark]{--canvas:#141727;--ink:#e4e7f5}[data-bs-theme=dark] .auth-intro .brand{color:#e4e7f5}@media(max-width:991px){.app-shell{margin-left:0}.sidebar{position:fixed}.topbar{padding:15px 20px}.main-content{padding:24px 20px}.auth-layout{grid-template-columns:1fr;gap:20px}.auth-intro h1{font-size:34px}.auth-intro .brand{margin-bottom:25px}.hero:after{display:none}}@media print{.sidebar,.topbar,.no-print{display:none!important}.app-shell{margin:0}.main-content{padding:0}.card{box-shadow:none}.print-only{display:block}.page-description{display:none}}

/* Identidad institucional UNIB.E */
:root{--brand:#071c72}.sidebar{background:#071750}.brand-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0}.topbar-logo{object-fit:contain;flex-shrink:0}.auth-institution-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-weight:650}.btn-primary{--bs-btn-bg:#071c72;--bs-btn-border-color:#071c72;--bs-btn-hover-bg:#102e9c;--bs-btn-hover-border-color:#102e9c;--bs-btn-active-bg:#071750;--bs-btn-active-border-color:#071750}.hero{background:linear-gradient(115deg,#071750,#123694)}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#ffffff18}.login-page{background:#fff;color:#25252c}.login-page .auth-shell{max-width:none;min-height:100vh;padding:0;display:block}.institution-login{display:grid;grid-template-columns:65% 35%;min-height:100vh}.institution-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 35%,#fff 0%,#eff5fb 45%,#d6e5f5 100%);padding:60px 40px}.institution-hero:before,.institution-hero:after{content:"";position:absolute;width:150%;height:65%;border:3px solid #ffffffb3;border-radius:50%;transform:rotate(-20deg);pointer-events:none}.institution-hero:before{top:-43%;left:-30%;box-shadow:0 20px 0 #ffffff35,0 50px 0 #d7e8f550}.institution-hero:after{bottom:-35%;right:-15%;box-shadow:0 -22px 0 #ffffff40,0 -45px 0 #ffffff30}.institution-hero-content{position:relative;z-index:1;text-align:center}.institution-hero-logo{width:min(340px,60vw);height:auto;box-shadow:0 22px 55px #071c7218}.institution-hero h1{font-size:clamp(25px,2.8vw,42px);font-weight:700;color:#071c72;margin:12px 0}.institution-hero p{color:#5c6b87;font-size:16px}.institution-hero .eyebrow{color:#36568b}.institution-access{display:flex;align-items:center;justify-content:center;padding:48px 36px;box-shadow:-3px 0 12px #1d30451a;background:#fff;z-index:2}.institution-access-content{width:100%;max-width:380px}.institution-access-logo{width:92px;height:auto;display:block;margin:0 auto 38px}.institution-access h2{text-align:center;font-size:29px;font-weight:650;margin-bottom:30px}.institution-access .form-label{color:#50535f}.login-input{display:flex;align-items:center;position:relative}.login-input span{position:absolute;left:15px;color:#697184;font-size:20px;pointer-events:none}.login-input input{padding-left:45px;min-height:50px;font-size:15px;border-radius:4px;background:#fff;color:#25252c;border-color:#d5d9e1}.institution-access .btn{border-radius:4px;min-height:48px;font-size:16px;font-weight:600}.login-recovery{display:block;text-align:center;color:#1257a3;font-size:14px}.login-cookie-note{margin:42px 0;color:#686d77;font-size:13px;text-align:center;line-height:1.7}.institution-access footer{border-top:1px solid #e2e5ea;padding-top:25px;text-align:center;color:#858997;font-size:12px;line-height:1.9}.institution-access footer span{font-size:11px}.login-page .alert{font-size:13px}.login-page .alert-danger{background:#fff0f0;color:#82262e;border-color:#efc4c8}
@media(max-width:1100px){.institution-login{grid-template-columns:58% 42%}.institution-access{padding:40px 28px}.institution-hero-logo{width:260px}.brand{font-size:17px;gap:9px}}
@media(max-width:767px){.institution-login{grid-template-columns:1fr}.institution-hero{min-height:240px;padding:28px 20px}.institution-hero-logo{width:100px}.institution-hero h1{font-size:26px}.institution-hero p{font-size:13px;margin-bottom:0}.institution-hero .eyebrow{margin-top:14px!important}.institution-access{padding:32px 24px;box-shadow:none}.institution-access-logo{display:none}.institution-access h2{font-size:24px;margin-bottom:24px}.login-cookie-note{margin:28px 0}.topbar-logo{width:34px;height:34px}.topbar .fw-semibold{font-size:12px}.topbar .text-end{max-width:120px}.topbar{gap:9px}}

@media(min-width:768px) and (max-height:760px){.institution-access{padding:24px 28px}.institution-access-logo{width:64px;margin-bottom:22px}.institution-access h2{font-size:24px;margin-bottom:20px}.institution-access .mb-4{margin-bottom:16px!important}.institution-access .mt-4{margin-top:20px!important}.login-cookie-note{margin:26px 0}.institution-access footer{padding-top:18px}}

.sidebar{background-color:#071750!important;overflow-y:auto}

.student-action{min-width:290px}.student-action select{min-width:170px}
