:root{
    --lab-primary:#1769e0;
    --lab-primary-dark:#0f4fb4;
    --lab-primary-soft:#eaf3ff;
    --lab-teal:#12b8a6;
    --lab-green:#16a34a;
    --lab-orange:#f59e0b;
    --lab-red:#ef4444;
    --lab-purple:#7c3aed;
    --lab-dark:#172033;
    --lab-muted:#64748b;
    --lab-border:#e6edf5;
    --lab-bg:#f6f9fc;
    --lab-card:#ffffff;
    --lab-shadow:0 14px 40px rgba(15,23,42,.08);
    --lab-radius:18px;
}

body{
    background:var(--lab-bg);
    color:var(--lab-dark);
}

.card,
.lab-chart-card,
.lab-stat-card{
    border:1px solid var(--lab-border)!important;
    border-radius:var(--lab-radius)!important;
    box-shadow:0 8px 28px rgba(15,23,42,.05);
}

.btn-primary{
    background:linear-gradient(135deg,var(--lab-primary),var(--lab-teal));
    border-color:transparent!important;
    box-shadow:0 10px 22px rgba(23,105,224,.22);
}

.btn-primary:hover,
.btn-primary:focus{
    background:linear-gradient(135deg,var(--lab-primary-dark),#0f9f93);
    border-color:transparent!important;
}

.form-control,
.form-select{
    border-radius:12px;
    border-color:#dce7f3;
    min-height:42px;
}

.form-control:focus,
.form-select:focus{
    border-color:rgba(23,105,224,.55);
    box-shadow:0 0 0 .2rem rgba(23,105,224,.12);
}

.table{
    --vz-table-border-color:#edf2f7;
}

.table thead th{
    color:#475569;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
    background:#f8fafc;
}

.badge{
    border-radius:999px;
    padding:.42rem .65rem;
    font-weight:700;
}

/* Auth pages */
.auth-lab-shell{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 18px;
    background:
        radial-gradient(circle at top left,rgba(23,105,224,.20),transparent 34%),
        radial-gradient(circle at bottom right,rgba(18,184,166,.22),transparent 32%),
        linear-gradient(135deg,#f8fbff 0%,#eef6ff 48%,#f8fffd 100%);
}

.auth-lab-card{
    overflow:hidden;
    border:0!important;
    box-shadow:0 24px 70px rgba(15,23,42,.14)!important;
    background:#fff;
}

.auth-lab-panel{
    min-height:100%;
    padding:48px 42px;
    color:#fff;
    background:
        linear-gradient(155deg,rgba(12,74,170,.98),rgba(23,105,224,.94) 55%,rgba(18,184,166,.92)),
        url('../images/auth-bg.jpg');
    background-size:cover;
    position:relative;
}

.auth-lab-panel:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-90px;
    bottom:-100px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
}

.auth-lab-logo{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:25px;
    font-weight:800;
    letter-spacing:-.04em;
}

.auth-lab-logo i{
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:rgba(255,255,255,.16);
    font-size:28px;
}

.auth-feature{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 0;
    color:rgba(255,255,255,.88);
    font-weight:600;
}

.auth-feature i{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(255,255,255,.16);
    color:#fff;
}

.auth-lab-form{
    padding:48px 42px;
}

.auth-lab-form h4,
.auth-lab-form .fs-20{
    color:#0f172a;
    font-weight:800;
    letter-spacing:-.025em;
}

.auth-pass-inputgroup .password-addon{
    border-radius:0 12px 12px 0;
}

/* Dashboard and page sections */
.lab-page-hero{
    border-radius:24px;
    padding:26px 28px;
    margin-bottom:24px;
    color:#fff;
    background:
        radial-gradient(circle at right top,rgba(255,255,255,.23),transparent 28%),
        linear-gradient(135deg,#0f63ce,#17a2d8 55%,#13b7a7);
    box-shadow:0 18px 50px rgba(23,105,224,.22);
}

.lab-page-hero h4,
.lab-page-hero h5,
.lab-page-hero p{
    color:#fff!important;
}

.lab-page-hero p{
    opacity:.88;
    margin-bottom:0;
}

.lab-stat-card{
    height:100%;
    padding:22px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    background:var(--lab-card);
    position:relative;
    overflow:hidden;
}

.lab-stat-card:before{
    content:"";
    position:absolute;
    inset:auto -40px -55px auto;
    width:130px;
    height:130px;
    border-radius:50%;
    background:var(--lab-primary-soft);
}

.lab-stat-label{
    color:var(--lab-muted);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.035em;
}

.lab-stat-value{
    color:#0f172a;
    font-size:31px;
    font-weight:850;
    letter-spacing:-.045em;
    line-height:1;
}

.lab-stat-link{
    color:var(--lab-primary);
    font-weight:700;
    font-size:13px;
}

.lab-stat-icon{
    width:56px;
    height:56px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    color:var(--lab-primary);
    background:linear-gradient(135deg,#eaf3ff,#d9f7f3);
    font-size:28px;
    position:relative;
    z-index:1;
}

.lab-chart-card{
    background:var(--lab-card);
    padding:22px;
}

.lab-chart-card .card-header{
    background:transparent!important;
    border-bottom:1px solid var(--lab-border)!important;
    padding-left:0;
    padding-right:0;
}

.lab-tiny-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.lab-list-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid var(--lab-border);
    border-radius:14px;
    background:#fff;
}

.lab-list-avatar{
    width:40px;
    height:40px;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:var(--lab-primary-soft);
    color:var(--lab-primary);
    font-size:20px;
}

/* Velzon refinements */
.navbar-menu{
    border-right:1px solid var(--lab-border);
}

#page-topbar{
    box-shadow:0 4px 22px rgba(15,23,42,.05);
    border-bottom:1px solid var(--lab-border);
}

.navbar-menu .navbar-nav .nav-link{
    border-radius:12px;
    margin:3px 10px;
    font-weight:600;
}

.navbar-menu .navbar-nav .nav-link.active,
.navbar-menu .navbar-nav .nav-link:hover{
    color:#fff!important;
    background:linear-gradient(135deg,var(--lab-primary),var(--lab-teal));
}

@media (max-width: 991.98px){
    .auth-lab-panel{padding:34px 28px;min-height:auto;}
    .auth-lab-form{padding:34px 26px;}
    .lab-page-hero{padding:22px;}
    .lab-stat-value{font-size:26px;}
}



.hm-stat-card {
    position: relative;
    overflow: hidden;
}

.hm-stat-card::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 115px;
    height: 115px;
    border-radius: 50%;
    background: rgba(15, 139, 76, 0.08);
}

.hm-stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.hm-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.hm-stat-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #68778a;
    font-weight: 800;
}

.hm-stat-value {
    font-size: 25px;
    font-weight: 900;
    color: #102033;
}
