/*
 * Aurora Theme for Frappe/ERPNext
 * A stunning modern theme with rich, switchable color identities and refined visual hierarchy.
 *
 * Design Philosophy:
 *  - Four switchable color identities (variants): Aurora / Sunset / Forest / Midnight
 *  - Each variant drives the ENTIRE UI through CSS custom properties, so switching is instant.
 *  - Light mode: clean surfaces with vivid brand tints and warm accents.
 *  - Dark mode: deep navy canvas with glowing brand highlights.
 *  - Smooth transitions, generous radii, layered shadows, color-coded status.
 *
 * How the variant system works:
 *  - :root / [data-theme="light"] / [data-theme="dark"] define the *semantic* variables
 *    (backgrounds, text, borders, radii, shadows) and the *default* brand hue (Aurora).
 *  - [data-aurora-variant="..."] blocks (placed LAST, so they win) override only the
 *    brand hue variables: --aurora-primary / -light / -dark / -secondary / -accent.
 *  - Because semantic vars such as --navbar-bg / --btn-primary / --border-primary are
 *    defined as var(--aurora-primary), every derived color follows the active variant.
 */

/* ============================================================
   AURORA LIGHT MODE (default semantic + brand = Aurora)
   ============================================================ */
:root,
[data-theme="light"] {
    /* --- Aurora Brand Colors (defaults to the "aurora" variant) --- */
    --aurora-primary: #4F46E5;
    --aurora-primary-light: #818CF8;
    --aurora-primary-dark: #3730A3;
    --aurora-secondary: #7C3AED;
    --aurora-accent: #F59E0B;

    /* --- Override Frappe Layout Colors --- */
    --bg-color: #FAFBFF;
    --fg-color: #FFFFFF;
    --subtle-accent: var(--aurora-primary);
    --subtle-fg: #E8ECF4;
    --navbar-bg: var(--aurora-primary);
    --fg-hover-color: color-mix(in srgb, var(--aurora-primary) 12%, #FFFFFF);
    --card-bg: #FFFFFF;
    --disabled-text-color: #94A3B8;
    --disabled-control-bg: #F1F5F9;
    --control-bg: #F1F5F9;
    --control-bg-on-gray: #E2E8F0;
    --awesomebar-focus-bg: #FFFFFF;
    --modal-bg: #FFFFFF;
    --toast-bg: #FFFFFF;
    --popover-bg: #FFFFFF;

    /* --- Override Text Colors --- */
    --text-color: #1E293B;
    --heading-color: #0F172A;
    --text-muted: #64748B;
    --text-light: #94A3B8;
    --text-neutral: #334155;
    --text-dark: #0F172A;

    /* --- Override Button Colors --- */
    --btn-primary: var(--aurora-primary);
    --btn-default-bg: #F1F5F9;
    --btn-default-hover-bg: #E2E8F0;
    --btn-ghost-hover-bg: color-mix(in srgb, var(--aurora-primary) 10%, #FFFFFF);

    /* --- Override Border Colors --- */
    --border-color: #E2E8F0;
    --dark-border-color: #CBD5E1;
    --border-primary: var(--aurora-primary);
    --table-border-color: #E2E8F0;

    /* --- Override SVG/Icon Colors --- */
    --icon-stroke: #475569;
    --icon-fill-bg: #FFFFFF;

    /* --- Override Alert Colors --- */
    --alert-text-danger: #DC2626;
    --alert-text-warning: #D97706;
    --alert-text-info: #2563EB;
    --alert-text-success: #059669;
    --alert-bg-danger: #FEF2F2;
    --alert-bg-warning: #FFFBEB;
    --alert-bg-info: #EFF6FF;
    --alert-bg-success: #ECFDF5;

    /* --- Override Background-Text Color Pairs (rich status palette) --- */
    --bg-blue: #DBEAFE;
    --bg-light-blue: #EFF6FF;
    --bg-dark-blue: #93C5FD;
    --bg-green: #D1FAE5;
    --bg-yellow: #FEF3C7;
    --bg-orange: #FFEDD5;
    --bg-red: #FEE2E2;
    --bg-gray: #F1F5F9;
    --bg-grey: #F1F5F9;
    --bg-light-gray: #F8FAFC;
    --bg-dark-gray: #94A3B8;
    --bg-darkgrey: #94A3B8;
    --bg-purple: #EDE9FE;
    --bg-pink: #FCE7F3;
    --bg-cyan: #CFFAFE;

    --text-on-blue: #1E40AF;
    --text-on-light-blue: #1D4ED8;
    --text-on-dark-blue: #1E3A8A;
    --text-on-green: #065F46;
    --text-on-yellow: #92400E;
    --text-on-orange: #9A3412;
    --text-on-red: #991B1B;
    --text-on-gray: #475569;
    --text-on-grey: #475569;
    --text-on-darkgrey: #1E293B;
    --text-on-dark-gray: #1E293B;
    --text-on-light-gray: #334155;
    --text-on-purple: #5B21B6;
    --text-on-pink: #9D174D;
    --text-on-cyan: #155E75;

    /* --- Override Scrollbar Colors --- */
    --scrollbar-thumb-color: #CBD5E1;
    --scrollbar-track-color: #F1F5F9;

    /* --- Override Highlight Colors --- */
    --highlight-color: color-mix(in srgb, var(--aurora-primary) 10%, #FFFFFF);
    --yellow-highlight-color: #FEF3C7;
    --highlight-shadow: 0 0 0 1px color-mix(in srgb, var(--aurora-primary) 30%, transparent),
                        1px 1px 12px color-mix(in srgb, var(--aurora-primary) 22%, transparent);

    /* --- Override Shadows --- */
    --shadow-inset: inset 0px -1px 0px #CBD5E1;
    --modal-shadow: 0 20px 60px rgba(15, 23, 42, 0.12), 0 8px 20px rgba(15, 23, 42, 0.08);
    --card-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
    --btn-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);

    /* --- Override Other Colors --- */
    --sidebar-select-color: color-mix(in srgb, var(--aurora-primary) 10%, #FFFFFF);
    --placeholder-color: color-mix(in srgb, var(--aurora-primary) 10%, #FFFFFF);
    --btn-group-border-color: #CBD5E1;
    --primary-color: var(--aurora-primary);
    --brand-color: var(--aurora-primary);

    /* --- Override Input Colors --- */
    --input-disabled-bg: #E2E8F0;

    /* --- Override Checkbox/Switch --- */
    --checkbox-color: var(--aurora-primary);
    --checkbox-focus-shadow: 0 0 0 3px color-mix(in srgb, var(--aurora-primary) 22%, transparent);
    --checkbox-gradient: linear-gradient(180deg, var(--aurora-primary) -124.51%, var(--aurora-primary) 100%);
    --switch-bg: #CBD5E1;

    /* --- Override Diff Colors --- */
    --diff-added: #BBF7D0;
    --diff-removed: #FECACA;
    --diff-changed: #BFDBFE;

    /* --- Code Block --- */
    --code-block-bg: #1E293B;
    --code-block-text: #94A3B8;

    /* --- Aurora Custom Shadows --- */
    --aurora-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
    --aurora-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.07);
    --aurora-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.1);
    --aurora-shadow-xl: 0 24px 48px rgba(15, 23, 42, 0.12);
    --aurora-shadow-glow: 0 0 20px color-mix(in srgb, var(--aurora-primary) 22%, transparent);

    /* --- Aurora Custom Radius --- */
    --aurora-radius-sm: 8px;
    --aurora-radius-md: 12px;
    --aurora-radius-lg: 16px;
    --aurora-radius-xl: 22px;

    /* --- Aurora Brand Gradients (recolor with the active variant) --- */
    --aurora-gradient: linear-gradient(135deg, var(--aurora-primary) 0%, var(--aurora-primary-light) 55%, var(--aurora-secondary) 100%);
    --aurora-gradient-soft: linear-gradient(135deg,
        color-mix(in srgb, var(--aurora-primary) 10%, #FFFFFF) 0%,
        color-mix(in srgb, var(--aurora-secondary) 10%, #FFFFFF) 100%);
}


/* ============================================================
   AURORA DARK MODE
   ============================================================ */
[data-theme="dark"] {
    /* --- Aurora Brand Colors (dark variant defaults to lighter brand hues) --- */
    --aurora-primary: #818CF8;
    --aurora-primary-light: #A5B4FC;
    --aurora-primary-dark: #6366F1;
    --aurora-secondary: #A78BFA;
    --aurora-accent: #FBBF24;

    /* --- Override Frappe Layout Colors --- */
    --neutral: var(--neutral-black);
    --invert-neutral: var(--neutral-white);
    --bg-color: #0F172A;
    --fg-color: #1E293B;
    --subtle-accent: #1E293B;
    --subtle-fg: #334155;
    --navbar-bg: #1E293B;
    --fg-hover-color: #1E293B;
    --card-bg: #1E293B;
    --disabled-text-color: #64748B;
    --disabled-control-bg: #1E293B;
    --control-bg: #1E293B;
    --control-bg-on-gray: #334155;
    --awesomebar-focus-bg: #1E293B;
    --awesomplete-hover-bg: #1E293B;
    --modal-bg: #1E293B;
    --toast-bg: #1E293B;
    --popover-bg: #1E293B;

    /* --- Override Text Colors --- */
    --text-color: #E2E8F0;
    --heading-color: #F1F5F9;
    --text-muted: #94A3B8;
    --text-light: #64748B;
    --text-neutral: #CBD5E1;
    --text-dark: #0F172A;

    /* --- Override Button Colors --- */
    --btn-primary: var(--aurora-primary);
    --btn-default-bg: #334155;
    --btn-default-hover-bg: #475569;
    --btn-ghost-hover-bg: #1E293B;

    /* --- Override Border Colors --- */
    --border-color: #334155;
    --dark-border-color: #475569;
    --border-primary: var(--aurora-primary);
    --table-border-color: #334155;

    /* --- Override SVG/Icon Colors --- */
    --icon-stroke: #94A3B8;

    /* --- Override Alert Colors --- */
    --alert-text-danger: #FCA5A5;
    --alert-text-warning: #FCD34D;
    --alert-text-info: #93C5FD;
    --alert-text-success: #6EE7B7;
    --alert-bg-danger: #450A0A;
    --alert-bg-warning: #451A03;
    --alert-bg-info: #172554;
    --alert-bg-success: #022C22;

    /* --- Override Background-Text Color Pairs --- */
    --bg-blue: #1E3A5F;
    --bg-light-blue: #1E3A5F;
    --bg-dark-blue: #1E3A8A;
    --bg-green: #064E3B;
    --bg-yellow: #78350F;
    --bg-orange: #7C2D12;
    --bg-red: #7F1D1D;
    --bg-gray: #334155;
    --bg-grey: #334155;
    --bg-dark-gray: #475569;
    --bg-darkgrey: #475569;
    --bg-light-gray: #1E293B;
    --bg-purple: #3B0764;
    --bg-pink: #831843;
    --bg-cyan: #164E63;

    --text-on-blue: #93C5FD;
    --text-on-light-blue: #93C5FD;
    --text-on-dark-blue: #BFDBFE;
    --text-on-green: #6EE7B7;
    --text-on-yellow: #FDE68A;
    --text-on-orange: #FDBA74;
    --text-on-red: #FCA5A5;
    --text-on-gray: #CBD5E1;
    --text-on-grey: #CBD5E1;
    --text-on-darkgrey: #E2E8F0;
    --text-on-dark-gray: #E2E8F0;
    --text-on-light-gray: #CBD5E1;
    --text-on-purple: #C4B5FD;
    --text-on-pink: #F9A8D4;
    --text-on-cyan: #67E8F9;

    /* --- Override Scrollbar Colors --- */
    --scrollbar-thumb-color: #475569;
    --scrollbar-track-color: #1E293B;

    /* --- Override Highlight Colors --- */
    --highlight-color: #1E293B;
    --yellow-highlight-color: #78350F;
    --highlight-shadow: 0 0 0 1px color-mix(in srgb, var(--aurora-primary) 35%, transparent),
                        1px 1px 12px color-mix(in srgb, var(--aurora-primary) 30%, transparent);

    /* --- Override Shadow --- */
    --shadow-inset: #334155;
    --modal-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), 0 8px 20px rgba(0, 0, 0, 0.3);
    --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    --btn-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);

    /* --- Override Other Colors --- */
    --sidebar-select-color: #1E293B;
    --placeholder-color: #1E293B;
    --btn-group-border-color: #475569;
    --primary-color: var(--aurora-primary);
    --brand-color: var(--aurora-primary);

    /* --- Override Input Colors --- */
    --input-disabled-bg: none;

    /* --- Override Checkbox/Switch --- */
    --checkbox-color: var(--aurora-primary);
    --checkbox-gradient: linear-gradient(180deg, var(--aurora-primary) -124.51%, var(--aurora-primary) 100%);
    --checkbox-focus-shadow: 0 0 0 3px color-mix(in srgb, var(--aurora-primary) 30%, transparent);
    --switch-bg: #475569;

    /* --- Override Diff Colors --- */
    --diff-added: #064E3B;
    --diff-removed: #7F1D1D;
    --diff-changed: #1E3A5F;

    /* --- Code Block --- */
    --code-block-bg: #0F172A;
    --code-block-text: #64748B;

    /* --- Aurora Custom Shadows --- */
    --aurora-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
    --aurora-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
    --aurora-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.3);
    --aurora-shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.35);
    --aurora-shadow-glow: 0 0 24px color-mix(in srgb, var(--aurora-primary) 28%, transparent);

    /* --- Aurora Custom Radius --- */
    --aurora-radius-sm: 8px;
    --aurora-radius-md: 12px;
    --aurora-radius-lg: 16px;
    --aurora-radius-xl: 22px;

    /* --- Aurora Brand Gradients --- */
    --aurora-gradient: linear-gradient(135deg, var(--aurora-primary-light) 0%, var(--aurora-primary) 60%, var(--aurora-secondary) 100%);
    --aurora-gradient-soft: linear-gradient(135deg,
        color-mix(in srgb, var(--aurora-primary) 16%, #0F172A) 0%,
        color-mix(in srgb, var(--aurora-secondary) 16%, #0F172A) 100%);
}


/* ============================================================
   COLOR IDENTITY VARIANTS  (placed last so they win)
   Each variant only redefines the brand hue variables; everything
   derived (navbar, buttons, focus rings, selection, links...) follows.
   ============================================================ */

/* --- Aurora (indigo / violet) --- */
[data-aurora-variant="aurora"][data-theme="light"] {
    --aurora-primary: #4F46E5; --aurora-primary-light: #818CF8; --aurora-primary-dark: #3730A3;
    --aurora-secondary: #7C3AED; --aurora-accent: #F59E0B;
}
[data-aurora-variant="aurora"][data-theme="dark"] {
    --aurora-primary: #818CF8; --aurora-primary-light: #A5B4FC; --aurora-primary-dark: #6366F1;
    --aurora-secondary: #A78BFA; --aurora-accent: #FBBF24;
}

/* --- Sunset (orange / pink / gold) --- */
[data-aurora-variant="sunset"][data-theme="light"] {
    --aurora-primary: #F97316; --aurora-primary-light: #FB923C; --aurora-primary-dark: #EA580C;
    --aurora-secondary: #EC4899; --aurora-accent: #FBBF24;
}
[data-aurora-variant="sunset"][data-theme="dark"] {
    --aurora-primary: #FB923C; --aurora-primary-light: #FDBA74; --aurora-primary-dark: #F97316;
    --aurora-secondary: #F472B6; --aurora-accent: #FDE68A;
}

/* --- Forest (emerald / sky) --- */
[data-aurora-variant="forest"][data-theme="light"] {
    --aurora-primary: #059669; --aurora-primary-light: #34D399; --aurora-primary-dark: #047857;
    --aurora-secondary: #0EA5E9; --aurora-accent: #FBBF24;
}
[data-aurora-variant="forest"][data-theme="dark"] {
    --aurora-primary: #34D399; --aurora-primary-light: #6EE7B7; --aurora-primary-dark: #10B981;
    --aurora-secondary: #38BDF8; --aurora-accent: #FDE68A;
}

/* --- Midnight (indigo / cyan) --- */
[data-aurora-variant="midnight"][data-theme="light"] {
    --aurora-primary: #6366F1; --aurora-primary-light: #818CF8; --aurora-primary-dark: #4338CA;
    --aurora-secondary: #22D3EE; --aurora-accent: #A78BFA;
}
[data-aurora-variant="midnight"][data-theme="dark"] {
    --aurora-primary: #818CF8; --aurora-primary-light: #A5B4FC; --aurora-primary-dark: #6366F1;
    --aurora-secondary: #67E8F9; --aurora-accent: #C4B5FD;
}


/* ============================================================
   AURORA COMPONENT ENHANCEMENTS
   ============================================================ */

/* --- Smooth Transitions on Theme / Variant Switch --- */
html {
    transition: background-color 0.3s ease, color 0.3s ease;
}

body,
.navbar,
.sidebar,
.frappe-card,
.modal-content,
.popover,
.dropdown-menu,
.form-control,
.btn,
input,
select,
textarea {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.2s ease, box-shadow 0.25s ease;
}

/* --- Subtle desk canvas accent (color identity without hurting readability) --- */
.layout-main-section-wrapper,
.page-container {
    background-image: radial-gradient(120% 80% at 100% 0%,
        color-mix(in srgb, var(--aurora-primary) 7%, transparent) 0%,
        transparent 45%) !important;
}

/* --- Navbar Enhancement --- */
.navbar {
    background: var(--navbar-bg) !important;
    border-bottom: none !important;
}

[data-theme="light"] .navbar {
    background: var(--aurora-gradient) !important;
    box-shadow: 0 2px 16px color-mix(in srgb, var(--aurora-primary) 28%, transparent) !important;
}

[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 55%, var(--aurora-secondary) 160%) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35) !important;
}

/* Navbar text always light */
.navbar .navbar-nav .nav-link,
.navbar .nav-item .nav-link,
.navbar .dropdown-toggle,
.navbar .navbar-brand,
.navbar .form-control {
    color: rgba(255, 255, 255, 0.92) !important;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .nav-item .nav-link:hover {
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--aurora-radius-sm, 8px);
}

/* Brand logo pops with a soft glow */
.navbar .navbar-brand img,
.app-logo img {
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.25));
}

