/* =============================================================================
   THEME VISION — Futuriste Aurora (Space Grotesk · starfield · gradient souris)
   Scope : TOUT ce fichier est scoped sous [data-theme="vision"].
   Le thème "light" (défaut) n'est pas affecté.
   @keyframes : globaux mais n'affectent que des éléments utilisés en vision.
   ============================================================================= */

/* ─── @keyframes (globaux, sans scope, utilisés uniquement sous vision) ──────── */
@keyframes vision-twinkle {
    0%, 100% { opacity: 0.55; }
    50%       { opacity: 0.25; }
}

/* ─── 1. Variables DaisyUI v4 ───────────────────────────────────────────────── */
[data-theme="vision"] {
    color-scheme: dark;

    /* Base — navy profond */
    --b1: 13% 0.048 265;       /* ~#070b24 */
    --b2: 16% 0.050 265;       /* ~#0d1238 */
    --b3: 19% 0.045 265;
    --bc: 92% 0.008 265;       /* blanc cassé */

    /* Primary — bleu #0075ff */
    --p:  56% 0.22 255;
    --pc: 100% 0 0;

    /* Secondary — violet #7551ff */
    --s:  52% 0.26 285;
    --sc: 100% 0 0;

    /* Accent — teal #00e5c3 */
    --a:  82% 0.18 174;
    --ac: 12% 0.02 265;

    /* Neutral */
    --n:  25% 0.035 260;
    --nc: 88% 0.010 260;

    /* Status */
    --in:  68% 0.148 237;
    --inc: 0% 0 0;
    --su:  72% 0.170 160;
    --suc: 0% 0 0;
    --wa:  80% 0.180 83;
    --wac: 0% 0 0;
    --er:  65% 0.200 22;
    --erc: 100% 0 0;

    /* Géométrie — plus d'arrondis */
    --rounded-box:   1.5rem;
    --rounded-btn:   0.9rem;
    --rounded-badge: 9999px;
    --animation-btn: 0.25s;
    --animation-input: .2s;
    --btn-focus-scale: 0.95;
    --border-btn: 1px;
    --tab-border: 1px;
    --tab-radius: 0.5rem;
}

/* ─── 2. Typo — Space Grotesk ───────────────────────────────────────────────── */
[data-theme="vision"] body,
[data-theme="vision"] h1,
[data-theme="vision"] h2,
[data-theme="vision"] h3,
[data-theme="vision"] h4,
[data-theme="vision"] h5,
[data-theme="vision"] h6,
[data-theme="vision"] .btn,
[data-theme="vision"] .menu,
[data-theme="vision"] .input,
[data-theme="vision"] .select,
[data-theme="vision"] .textarea {
    font-family: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
}

/* Chiffres tabulaires */
[data-theme="vision"] .tabular-nums {
    font-variant-numeric: tabular-nums;
}

