/* =====================================================================
   Aadhya Creation — custom "Modern SaaS" theme (Emerald/Teal)
   Layered on top of Bootstrap 5.3. Supports light + dark via
   <html data-bs-theme="light|dark">. Loaded AFTER styles.min.css.
   ===================================================================== */

:root {
    /* Brand — emerald → teal */
    --brand: #10b981;
    --brand-strong: #0d9488;
    --brand-rgb: 16, 185, 129;
    --brand-gradient: linear-gradient(135deg, #10b981 0%, #0d9488 100%);

    /* Light palette */
    --app-bg: #f4f7fa;
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --text: #1f2a37;
    --muted: #6b7a90;
    --border: #e6ebf1;
    --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 20px rgba(16, 24, 40, .06);
    --shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);
    --radius: 14px;
    --radius-sm: 10px;

    /* Map Bootstrap's theme vars to the brand */
    --bs-primary: var(--brand);
    --bs-primary-rgb: var(--brand-rgb);
    --bs-link-color: var(--brand-strong);
    --bs-link-hover-color: var(--brand);
    --bs-body-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

[data-bs-theme="dark"] {
    --app-bg: #0b1220;
    --surface: #131c2e;
    --surface-2: #1b2740;
    --text: #e6edf6;
    --muted: #93a4bd;
    --border: #24314c;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);

    --bs-body-bg: var(--app-bg);
    --bs-body-color: var(--text);
    --bs-border-color: var(--border);
}

/* ---------- base ---------- */
body {
    background: var(--app-bg) !important;
    color: var(--text);
    font-family: var(--bs-body-font-family);
    letter-spacing: .1px;
}

.body-wrapper,
.page-wrapper {
    background: var(--app-bg) !important;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text);
    font-weight: 700;
    letter-spacing: -.2px;
}

a {
    text-decoration: none;
}

.text-muted {
    color: var(--muted) !important;
}

/* Legacy hardcoded text colors used across the views */
.text-black,
.nav-link.text-black {
    color: var(--text) !important;
}

/* ---------- sidebar ---------- */
.left-sidebar {
    background: var(--surface) !important;
    border-right: 1px solid var(--border);
}

.left-sidebar .sidebar-nav ul .sidebar-item {
    margin-bottom: 2px;
}

.sidebar-link {
    color: var(--text) !important;
    border-radius: var(--radius-sm) !important;
    font-weight: 600;
    padding: 9px 12px !important;
    transition: background .15s ease, color .15s ease;
}

.sidebar-link:hover {
    background: rgba(var(--brand-rgb), .10) !important;
    color: var(--brand-strong) !important;
}

.sidebar-item.selected > .sidebar-link,
.sidebar-link[aria-expanded="true"] {
    background: rgba(var(--brand-rgb), .12) !important;
    color: var(--brand-strong) !important;
}

/* Icon chips in the sidebar → unify to brand tint */
.aside-icon {
    background: rgba(var(--brand-rgb), .12) !important;
    color: var(--brand-strong) !important;
}
.aside-icon i {
    color: var(--brand-strong) !important;
}

.left-sidebar .accordion-body .nav-link {
    color: var(--muted) !important;
    border-radius: 8px;
    padding: 7px 10px;
    font-weight: 500;
}
.left-sidebar .accordion-body .nav-link:hover {
    background: rgba(var(--brand-rgb), .08) !important;
    color: var(--brand-strong) !important;
}

/* ---------- header ---------- */
.app-header {
    background: var(--surface) !important;
    border-bottom: 1px solid var(--border);
    backdrop-filter: saturate(1.1);
}
.app-header .nav-icon-hover {
    color: var(--muted);
}

/* Theme toggle button */
.theme-toggle {
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text);
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.theme-toggle:hover {
    border-color: var(--brand);
    color: var(--brand-strong);
}
.theme-toggle .ti-moon { display: none; }
[data-bs-theme="dark"] .theme-toggle .ti-sun { display: none; }
[data-bs-theme="dark"] .theme-toggle .ti-moon { display: inline; }

/* ---------- cards ---------- */
.card {
    background: var(--surface) !important;
    color: var(--text);
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow);
}
.card .card-body { color: var(--text); }
.card-title { color: var(--text); }

/* Nested cards (the app nests card-in-card a lot) → flatten inner one */
.card .card {
    box-shadow: none;
    border-color: var(--border) !important;
    background: var(--surface-2) !important;
}