/* Awesomebar in navbar */
[data-theme="light"] .navbar #awesome-bar .awesomplete > input,
[data-theme="light"] .navbar .form-control {
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #FFFFFF !important;
    border-radius: var(--aurora-radius-md, 12px) !important;
}

[data-theme="light"] .navbar #awesome-bar .awesomplete > input::placeholder,
[data-theme="light"] .navbar .form-control::placeholder {
    color: rgba(255, 255, 255, 0.62) !important;
}

[data-theme="dark"] .navbar #awesome-bar .awesomplete > input,
[data-theme="dark"] .navbar .form-control {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #E2E8F0 !important;
    border-radius: var(--aurora-radius-md, 12px) !important;
}

[data-theme="dark"] .navbar #awesome-bar .awesomplete > input::placeholder,
[data-theme="dark"] .navbar .form-control::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* --- Card / Widget Enhancement --- */
.frappe-card,
.widget,
.number-card {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--aurora-radius-lg, 16px) !important;
    box-shadow: var(--aurora-shadow-sm) !important;
    transition: box-shadow 0.25s ease, transform 0.2s ease, border-color 0.25s ease;
    overflow: hidden;
}

.frappe-card:hover,
.widget:hover {
    box-shadow: var(--aurora-shadow-md) !important;
    transform: translateY(-2px);
}

