:root,
body[data-theme="royal_blue"],
body[data-theme="blue"]{
    --primary:#1d4ed8;
    --secondary:#2563eb;
    --primary-dark:#0f2f75;
    --primary-light:#dbeafe;
    --accent:#38bdf8;

    --bg:#eef5ff;
    --bg-gradient:linear-gradient(135deg,#eaf1ff 0%,#f8fbff 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#0f172a;
    --text-light:#64748b;
    --muted:#64748b;
    --border:#dbe7f8;
    --soft:#eaf1ff;
    --soft-2:#f8fbff;

    --shadow:0 10px 26px rgba(29,78,216,.10);
    --hero-shadow:0 18px 38px rgba(37,99,235,.25);

    --sidebar-bg:#ffffff;
    --sidebar-active:#eaf1ff;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#1d4ed8;
    --button-text:#ffffff;

    --success-bg:#ecfdf5;
    --success-border:#10b981;
    --success-text:#065f46;

    --danger-bg:#fef2f2;
    --danger-border:#ef4444;
    --danger-text:#991b1b;

    --warning-bg:#fff7ed;
    --warning-text:#9a3412;
    --warning-soft:#fff3d8;
    --warning-dark:#9a5b00;
}

body[data-theme="emerald"]{
    --primary:#0f766e;
    --secondary:#0ea5a4;
    --primary-dark:#102a27;
    --primary-light:#ccfbf1;
    --accent:#14b8a6;

    --bg:#eef8f4;
    --bg-gradient:linear-gradient(135deg,#e6fbf6 0%,#f8fffc 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#1f2937;
    --text-light:#6b7c78;
    --muted:#6b7c78;
    --border:#d9ebe5;
    --soft:#e8f8f3;
    --soft-2:#f8fffc;

    --shadow:0 10px 26px rgba(15,118,110,.10);
    --hero-shadow:0 18px 38px rgba(14,165,164,.28);

    --sidebar-bg:#ffffff;
    --sidebar-active:#e8f8f3;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#0f766e;
    --button-text:#ffffff;
}

body[data-theme="purple"]{
    --primary:#7c3aed;
    --secondary:#8b5cf6;
    --primary-dark:#4c1d95;
    --primary-light:#ede9fe;
    --accent:#a78bfa;
    --bg:#f5f1ff;
    --bg-gradient:linear-gradient(135deg,#f1eaff 0%,#fbfaff 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#1e1b4b;
    --text-light:#6b7280;
    --muted:#6b7280;
    --border:#e6dcff;
    --soft:#f0eaff;
    --soft-2:#fbfaff;
    --shadow:0 10px 26px rgba(124,58,237,.10);
    --hero-shadow:0 18px 38px rgba(139,92,246,.25);
    --sidebar-bg:#ffffff;
    --sidebar-active:#f0eaff;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#7c3aed;
    --button-text:#ffffff;
}

body[data-theme="orange"]{
    --primary:#ea580c;
    --secondary:#f97316;
    --primary-dark:#9a3412;
    --primary-light:#ffedd5;
    --accent:#fb923c;
    --bg:#fff7ed;
    --bg-gradient:linear-gradient(135deg,#fff1e6 0%,#fffaf5 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#1f2937;
    --text-light:#6b7280;
    --muted:#6b7280;
    --border:#fed7aa;
    --soft:#ffedd5;
    --soft-2:#fffaf5;
    --shadow:0 10px 26px rgba(234,88,12,.10);
    --hero-shadow:0 18px 38px rgba(249,115,22,.24);
    --sidebar-bg:#ffffff;
    --sidebar-active:#ffedd5;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#ea580c;
    --button-text:#ffffff;
}

body[data-theme="rose"]{
    --primary:#e11d48;
    --secondary:#f43f5e;
    --primary-dark:#9f1239;
    --primary-light:#ffe4e6;
    --accent:#fb7185;
    --bg:#fff1f3;
    --bg-gradient:linear-gradient(135deg,#ffeaf0 0%,#fff8fa 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#1f2937;
    --text-light:#6b7280;
    --muted:#6b7280;
    --border:#fecdd3;
    --soft:#ffe4e6;
    --soft-2:#fff8fa;
    --shadow:0 10px 26px rgba(225,29,72,.10);
    --hero-shadow:0 18px 38px rgba(244,63,94,.22);
    --sidebar-bg:#ffffff;
    --sidebar-active:#ffe4e6;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#e11d48;
    --button-text:#ffffff;
}

body[data-theme="slate"]{
    --primary:#334155;
    --secondary:#475569;
    --primary-dark:#0f172a;
    --primary-light:#e2e8f0;
    --accent:#64748b;
    --bg:#f1f5f9;
    --bg-gradient:linear-gradient(135deg,#eef2f7 0%,#f8fafc 52%,#ffffff 100%);
    --card:#ffffff;
    --text:#0f172a;
    --text-light:#64748b;
    --muted:#64748b;
    --border:#cbd5e1;
    --soft:#e2e8f0;
    --soft-2:#f8fafc;
    --shadow:0 10px 26px rgba(51,65,85,.10);
    --hero-shadow:0 18px 38px rgba(71,85,105,.22);
    --sidebar-bg:#ffffff;
    --sidebar-active:#e2e8f0;
    --topbar-bg:#ffffff;
    --input-bg:#ffffff;
    --button:#334155;
    --button-text:#ffffff;
}

body[data-mode="dark"]{
    --bg:#0b1220;
    --bg-gradient:linear-gradient(135deg,#08111f 0%,#0f172a 55%,#111827 100%);
    --card:#111827;
    --text:#e5e7eb;
    --text-light:#9ca3af;
    --muted:#9ca3af;
    --border:#243244;
    --soft:#172033;
    --soft-2:#0f172a;
    --sidebar-bg:#0f172a;
    --sidebar-active:#172033;
    --topbar-bg:#0f172a;
    --input-bg:#0b1220;
    --shadow:0 10px 26px rgba(0,0,0,.28);
}

body[data-mode="dark"][data-theme="royal_blue"],
body[data-mode="dark"][data-theme="blue"]{
    --primary:#60a5fa;
    --secondary:#3b82f6;
    --primary-dark:#93c5fd;
    --primary-light:#172554;
    --accent:#38bdf8;
}

body[data-mode="dark"][data-theme="emerald"]{
    --primary:#2dd4bf;
    --secondary:#14b8a6;
    --primary-dark:#99f6e4;
    --primary-light:#134e4a;
    --accent:#5eead4;
}

body[data-mode="dark"][data-theme="purple"]{
    --primary:#a78bfa;
    --secondary:#8b5cf6;
    --primary-dark:#ddd6fe;
    --primary-light:#3b0764;
    --accent:#c4b5fd;
}

body[data-mode="dark"][data-theme="orange"]{
    --primary:#fb923c;
    --secondary:#f97316;
    --primary-dark:#fed7aa;
    --primary-light:#431407;
    --accent:#fdba74;
}

body[data-mode="dark"][data-theme="rose"]{
    --primary:#fb7185;
    --secondary:#f43f5e;
    --primary-dark:#fecdd3;
    --primary-light:#4c0519;
    --accent:#fda4af;
}

body[data-mode="dark"][data-theme="slate"]{
    --primary:#cbd5e1;
    --secondary:#94a3b8;
    --primary-dark:#f8fafc;
    --primary-light:#1e293b;
    --accent:#94a3b8;
}


/* v29 mobile + desktop theme bridge: apply same variables on html and body */
html[data-theme="royal_blue"], html[data-theme="blue"]{color-scheme:light;}
html[data-mode="dark"]{color-scheme:dark;}
body.theme-royal_blue, body.theme-blue{--primary:#1d4ed8;}
body.theme-emerald{--primary:#0f766e;}
body.theme-purple{--primary:#7c3aed;}
body.theme-orange{--primary:#ea580c;}
body.theme-rose{--primary:#e11d48;}
body.theme-slate{--primary:#334155;}
