:root{
    --kerry-red:#e01919;
    --kerry-red-dark:#b50f16;
    --kerry-black:#050505;
    --kerry-black-2:#111111;
    --kerry-blue:#0d1b4c;
    --kerry-gold:#f4a21a;
    --kerry-soft:#f5f7fb;
    --kerry-card:#ffffff;
    --kerry-text:#171717;
    --kerry-muted:#667085;
    --kerry-border:#e8edf5;
}

html, body{min-height:100%;}
body{
    background:
        radial-gradient(circle at top left, rgba(224,25,25,.08), transparent 32%),
        radial-gradient(circle at bottom right, rgba(13,27,76,.08), transparent 34%),
        var(--kerry-soft);
    color:var(--kerry-text);
}

.text-primary{color:var(--kerry-red)!important;}
.text-brand{color:var(--kerry-red)!important;}
.text-kerry-gold{color:var(--kerry-gold)!important;}
.bg-primary{background-color:var(--kerry-red)!important;}
.border-primary{border-color:var(--kerry-red)!important;}
a{color:var(--kerry-red);}
a:hover{color:var(--kerry-red-dark);}

.kerry-logo{height:50px;width:auto;display:block;object-fit:contain;}
.kerry-logo-lg{max-height:118px;max-width:100%;object-fit:contain;}
.kerry-logo-sm{height:34px;width:auto;object-fit:contain;}

.navbar-kerry{
    background:linear-gradient(135deg, #050505 0%, #101010 48%, #1d0303 100%)!important;
    border-bottom:3px solid var(--kerry-red);
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.navbar-kerry .navbar-brand span{color:#fff;font-weight:900;letter-spacing:.02em;}
.navbar-kerry .nav-link{color:rgba(255,255,255,.82)!important;font-weight:700;}
.navbar-kerry .nav-link:hover{background:rgba(244,162,26,.13);color:#fff!important;}
.navbar-kerry .nav-link.active{background:var(--kerry-red);color:#fff!important;box-shadow:0 10px 22px rgba(224,25,25,.25);}
.navbar-kerry .navbar-toggler{border-color:rgba(255,255,255,.28);}
.navbar-kerry .navbar-toggler-icon{filter:invert(1);}
.navbar-kerry .dropdown-menu{border-radius:16px;border:1px solid var(--kerry-border);box-shadow:0 20px 50px rgba(0,0,0,.18);}

.btn-primary,
.btn-brand{
    background:linear-gradient(135deg,var(--kerry-red),var(--kerry-red-dark));
    border:none!important;
    color:#fff!important;
    font-weight:800;
    border-radius:12px;
    box-shadow:0 12px 24px rgba(224,25,25,.20);
}
.btn-primary:hover,.btn-brand:hover{
    background:linear-gradient(135deg,var(--kerry-red-dark),#7f0b10);
    color:#fff!important;
    transform:translateY(-1px);
}
.btn-outline-primary{
    color:var(--kerry-red)!important;
    border-color:var(--kerry-red)!important;
    font-weight:800;
    border-radius:12px;
}
.btn-outline-primary:hover{
    background:var(--kerry-red)!important;
    color:#fff!important;
}
.btn-kerry-gold{
    background:linear-gradient(135deg,var(--kerry-gold),#ffcf67);
    color:#111!important;
    border:none!important;
    font-weight:900;
    border-radius:12px;
}

.card{
    border:1px solid var(--kerry-border)!important;
    border-radius:22px!important;
    box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
}
.card-header{border-bottom:1px solid var(--kerry-border);}
.form-control,.form-select{
    border-radius:13px!important;
    border:1px solid #dbe3ef!important;
    padding:.72rem .9rem;
}
.form-control:focus,.form-select:focus{
    border-color:var(--kerry-red)!important;
    box-shadow:0 0 0 .25rem rgba(224,25,25,.13)!important;
}
.form-check-input:checked{background-color:var(--kerry-red);border-color:var(--kerry-red);}

.hero-section{
    background:
        linear-gradient(135deg, rgba(5,5,5,.94), rgba(11,11,11,.88)),
        radial-gradient(circle at 90% 10%, rgba(244,162,26,.34), transparent 30%),
        radial-gradient(circle at 20% 110%, rgba(224,25,25,.32), transparent 28%);
    color:white;
    border-radius:28px;
    padding:42px;
    margin-bottom:34px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 22px 55px rgba(0,0,0,.20);
}
.hero-section:before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-120px;
    top:-140px;
    border-radius:999px;
    background:rgba(224,25,25,.22);
}
.hero-section:after{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    left:-120px;
    bottom:-120px;
    border-radius:999px;
    background:rgba(244,162,26,.16);
}
.hero-content{position:relative;z-index:2;}
.hero-logo-card{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    padding:18px;
    backdrop-filter:blur(8px);
}

.stat-card{
    padding:22px;
    border-radius:22px;
    color:#fff;
    box-shadow:0 15px 34px rgba(15,23,42,.13);
    transition:.2s ease;
}
.stat-card:hover{transform:translateY(-3px);}
.stat-card.primary{background:linear-gradient(135deg,var(--kerry-red),var(--kerry-red-dark));}
.stat-card.success{background:linear-gradient(135deg,#10b981,#047857);}
.stat-card.warning{background:linear-gradient(135deg,var(--kerry-gold),#d97706);color:#111;}
.stat-card.info{background:linear-gradient(135deg,var(--kerry-blue),#15296e);}

.sidebar{background:#fff;border:1px solid var(--kerry-border);border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.08);}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:15px;color:#344054;text-decoration:none;font-weight:800;}
.sidebar-item:hover{background:#fff1f1;color:var(--kerry-red);}
.sidebar-item i{font-size:1.15rem;color:var(--kerry-red);}

.table th{background:#fafbff!important;color:#344054;font-weight:800;}
.badge{font-weight:800;border-radius:999px;padding:.45rem .7rem;}
.profile-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--kerry-gold);}
.avatar-letter{width:40px;height:40px;border-radius:50%;background:var(--kerry-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;}

.login-shell{min-height:calc(100vh - 180px);display:flex;align-items:center;}
.login-card{overflow:hidden;}
.login-brand-panel{
    background:
        linear-gradient(135deg, rgba(5,5,5,.95), rgba(15,15,15,.96)),
        radial-gradient(circle at top right, rgba(224,25,25,.30), transparent 32%);
    color:white;
    min-height:100%;
    padding:36px;
}
.login-brand-panel .service-chip{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 11px;font-size:.82rem;font-weight:800;display:inline-flex;gap:6px;align-items:center;margin:0 5px 8px 0;}
.login-form-panel{padding:36px;}

footer{background:#fff;border-top:1px solid var(--kerry-border);}

@media(max-width:991.98px){
    .hero-section{padding:28px;}
    .kerry-logo{height:42px;}
    .login-brand-panel,.login-form-panel{padding:26px;}
}
@media(max-width:575.98px){
    .hero-section{border-radius:22px;padding:22px;}
    .stat-card{padding:18px;}
    .navbar-brand span{font-size:1rem;}
    .kerry-logo{height:38px;}
}