/* Decorative top accent on number/stat cards (Workspace widgets) */
.widget.number-widget,
.widget.statistic-widget,
.number-card,
.report-chart,
.chart-widget {
    border-top: 3px solid var(--aurora-primary) !important;
}

/* --- Button Enhancement --- */
.btn-primary {
    background-color: var(--btn-primary) !important;
    border-color: var(--btn-primary) !important;
    border-radius: var(--aurora-radius-sm, 8px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    transition: all 0.2s ease !important;
}

[data-theme="light"] .btn-primary {
    background: var(--aurora-gradient) !important;
    border: none !important;
    box-shadow: 0 2px 10px color-mix(in srgb, var(--aurora-primary) 32%, transparent) !important;
}

[data-theme="light"] .btn-primary:hover {
    filter: brightness(1.05);
    box-shadow: 0 6px 18px color-mix(in srgb, var(--aurora-primary) 42%, transparent) !important;
    transform: translateY(-1px);
}

[data-theme="dark"] .btn-primary {
    background: var(--aurora-gradient) !important;
    border: none !important;
    box-shadow: 0 2px 10px color-mix(in srgb, var(--aurora-primary) 26%, transparent) !important;
}

[data-theme="dark"] .btn-primary:hover {
    filter: brightness(1.08);
    box-shadow: 0 6px 18px color-mix(in srgb, var(--aurora-primary) 36%, transparent) !important;
    transform: translateY(-1px);
}

.btn-default {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.btn-default:hover {
    transform: translateY(-1px);
}

/* --- Form Controls Enhancement --- */
.form-control {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    border-color: var(--border-color) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.form-control:focus {
    border-color: var(--aurora-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aurora-primary) 18%, transparent) !important;
}

[data-theme="dark"] .form-control:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aurora-primary) 24%, transparent) !important;
}

