/* --- Enterprise Theme Tweaks --- */
:root {

    /* Colors */

    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --primary-light: #dbeafe;

    --success: #16a34a;
    --warning: #f59e0b;
    --danger: #dc2626;

    --background: #f8fafc;
    --surface: #ffffff;

    --border: #e5e7eb;

    --text: #111827;
    --text-light: #6b7280;

    /* Radius */

    --radius-sm: 8px;
    --radius: 14px;
    --radius-lg: 20px;

    /* Shadow */

    --shadow-sm: 0 2px 8px rgba(0,0,0,.04);

    --shadow: 0 10px 30px rgba(0,0,0,.06);

    --shadow-lg: 0 20px 60px rgba(0,0,0,.10);

    /* Animation */

    --transition: .25s ease;

}

*,
*::before,
*::after{

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    margin:0;

    background:var(--background);

    color:var(--text);

    font-family:"Inter",sans-serif;

    line-height:1.6;

    min-height:100vh;

}

img{

    max-width:100%;

    display:block;

}

a{

    color:inherit;

    text-decoration:none;

}

button{

    transition:var(--transition);

}


/* Bootstrap override */
.container{

    max-width:1240px;

}

.btn{

    border-radius:12px;

    font-weight:600;

    padding:.7rem 1.5rem;

}

.btn-primary{

    background:var(--primary);

    border-color:var(--primary);

}

.btn-primary:hover{

    background:var(--primary-dark);

    border-color:var(--primary-dark);

}

.btn-outline-primary{

    border-color:var(--primary);

    color:var(--primary);

}

.card{

    border:none;

    border-radius:18px;

    box-shadow:var(--shadow-sm);

}

.form-control{

    border-radius:12px;

}

.table{

    vertical-align:middle;

}

/* responsive & responsive helpers */
h1{

    font-size:clamp(2.3rem,4vw,3.8rem);

    font-weight:700;

}

h2{

    font-size:clamp(1.7rem,3vw,2.7rem);

}

h3{

    font-size:1.5rem;

}

p{

    color:var(--text-light);

}



/* Utilities */
.section{

    padding:5rem 0;

}

.section-sm{

    padding:3rem 0;

}

.bg-white{

    background:white;

}

.rounded-xl{

    border-radius:20px;

}

.shadow-enterprise{

    box-shadow:var(--shadow);

}

.text-muted{

    color:var(--text-light)!important;

}

.border-soft{

    border:1px solid var(--border);

}


/* Cards */
.enterprise-card{

    background:white;

    border-radius:18px;

    padding:2rem;

    border:1px solid var(--border);

    transition:.25s;

}

.enterprise-card:hover{

    transform:translateY(-5px);

    box-shadow:var(--shadow);

}

.stat-card{

    background:white;

    border-radius:18px;

    padding:2rem;

    text-align:center;

    border:1px solid var(--border);

    transition:.25s;

}

.stat-card h2{

    margin-bottom:.3rem;

    color:var(--primary);

}

.stat-card:hover{

    transform:translateY(-4px);

}

@media (max-width:992px){

    .section{

        padding:4rem 0;

    }

}

@media (max-width:768px){

    h1{

        font-size:2.4rem;

    }

    .section{

        padding:3rem 0;

    }

}

@media (max-width:576px){

    .btn{

        width:100%;

    }

}

/* ===========================================
   NAVBAR
=========================================== */

.main-nav {

    background: rgba(255,255,255,.95);
    backdrop-filter: blur(16px);

    border-bottom: 1px solid var(--border);

    position: sticky;
    top: 0;
    z-index: 1000;

    padding: .8rem 0;

    transition: .25s;

}

.navbar-brand {

    font-weight: 700;
    color: var(--text) !important;

    font-size: 1.1rem;

}

.brand-logo {

    width: 42px;
    height: 42px;

    border-radius: 12px;

    background: linear-gradient(135deg,
        var(--primary),
        #3b82f6);

    display: flex;
    justify-content: center;
    align-items: center;

    color: white;

    font-size: 18px;

    flex-shrink: 0;

    box-shadow: var(--shadow-sm);

}

.brand-text {

    line-height: 1.2;

}

.nav-link {

    color: var(--text) !important;

    font-weight: 500;

    padding: .75rem 1rem !important;

    border-radius: 10px;

    transition: .2s;

}

.nav-link:hover {

    background: var(--primary-light);

    color: var(--primary) !important;

}

.nav-divider {

    width: 1px;
    height: 26px;

    background: var(--border);

}

.btn-login {

    background: white;

    border: 1px solid var(--border);

    color: var(--text);

    border-radius: 10px;

}

.btn-login:hover {

    background: #f5f7fb;

}

.btn-register {

    background: var(--primary);

    color: white;

    border-radius: 10px;

}

.btn-register:hover {

    background: var(--primary-dark);

    color: white;

}

.navbar-toggler {

    border: none;

}

.navbar-toggler:focus {

    box-shadow: none;

}

/* Mobile */

@media (max-width:768px){

    .navbar-collapse{

        margin-top:1rem;

        background:white;

        padding:1rem;

        border-radius:16px;

        box-shadow:var(--shadow);

    }

    .nav-divider{

        display:none !important;

    }

    .navbar-nav{

        gap:.5rem;

    }

    .btn-login,
    .btn-register{

        width:100%;

    }

}

/* ===========================================
   FOOTER
=========================================== */

.main-footer {

    background: white;

    margin-top: 5rem;

    border-top: 1px solid var(--border);

    padding: 4rem 0;

}

.main-footer h5,
.main-footer h6 {

    color: var(--text);

    font-weight: 700;

}

.main-footer a {

    color: var(--text-light);

    transition: .2s;

}

.main-footer a:hover {

    color: var(--primary);

}
@media (max-width: 768px) {
    .main-footer {
        padding: 2.5rem 0;
        text-align: center;
    }

    .main-footer .col-lg-3.text-lg-end {
        text-align: center !important;
        margin-top: 1rem;
    }
}
/* Mobile */
@media (max-width: 992px) {
    .navbar-collapse {
        margin-top: 1rem;
        background: white;
        padding: 1rem;
        border-radius: 16px;
        box-shadow: var(--shadow);
    }

    .nav-divider {
        display: none !important;
    }

    .navbar-nav {
        gap: .5rem;
    }

    .btn-login,
    .btn-register {
        width: 100%;
    }
}