/* ─── 3. Body — fond aurora navy + gradient multi-radial ────────────────────── */
[data-theme="vision"] body {
    background-color: #070b24;
    background-image:
        radial-gradient(ellipse 80% 60% at 75% -10%, rgba(117,  81, 255, 0.08) 0%, transparent 65%),
        radial-gradient(ellipse 60% 50% at 15%  90%, rgba(  0, 229, 195, 0.06) 0%, transparent 65%),
        radial-gradient(ellipse 40% 35% at 90%  80%, rgba(255, 120,  50, 0.04) 0%, transparent 60%),
        linear-gradient(160deg, #070b24 0%, #0d1238 50%, #070b24 100%);
    background-attachment: fixed;
    min-height: 100vh;
    color: oklch(var(--bc));
    position: relative;
}

/* ─── 4. Starfield — pseudo ::before (SVG inline encodé) ───────────────────── */
[data-theme="vision"] body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%20900%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22mc%22%3E%3Ccircle%20cx%3D%221380%22%20cy%3D%2260%22%20r%3D%2228%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%221380%22%20cy%3D%2260%22%20r%3D%2228%22%20fill%3D%22rgba%28200%252C220%252C255%252C0.06%29%22%20clip-path%3D%22url%28%2523mc%29%22%2F%3E%3Ccircle%20cx%3D%221393%22%20cy%3D%2256%22%20r%3D%2224%22%20fill%3D%22%252307092a%22%20clip-path%3D%22url%28%2523mc%29%22%2F%3E%3Ccircle%20cx%3D%22920.8%22%20cy%3D%2222.5%22%20r%3D%220.70%22%20fill%3D%22white%22%20opacity%3D%220.26%22%2F%3E%3Ccircle%20cx%3D%221060.5%22%20cy%3D%22609.0%22%20r%3D%221.38%22%20fill%3D%22white%22%20opacity%3D%220.19%22%2F%3E%3Ccircle%20cx%3D%22607.6%22%20cy%3D%2226.8%22%20r%3D%220.64%22%20fill%3D%22white%22%20opacity%3D%220.40%22%2F%3E%3Ccircle%20cx%3D%2238.2%22%20cy%3D%22179.0%22%20r%3D%221.11%22%20fill%3D%22white%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%22317.4%22%20cy%3D%22530.3%22%20r%3D%221.29%22%20fill%3D%22white%22%20opacity%3D%220.15%22%2F%3E%3Ccircle%20cx%3D%221160.4%22%20cy%3D%22628.3%22%20r%3D%220.77%22%20fill%3D%22white%22%20opacity%3D%220.23%22%2F%3E%3Ccircle%20cx%3D%221378.4%22%20cy%3D%22302.9%22%20r%3D%220.50%22%20fill%3D%22white%22%20opacity%3D%220.20%22%2F%3E%3Ccircle%20cx%3D%221220.4%22%20cy%3D%22543.4%22%20r%3D%221.29%22%20fill%3D%22white%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%22772.2%22%20cy%3D%22875.8%22%20r%3D%220.82%22%20fill%3D%22white%22%20opacity%3D%220.43%22%2F%3E%3Ccircle%20cx%3D%221194.3%22%20cy%3D%22556.7%22%20r%3D%221.35%22%20fill%3D%22white%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%221014.6%22%20cy%3D%2241.2%22%20r%3D%220.65%22%20fill%3D%22white%22%20opacity%3D%220.29%22%2F%3E%3Ccircle%20cx%3D%22114.9%22%20cy%3D%22209.5%22%20r%3D%220.51%22%20fill%3D%22white%22%20opacity%3D%220.29%22%2F%3E%3Ccircle%20cx%3D%22915.4%22%20cy%3D%22328.3%22%20r%3D%220.81%22%20fill%3D%22white%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%22384.4%22%20cy%3D%22843.0%22%20r%3D%221.11%22%20fill%3D%22white%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%22246.4%22%20cy%3D%22656.2%22%20r%3D%220.58%22%20fill%3D%22white%22%20opacity%3D%220.34%22%2F%3E%3Ccircle%20cx%3D%221424.9%22%20cy%3D%22576.0%22%20r%3D%221.01%22%20fill%3D%22white%22%20opacity%3D%220.49%22%2F%3E%3Ccircle%20cx%3D%221213.7%22%20cy%3D%22698.4%22%20r%3D%220.65%22%20fill%3D%22white%22%20opacity%3D%220.17%22%2F%3E%3Ccircle%20cx%3D%22454.3%22%20cy%3D%22241.0%22%20r%3D%220.63%22%20fill%3D%22white%22%20opacity%3D%220.62%22%2F%3E%3Ccircle%20cx%3D%221262.0%22%20cy%3D%22283.2%22%20r%3D%221.12%22%20fill%3D%22white%22%20opacity%3D%220.35%22%2F%3E%3Ccircle%20cx%3D%221316.9%22%20cy%3D%22413.0%22%20r%3D%220.69%22%20fill%3D%22white%22%20opacity%3D%220.27%22%2F%3E%3Ccircle%20cx%3D%22808.4%22%20cy%3D%22236.5%22%20r%3D%221.04%22%20fill%3D%22white%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%22575.1%22%20cy%3D%22197.4%22%20r%3D%221.50%22%20fill%3D%22white%22%20opacity%3D%220.40%22%2F%3E%3Ccircle%20cx%3D%22130.9%22%20cy%3D%2242.4%22%20r%3D%220.52%22%20fill%3D%22white%22%20opacity%3D%220.46%22%2F%3E%3Ccircle%20cx%3D%221140.6%22%20cy%3D%22379.9%22%20r%3D%220.47%22%20fill%3D%22white%22%20opacity%3D%220.34%22%2F%3E%3Ccircle%20cx%3D%221434.4%22%20cy%3D%22476.2%22%20r%3D%221.47%22%20fill%3D%22white%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%22648.6%22%20r%3D%221.15%22%20fill%3D%22white%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%22384.2%22%20cy%3D%22576.9%22%20r%3D%220.52%22%20fill%3D%22white%22%20opacity%3D%220.37%22%2F%3E%3Ccircle%20cx%3D%22653.4%22%20cy%3D%22858.4%22%20r%3D%221.36%22%20fill%3D%22white%22%20opacity%3D%220.28%22%2F%3E%3Ccircle%20cx%3D%22720.8%22%20cy%3D%22160.8%22%20r%3D%221.40%22%20fill%3D%22white%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%22429.8%22%20cy%3D%22575.1%22%20r%3D%221.07%22%20fill%3D%22white%22%20opacity%3D%220.23%22%2F%3E%3Ccircle%20cx%3D%221098.0%22%20cy%3D%22485.4%22%20r%3D%221.26%22%20fill%3D%22white%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%220.8%22%20cy%3D%22291.7%22%20r%3D%220.42%22%20fill%3D%22white%22%20opacity%3D%220.61%22%2F%3E%3Ccircle%20cx%3D%221265.4%22%20cy%3D%22748.5%22%20r%3D%220.74%22%20fill%3D%22white%22%20opacity%3D%220.18%22%2F%3E%3Ccircle%20cx%3D%221264.3%22%20cy%3D%22852.3%22%20r%3D%220.49%22%20fill%3D%22white%22%20opacity%3D%220.39%22%2F%3E%3Ccircle%20cx%3D%2299.7%22%20cy%3D%22684.5%22%20r%3D%221.24%22%20fill%3D%22white%22%20opacity%3D%220.21%22%2F%3E%3Ccircle%20cx%3D%22684.4%22%20cy%3D%22494.8%22%20r%3D%220.69%22%20fill%3D%22white%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%22609.3%22%20cy%3D%22190.6%22%20r%3D%220.99%22%20fill%3D%22white%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%22289.7%22%20cy%3D%22280.5%22%20r%3D%221.49%22%20fill%3D%22white%22%20opacity%3D%220.47%22%2F%3E%3Ccircle%20cx%3D%22630.9%22%20cy%3D%22465.8%22%20r%3D%220.53%22%20fill%3D%22white%22%20opacity%3D%220.26%22%2F%3E%3Ccircle%20cx%3D%22486.8%22%20cy%3D%22529.5%22%20r%3D%220.65%22%20fill%3D%22white%22%20opacity%3D%220.26%22%2F%3E%3Ccircle%20cx%3D%22102.2%22%20cy%3D%22568.0%22%20r%3D%220.65%22%20fill%3D%22white%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%221237.9%22%20cy%3D%2263.8%22%20r%3D%220.66%22%20fill%3D%22white%22%20opacity%3D%220.48%22%2F%3E%3Ccircle%20cx%3D%22308.5%22%20cy%3D%22119.1%22%20r%3D%221.43%22%20fill%3D%22white%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%22680.6%22%20cy%3D%22706.2%22%20r%3D%221.29%22%20fill%3D%22white%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%22139.6%22%20cy%3D%22387.9%22%20r%3D%220.87%22%20fill%3D%22white%22%20opacity%3D%220.38%22%2F%3E%3Ccircle%20cx%3D%221049.9%22%20cy%3D%22606.0%22%20r%3D%221.48%22%20fill%3D%22white%22%20opacity%3D%220.20%22%2F%3E%3Ccircle%20cx%3D%22579.8%22%20cy%3D%22305.4%22%20r%3D%221.35%22%20fill%3D%22white%22%20opacity%3D%220.27%22%2F%3E%3Ccircle%20cx%3D%22273.9%22%20cy%3D%22403.8%22%20r%3D%220.86%22%20fill%3D%22white%22%20opacity%3D%220.29%22%2F%3E%3Ccircle%20cx%3D%22359.7%22%20cy%3D%22830.9%22%20r%3D%220.89%22%20fill%3D%22white%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%22792.5%22%20cy%3D%2245.5%22%20r%3D%221.50%22%20fill%3D%22white%22%20opacity%3D%220.57%22%2F%3E%3Ccircle%20cx%3D%221395.4%22%20cy%3D%22833.7%22%20r%3D%221.33%22%20fill%3D%22white%22%20opacity%3D%220.23%22%2F%3E%3Ccircle%20cx%3D%22699.3%22%20cy%3D%22192.4%22%20r%3D%220.84%22%20fill%3D%22white%22%20opacity%3D%220.18%22%2F%3E%3Ccircle%20cx%3D%22545.7%22%20cy%3D%22886.8%22%20r%3D%220.69%22%20fill%3D%22white%22%20opacity%3D%220.54%22%2F%3E%3Ccircle%20cx%3D%22655.2%22%20cy%3D%22380.7%22%20r%3D%221.45%22%20fill%3D%22white%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%22800.3%22%20cy%3D%22646.6%22%20r%3D%220.57%22%20fill%3D%22white%22%20opacity%3D%220.30%22%2F%3E%3Ccircle%20cx%3D%221394.9%22%20cy%3D%22521.3%22%20r%3D%221.00%22%20fill%3D%22white%22%20opacity%3D%220.52%22%2F%3E%3Ccircle%20cx%3D%2282.3%22%20cy%3D%22525.8%22%20r%3D%220.95%22%20fill%3D%22white%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%22226.7%22%20cy%3D%22864.7%22%20r%3D%220.49%22%20fill%3D%22white%22%20opacity%3D%220.24%22%2F%3E%3Ccircle%20cx%3D%22856.9%22%20cy%3D%22607.7%22%20r%3D%220.66%22%20fill%3D%22white%22%20opacity%3D%220.21%22%2F%3E%3Ccircle%20cx%3D%221282.0%22%20cy%3D%22221.6%22%20r%3D%221.05%22%20fill%3D%22white%22%20opacity%3D%220.46%22%2F%3E%3Ccircle%20cx%3D%22603.7%22%20cy%3D%22525.3%22%20r%3D%220.98%22%20fill%3D%22white%22%20opacity%3D%220.62%22%2F%3E%3Ccircle%20cx%3D%22294.1%22%20cy%3D%22644.6%22%20r%3D%220.66%22%20fill%3D%22white%22%20opacity%3D%220.35%22%2F%3E%3Ccircle%20cx%3D%22967.2%22%20cy%3D%22270.0%22%20r%3D%220.75%22%20fill%3D%22white%22%20opacity%3D%220.53%22%2F%3E%3Ccircle%20cx%3D%22104.5%22%20cy%3D%22412.5%22%20r%3D%221.50%22%20fill%3D%22white%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%22105.5%22%20cy%3D%22191.8%22%20r%3D%220.69%22%20fill%3D%22white%22%20opacity%3D%220.62%22%2F%3E%3Ccircle%20cx%3D%221268.4%22%20cy%3D%22791.3%22%20r%3D%220.81%22%20fill%3D%22white%22%20opacity%3D%220.23%22%2F%3E%3Ccircle%20cx%3D%221200.6%22%20cy%3D%22633.2%22%20r%3D%221.07%22%20fill%3D%22white%22%20opacity%3D%220.64%22%2F%3E%3Ccircle%20cx%3D%22941.7%22%20cy%3D%227.0%22%20r%3D%221.30%22%20fill%3D%22white%22%20opacity%3D%220.30%22%2F%3E%3Ccircle%20cx%3D%22955.3%22%20cy%3D%22845.0%22%20r%3D%220.55%22%20fill%3D%22white%22%20opacity%3D%220.21%22%2F%3E%3Ccircle%20cx%3D%22154.1%22%20cy%3D%22497.9%22%20r%3D%220.70%22%20fill%3D%22white%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%221033.4%22%20cy%3D%22183.2%22%20r%3D%221.10%22%20fill%3D%22white%22%20opacity%3D%220.28%22%2F%3E%3Ccircle%20cx%3D%22703.5%22%20cy%3D%22814.8%22%20r%3D%221.33%22%20fill%3D%22white%22%20opacity%3D%220.20%22%2F%3E%3Ccircle%20cx%3D%22609.9%22%20cy%3D%22249.0%22%20r%3D%220.40%22%20fill%3D%22white%22%20opacity%3D%220.54%22%2F%3E%3Ccircle%20cx%3D%22917.4%22%20cy%3D%22235.8%22%20r%3D%221.22%22%20fill%3D%22white%22%20opacity%3D%220.43%22%2F%3E%3Ccircle%20cx%3D%22615.9%22%20cy%3D%228.7%22%20r%3D%220.48%22%20fill%3D%22white%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%221301.7%22%20cy%3D%22491.0%22%20r%3D%221.32%22%20fill%3D%22white%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%22213.3%22%20cy%3D%22114.7%22%20r%3D%220.74%22%20fill%3D%22white%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%221146.4%22%20cy%3D%22774.6%22%20r%3D%221.39%22%20fill%3D%22white%22%20opacity%3D%220.26%22%2F%3E%3Ccircle%20cx%3D%22359.3%22%20cy%3D%2292.5%22%20r%3D%221.26%22%20fill%3D%22white%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%22585.2%22%20cy%3D%22558.6%22%20r%3D%220.57%22%20fill%3D%22white%22%20opacity%3D%220.61%22%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-position: center;
    pointer-events: none;
    z-index: -1;
    animation: vision-twinkle 10s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    [data-theme="vision"] body::before {
        animation: none;
    }
}