/* --- Modal Enhancement --- */
.modal-content {
    border: none !important;
    border-radius: var(--aurora-radius-xl, 22px) !important;
    box-shadow: var(--modal-shadow) !important;
    overflow: hidden;
}

.modal-header {
    border-bottom: 1px solid var(--border-color) !important;
    background: var(--aurora-gradient-soft);
}

.modal-footer {
    border-top: 1px solid var(--border-color) !important;
}

/* --- Sidebar Enhancement --- */
[data-theme="light"] .sidebar {
    background: #FAFBFF !important;
}

[data-theme="dark"] .sidebar {
    background: #0F172A !important;
}

.sidebar-item {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.sidebar-item.active {
    background: color-mix(in srgb, var(--aurora-primary) 12%, transparent) !important;
    box-shadow: inset 3px 0 0 var(--aurora-primary) !important;
}

/* --- Dropdown Enhancement --- */
.dropdown-menu {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--aurora-radius-md, 12px) !important;
    box-shadow: var(--aurora-shadow-lg) !important;
    padding: 6px !important;
}

.dropdown-item {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    transition: background-color 0.15s ease;
}

/* --- Popover Enhancement --- */
.popover {
    border: none !important;
    border-radius: var(--aurora-radius-md, 12px) !important;
    box-shadow: var(--aurora-shadow-lg) !important;
}

