:root{

    /* Backgrounds */
    --bg:#071225;
    --topbar:#01091f;
    --sidebar:#0d162d;

    --surface:#121d36;
    --surface-hover:#172542;

    /* Brand */
    --primary:#3b82f6;
    --primary-hover:#2563eb;
    --primary-rgb:59,130,246;

    --accent-angle:135deg;
    --accent-end:var(--primary-hover);
    --accent-gradient:linear-gradient(var(--accent-angle),var(--primary),var(--accent-end));
    --accent-background:var(--primary);
    color-scheme:dark;

    /* Status */
    --success:#22c55e;
    --success-text:#bbf7d0;
    --warning:#f59e0b;
    --danger:#ef4444;

    /* Text */
    --text:#ffffff;
    --text-muted:#94a3b8;

    /* Borders */
    --border:rgba(255,255,255,.06);
    --calendar-border:rgba(255,255,255,.07);
    --calendar-header:rgba(18,29,54,.98);
    --soft-hover:rgba(255,255,255,.05);
    --scrollbar-track:transparent;
    --scrollbar-thumb:#1f2c4b;
    --scrollbar-thumb-hover:#30426b;

    /* Radius */
    --radius-xs:8px;
    --radius-sm:12px;
    --radius-md:16px;
    --radius-lg:20px;
    --radius-xl:24px;

    /* Shadows */
    --shadow-sm:
        0 4px 12px rgba(0,0,0,.15);

    --shadow:
        0 10px 30px rgba(0,0,0,.25);

    --shadow-primary:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 10px 24px rgba(var(--primary-rgb), .22);

    --shadow-primary-hover:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 14px 32px rgba(var(--primary-rgb), .30);

    /* Sizes */
    --topbar-height:78px;
    /* --sidebar-width:250px; */

    /* Animation */
    --transition:.25s ease;

}

:root[data-theme="light"]{
    color-scheme:light;

    --bg:#eef3fb;
    --topbar:#ffffff;
    --sidebar:#f8fbff;

    --surface:#ffffff;
    --surface-hover:#f1f6ff;

    --text:#0f172a;
    --text-muted:#64748b;
    --success-text:#166534;

    --border:rgba(15,23,42,.09);
    --calendar-border:rgba(15,23,42,.12);
    --calendar-header:#f8fbff;
    --soft-hover:rgba(15,23,42,.045);
    --scrollbar-thumb:rgba(100,116,139,.46);
    --scrollbar-thumb-hover:rgba(71,85,105,.68);

    --shadow-sm:
        0 4px 12px rgba(15,23,42,.08);

    --shadow:
        0 18px 45px rgba(15,23,42,.13);

}

:root[data-color-theme="emerald"]{

    --primary:#10b981;
    --primary-hover:#059669;
    --primary-rgb:16,185,129;

}

:root[data-color-theme="violet"]{

    --primary:#8b5cf6;
    --primary-hover:#7c3aed;
    --primary-rgb:139,92,246;

}

:root[data-color-theme="amber"]{

    --primary:#f59e0b;
    --primary-hover:#d97706;
    --primary-rgb:245,158,11;

}

/* Neutral dark surfaces; accents remain independently selectable. */
:root[data-theme="black"]{
    --bg:#0b0c0e;
    --topbar:#090a0c;
    --sidebar:#111214;
    --surface:#1a1c20;
    --surface-hover:#25282d;
    --text:#f5f5f6;
    --text-muted:#a2a6af;
    --border:rgba(255,255,255,.09);
    --calendar-border:rgba(255,255,255,.10);
    --calendar-header:#1a1c20;
    --soft-hover:rgba(255,255,255,.055);
    --scrollbar-thumb:#363a41;
    --scrollbar-thumb-hover:#505660;
}

:root[data-color-theme="rose"]{
    --primary:#e84d87;
    --primary-hover:#be185d;
    --primary-rgb:232,77,135;
}

:root[data-color-theme="cyan"]{
    --primary:#dc2626;
    --primary-hover:#b91c1c;
    --primary-rgb:220,38,38;
}

:root[data-color-theme="orange"]{
    --primary:#ea580c;
    --primary-hover:#c2410c;
    --primary-rgb:234,88,12;
}

:root[data-color-theme="indigo"]{
    --primary:#6366f1;
    --primary-hover:#4f46e5;
    --primary-rgb:99,102,241;
}

:root[data-color-theme="aurora"]{
    --primary:#2563eb;
    --primary-hover:#1d4ed8;
    --accent-end:#9333ea;
    --primary-rgb:37,99,235;
    --accent-angle:110deg;
    --accent-gradient:linear-gradient(var(--accent-angle),#2563eb 0%,#6554ee 52%,#b43de1 100%);
    --accent-background:var(--accent-gradient);
}

:root[data-color-theme="ocean"]{
    --primary:#0891b2;
    --primary-hover:#0e7490;
    --accent-end:#2563eb;
    --primary-rgb:8,145,178;
    --accent-angle:110deg;
    --accent-gradient:linear-gradient(var(--accent-angle),#087e9b 0%,#168dc6 52%,#4055d9 100%);
    --accent-background:var(--accent-gradient);
}

:root[data-color-theme="sunset"]{
    --primary:#dc2626;
    --primary-hover:#b91c1c;
    --accent-end:#c026d3;
    --primary-rgb:220,38,38;
    --accent-angle:110deg;
    --accent-gradient:linear-gradient(var(--accent-angle),#e02f36 0%,#e33279 52%,#a92bd6 100%);
    --accent-background:var(--accent-gradient);
}

:root[data-color-theme="forest"]{
    --primary:#047857;
    --primary-hover:#065f46;
    --accent-end:#0e7490;
    --primary-rgb:4,120,87;
    --accent-angle:110deg;
    --accent-gradient:linear-gradient(var(--accent-angle),#047857 0%,#109987 52%,#237bb5 100%);
    --accent-background:var(--accent-gradient);
}

:root[data-color-theme="custom"]{
    --primary:var(--custom-primary,#3b82f6);
    --primary-hover:color-mix(in srgb,var(--primary) 80%,#000);
    --primary-rgb:var(--custom-rgb,59,130,246);
    --accent-gradient:var(--custom-background,var(--primary));
    --accent-background:var(--custom-background,var(--primary));
}