/* ─── 5. Overlay gradient réactif souris (calque ::after) ───────────────────── */
[data-theme="vision"] body::after {
    content: '';
    position: fixed;
    inset: 0;
    background: radial-gradient(
        600px at var(--mx, 50%) var(--my, 30%),
        rgba(117, 81, 255, 0.10),
        transparent 70%
    );
    pointer-events: none;
    z-index: 0;
    transition: background 0.1s linear;
}

/* ─── 6. Cards — glassmorphism renforcé ────────────────────────────────────── */
[data-theme="vision"] .card {
    background: rgba(9, 13, 50, 0.60);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 24px;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="vision"] .card-body  { color: oklch(var(--bc)); }
[data-theme="vision"] .card-title { color: #fff; }

/* ─── 7. bg-base-100 / 200 / 300 ───────────────────────────────────────────── */
[data-theme="vision"] .bg-base-100 {
    background: rgba(9, 13, 50, 0.65) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme="vision"] .bg-base-200 {
    background: linear-gradient(135deg, #070b24 0%, #0d1238 100%) !important;
}

[data-theme="vision"] .bg-base-300 {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ─── 8. Sidebar ────────────────────────────────────────────────────────────── */
[data-theme="vision"] aside {
    background: linear-gradient(180deg, rgba(7, 11, 36, 0.92) 0%, rgba(13, 18, 56, 0.88) 100%);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-right: 1px solid rgba(0, 229, 195, 0.12);
    box-shadow: 2px 0 24px rgba(0, 0, 0, 0.3);
}

[data-theme="vision"] aside .menu a,
[data-theme="vision"] aside .menu button {
    color: rgba(255, 255, 255, 0.72);
    border-radius: 0.6rem;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

[data-theme="vision"] aside .menu a:hover,
[data-theme="vision"] aside .menu button:hover {
    background: rgba(0, 229, 195, 0.08);
    color: #00e5c3;
    box-shadow: inset 3px 0 0 #00e5c3;
}

[data-theme="vision"] aside .menu a.active,
[data-theme="vision"] aside .menu button.active {
    background: rgba(0, 117, 255, 0.16);
    color: #fff;
    box-shadow: inset 3px 0 0 #0075ff;
}

[data-theme="vision"] aside .menu .menu-title {
    color: rgba(160, 174, 192, 0.65);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-size: 0.65rem;
}

[data-theme="vision"] aside .sidebar-brand,
[data-theme="vision"] aside .text-primary {
    color: #00e5c3 !important;
}

/* ─── 9. Navbar/Header ──────────────────────────────────────────────────────── */
[data-theme="vision"] header.navbar {
    background: rgba(7, 11, 36, 0.80);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: none;
}

[data-theme="vision"] header.navbar .text-base-content\/50 {
    color: rgba(160, 174, 192, 0.7) !important;
}

/* ─── 10. Boutons ───────────────────────────────────────────────────────────── */
[data-theme="vision"] .btn-primary {
    background: linear-gradient(135deg, #4318ff 0%, #0075ff 100%);
    border: none;
    color: #fff;
    box-shadow: 0 4px 18px rgba(67, 24, 255, 0.40);
    transition: box-shadow 0.25s, transform 0.2s;
}

[data-theme="vision"] .btn-primary:hover {
    background: linear-gradient(135deg, #3a14d9 0%, #0062d6 100%);
    box-shadow: 0 6px 28px rgba(67, 24, 255, 0.65), 0 0 0 1px rgba(117, 81, 255, 0.4);
    transform: translateY(-1px);
    color: #fff;
    border: none;
}

[data-theme="vision"] .btn-ghost {
    color: rgba(255, 255, 255, 0.80);
}

[data-theme="vision"] .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.09);
    color: #fff;
}

[data-theme="vision"] .btn-outline {
    border-color: rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="vision"] .btn-outline:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.38);
    color: #fff;
}

/* ─── 11. Tables ────────────────────────────────────────────────────────────── */
[data-theme="vision"] .table {
    color: rgba(255, 255, 255, 0.85);
}

[data-theme="vision"] .table thead th,
[data-theme="vision"] .table thead tr {
    background: rgba(0, 117, 255, 0.08);
    color: rgba(160, 174, 192, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

[data-theme="vision"] .table tbody tr {
    background: rgba(9, 13, 50, 0.20);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    transition: background 0.15s;
}

[data-theme="vision"] .table tbody tr:hover {
    background: rgba(0, 229, 195, 0.04);
}

[data-theme="vision"] .table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}

[data-theme="vision"] .table tbody td {
    color: rgba(255, 255, 255, 0.82);
    border-bottom: none;
}

/* DataTables */
[data-theme="vision"] .dataTables_wrapper .dataTables_filter input,
[data-theme="vision"] .dataTables_wrapper .dataTables_length select {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.9rem;
    color: rgba(255, 255, 255, 0.85);
    padding: 0.25rem 0.5rem;
}

[data-theme="vision"] .dataTables_wrapper .dataTables_info,
[data-theme="vision"] .dataTables_wrapper .dataTables_paginate {
    color: rgba(160, 174, 192, 0.8);
}

[data-theme="vision"] .dataTables_wrapper .paginate_button {
    color: rgba(255, 255, 255, 0.7) !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 0.5rem !important;
}

[data-theme="vision"] .dataTables_wrapper .paginate_button.current,
[data-theme="vision"] .dataTables_wrapper .paginate_button:hover {
    background: rgba(0, 117, 255, 0.22) !important;
    color: #fff !important;
    border-color: rgba(0, 117, 255, 0.38) !important;
}

/* ─── 12. Inputs / Forms ────────────────────────────────────────────────────── */
[data-theme="vision"] .input,
[data-theme="vision"] .select,
[data-theme="vision"] .textarea,
[data-theme="vision"] .file-input {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.90);
    transition: border-color 0.2s, box-shadow 0.2s;
}

[data-theme="vision"] .input:focus,
[data-theme="vision"] .select:focus,
[data-theme="vision"] .textarea:focus {
    border-color: rgba(117, 81, 255, 0.70);
    box-shadow: 0 0 0 3px rgba(117, 81, 255, 0.18);
    outline: none;
}

[data-theme="vision"] .input::placeholder,
[data-theme="vision"] .textarea::placeholder {
    color: rgba(160, 174, 192, 0.45);
}

[data-theme="vision"] .label-text,
[data-theme="vision"] .label {
    color: rgba(160, 174, 192, 0.9);
}

[data-theme="vision"] .checkbox {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.04);
}

[data-theme="vision"] .checkbox:checked {
    background: linear-gradient(135deg, #4318ff, #0075ff);
    border-color: transparent;
}

/* ─── 13. Badges ────────────────────────────────────────────────────────────── */
[data-theme="vision"] .badge {
    border-color: rgba(255, 255, 255, 0.14);
    border-radius: 9999px;
}

[data-theme="vision"] .badge-outline {
    border-color: rgba(255, 255, 255, 0.24);
    color: rgba(255, 255, 255, 0.80);
    background: transparent;
}

[data-theme="vision"] .badge-primary {
    background: rgba(0, 117, 255, 0.22);
    color: #7ec8ff;
    border-color: rgba(0, 117, 255, 0.30);
}

[data-theme="vision"] .badge-success {
    background: rgba(0, 229, 195, 0.16);
    color: #00e5c3;
    border-color: rgba(0, 229, 195, 0.28);
}

[data-theme="vision"] .badge-warning {
    background: rgba(255, 165, 0, 0.18);
    color: #ffd080;
    border-color: rgba(255, 165, 0, 0.28);
}

[data-theme="vision"] .badge-error {
    background: rgba(220, 50, 50, 0.18);
    color: #ff9090;
    border-color: rgba(220, 50, 50, 0.28);
}

/* ─── 14. Alerts ────────────────────────────────────────────────────────────── */
[data-theme="vision"] .alert {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: rgba(255, 255, 255, 0.88);
}

[data-theme="vision"] .alert-info {
    background: rgba(0, 117, 255, 0.14);
    border-color: rgba(0, 117, 255, 0.28);
    color: #a8d4ff;
}

[data-theme="vision"] .alert-success {
    background: rgba(0, 229, 195, 0.10);
    border-color: rgba(0, 229, 195, 0.22);
    color: #00e5c3;
}

[data-theme="vision"] .alert-warning {
    background: rgba(255, 165, 0, 0.10);
    border-color: rgba(255, 165, 0, 0.22);
    color: #ffd080;
}

[data-theme="vision"] .alert-error {
    background: rgba(220, 50, 50, 0.13);
    border-color: rgba(220, 50, 50, 0.26);
    color: #ff9090;
}

/* ─── 15. Tabs ──────────────────────────────────────────────────────────────── */
[data-theme="vision"] .tabs-bordered .tab {
    color: rgba(160, 174, 192, 0.72);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="vision"] .tabs-bordered .tab:hover {
    color: #00e5c3;
}

[data-theme="vision"] .tabs-bordered .tab-active,
[data-theme="vision"] .tabs-bordered .tab[aria-selected="true"] {
    color: #fff;
    border-bottom-color: #00e5c3;
}

[data-theme="vision"] .tabs-boxed {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 0.85rem;
}

[data-theme="vision"] .tabs-boxed .tab-active {
    background: rgba(0, 117, 255, 0.22);
    color: #fff;
    border-radius: 0.7rem;
}

/* ─── 16. Modals ────────────────────────────────────────────────────────────── */
[data-theme="vision"] .modal-box {
    background: rgba(7, 11, 36, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 1.5rem;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.65);
    color: rgba(255, 255, 255, 0.88);
}

[data-theme="vision"] .modal-backdrop {
    background: rgba(0, 0, 0, 0.72);
}

/* ─── 17. Dropdowns ─────────────────────────────────────────────────────────── */
[data-theme="vision"] .dropdown-content {
    background: rgba(9, 13, 50, 0.97) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.09);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}

[data-theme="vision"] .dropdown-content .menu a,
[data-theme="vision"] .dropdown-content .menu button {
    color: rgba(255, 255, 255, 0.80);
}

[data-theme="vision"] .dropdown-content .menu a:hover,
[data-theme="vision"] .dropdown-content .menu button:hover {
    background: rgba(0, 229, 195, 0.09);
    color: #00e5c3;
}

/* ─── 18. Panneau #ctx-panel ────────────────────────────────────────────────── */
[data-theme="vision"] #ctx-panel {
    background: #0c1036 !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.70) !important;
}

