*{box-sizing:border-box}:root{--bg:#071a33;--panel:#102744;--panel2:#0d213b;--text:#f3f7fc;--muted:#8fa7c2;--line:#294968;--blue:#1767d9;--gold:#e9b200;--pink:#c71585;--green:#36d18b}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:21px}.brand img{width:34px;height:34px;object-fit:contain}.exam{color:var(--gold)}.pi{color:var(--pink)}
.institute-login-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,#102e51 0,#071a33 45%,#06152a 100%)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand-panel{padding:55px clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}
.brand-copy{max-width:590px}.eyebrow,.panel-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#76a5d7;font-weight:800}.brand-copy h1{font-size:clamp(34px,4vw,58px);line-height:1.05;margin:14px 0}.brand-copy p{color:var(--muted);max-width:520px;font-size:15px;line-height:1.8}.tenant-chip{font-size:11px;color:#91abc7}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}
.login-form-panel{padding:30px clamp(24px,6vw,100px);display:flex;flex-direction:column}.login-top{display:flex;justify-content:space-between;color:#7690ad;font-size:11px}.login-top a{color:#a9bfd8}.login-card{width:min(100%,480px);margin:auto}.login-card h2{font-size:38px;margin:11px 0 8px}.lead{color:var(--muted);font-size:13px;line-height:1.6}.alert{background:#3a202a;border:1px solid #774050;color:#ffc6cc;border-radius:8px;padding:11px 13px;font-size:12px;margin:18px 0}
.field{margin-top:20px}.field label{display:block;font-size:11px;color:#aec2d8;margin-bottom:7px}.field input{width:100%;height:48px;border-radius:8px;border:1px solid #385979;background:#091e37;color:var(--text);padding:0 13px;font-size:13px;outline:none}.field input:focus{border-color:#5d99e8;box-shadow:0 0 0 3px rgba(23,103,217,.16)}
.password-wrap{position:relative}.password-wrap input{padding-right:65px}.show-password{position:absolute;right:6px;top:6px;height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#83a3c5;cursor:pointer}.show-password:hover{background:#173657;color:#fff}
.form-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0 22px;font-size:11px;color:#8ea5be}.form-row a{color:#75a7e1}.form-row input{accent-color:var(--blue)}
button.primary{width:100%;height:48px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}.login-note{margin-top:25px;padding:13px;border:1px solid var(--line);border-radius:8px;color:#829bb6;font-size:10px;line-height:1.6}.login-note strong{display:block;color:#c8d8e8}
.institute-app{min-height:100vh;background:var(--bg)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#06172c;border-right:1px solid #1d3855;padding:22px 14px 14px;z-index:20;transition:width .2s}.sidebar .brand{padding:0 10px 24px}.institution-card{display:flex;gap:10px;padding:13px 10px;border:1px solid #1e3b5b;background:#0b2039;border-radius:10px;margin-bottom:22px}.institution-logo{width:34px;height:34px;border-radius:8px;background:#17365a;display:grid;place-items:center;color:#a9c8e8;font-size:11px;font-weight:800;flex:none}.institution-meta{min-width:0}.institution-meta strong,.institution-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-meta strong{font-size:11px}.institution-meta span{font-size:9px;color:#7791ae;margin-top:3px}

.institution-brand-logo{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    max-width:36px;
    max-height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex-shrink:0;
}

.institution-brand-logo img{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}



.nav-section{margin-bottom:19px}.nav-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#647e9c;padding:0 10px 7px}.nav a,.help{position:relative;display:flex;align-items:center;gap:11px;height:39px;padding:0 10px;border-radius:8px;color:#9eb3ca;font-size:11px;margin:2px 0}.nav a:hover,.help:hover{background:#102b49;color:#fff}.nav a.active{background:#1767d9;color:#fff}.nav-icon{width:18px;text-align:center;font-size:13px;flex:none}.sidebar-bottom{position:absolute;bottom:13px;left:14px;right:14px}.help{margin-bottom:10px}.user-mini{display:flex;align-items:center;gap:9px;border-top:1px solid #1d3855;padding:13px 4px 0}.avatar,.top-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#173b67;color:#dcecff;font-size:10px;font-weight:800;flex:none}.user-info{min-width:0}.user-info strong,.user-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info strong{font-size:10px}.user-info span{font-size:8px;color:#6f89a6;margin-top:2px}.user-menu{margin-left:auto;color:#7992ae}
.sidebar-toggle{position:fixed;left:258px;top:21px;width:30px;height:30px;border:1px solid #365878;border-radius:8px;background:#102c4a;color:#dbeaff;z-index:30;cursor:pointer}.sidebar-toggle span{font-size:20px;line-height:1}.main{margin-left:250px;min-height:100vh;transition:margin-left .2s}.topbar{height:72px;border-bottom:1px solid #1d3855;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#081d35}
.sidebar-collapsed .topbar{padding-left:70px}.breadcrumb{font-size:11px;color:#7191b3;margin-left:48px;min-width:0}.breadcrumb strong{color:#b7cce1}
.sidebar-collapsed .breadcrumb{margin-left:0}.top-actions{display:flex;align-items:center;gap:9px}.top-actions>a,.top-icon,.theme-toggle{height:34px;border:1px solid #294968;border-radius:8px;background:#0e2742;color:#b6cae0;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.top-icon,.theme-toggle{width:34px;padding:0}.top-icon{position:relative}.top-icon i{position:absolute;top:6px;right:7px;width:5px;height:5px;background:#3d9aff;border-radius:50%}.top-profile{display:flex;align-items:center;gap:8px;margin-left:5px}.top-profile strong,.top-profile span{display:block;white-space:nowrap}.top-profile strong{font-size:10px}.top-profile span{font-size:8px;color:#6f89a6;margin-top:2px}.logout{color:#8ea8c1!important}
.content{padding:30px 28px 45px;max-width:1700px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.page-head h1{font-size:30px;margin:7px 0 5px}.page-head p{color:var(--muted);font-size:12px;margin:0}.date-card{padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);text-align:right}.date-card span,.date-card strong{display:block}.date-card span{font-size:9px;color:#7894b1;text-transform:uppercase}.date-card strong{font-size:11px;margin-top:4px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px}.metric{padding:17px 18px}.metric span,.metric small{display:block}.metric span{font-size:10px;color:#86a1be}.metric strong{font-size:27px;margin:6px 0 3px;display:block}.metric small{font-size:9px;color:#6f89a6}
.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px}.panel{padding:17px}.panel.large{min-height:280px}.panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #23415f;padding-bottom:12px}.panel-head h2{font-size:15px;margin:5px 0 0}.panel-head>a{font-size:10px;color:#77a9e2}.empty-state{min-height:205px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:7px;color:#7994b1}.empty-state strong{font-size:12px;color:#b9cade}.empty-state span{max-width:430px;font-size:10px;line-height:1.6}.empty-icon{width:38px;height:38px;border-radius:9px;background:#17365a;display:grid;place-items:center;color:#77a9e2;margin-bottom:3px}
.quick-actions{display:grid;gap:8px;margin-top:13px}.quick-actions a{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #244461;border-radius:8px;background:#0d223b}.quick-actions a:hover{border-color:#3a6388;background:#112d4b}.quick-actions a>span{width:30px;height:30px;border-radius:7px;background:#17365a;display:grid;place-items:center;color:#83b5ed}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:10px}.quick-actions small{font-size:8px;color:#718ba8;margin-top:3px}
.lifecycle{margin-top:14px}.lifecycle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.lifecycle-grid div{padding:14px;border:1px solid #244461;border-radius:8px}.lifecycle-grid b,.lifecycle-grid span,.lifecycle-grid em{display:block}.lifecycle-grid b{font-size:10px}.lifecycle-grid span{font-size:9px;color:#7893b0;line-height:1.5;margin:5px 0 8px}.lifecycle-grid em{font-size:8px;color:#6fa4dc;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
body.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .sidebar .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .brand-name,.sidebar-collapsed .institution-card,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-text,.sidebar-collapsed .user-info,.sidebar-collapsed .user-menu{display:none}.sidebar-collapsed .nav a,.sidebar-collapsed .help{justify-content:center;padding:0}.sidebar-collapsed .sidebar-bottom{left:10px;right:10px}.sidebar-collapsed .user-mini{justify-content:center}.sidebar-collapsed .sidebar-toggle{left:84px}.sidebar-collapsed .main{margin-left:76px}.sidebar-collapsed .sidebar-toggle span{transform:rotate(180deg);display:block}

/* exampi institute light theme */
body.light-theme{--bg:#f4f7fb;--panel:#ffffff;--panel2:#f7f9fc;--text:#132238;--muted:#60728a;--line:#d6e0eb;background:#f4f7fb;color:var(--text)}
body.light-theme .institute-app{background:var(--bg)}
body.light-theme .sidebar{background:#ffffff;border-right-color:#d6e0eb}
body.light-theme .sidebar .brand{color:#132238}
body.light-theme .institution-card{background:#f7f9fc;border-color:#d6e0eb}
body.light-theme .institution-logo{background:#eaf1f9;color:#24527f}
body.light-theme .institution-meta span,
body.light-theme .user-info span,
body.light-theme .top-profile span{color:#718198}
body.light-theme .nav-label{color:#8292a7}
body.light-theme .nav a,
body.light-theme .help{color:#52657c}
body.light-theme .nav a:hover,
body.light-theme .help:hover{background:#edf3fa;color:#17263a}
body.light-theme .nav a.active{background:#1767d9;color:#fff}
body.light-theme .user-mini{border-top-color:#d6e0eb}
body.light-theme .main{background:#f4f7fb}
body.light-theme .topbar{background:#ffffff;border-bottom-color:#d6e0eb}
body.light-theme .breadcrumb{color:#70849d}
body.light-theme .breadcrumb strong{color:#23364d}
body.light-theme .top-actions>a,
body.light-theme .top-icon,
body.light-theme .theme-toggle{background:#f7f9fc;border-color:#d6e0eb;color:#4e637c}
body.light-theme .top-profile strong{color:#20344d}
body.light-theme .logout{color:#536b84!important}
body.light-theme .metric,
body.light-theme .panel{background:#ffffff;border-color:#d6e0eb}
body.light-theme .metric span,
body.light-theme .metric small,
body.light-theme .page-head p,
body.light-theme .empty-state,
body.light-theme .quick-actions small,
body.light-theme .lifecycle-grid span{color:#71839a}
body.light-theme .date-card{background:#f7f9fc;border-color:#d6e0eb}
body.light-theme .panel-head{border-bottom-color:#dbe4ed}
body.light-theme .empty-state strong,
body.light-theme .quick-actions strong,
body.light-theme .lifecycle-grid b{color:#263b53}
body.light-theme .quick-actions a,
body.light-theme .lifecycle-grid div{background:#f8fafc;border-color:#d9e3ed}
body.light-theme .quick-actions a:hover{background:#f0f5fa;border-color:#b9ccdf}
body.light-theme .quick-actions a>span,
body.light-theme .empty-icon{background:#eaf2fb;color:#1767d9}
body.light-theme .sidebar-toggle{background:#ffffff;border-color:#cbd9e7;color:#35516e;box-shadow:0 5px 18px rgba(30,55,80,.12)}
body.light-theme .sidebar-toggle:hover{background:#1767d9;border-color:#1767d9;color:#fff}
body.light-theme .top-avatar,
body.light-theme .avatar{background:#e8f0f8;color:#234b73}

@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.lifecycle-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}}
@media(max-width:760px){.sidebar{width:76px;padding:22px 10px}.brand-name,.institution-card,.nav-label,.nav-text,.user-info,.user-menu{display:none}.sidebar .brand{justify-content:center;padding:0 0 22px}.nav a,.help{justify-content:center;padding:0}.main{margin-left:76px}.sidebar-toggle{left:84px;top:21px}.topbar{padding:0 14px}.top-profile{display:none}.content{padding:22px 15px}.breadcrumb{padding-left:42px;margin-left:0}.metrics{grid-template-columns:1fr 1fr}.lifecycle-grid{grid-template-columns:1fr}.logout{display:none}}
@media(max-width:520px){.metrics{grid-template-columns:1fr}.page-head{display:block}.date-card{display:inline-block;margin-top:12px}.login-form-panel{padding:24px}.login-card h2{font-size:31px}}

/* Public institute home: use the same global theme control as the authenticated portal. */
.institute-home .theme-toggle{width:34px;height:34px;padding:0;border:1px solid #294968;border-radius:8px;background:#0e2742;color:#b6cae0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.institute-home .theme-toggle:hover{border-color:#4d8ef7;color:#fff}
.institute-home .theme-toggle-icon,.institute-home .theme-toggle-icon .home-svg{display:grid;place-items:center;width:17px;height:17px}
body.light-theme.institute-home .theme-toggle{background:#f7f9fc;border-color:#d6e0eb;color:#4e637c}
body.light-theme.institute-home .theme-toggle:hover{background:#edf3fa;border-color:#1767d9;color:#1767d9}

/* Public institute home — light-theme branding contrast */
body.light-theme.institute-home .institution-brand-copy strong,
body.light-theme.institute-home .footer-institution-brand .institution-brand-copy strong {
  color: #132238;
}

body.light-theme.institute-home .institution-brand-copy small,
body.light-theme.institute-home .footer-institution-brand .institution-brand-copy small {
  color: #60728a;
}

body.light-theme.institute-home .hero-caption strong {
  color: #f4f8fd;
}

body.light-theme.institute-home .hero-caption span {
  color: #b7c9dc;
}

/* ============================================================
 * EXAMPI Global Alerts
 * ============================================================ */
.exampi-alert-root{position:relative;z-index:2147483000}
.exampi-alert-open{overflow:hidden}
.exampi-alert-backdrop{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(3,12,23,.68);opacity:1;transition:opacity .14s ease}
.exampi-alert-backdrop.is-open{opacity:1}
.exampi-alert-dialog{width:min(440px,calc(100vw - 36px));box-sizing:border-box;border:1px solid #284865;border-radius:16px;background:#0e2238;color:#eaf3fb;box-shadow:0 28px 80px rgba(0,0,0,.42);padding:24px;transform:translateY(8px) scale(.985);transition:transform .14s ease}
.exampi-alert-backdrop.is-open .exampi-alert-dialog{transform:translateY(0) scale(1)}
.exampi-alert-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:900;margin:0 auto 14px;border:1px solid #3a5b78}
.exampi-alert-success{color:#39d49a;border-color:rgba(57,212,154,.45)}
.exampi-alert-error{color:#ff7070;border-color:rgba(255,112,112,.45)}
.exampi-alert-warning{color:#e9b200;border-color:rgba(233,178,0,.5)}
.exampi-alert-info{color:#73b7ff;border-color:rgba(115,183,255,.45)}
.exampi-alert-content{text-align:center}
.exampi-alert-title{font-size:17px;font-weight:800;line-height:1.3}
.exampi-alert-message{margin-top:8px;font-size:12px;line-height:1.65;color:#9eb4c9}
.exampi-alert-actions{display:flex;justify-content:center;gap:9px;margin-top:20px}
.exampi-alert-btn{min-width:100px;height:36px;border-radius:8px;padding:0 15px;font-size:11px;font-weight:800;cursor:pointer}
.exampi-alert-cancel{border:1px solid #35526d;background:transparent;color:#b5c7d8}
.exampi-alert-confirm{border:1px solid #1767d9;background:#1767d9;color:#fff}
.exampi-alert-confirm:hover{filter:brightness(1.08)}
.exampi-alert-cancel:hover{background:rgba(255,255,255,.05)}
.exampi-toast{position:fixed;right:24px;bottom:24px;z-index:2147483001;display:flex;align-items:center;gap:10px;min-width:300px;max-width:min(460px,calc(100vw - 32px));padding:12px 13px;border:1px solid #315675;border-radius:11px;background:#102944;color:#eaf3fb;box-shadow:0 18px 50px rgba(0,0,0,.34);opacity:0;transform:translateY(10px);transition:opacity .16s ease,transform .16s ease}
.exampi-toast.is-visible{opacity:1;transform:translateY(0)}
.exampi-toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;border:1px solid #3a5b78;flex:0 0 24px}
.exampi-toast-success .exampi-toast-icon{color:#39d49a;border-color:rgba(57,212,154,.45)}
.exampi-toast-error .exampi-toast-icon{color:#ff7070;border-color:rgba(255,112,112,.45)}
.exampi-toast-warning .exampi-toast-icon{color:#e9b200;border-color:rgba(233,178,0,.5)}
.exampi-toast-info .exampi-toast-icon{color:#73b7ff;border-color:rgba(115,183,255,.45)}
.exampi-toast-message{font-size:11px;line-height:1.45;flex:1}
.exampi-toast-close{border:0;background:transparent;color:#8fa8be;font-size:18px;line-height:1;cursor:pointer;padding:2px}
body.light-theme .exampi-alert-backdrop{background:rgba(15,28,42,.35)}
body.light-theme .exampi-alert-dialog{border-color:#d7e2ec;background:#fff;color:#17283a;box-shadow:0 28px 80px rgba(31,55,78,.2)}
body.light-theme .exampi-alert-message{color:#64778a}
body.light-theme .exampi-alert-cancel{border-color:#ccd8e3;color:#526679}
body.light-theme .exampi-toast{border-color:#d3dee8;background:#fff;color:#1c3044;box-shadow:0 18px 50px rgba(31,55,78,.18)}
body.light-theme .exampi-toast-message{color:#30475c}
@media(max-width:600px){.exampi-alert-backdrop{padding:18px}.exampi-alert-dialog{padding:20px}.exampi-toast{right:16px;bottom:16px;min-width:0}.exampi-alert-actions{flex-direction:column-reverse}.exampi-alert-btn{width:100%}}