/* ---------- buttons ---------- */
.btn {
    border-radius: 10px;
    font-weight: 600;
    padding: .5rem .95rem;
    transition: transform .05s ease, filter .15s ease, background .15s ease;
}
.btn:active { transform: translateY(1px); }

.btn-primary,
.btn-info {
    background: var(--brand) !important;
    border-color: var(--brand) !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-info:hover {
    background: var(--brand-strong) !important;
    border-color: var(--brand-strong) !important;
    color: #fff !important;
}
.btn-success {
    background: #059669 !important;
    border-color: #059669 !important;
}
.btn-outline-primary,
.btn-outline-info {
    color: var(--brand-strong) !important;
    border-color: var(--brand) !important;
}
.btn-outline-primary:hover,
.btn-outline-info:hover {
    background: var(--brand) !important;
    color: #fff !important;
}
.btn-outline-secondary {
    color: var(--muted) !important;
    border-color: var(--border) !important;
}
.btn-outline-secondary:hover {
    background: var(--surface-2) !important;
    color: var(--text) !important;
}

/* ---------- forms ---------- */
.form-control,
.form-select {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    padding: .55rem .8rem;
}
.form-control::placeholder { color: var(--muted); opacity: .7; }
.form-control:focus,
.form-select:focus {
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .18) !important;
}
.form-label {
    font-weight: 600;
    color: var(--text);
    margin-bottom: .35rem;
}

/* ---------- tables ---------- */
.table {
    --bs-table-bg: transparent;
    color: var(--text);
}
.table thead th {
    background: var(--surface-2);
    color: var(--muted);
    text-transform: uppercase;
    font-size: 11.5px;
    letter-spacing: .4px;
    font-weight: 700;
    border-bottom: 1px solid var(--border) !important;
    padding: 12px 14px;
}
.table tbody td {
    border-bottom: 1px solid var(--border);
    padding: 12px 14px;
    vertical-align: middle;
}
.table tbody tr:hover td {
    background: rgba(var(--brand-rgb), .05);
}

/* DataTables controls */
.dt-buttons .btn { margin-right: 6px; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px;
    padding: 5px 10px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--brand) !important;
    border-color: var(--brand) !important;
    color: #fff !important;
    border-radius: 8px;
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    color: var(--muted) !important;
    margin: 10px 0;
}

/* ---------- badges / misc ---------- */
.badge { border-radius: 8px; font-weight: 600; padding: .4em .6em; }

.dropdown-menu {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow);
}
.dropdown-item { color: var(--text); }
.dropdown-item:hover { background: var(--surface-2); color: var(--brand-strong); }

.alert-danger {
    background: rgba(239, 68, 68, .12);
    border-color: rgba(239, 68, 68, .3);
    color: #dc2626;
}

/* Page section headings spacing */
.container-fluid > .d-flex > div > h4 { margin-bottom: 2px; }

/* Scrollbar polish */
* { scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: var(--border); border-radius: 8px; }

/* ---------- Google Translate language dropdown ---------- */
/* Hide the "Powered by Google Translate" text + logo, keep only the select */
#google_translate_element .goog-te-gadget {
    font-size: 0 !important;
    color: transparent !important;
    line-height: 0;
}
#google_translate_element .goog-te-gadget > span,
#google_translate_element .goog-logo-link,
#google_translate_element img {
    display: none !important;
}

/* Style the language select like the rest of the theme's inputs */
#google_translate_element .goog-te-combo {
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--bs-body-font-family) !important;
    font-size: 13px !important;
    font-weight: 600;
    color: var(--text) !important;
    background-color: var(--surface-2) !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    padding: 8px 32px 8px 12px !important;
    margin: 0 !important;
    line-height: 1.2;
    cursor: pointer;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
#google_translate_element .goog-te-combo:hover {
    border-color: var(--brand) !important;
}
#google_translate_element .goog-te-combo:focus {
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 3px rgba(var(--brand-rgb), .18) !important;
}
[data-bs-theme="dark"] #google_translate_element .goog-te-combo {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393a4bd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

/* Kill the Google top banner + its page-shift so the layout stays put */
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget-icon { display: none !important; }
body { top: 0 !important; }
.goog-tooltip, .goog-tooltip:hover { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