[data-theme="vision"] #ctx-panel .menu a {
    color: rgba(255, 255, 255, 0.80);
}

[data-theme="vision"] #ctx-panel .menu a:hover,
[data-theme="vision"] #ctx-panel .menu a.active {
    background: rgba(0, 229, 195, 0.10);
    color: #00e5c3;
}

/* ─── 19. Liens & texte secondaire ──────────────────────────────────────────── */
[data-theme="vision"] a.link {
    color: #00e5c3;
    text-decoration-color: rgba(0, 229, 195, 0.35);
}

[data-theme="vision"] a.link:hover {
    color: #5ffae8;
}

[data-theme="vision"] .text-base-content\/60 {
    color: rgba(160, 174, 192, 0.72) !important;
}

[data-theme="vision"] .text-base-content {
    color: rgba(255, 255, 255, 0.88);
}

/* ─── 20. Divers ────────────────────────────────────────────────────────────── */
[data-theme="vision"] .divider::before,
[data-theme="vision"] .divider::after {
    background-color: rgba(255, 255, 255, 0.07);
}

[data-theme="vision"] .stats {
    background: rgba(9, 13, 50, 0.60);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 24px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

[data-theme="vision"] .stat-title { color: rgba(160, 174, 192, 0.72); }
[data-theme="vision"] .stat-value { color: #fff; }
[data-theme="vision"] .stat-desc  { color: rgba(160, 174, 192, 0.56); }

[data-theme="vision"] .progress {
    background: rgba(255, 255, 255, 0.07);
}

[data-theme="vision"] .tooltip::before {
    background: rgba(7, 11, 36, 0.97);
    color: rgba(255, 255, 255, 0.90);
    border: 1px solid rgba(255, 255, 255, 0.10);
}
