:root {
    /* LIGHT MODE ONLY */
    --primary-color: #0d6efd;
    --primary-hover: #0b5ed7;
    --bg-body: #f4f6f8;
    --bg-card: #ffffff;
    --bg-light: #f8f9fa;
    --text-body: #212529;
    --text-muted: #6c757d;
    --border-color: #dee2e6;
    --shadow: 0 4px 12px rgba(0,0,0,0.05);
    --invert-icon: 0;
}

/* Base Styles */
body {
    background-color: var(--bg-body);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: var(--text-body);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text-body);
}

a { text-decoration: none; }
.main-content { flex: 1; }

/* Navbar Specifics */
.navbar {
    background: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    padding: 0.8rem 0;
}
.navbar-brand { font-weight: 800; letter-spacing: -0.5px; color: var(--text-body) !important; }

/* Fixed: Scope nav-link coloring to navbar only to prevent conflicts with tabs */
.navbar-nav .nav-link { font-weight: 500; color: var(--text-muted) !important; transition: 0.2s; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--primary-color) !important; }

/* Card Components */
.card {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-card);
    transition: transform 0.2s, box-shadow 0.2s;
}
.card-header, .card-footer {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}
.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* Forms & Inputs */
.form-control, .form-select {
    background-color: #fff;
    border: 1px solid #ced4da;
    color: var(--text-body);
    border-radius: 10px;
    padding: 0.7rem 1rem;
}
.form-control:focus, .form-select:focus {
    background-color: #fff;
    color: var(--text-body);
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15);
    border-color: var(--primary-color);
}

/* Bootstrap Component Overrides */
.bg-white { background-color: var(--bg-card) !important; }
.bg-light { background-color: var(--bg-light) !important; }
.text-dark { color: var(--text-body) !important; }
.text-muted { color: var(--text-muted) !important; }

/* List Groups */
.list-group-item {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-body);
}
.list-group-item-action:hover {
    background-color: var(--bg-light);
    color: var(--text-body);
}

/* Tables */
.table {
    color: var(--text-body);
    border-color: var(--border-color);
}
.table > :not(caption) > * > * {
    background-color: transparent;
    border-bottom-color: var(--border-color);
    color: var(--text-body);
}
.table-hover > tbody > tr:hover > * {
    background-color: var(--bg-light);
    color: var(--text-body);
}

/* Modals & Offcanvas */
.modal-content, .offcanvas {
    background-color: var(--bg-card);
    color: var(--text-body);
    border: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}
.modal-header, .modal-footer, .offcanvas-header {
    border-color: var(--border-color);
}

/* Dropdowns */
.dropdown-menu {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    box-shadow: var(--shadow);
}
.dropdown-item { color: var(--text-body); }
.dropdown-item:hover { background-color: var(--bg-light); color: var(--text-body); }

/* Buttons */
.btn { border-radius: 50px; padding: 0.6rem 1.4rem; font-weight: 600; }

/* Utilities */
.object-fit-cover { object-fit: cover; }
.shadow-sm { box-shadow: var(--shadow) !important; }

/* Chat Bubbles */
.msg-bubble { padding: 10px 16px; border-radius: 18px; position: relative; max-width: 80%; }
.msg-me .msg-bubble { background: var(--primary-color); color: white; border-bottom-right-radius: 4px; }
.msg-other .msg-bubble { background: #fff; color: var(--text-body); border: 1px solid var(--border-color); border-bottom-left-radius: 4px; }

@media print { .no-print { display: none !important; } }