/* --- Page Head Enhancement --- */
.page-head {
    border-bottom: 1px solid var(--border-color) !important;
}

/* Gradient title text — scoped to the heading text ONLY.
   NOTE: -webkit-text-fill-color is INHERITED, so applying it to the whole
   .page-title container makes the document status indicator-pill (rendered
   inside .page-title) inherit transparent fill and vanish. Scope it to the
   actual title text elements instead, and explicitly reset the fill on any
   status pill / badge / indicator so their text always shows. */
.page-head .page-title .title-text,
.page-head .page-title h1 {
    font-weight: 700 !important;
    background: var(--aurora-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.page-head .page-title {
    font-weight: 700 !important;
}

/* Ensure the document status indicator/badge text is never transparent */
.page-head .indicator-pill,
.page-head .indicator-pill *,
.page-head .indicator,
.page-head .indicator *,
.page-head .page-title .badge,
.page-head .page-title .badge * {
    -webkit-text-fill-color: initial !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
}

/* --- Section Head: colored accent bar (rich color identity) --- */
.section-head {
    font-weight: 700 !important;
    letter-spacing: 0.01em;
    position: relative;
    padding-left: 12px !important;
}

.section-head::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 65%;
    border-radius: 4px;
    background: var(--aurora-gradient);
}

/* --- List View Enhancement --- */
.list-row {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.list-row:hover {
    box-shadow: var(--aurora-shadow-sm) !important;
}

/* --- Badge / Indicator dot: glowing status colors --- */
.badge {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
}

.indicator::before {
    box-shadow: 0 0 6px currentColor;
}

[data-theme="dark"] .indicator::before {
    box-shadow: 0 0 8px currentColor;
}

/* --- Tab Enhancement --- */
.nav-tabs .nav-link {
    border-radius: var(--aurora-radius-sm, 8px) var(--aurora-radius-sm, 8px) 0 0 !important;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.nav-tabs .nav-link.active {
    border-bottom: 2px solid var(--aurora-primary) !important;
    color: var(--aurora-primary) !important;
}

/* --- Alert Enhancement --- */
.alert {
    border-radius: var(--aurora-radius-md, 12px) !important;
    border: none !important;
    border-left: 4px solid currentColor !important;
    font-weight: 500;
}

/* --- Toast Enhancement --- */
.toast {
    border-radius: var(--aurora-radius-md, 12px) !important;
    box-shadow: var(--aurora-shadow-lg) !important;
    border: none !important;
}

/* --- Checkbox / Switch Enhancement --- */
input[type="checkbox"] {
    border-radius: 5px !important;
    transition: all 0.15s ease;
}

[data-theme="light"] input[type="checkbox"]:checked {
    background-color: var(--aurora-primary) !important;
    border-color: var(--aurora-primary) !important;
}

[data-theme="dark"] input[type="checkbox"]:checked {
    background-color: var(--aurora-primary) !important;
    border-color: var(--aurora-primary) !important;
}

[data-theme="light"] .switch-input:checked + .switch-slider {
    background-color: var(--aurora-primary) !important;
}

[data-theme="dark"] .switch-input:checked + .switch-slider {
    background-color: var(--aurora-primary) !important;
}

/* --- Scrollbar Enhancement --- */
::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

::-webkit-scrollbar-track {
    background: var(--scrollbar-track-color);
    border-radius: 6px;
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb-color);
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--aurora-primary);
}

/* --- Selection Enhancement --- */
::selection {
    background: color-mix(in srgb, var(--aurora-primary) 24%, transparent);
    color: inherit;
}

/* --- Link Enhancement --- */
a {
    color: var(--aurora-primary);
    transition: color 0.15s ease;
}

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

[data-theme="dark"] a {
    color: var(--aurora-primary-light);
}

[data-theme="dark"] a:hover {
    color: #FFFFFF;
}

/* --- Table Enhancement --- */
.table {
    border-radius: var(--aurora-radius-md, 12px) !important;
    overflow: hidden;
}

.table th {
    font-weight: 700 !important;
    color: var(--heading-color) !important;
    border-bottom: 2px solid var(--border-color) !important;
}

/* --- Comment / Input Enhancement --- */
.comment-input-wrapper {
    border-radius: var(--aurora-radius-md, 12px) !important;
    border: 1px solid var(--border-color) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.comment-input-wrapper:focus-within {
    border-color: var(--aurora-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--aurora-primary) 14%, transparent) !important;
}

/* --- Kanban Board Enhancement --- */
.kanban-column {
    border-radius: var(--aurora-radius-md, 12px) !important;
}

.kanban-card {
    border-radius: var(--aurora-radius-sm, 8px) !important;
    box-shadow: var(--aurora-shadow-sm) !important;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.kanban-card:hover {
    box-shadow: var(--aurora-shadow-md) !important;
    transform: translateY(-2px);
}

/* --- Grid Enhancement --- */
.grid-row {
    transition: background-color 0.15s ease;
}

/* --- Skeleton Loading Enhancement --- */
[data-theme="light"] .skeleton {
    background: linear-gradient(90deg, #F1F5F9 25%, #E2E8F0 50%, #F1F5F9 75%);
    background-size: 200% 100%;
    animation: aurora-shimmer 1.5s infinite;
    border-radius: var(--aurora-radius-sm, 8px);
}

[data-theme="dark"] .skeleton {
    background: linear-gradient(90deg, #1E293B 25%, #334155 50%, #1E293B 75%);
    background-size: 200% 100%;
    animation: aurora-shimmer 1.5s infinite;
    border-radius: var(--aurora-radius-sm, 8px);
}

@keyframes aurora-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* --- Avatar Enhancement --- */
.avatar {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.avatar:hover {
    transform: scale(1.05);
    box-shadow: var(--aurora-shadow-sm);
}

/* --- Date Picker Enhancement --- */
[data-theme="light"] .datepickers-container .datepicker {
    border-radius: var(--aurora-radius-md, 12px) !important;
    box-shadow: var(--aurora-shadow-lg) !important;
    border: 1px solid #E2E8F0 !important;
}

[data-theme="dark"] .datepickers-container .datepicker {
    background: #1E293B !important;
    border-radius: var(--aurora-radius-md, 12px) !important;
    box-shadow: var(--aurora-shadow-lg) !important;
}

/* --- Frappe Chart Enhancement --- */
[data-theme="dark"] .chart-container {
    --charts-label-color: #94A3B8;
    --charts-axis-line-color: #334155;
    --charts-tooltip-bg: #1E293B;
}

/* --- Standard Filter / Message Box --- */
.standard-filter-section {
    border-radius: var(--aurora-radius-md, 12px) !important;
}

.msg-box {
    border-radius: var(--aurora-radius-lg, 16px) !important;
}

/* --- Login Page Enhancement --- */
[data-theme="light"] .login-content {
    border-radius: var(--aurora-radius-xl, 22px) !important;
    box-shadow: var(--aurora-shadow-xl) !important;
}

[data-theme="dark"] .login-content {
    border-radius: var(--aurora-radius-xl, 22px) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.4) !important;
}

/* --- Focus Ring Enhancement --- */
*:focus-visible {
    outline: 2px solid var(--aurora-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

[data-theme="dark"] *:focus-visible {
    outline-color: var(--aurora-primary-light);
}

/* --- Print Format (keep clean) --- */
.print-format {
    --text-color: #1E293B !important;
    --border-color: #E2E8F0 !important;
}

/* --- Aurora Navbar Glow (subtle) --- */
[data-theme="dark"] .navbar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--aurora-primary) 40%, transparent), transparent);
}

/* ============================================================
   DARK MODE COMPREHENSIVE FIXES (avoid white patches)
   ============================================================ */
[data-theme="dark"] .main-section,
[data-theme="dark"] .page-container,
[data-theme="dark"] .layout-main,
[data-theme="dark"] .layout-main-section-wrapper,
[data-theme="dark"] .layout-main-section { background-color: #0F172A !important; }

[data-theme="dark"] [data-page-route="Workspaces"] .layout-main-section { background-color: #1E293B !important; }
[data-theme="dark"] .workspace-body { background-color: #0F172A !important; }

[data-theme="dark"] .frappe-card,
[data-theme="dark"] .widget { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .widget-group { background-color: transparent !important; }

[data-theme="dark"] .page-head { background-color: #0F172A !important; border-color: #334155 !important; }
[data-theme="dark"] .page-form { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .form-page { background-color: #0F172A !important; }
[data-theme="dark"] .form-layout { background-color: transparent !important; }

[data-theme="dark"] .tab-pane,
[data-theme="dark"] .form-tabs-content { background-color: transparent !important; }
[data-theme="dark"] .nav-tabs { border-color: #334155 !important; background-color: transparent !important; }

[data-theme="dark"] .standard-filter-section { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .list-row-head,
[data-theme="dark"] .list-row { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .list-row:hover { background-color: #253349 !important; }

[data-theme="dark"] .report-builder { background-color: #0F172A !important; }

[data-theme="dark"] .timeline-item { background-color: transparent !important; }
[data-theme="dark"] .timeline-content { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .modal,
[data-theme="dark"] .form-in-grid { --control-bg: #1E293B; --border-color: #334155; }
[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .modal-footer { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .frappe-control .control-input-wrapper,
[data-theme="dark"] .frappe-control .control-value { background-color: transparent !important; color: var(--text-color) !important; }

[data-theme="dark"] .grid-body,
[data-theme="dark"] .grid-row { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .grid-row:hover { background-color: #253349 !important; }
[data-theme="dark"] .grid-heading-row,
[data-theme="dark"] .grid-footer { background-color: #162032 !important; border-color: #334155 !important; }

[data-theme="dark"] .frappe-card .btn-default { background-color: var(--control-bg); }
[data-theme="dark"] .frappe-card .btn-default:hover { background-color: var(--fg-hover-color); }

[data-theme="dark"] .progress { background-color: #334155; }
[data-theme="dark"] .rating { --star-fill: #475569; }
[data-theme="dark"] .rating .star-hover { --star-fill: #64748B; }
[data-theme="dark"] .heatmap-chart g > rect[fill="#ebedf0"] { fill: #1E293B; }

[data-theme="dark"] .sidebar,
[data-theme="dark"] .desk-sidebar { background-color: #0F172A !important; }
[data-theme="dark"] .sidebar-item { background-color: transparent !important; }
[data-theme="dark"] .sidebar-item:hover { background-color: #1E293B !important; }

[data-theme="dark"] .notification-list { background-color: #1E293B !important; }

[data-theme="dark"] .comment-input-wrapper { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .msg-box { background-color: #1E293B !important; }

[data-theme="dark"] .awesomplete > ul { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .awesomplete > ul > li { background-color: #1E293B !important; color: var(--text-color) !important; }
[data-theme="dark"] .awesomplete > ul > li:hover,
[data-theme="dark"] .awesomplete > ul > li[aria-selected="true"] { background-color: #253349 !important; }

[data-theme="dark"] .breadcrumb { background-color: transparent !important; }

[data-theme="dark"] .section-body { background-color: transparent !important; }

[data-theme="dark"] .form-dashboard,
[data-theme="dark"] .number-card,
[data-theme="dark"] .quick-list-widget,
[data-theme="dark"] .onboarding-widget,
[data-theme="dark"] .links-widget,
[data-theme="dark"] .chart-widget { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .field-group { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .field-group-head { background-color: #162032 !important; border-color: #334155 !important; color: var(--text-color) !important; }

[data-theme="dark"] .tag-input,
[data-theme="dark"] .multi-select-input { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .code-editor { background-color: #0F172A !important; }
[data-theme="dark"] .color-picker,
[data-theme="dark"] .icon-picker,
[data-theme="dark"] .file-uploader { background-color: #1E293B !important; }
[data-theme="dark"] .file-upload-area { background-color: #162032 !important; border-color: #334155 !important; }

[data-theme="dark"] .data-import,
[data-theme="dark"] .email-inbox,
[data-theme="dark"] .calendar-view,
[data-theme="dark"] .gantt,
[data-theme="dark"] .image-view { background-color: #0F172A !important; }
[data-theme="dark"] .email-row,
[data-theme="dark"] .image-view-item { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .kanban-column { background-color: #162032 !important; }
[data-theme="dark"] .kanban-card { background-color: #1E293B !important; border-color: #334155 !important; }

[data-theme="dark"] .form-slide-form { background-color: #1E293B !important; }

[data-theme="dark"] .dropdown-menu { background-color: #1E293B !important; border-color: #334155 !important; }
[data-theme="dark"] .dropdown-item { color: var(--text-color) !important; }
[data-theme="dark"] .dropdown-item:hover { background-color: #253349 !important; color: var(--heading-color) !important; }

[data-theme="dark"] .popover,
[data-theme="dark"] .popover-body { background-color: #1E293B !important; color: var(--text-color) !important; }
[data-theme="dark"] .popover-header { background-color: #162032 !important; border-color: #334155 !important; color: var(--heading-color) !important; }

[data-theme="dark"] .toast { background-color: #1E293B !important; }
[data-theme="dark"] .alert { border: none !important; }

[data-theme="dark"] .table { color: var(--text-color) !important; }
[data-theme="dark"] .table th { background-color: #162032 !important; color: var(--heading-color) !important; border-color: #334155 !important; }
[data-theme="dark"] .table td { border-color: #334155 !important; }
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) { background-color: #1E293B !important; }
[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) { background-color: #162032 !important; }
[data-theme="dark"] .table-hover tbody tr:hover { background-color: #253349 !important; }

[data-theme="dark"] .frappe-card:hover,
[data-theme="dark"] .widget:hover {
    box-shadow: var(--aurora-shadow-md), 0 0 0 1px color-mix(in srgb, var(--aurora-primary) 10%, transparent) !important;
    transform: translateY(-2px);
}

[data-theme="dark"] .layout-main-section.frappe-card { background-color: #1E293B !important; }
[data-theme="dark"] .page-head .page-title .title-text,
[data-theme="dark"] .page-head .page-title h1 { color: var(--heading-color) !important; }
[data-theme="dark"] .ql-editor { color: var(--text-color) !important; }
[data-theme="dark"] .ql-toolbar,
[data-theme="dark"] .ql-container { border-color: #334155 !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .frappe-card { border-radius: var(--aurora-radius-md, 12px) !important; }
    .modal-content { border-radius: var(--aurora-radius-lg, 16px) !important; }
}
