/* ============================================================
   Car Dealing Admin — theme
   Dark navy top bar + green accent, matching the CMS/HMIS dashboard
   palette (topbar #1e293b, accent #10b05f), soft rounded cards.
   Loaded after Bootstrap so these rules win the cascade.

   Font family is plain sans-serif, matching the reference CMS. Sizing
   stays at the browser's normal 16px root — the reference's own
   dashboard (stat cards, nav, headings) reads at a comfortable, regular
   size; only its login form runs a separate, deliberately compact scale
   that doesn't apply here.
   ============================================================ */

:root {
    --brand: #10b05f;
    --brand-dark: #0d9550;
    --brand-light: #e6f7ef;
    --accent-blue: #0b5ed7;
    --topbar-bg: #1e293b;
    --topbar-bg-dark: #16202c;
    --topbar-text: rgba(255, 255, 255, .65);
    --topbar-text-hover: rgba(255, 255, 255, .9);
    --topbar-text-active: #fff;
    --body-bg: #eef1f5;
    --ink: #1e293b;
    --ink-muted: #64748b;
    --card-radius: 10px;
    --card-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 6px rgba(15, 23, 42, .08);
    --card-shadow-hover: 0 10px 24px rgba(15, 23, 42, .14);
}

body {
    background-color: var(--body-bg);
    font-family: sans-serif;
    color: #3b4553;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--ink);
}

a { color: var(--brand); }
a:hover { color: var(--brand-dark); }

/* ── Top navbar ─────────────────────────────────────────────── */
.app-navbar {
    background-color: var(--topbar-bg);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}
.app-navbar .navbar-brand {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-weight: 600;
    letter-spacing: .01em;
}
.app-navbar .navbar-brand i {
    color: var(--brand);
    font-size: 1.35rem;
}
.app-navbar .nav-link {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: var(--topbar-text) !important;
    font-size: .92rem;
    padding: .6rem .8rem !important;
    border-radius: 6px;
    transition: color .15s ease, background-color .15s ease;
}
.app-navbar .nav-link i { font-size: .95rem; opacity: .95; }
.app-navbar .nav-link:hover {
    color: var(--topbar-text-hover) !important;
    background-color: rgba(255, 255, 255, .07);
}
.app-navbar .nav-link.active {
    color: var(--topbar-text-active) !important;
    background-color: rgba(255, 255, 255, .1);
}
.app-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, .25);
}
.app-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(100%) brightness(200%);
}
.app-navbar select.form-select-sm {
    border-color: rgba(255, 255, 255, .2);
    background-color: rgba(255, 255, 255, .08);
    color: #fff;
}
.app-navbar select.form-select-sm option { color: #1e293b; }

.app-navbar .dropdown-menu {
    border: none;
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow-hover);
    padding: .4rem;
    margin-top: .5rem;
}
.app-navbar .dropdown-item {
    display: flex;
    align-items: center;
    border-radius: 6px;
    padding: .5rem .75rem;
    font-size: .9rem;
    color: var(--ink);
}
.app-navbar .dropdown-item:hover,
.app-navbar .dropdown-item:focus {
    background-color: var(--brand-light);
    color: var(--brand-dark);
}
.app-navbar .dropdown-item.active {
    background-color: var(--brand);
    color: #fff;
}

.user-chip {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: rgba(255, 255, 255, .85);
    font-size: .85rem;
}
.user-chip .avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    flex-shrink: 0;
}
.user-chip .role-badge {
    font-size: .68rem;
    padding: .15rem .45rem;
}

/* ── Buttons & forms ────────────────────────────────────────── */
.btn { border-radius: 6px; font-weight: 500; }
.btn-primary {
    background-color: var(--brand);
    border-color: var(--brand);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-dark);
    border-color: var(--brand-dark);
}
.btn-outline-primary {
    color: var(--brand);
    border-color: var(--brand);
}
.btn-outline-primary:hover {
    background-color: var(--brand);
    border-color: var(--brand);
}
.form-control, .form-select { border-radius: 6px; }
.form-control:focus, .form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(16, 176, 95, .15);
}

/* ── Cards & tables ─────────────────────────────────────────── */
.card {
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
}
.card-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    font-weight: 600;
    color: var(--ink);
}

.table-card {
    background: #fff;
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .06);
}
.table-card > table { margin-bottom: 0; }
.table thead th {
    background-color: #f8fafc;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ink-muted);
    border-bottom: 2px solid #e2e8f0;
    font-weight: 600;
}
.table > :not(caption) > * > * { padding: .7rem .9rem; }

/* ── Page header ────────────────────────────────────────────── */
.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.4rem;
    flex-wrap: wrap;
    gap: .75rem;
}
.page-header h3 {
    font-weight: 600;
    margin: 0;
}

/* ── Dashboard welcome banner ───────────────────────────────── */
.welcome-banner {
    background: linear-gradient(135deg, var(--topbar-bg) 0%, #2c3b52 100%);
    color: #fff;
    border-radius: var(--card-radius);
    padding: 1.75rem 2rem;
    margin-bottom: 1.75rem;
    box-shadow: var(--card-shadow);
}
.text-soft { color: rgba(255, 255, 255, .68); }
.welcome-banner .badge-outline-light {
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-weight: 500;
}

/* ── Dashboard menu tiles ───────────────────────────────────── */
.dash-tile {
    position: relative;
    display: block;
    height: 100%;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
    padding: 1.4rem 1.5rem;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease;
}
.dash-tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--card-shadow-hover);
}
.dash-tile .dash-icon {
    width: 50px;
    height: 50px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 1rem;
}
.dash-tile h6 {
    font-weight: 600;
    color: var(--ink);
    margin-bottom: .3rem;
}
.dash-tile p {
    color: var(--ink-muted);
    font-size: .82rem;
    margin-bottom: 0;
}
.dash-tile .dash-arrow {
    position: absolute;
    top: 1.4rem;
    right: 1.4rem;
    color: #cbd5e1;
    font-size: 1rem;
    transition: color .15s ease, transform .15s ease;
}
.dash-tile:hover .dash-arrow {
    color: var(--brand);
    transform: translateX(3px);
}

.icon-soft-green  { background: #e6f7ef; color: #10b05f; }
.icon-soft-blue   { background: #e8f0fe; color: #0b5ed7; }
.icon-soft-orange { background: #fef3e6; color: #f59e0b; }
.icon-soft-purple { background: #f1e9fb; color: #8b5cf6; }
.icon-soft-teal   { background: #e6f7f5; color: #14b8a6; }
.icon-soft-red    { background: #fdeaea; color: #ef4444; }
.icon-soft-indigo { background: #eef0fd; color: #6366f1; }
.icon-soft-slate  { background: #eef1f5; color: #475569; }

/* ── Login page ─────────────────────────────────────────────── */
.login-wrapper {
    min-height: calc(100vh - 2rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.login-card {
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow-hover);
    border: none;
    overflow: hidden;
    max-width: 420px;
    width: 100%;
}
.login-card .login-brand {
    background: linear-gradient(135deg, var(--topbar-bg) 0%, #2c3b52 100%);
    color: #fff;
    padding: 1.75rem 2rem;
    text-align: center;
}
.login-card .login-brand i {
    font-size: 2rem;
    color: var(--brand);
    margin-bottom: .4rem;
    display: block;
}

/* ── Misc ───────────────────────────────────────────────────── */
.badge { font-weight: 500; border-radius: 5px; font-size: 12px; }
.app-navbar > .container-fluid,
main.app-content {
    padding-left: 10px;
    padding-right: 10px;
}
