@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap');
:root,[data-bs-theme=light]{--kh-primary:#4A1A9E;--kh-600:#7F4FDB;--kh-400:#9B6BE8;--kh-ink:#2A0E5E;--kh-night:#0E0824;--kh-soft:#F4EEFF;
--bs-primary:#4A1A9E;--bs-primary-rgb:74,26,158;--bs-link-color:#4A1A9E;--bs-link-color-rgb:74,26,158;--bs-link-hover-color:#7F4FDB;--bs-link-hover-color-rgb:127,79,219;
--bs-body-font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--bs-body-color:#2A0E5E;--bs-body-bg:#F7F5FC;--bs-border-color:#E6E0F2;--bs-border-radius:.75rem;--bs-border-radius-lg:1rem;--bs-border-radius-sm:.5rem;--bs-focus-ring-color:rgba(127,79,219,.25);--bs-primary-bg-subtle:#F1EAFE;--bs-primary-text-emphasis:#3B1386;--bs-primary-border-subtle:#D9C8FA}
[data-bs-theme=dark]{--bs-primary:#9B6BE8;--bs-primary-rgb:155,107,232;--bs-link-color:#B796F0;--bs-link-color-rgb:183,150,240;--bs-link-hover-color:#D3BDF7;--bs-body-bg:#0E0824;--bs-body-color:#E9E3F7;--bs-tertiary-bg:#1A1238;--bs-secondary-bg:#160F30;--bs-border-color:#2E2456;--bs-body-font-family:'DM Sans',system-ui,sans-serif}
body{font-family:var(--bs-body-font-family);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.card-title,.navbar-brand,.btn,.nav-link{font-family:'Plus Jakarta Sans','DM Sans',system-ui,sans-serif}
h1,h2,h3,.h1,.h2,.h3{font-weight:700;letter-spacing:-.02em;color:var(--kh-ink)}
[data-bs-theme=dark] h1,[data-bs-theme=dark] h2,[data-bs-theme=dark] h3{color:#fff}
header{position:sticky;top:0;z-index:1030;background:rgba(247,245,252,.85);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--bs-border-color);margin:0 -.75rem 1.5rem;padding:0 .75rem}
[data-bs-theme=dark] header{background:rgba(14,8,36,.85)}
header .navbar{padding-top:.85rem!important;padding-bottom:.85rem!important}
.navbar-brand img{max-height:34px;width:auto}
.navbar .nav-link{font-weight:600;font-size:.94rem;color:var(--kh-ink);border-radius:.6rem;padding:.45rem .8rem!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--kh-primary);background:var(--bs-primary-bg-subtle)}
[data-bs-theme=dark] .navbar .nav-link{color:#E9E3F7}
.btn{font-weight:600;border-radius:.7rem;padding:.55rem 1.1rem;transition:all .18s ease}
.btn-sm{padding:.35rem .75rem;border-radius:.55rem}
.btn-primary{--bs-btn-bg:#4A1A9E;--bs-btn-border-color:#4A1A9E;--bs-btn-hover-bg:#3B1386;--bs-btn-hover-border-color:#3B1386;--bs-btn-active-bg:#2A0E5E;--bs-btn-active-border-color:#2A0E5E;--bs-btn-disabled-bg:#9B6BE8;--bs-btn-disabled-border-color:#9B6BE8;background-image:linear-gradient(135deg,#4A1A9E 0%,#7F4FDB 100%);border:0;box-shadow:0 6px 18px -6px rgba(74,26,158,.55)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(74,26,158,.6)}
.btn-outline-primary{--bs-btn-color:#4A1A9E;--bs-btn-border-color:#CDB8F5;--bs-btn-hover-bg:#4A1A9E;--bs-btn-hover-border-color:#4A1A9E;--bs-btn-active-bg:#3B1386;border-width:1.5px}
[data-bs-theme=dark] .btn-outline-primary{--bs-btn-color:#C8AEF5;--bs-btn-border-color:#5B3FA0}
.card,.list-group,.content-block>.card{border:1px solid var(--bs-border-color);border-radius:1rem;box-shadow:0 1px 2px rgba(42,14,94,.04),0 8px 24px -12px rgba(42,14,94,.12);overflow:hidden}
.card-header{background:transparent;border-bottom:1px solid var(--bs-border-color);padding:1rem 1.25rem;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700}
.card-body{padding:1.25rem}
.card-footer{background:var(--bs-tertiary-bg)}
.col-3.d-none.d-md-block .nav,.col-3 .list-group{background:var(--bs-body-bg)}
.col-3 .nav.flex-column,.col-3 .list-group{position:sticky;top:96px;background:#fff;border:1px solid var(--bs-border-color);border-radius:1rem;padding:.6rem;box-shadow:0 8px 24px -14px rgba(42,14,94,.18)}
[data-bs-theme=dark] .col-3 .nav.flex-column,[data-bs-theme=dark] .col-3 .list-group{background:#160F30}
.col-3 .nav-item .nav-link,.col-3 .list-group-item{display:flex;align-items:center;gap:.65rem;border:0;border-radius:.7rem;margin:2px 0;padding:.62rem .85rem!important;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:.92rem;color:#4b3d6e;background:transparent}
.col-3 .nav-item .nav-link:hover,.col-3 .list-group-item:hover{background:var(--bs-primary-bg-subtle);color:var(--kh-primary)}
.col-3 .nav-item.active .nav-link,.col-3 .nav-link.active,.col-3 .list-group-item.active{background:linear-gradient(135deg,#4A1A9E,#7F4FDB);color:#fff!important;box-shadow:0 6px 16px -8px rgba(74,26,158,.7)}
.col-3 .nav-item.active .nav-link .icon,.col-3 .list-group-item.active .icon{fill:#fff;color:#fff}
.icon{color:var(--kh-600)}
.form-control,.form-select{border-radius:.7rem;border-color:#DCD3EE;padding:.62rem .9rem;font-size:.95rem}
.form-control:focus,.form-select:focus{border-color:#9B6BE8;box-shadow:0 0 0 .22rem rgba(127,79,219,.18)}
.form-label{font-weight:600;font-size:.88rem;color:var(--kh-ink)}
[data-bs-theme=dark] .form-label{color:#E9E3F7}
.form-check-input:checked{background-color:#4A1A9E;border-color:#4A1A9E}
.table{--bs-table-hover-bg:rgba(127,79,219,.06)}
.table>thead th{font-family:'Plus Jakarta Sans',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b5d8e;border-bottom-width:1px}
.badge{border-radius:999px;font-weight:600;padding:.4em .7em}
.bg-primary{background-color:#4A1A9E!important}.text-primary{color:#4A1A9E!important}
[data-bs-theme=dark] .text-primary{color:#B796F0!important}
.alert{border-radius:.9rem;border:0}.alert-info{background:#F1EAFE;color:#3B1386}
.breadcrumb{font-size:.85rem;margin-bottom:1rem}.breadcrumb a{text-decoration:none}
a{text-underline-offset:3px}
.pagination{--bs-pagination-active-bg:#4A1A9E;--bs-pagination-active-border-color:#4A1A9E;--bs-pagination-color:#4A1A9E;--bs-pagination-border-radius:.6rem}
.dropdown-menu{border-radius:.9rem;border:1px solid var(--bs-border-color);box-shadow:0 16px 40px -12px rgba(42,14,94,.25);padding:.4rem}
.dropdown-item{border-radius:.55rem;padding:.5rem .75rem;font-weight:500}
.dropdown-item:active,.dropdown-item.active{background:#4A1A9E}
#footer{border-top:1px solid var(--bs-border-color);padding-top:1.25rem;margin-top:2.5rem!important;color:#6b5d8e!important}
#footer a{color:#4A1A9E;text-decoration:none;font-weight:500}
.position-fixed.btn.btn-primary.bottom-0{border-radius:999px;padding:.5rem 1rem}
.kh-hero,.showcase,.content-block .bg-body-tertiary{border-radius:1.25rem}
.content-block>.card:first-child .card-body h2:first-child{font-size:1.7rem}
.navbar-toggler{border:0;border-radius:.6rem}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(127,79,219,.25)}
body.login-page,body:has(.login-form),body:has(form[action*="client/login"]){background:radial-gradient(1200px 600px at 10% -10%,#E9DDFF 0%,transparent 60%),radial-gradient(900px 500px at 110% 10%,#EFE6FF 0%,transparent 55%),#F7F5FC}
[data-bs-theme=dark] body:has(form[action*="client/login"]){background:radial-gradient(1200px 600px at 10% -10%,#2A0E5E 0%,transparent 60%),#0E0824}
@media (max-width:767.98px){header{margin:0 -.75rem 1rem}.card-body{padding:1rem}.btn{padding:.6rem 1rem}h1,.h1{font-size:1.6rem}h2,.h2{font-size:1.35rem}.navbar-brand img{max-height:28px}.navbar-collapse{padding:.5rem 0 1rem}}
[data-bs-theme=light] .card{background:#fff}
.btn-dark{--bs-btn-bg:#F1EAFE;--bs-btn-color:#4A1A9E;--bs-btn-border-color:#F1EAFE;--bs-btn-hover-bg:#4A1A9E;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#4A1A9E;--bs-btn-active-bg:#3B1386;--bs-btn-active-color:#fff}
[data-bs-theme=dark] .btn-dark{--bs-btn-bg:#2A1B55;--bs-btn-color:#E9E3F7;--bs-btn-border-color:#2A1B55}
.content-block>.alert-info:first-child{background:linear-gradient(135deg,#2A0E5E 0%,#4A1A9E 55%,#7F4FDB 100%);color:#fff;padding:2rem 2.25rem;border-radius:1.25rem;box-shadow:0 20px 40px -20px rgba(42,14,94,.6);position:relative;overflow:hidden}
.content-block>.alert-info:first-child::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(155,107,232,.55),transparent 70%)}
.content-block>.alert-info:first-child h1,.content-block>.alert-info:first-child h2{color:#fff;font-size:1.9rem;margin-bottom:.5rem}
.content-block>.alert-info:first-child p{color:rgba(255,255,255,.85);max-width:640px}
.content-block>.alert-info:first-child a:not(.btn){color:#fff}
.content-block>.alert-info:first-child .btn-primary{background:#fff;color:#4A1A9E;box-shadow:none;padding:.6rem 1.2rem;position:relative;z-index:1}
.card-header.h6{font-size:1rem;color:var(--kh-ink)}
@media (max-width:767.98px){.content-block>.alert-info:first-child{padding:1.5rem}.content-block>.alert-info:first-child h2{font-size:1.5rem}}

