:root {
    --primary-color: #6366f1;
    --primary-600: #4f46e5;
    --bg: #f8fafc;
    --text: #1e293b;
    --dark-bg: #0f172a;
    --muted: rgba(30,42,59,0.6);
}

/* Base */
html,body{
    height:100%;
}
body{
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/* Navbar (glassmorphism) */
.navbar-custom{
    background: rgba(15,23,42,0.9) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: all .28s cubic-bezier(.2,.9,.3,1);
}
.navbar-custom .navbar-brand{ color: #fff; }
.nav-link{
    font-weight:500;
    color: rgba(255,255,255,0.85) !important;
    padding: .5rem 1rem !important;
    transition: color .2s ease, background .2s ease;
}
.nav-link:hover{ color: var(--primary-color) !important; }
.nav-link.active{
    color:#fff !important;
    background: rgba(99,102,241,0.08);
    border-radius:8px;
}

.avatar-sm{
    width:32px; height:32px; object-fit:cover; border-radius:50%;
    border:2px solid var(--primary-600);
}

/* Layout */
main{ min-height:80vh; }

/* Footer */
footer{
    background: var(--dark-bg);
    border-top: 1px solid rgba(255,255,255,0.04);
}
footer a{ color: rgba(255,255,255,0.65); transition: color .15s ease; }
.hover-text-primary:hover{ color: var(--primary-color) !important; }

/* Utilities */
.rounded-4{ border-radius: .75rem !important; }
.bg-primary-subtle{ background: rgba(99,102,241,0.09); }

/* Responsive tweaks */
@media (max-width:767px){
    .nav-link{ padding:.4rem .6rem !important; }
}

/* Small helpers for consistent spacing */
.small{ font-size:.875rem; }
