:root{--primary:#100eab;--primary-2:#2420d4;--ink:#11142d;--muted:#6f7489;--bg:#f6f7fb;--card:#fff;--line:#e9eaf2}*{box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}.fw-800{font-weight:800}.app-navbar{background:linear-gradient(135deg,#100eab,#2925d5);box-shadow:0 8px 30px rgba(16,14,171,.18);min-height:70px}.navbar-brand{letter-spacing:-.03em}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;background:#fff;color:var(--primary);border-radius:11px;margin-right:7px}.nav-link{color:rgba(255,255,255,.78)!important;border-radius:12px;padding:.65rem .8rem!important;font-size:.88rem;font-weight:600}.nav-link:hover,.nav-link.active{color:#fff!important;background:rgba(255,255,255,.12)}.user-chip{display:flex;align-items:center;gap:8px;color:#fff}.user-chip>span{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800}.user-chip small,.user-chip em{display:block;font-style:normal;line-height:1.2}.user-chip em{font-size:.65rem;opacity:.7;text-transform:capitalize}.hero-card{background:linear-gradient(135deg,#100eab,#3934e7);color:#fff;border:0;border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(16,14,171,.18)}.stat-card,.app-card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 30px rgba(16,20,45,.05)}.stat-card{padding:20px;height:100%}.stat-icon{width:46px;height:46px;border-radius:15px;background:#eeeeff;color:var(--primary);display:grid;place-items:center;font-size:1.25rem}.muted{color:var(--muted)}.section-title{font-weight:800;letter-spacing:-.03em}.progress{height:9px;border-radius:99px;background:#ececf6}.progress-bar{background:linear-gradient(90deg,#100eab,#4a45ff)}.assessment-card{border:1px solid var(--line);border-radius:22px;padding:20px;height:100%;transition:.2s;background:#fff}.assessment-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(16,20,45,.08)}.lock{opacity:.68}.badge-soft{background:#eeeeff;color:var(--primary)}.table-modern{border-collapse:separate;border-spacing:0 8px}.table-modern tbody tr{background:#fff;box-shadow:0 5px 20px rgba(16,20,45,.04)}.table-modern td,.table-modern th{padding:14px}.table-modern tbody td:first-child{border-radius:14px 0 0 14px}.table-modern tbody td:last-child{border-radius:0 14px 14px 0}.form-control,.form-select{border-radius:13px;border-color:#e2e3ee;padding:.75rem .9rem}.form-control:focus,.form-select:focus{border-color:#4a45ff;box-shadow:0 0 0 .2rem rgba(16,14,171,.1)}.btn-primary{--bs-btn-bg:#100eab;--bs-btn-border-color:#100eab;--bs-btn-hover-bg:#080681;--bs-btn-hover-border-color:#080681;border-radius:13px}.btn-outline-primary{--bs-btn-color:#100eab;--bs-btn-border-color:#100eab;--bs-btn-hover-bg:#100eab;--bs-btn-hover-border-color:#100eab;border-radius:13px}.timer{font-variant-numeric:tabular-nums;font-weight:800;color:#100eab}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,#2925d5 0,#100eab 30%,#070633 100%)}.login-card{width:min(460px,calc(100% - 28px));border:0;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.avatar-img{width:72px;height:72px;object-fit:cover;border-radius:20px}.calendar-day{min-height:110px;border:1px solid var(--line);border-radius:17px;padding:10px;background:#fff}.calendar-day.training{border-color:#d6d4ff;background:#f5f4ff}.calendar-day small{display:block}.question-card{border:0;border-radius:24px}.option{border:1px solid var(--line);border-radius:15px;padding:13px;display:flex;gap:10px;align-items:flex-start;cursor:pointer}.option:has(input:checked){border-color:#100eab;background:#f2f1ff}.mobile-table{overflow-x:auto}@media(max-width:991.98px){.app-navbar .navbar-collapse{background:rgba(8,6,99,.98);margin:12px -12px -8px;padding:12px;border-radius:18px}.nav-link{padding:.8rem!important}.user-chip{margin-right:8px}}@media(max-width:575.98px){.hero-card{padding:20px;border-radius:22px}.stat-card,.app-card{border-radius:18px}.calendar-day{min-height:88px;padding:8px}.display-6{font-size:1.9rem}.table-modern{min-width:900px}}
.global-page-hero{background:linear-gradient(135deg,#100eab,#3934e7);color:#fff;border-radius:26px;padding:24px 28px;box-shadow:0 16px 45px rgba(16,14,171,.16);position:relative;overflow:hidden}.global-page-hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-130px;background:rgba(255,255,255,.08)}.global-hero-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-size:1.5rem}@media(max-width:575.98px){.global-page-hero{padding:20px;border-radius:22px}}
/* Responsive refinements: keep existing portal workflows while preventing
   oversized controls and clipped data on phones and small tablets. */
:root{--voks-control-radius:10px}
button,.btn{max-width:100%;white-space:normal;line-height:1.35}
.btn:not(.btn-lg){--bs-btn-padding-y:.42rem;--bs-btn-padding-x:.72rem;font-size:.9rem}
.form-control,.form-select{min-width:0;max-width:100%;border-radius:var(--voks-control-radius)}
textarea.form-control{resize:vertical}
.table-responsive{max-width:100%;-webkit-overflow-scrolling:touch}
.table-responsive>.table{margin-bottom:0}
.table td,.table th{overflow-wrap:anywhere}
img,video,iframe{max-width:100%}
.app-card,.card{min-width:0}
@media(max-width:767.98px){
 .container,.container-fluid{--bs-gutter-x:1rem}
 .app-card{padding:1rem!important}
 .table{font-size:.875rem}
 .table th,.table td{padding:.65rem .6rem}
 .modal-dialog{margin:.5rem}
 .modal-content{border-radius:14px}
 .modal-header,.modal-body,.modal-footer{padding:1rem}
 .modal-footer{flex-wrap:wrap}
 .modal-footer>.btn{flex:0 1 auto}
 .form-control,.form-select{font-size:16px}
 .btn-lg{--bs-btn-padding-y:.55rem;--bs-btn-padding-x:.9rem;font-size:1rem}
 .navbar .navbar-nav{padding:.4rem 0}
 .navbar .nav-link{padding:.65rem .8rem}
}
@media(max-width:420px){
 .btn{font-size:.84rem}
 .badge{white-space:normal}
 .modal-dialog{margin:.25rem}
 .modal-header .modal-title{font-size:1.05rem}
}
