/* ================================================================
   Reekia — Design System
   Thème sombre, référence : rkia-hub-dashboard-bulma.html
   ================================================================ */

@import url('/__assets/css/fonts-local.css');

/* Scrollbar globale — fine et discrète */
* { scrollbar-width: thin; scrollbar-color: rgba(189,154,0,0.2) transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(189,154,0,0.2); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgba(189,154,0,0.4); }
[data-theme="light"] * { scrollbar-color: rgba(189,154,0,0.15) transparent; }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(189,154,0,0.15); }
[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: rgba(189,154,0,0.3); }

:root {
    --rkia-dark:         #0f1118;
    --rkia-sidebar:      #161822;
    --rkia-card:         #1c1f2e;
    --rkia-border:       #2a2d3e;
    --rkia-text:         #e2e4ed;
    --rkia-text-dim:     #8b8fa3;
    --rkia-accent:       #bd9a00;
    --rkia-accent-light: #d4b84d;
    --rkia-green:        #00cec9;
    --rkia-orange:       #fdcb6e;
    --rkia-red:          #ff6b6b;
    --rkia-blue:         #74b9ff;
    --rkia-heading:      #ffffff;
    --rkia-accent-rgb:  189, 154, 0;
    --rkia-green-rgb:   0, 206, 201;
    --rkia-blue-rgb:    116, 185, 255;
    --rkia-orange-rgb:  253, 203, 110;
    --rkia-red-rgb:     255, 107, 107;
    --rkia-rgba-accent-6: rgba(189, 154, 0, 0.06);
    --rkia-rgba-accent-10: rgba(189, 154, 0, 0.1);
    --rkia-rgba-border-50: rgba(42, 45, 62, 0.5);
    --rkia-rgba-white-3: rgba(255,255,255,0.03);
}

/* ── Light theme ── */
[data-theme="light"] {
    --rkia-dark:         #f0f2f5;
    --rkia-sidebar:      #ffffff;
    --rkia-card:         #ffffff;
    --rkia-border:       #dfe3e8;
    --rkia-text:         #2d3748;
    --rkia-text-dim:     #718096;
    --rkia-accent:       #bd9a00;
    --rkia-accent-light: #9a7e00;
    --rkia-green:        #00b5ad;
    --rkia-orange:       #e67e22;
    --rkia-red:          #e74c3c;
    --rkia-blue:         #3498db;
    --rkia-heading:      #1a202c;
    --rkia-accent-rgb:  189, 154, 0;
    --rkia-green-rgb:   0, 206, 201;
    --rkia-blue-rgb:    116, 185, 255;
    --rkia-orange-rgb:  253, 203, 110;
    --rkia-red-rgb:     255, 107, 107;
    --rkia-rgba-accent-6: rgba(189, 154, 0, 0.04);
    --rkia-rgba-accent-10: rgba(189, 154, 0, 0.08);
    --rkia-rgba-border-50: rgba(0, 0, 0, 0.06);
    --rkia-rgba-white-3: rgba(0,0,0,0.02);
}

* { font-family: 'DM Sans', sans-serif; box-sizing: border-box; }

body {
    background: var(--rkia-dark);
    color: var(--rkia-text);
    min-height: 100vh;
}

/* ── Sidebar ── */
.sidebar {
    position: fixed;
    left: 0; top: 0; bottom: 0;
    width: 240px;
    background: var(--rkia-sidebar);
    border-right: 1px solid var(--rkia-border);
    padding: 1.5rem 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(189,154,0,0.25) transparent;
}
.sidebar::-webkit-scrollbar { width: 5px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(189,154,0,0.25); border-radius: 10px; }
.sidebar::-webkit-scrollbar-thumb:hover { background: rgba(189,154,0,0.45); }

.sidebar-brand {
    padding: 0 1.25rem 1.25rem;
    border-bottom: 1px solid var(--rkia-border);
    margin-bottom: 0.75rem;
}

.sidebar-brand .brand-logo {
    width: 100%;
    height: auto;
}
.sidebar-brand .brand-logo-light { display: none; }
.sidebar-brand .brand-logo-dark  { display: block; }
[data-theme="light"] .sidebar-brand .brand-logo-light { display: block; }
[data-theme="light"] .sidebar-brand .brand-logo-dark  { display: none; }

.box-selector {
    margin: 0 1rem 0.75rem;
    padding: 0.65rem 0.85rem;
    background: rgba(189, 154, 0, 0.08);
    border: 1px solid var(--rkia-border);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    display: block;
}

.box-selector:hover { border-color: var(--rkia-accent); }
.box-selector .box-name     { font-size: 0.8rem; font-weight: 700; color: var(--rkia-heading); }
.box-selector .box-location { font-size: 0.68rem; color: var(--rkia-text-dim); }
.box-selector .box-switch   { font-size: 0.62rem; color: var(--rkia-accent-light); margin-top: 3px; }

.sidebar-menu { flex: 1; padding-top: 0.25rem; }

/* ── Lien solo (Dashboard) ── */
.sidebar-menu a.nav-solo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1.25rem;
    color: var(--rkia-text-dim);
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.15s;
    border-left: 3px solid transparent;
    text-decoration: none;
}
.sidebar-menu a.nav-solo:hover      { color: var(--rkia-text); background: rgba(189, 154, 0, 0.06); }
.sidebar-menu a.nav-solo.is-active  { color: var(--rkia-heading); background: var(--rkia-rgba-accent-10); border-left-color: var(--rkia-accent); }
.sidebar-menu a.nav-solo .icon      { width: 20px; text-align: center; font-size: 0.9rem; flex-shrink: 0; color: var(--rkia-accent-light); }
.sidebar-menu a.nav-solo.is-active .icon { color: var(--rkia-accent); }

/* ── Groupe accordéon ── */
.menu-group { border-bottom: 1px solid rgba(189,154,0,0.06); }

.menu-group-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1.25rem;
    color: var(--rkia-text-dim);
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    transition: color 0.15s, background 0.15s;
}
.menu-group-header:hover { color: var(--rkia-text); background: rgba(189,154,0,0.04); }
.menu-group.is-open > .menu-group-header { color: var(--rkia-heading); }

.menu-group-icon {
    width: 20px;
    text-align: center;
    font-size: 0.88rem;
    flex-shrink: 0;
    color: var(--rkia-accent-light);
}
.menu-group.is-open > .menu-group-header .menu-group-icon { color: var(--rkia-accent); }

.menu-group-chevron {
    margin-left: auto;
    font-size: 0.6rem;
    transition: transform 0.25s;
    opacity: 0.5;
}
.menu-group.is-open > .menu-group-header .menu-group-chevron {
    transform: rotate(180deg);
    opacity: 0.8;
}

.menu-group-header .badge {
    margin-left: auto;
    margin-right: 0.25rem;
    background: var(--rkia-accent);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    font-family: 'JetBrains Mono', monospace;
}
.menu-group-header .badge.is-warning { background: var(--rkia-orange); color: #333; }

/* ── Items du groupe (collapse) ── */
.menu-group-items {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.menu-group.is-open > .menu-group-items {
    max-height: 600px;
}

.menu-group-items a {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 1.25rem 0.5rem 2.6rem;
    color: var(--rkia-text-dim);
    font-size: 0.88rem;
    font-weight: 500;
    transition: all 0.15s;
    border-left: 3px solid transparent;
    text-decoration: none;
}
/* ── Sous-groupes dépliables (Planning > Activités, etc.) ── */
.nav-sub-group { position: relative; }
.nav-sub-parent { position: relative; }
.nav-sub-chevron {
    margin-left: auto;
    font-size: 0.5rem;
    opacity: 0.4;
    transition: transform 0.2s, opacity 0.2s;
}
.nav-sub-group.is-open > .nav-sub-parent .nav-sub-chevron {
    transform: rotate(90deg);
    opacity: 0.7;
}
.nav-sub-items {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
}
.nav-sub-group.is-open > .nav-sub-items {
    max-height: 200px;
}
.menu-group-items a.sub-link {
    padding-left: 3.4rem;
    font-size: 0.82rem;
}

.menu-group-items a:hover            { color: var(--rkia-text); background: rgba(189, 154, 0, 0.06); }
.menu-group-items a.is-active        { color: var(--rkia-heading); background: var(--rkia-rgba-accent-10); border-left-color: var(--rkia-accent); }
.menu-group-items a .icon            { width: 18px; text-align: center; font-size: 0.85rem; flex-shrink: 0; }

.menu-group-items a .badge {
    margin-left: auto;
    background: var(--rkia-accent);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    font-family: 'JetBrains Mono', monospace;
}

.menu-group-items a .badge.is-warning { background: var(--rkia-orange); color: #333; }
.menu-group-items a .badge.is-danger  { background: var(--rkia-red); }
.menu-group-items a .badge.is-green   { background: var(--rkia-green); color: #0f1118; }

.sidebar-bottom {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--rkia-border);
    margin-top: auto;
}

.sidebar-bottom .user-info  { display: flex; align-items: center; gap: 0.65rem; }

.sidebar-bottom .user-avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--rkia-accent), var(--rkia-green));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.sidebar-bottom .user-name   { font-size: 0.78rem; font-weight: 600; color: var(--rkia-heading); }
.sidebar-bottom .user-role   { font-size: 0.62rem; color: var(--rkia-text-dim); }
.sidebar-bottom .user-action { color: var(--rkia-text-dim); font-size: 0.82rem; text-decoration: none; transition: color 0.15s; cursor: pointer; padding: 6px 8px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.sidebar-bottom .user-action:hover { color: var(--rkia-accent); background: rgba(189,154,0,0.1); }
.sidebar-bottom .user-logout { color: var(--rkia-text-dim); font-size: 0.9rem; text-decoration: none; transition: color 0.15s; cursor: pointer; padding: 6px 8px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.sidebar-bottom .user-logout:hover { color: var(--rkia-red); background: rgba(255,82,82,0.1); }

/* ── Main content ── */
.main-content {
    margin-left: 240px;
    padding: 1.5rem 2rem;
    min-height: 100vh;
}

/* ── Global bar (establishment + page title) ── */
.rkia-global-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--rkia-border);
}
.rkia-global-bar-title {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--rkia-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.rkia-global-bar-right { display: flex; align-items: center; gap: 0.75rem; }

/* Onboarding badge (circular) in topbar */
.rkia-onboarding-badge {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding: 0.3rem 0.5rem;
    border-radius: 8px;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    transition: all 0.15s;
    position: relative;
}
.rkia-onboarding-badge:hover { border-color: var(--rkia-accent); background: var(--rkia-bg-hover); }
.rkia-onboarding-badge-pct { font-size: 0.72rem; font-weight: 700; white-space: nowrap; }
.rkia-onboarding-ring-bg { stroke: var(--rkia-border); }
.rkia-onboarding-ring-fill { transition: stroke-dasharray 0.8s ease; }

/* Onboarding persistent bar (all pages) */
.rkia-onboarding-global {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    margin-bottom: 1rem;
    overflow: visible;
    transition: all 0.2s;
}
.rkia-onboarding-global-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 1rem;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}
.rkia-onboarding-global-header:hover { background: var(--rkia-bg-hover); }
.rkia-onboarding-global-left { display: flex; align-items: center; }
.rkia-onboarding-global-title { font-size: 0.82rem; font-weight: 600; color: var(--rkia-heading); }
.rkia-onboarding-global-right { display: flex; align-items: center; gap: 0.75rem; }
.rkia-onboarding-global-pct { font-size: 0.78rem; font-weight: 700; }
.rkia-onboarding-global-bar-mini {
    width: 80px;
    height: 6px;
    background: var(--rkia-border);
    border-radius: 4px;
    overflow: hidden;
}
.rkia-onboarding-global-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.8s ease, background 0.5s;
    width: 0%;
}
.rkia-onboarding-global-chevron {
    font-size: 0.7rem;
    color: var(--rkia-text-dim);
    transition: transform 0.2s;
}
.rkia-onboarding-global-body {
    padding: 0 1rem 0.75rem;
    border-top: 1px solid var(--rkia-border);
    overflow: visible;
}
.rkia-onboarding-global-tasks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 1.5rem;
    padding-top: 0.6rem;
}
.rkia-onboarding-task {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    padding: 0.3rem 0.4rem;
    border-radius: 6px;
    color: var(--rkia-accent-light);
    text-decoration: none;
    font-weight: 500;
    transition: background 0.15s;
}
.rkia-onboarding-task:hover { background: var(--rkia-bg-hover); }
.rkia-onboarding-task i:first-child { font-size: 0.8rem; flex-shrink: 0; color: var(--rkia-text-dim); }
.rkia-onboarding-task.is-blocked {
    opacity: 0.4;
    color: var(--rkia-text-dim);
    cursor: default;
    font-weight: 500;
}
.rkia-onboarding-task.is-done {
    opacity: 0.4;
    font-weight: 400;
}
.rkia-onboarding-task.is-done span { text-decoration: line-through; color: var(--rkia-text-dim); }
.rkia-onboarding-task.is-done i:first-child { color: var(--rkia-green); }
.rkia-onboarding-task-hint {
    font-size: 0.68rem;
    color: var(--rkia-text-dim);
    margin-left: auto;
    white-space: nowrap;
}

/* Onboarding inline forms */
.rkia-onboarding-task-wrap { position: relative; }
.rkia-onboarding-task.is-inline { cursor: pointer; }
.rkia-onboarding-task.is-inline:hover .rkia-onboarding-task-hint { color: var(--rkia-accent); }
.ob-inline-form {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 200;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    padding: 0.75rem;
    min-width: 260px;
    max-width: 320px;
    margin-top: 4px;
    animation: obFormIn 0.15s ease;
}
@keyframes obFormIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.ob-inline-field { margin-bottom: 0.5rem; }
.ob-inline-field label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rkia-text-dim);
    margin-bottom: 0.2rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.ob-inline-input {
    width: 100%;
    padding: 0.45rem 0.65rem;
    font-size: 0.82rem;
    background: var(--rkia-bg);
    color: var(--rkia-text);
    border: 1px solid var(--rkia-border);
    border-radius: 6px;
    outline: none;
    transition: border-color 0.15s;
    font-family: inherit;
    box-sizing: border-box;
}
.ob-inline-input:focus { border-color: var(--rkia-accent); }
.ob-inline-color {
    width: 36px;
    height: 36px;
    border: 2px solid var(--rkia-border);
    border-radius: 8px;
    cursor: pointer;
    padding: 0;
    background: none;
}
.ob-inline-color-hex { font-size: 0.78rem; color: var(--rkia-text-dim); font-family: monospace; }
.ob-inline-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.6rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--rkia-border);
}
.ob-inline-btn {
    font-size: 0.75rem;
    padding: 0.35rem 0.65rem;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-family: inherit;
    transition: all 0.15s;
    text-decoration: none;
    white-space: nowrap;
}
.ob-inline-btn.is-save {
    background: var(--rkia-accent);
    color: #fff;
}
.ob-inline-btn.is-save:hover { opacity: 0.85; }
.ob-inline-btn.is-save:disabled { opacity: 0.5; cursor: default; }
.ob-inline-btn.is-cancel {
    background: transparent;
    color: var(--rkia-text-dim);
    border: 1px solid var(--rkia-border);
}
.ob-inline-btn.is-cancel:hover { background: var(--rkia-bg-hover); }
.ob-inline-btn.is-link {
    margin-left: auto;
    background: transparent;
    color: var(--rkia-text-dim);
    font-weight: 500;
    font-size: 0.7rem;
}
.ob-inline-btn.is-link:hover { color: var(--rkia-accent-light); }
.rkia-onboarding-task.is-done.is-just-completed i:first-child {
    animation: obCheckPop 0.4s ease;
}
@keyframes obCheckPop { 0% { transform: scale(0); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }

/* ─── Dashboard onboarding rows (compact) ───────────────────────────── */
.ob-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.3rem 0.15rem;
    border-radius: 6px;
    font-size: 0.84rem;
    transition: background 0.12s;
}
.ob-row--clickable { cursor: pointer; }
.ob-row--clickable:hover { background: rgba(255,255,255,0.04); }
.ob-row--clickable:hover .ob-row__label { color: var(--rkia-accent-light); }
.ob-row__icon { font-size: 0.75rem; color: var(--rkia-text-dim); flex-shrink: 0; width: 14px; text-align: center; }
.ob-row__icon--lock { font-size: 0.65rem; }
.ob-row__icon--done { color: var(--rkia-green); }
.ob-row__label { font-weight: 500; color: var(--rkia-heading); flex: 1; }
.ob-row__label--dim { color: var(--rkia-text-dim); }
.ob-row__label--done { color: var(--rkia-text-dim); text-decoration: line-through; font-size: 0.8rem; }
.ob-row--blocked { opacity: 0.4; }
.ob-row--blocked-hint { font-size: 0.7rem; color: var(--rkia-orange); padding-left: 1.3rem; margin-top: -0.15rem; }
.ob-row--done { opacity: 0.5; }
.ob-row__action { margin-left: auto; font-size: 0.7rem; color: var(--rkia-text-dim); flex-shrink: 0; }
.ob-row--clickable:hover .ob-row__action { color: var(--rkia-accent-light); }
.rkia-onboarding-task > span:first-child { flex: 1; }
.rkia-onboarding-task-action { margin-left: auto; font-size: 0.7rem; color: var(--rkia-text-dim); flex-shrink: 0; }
.rkia-onboarding-task.is-inline:hover .rkia-onboarding-task-action,
.rkia-onboarding-task.is-modal:hover .rkia-onboarding-task-action { color: var(--rkia-accent-light); }

/* Dashboard inline forms */
#onboarding-remaining .ob-inline-form {
    position: relative;
    top: auto;
    left: auto;
    margin: 0.25rem 0 0.4rem 1.3rem;
    max-width: 320px;
    min-width: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}
#onboarding-remaining .rkia-onboarding-task-wrap {
    position: relative;
}


/* Modal iframe popup (SweetAlert2) */
.ob-modal-popup {
    background: var(--rkia-card) !important;
    border: 1px solid var(--rkia-border) !important;
    border-radius: 12px !important;
}
.ob-modal-popup .swal2-html-container {
    padding: 0 !important;
    margin: 0 !important;
}
.ob-modal-popup .swal2-close {
    color: var(--rkia-text-dim) !important;
    font-size: 1.5rem !important;
}
.ob-modal-popup .swal2-close:hover {
    color: var(--rkia-text) !important;
}

@media (max-width: 768px) {
    .rkia-onboarding-global-tasks { grid-template-columns: 1fr; }
    .rkia-onboarding-global-bar-mini { width: 50px; }
    .rkia-onboarding-badge-pct { display: none; }
    .ob-inline-form { min-width: 220px; }
    .ob-modal-popup { width: 98% !important; }
    .ob-modal-popup iframe { height: 85vh !important; }
    .ob-card { padding: 1rem; }
    .ob-card__icon-wrap { width: 34px; height: 34px; font-size: 0.85rem; }
    .ob-card__pct-ring { width: 40px; height: 40px; }
    .ob-card__ring-svg { width: 40px; height: 40px; }
    .ob-item__action { opacity: 0.5; }
    #onboarding-remaining .ob-inline-form { margin-left: 1.5rem; max-width: 100%; }
}

/* Box switcher */
/* Tenant switcher (superadmin) */
.rkia-tenant-switcher { position: relative; }
.rkia-tenant-switcher-btn {
    display: flex;
    align-items: center;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 8px;
    padding: 0.45rem 0.85rem;
    color: var(--rkia-text);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.rkia-tenant-switcher-btn:hover { border-color: var(--rkia-orange); }
.rkia-tenant-switcher-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 260px;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    z-index: 100;
    padding: 0.5rem 0;
    max-height: 320px;
    overflow-y: auto;
}
.rkia-tenant-switcher-dropdown a {
    display: flex;
    align-items: center;
    padding: 0.55rem 1rem;
    color: var(--rkia-text);
    font-size: 0.85rem;
    text-decoration: none;
    transition: background 0.1s;
}
.rkia-tenant-switcher-dropdown a:hover { background: rgba(233,152,0,0.1); }
.rkia-tenant-switcher-dropdown a.is-active {
    color: var(--rkia-orange);
    font-weight: 600;
    background: rgba(233,152,0,0.08);
}
.rkia-tenant-switcher-dropdown a .fa-check { margin-left: auto; font-size: 0.7rem; }

.rkia-present-badge {
    display: flex;
    align-items: center;
    padding: 5px 12px;
    border: 1px solid rgba(0, 206, 201, 0.25);
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--rkia-heading);
    background: rgba(0, 206, 201, 0.06);
    transition: all 0.3s;
}
.rkia-present-badge.is-active {
    border-color: rgba(0, 206, 201, 0.5);
    background: rgba(0, 206, 201, 0.1);
}
[data-theme="light"] .rkia-present-badge {
    background: rgba(0, 180, 170, 0.06);
    border-color: rgba(0, 180, 170, 0.2);
}
.rkia-box-switcher { position: relative; }
.rkia-box-switcher-btn {
    display: flex;
    align-items: center;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 8px;
    padding: 0.45rem 0.85rem;
    color: var(--rkia-text);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.rkia-box-switcher-btn:hover { border-color: var(--rkia-accent); }
.rkia-box-switcher-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 260px;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    z-index: 100;
    padding: 0.5rem 0;
    max-height: 320px;
    overflow-y: auto;
}
.rkia-box-switcher-dropdown a {
    display: flex;
    align-items: center;
    padding: 0.55rem 1rem;
    color: var(--rkia-text);
    font-size: 0.85rem;
    text-decoration: none;
    transition: background 0.1s;
}
.rkia-box-switcher-dropdown a:hover { background: rgba(189,154,0,0.1); }
.rkia-box-switcher-dropdown a.is-active {
    color: var(--rkia-accent);
    font-weight: 600;
    background: rgba(189,154,0,0.08);
}
.rkia-box-switcher-dropdown a .fa-check { margin-left: auto; font-size: 0.7rem; }
.rkia-box-switcher-dropdown .box-switch-city {
    font-size: 0.72rem;
    color: var(--rkia-text-dim);
    margin-left: 0.4rem;
}

/* ── Top bar ── */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.75rem;
    padding-bottom: 1rem;
}

.topbar h1 { font-size: 1.45rem; font-weight: 700; color: var(--rkia-heading); margin: 0; }
.topbar h1 .greeting { font-weight: 300; color: var(--rkia-text-dim); }

.topbar-actions { display: flex; align-items: center; gap: 0.75rem; }

.topbar-actions .button {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    color: var(--rkia-text-dim);
    font-size: 0.82rem;
    height: 2.25rem;
    transition: all 0.15s;
}

.topbar-actions .button:hover     { border-color: var(--rkia-accent); color: var(--rkia-text); }
.topbar-actions .button.is-accent { background: var(--rkia-accent); border-color: var(--rkia-accent); color: #fff; font-weight: 600; }
.topbar-actions .button.is-accent:hover { background: #9a7e00; }

/* Main tabs (underline style) */
.rkia-main-tabs {
    display: flex; gap: 0; margin-bottom: 1.25rem;
    border-bottom: 2px solid var(--rkia-border);
}
.rkia-main-tab {
    padding: 0.85rem 1.5rem; font-size: 0.88rem; font-weight: 600;
    color: var(--rkia-text-dim); cursor: pointer;
    border-bottom: 3px solid transparent; margin-bottom: -2px;
    display: flex; align-items: center; gap: 0.5rem;
    transition: all 0.2s;
}
.rkia-main-tab:hover { color: var(--rkia-heading); }
.rkia-main-tab.is-active {
    color: var(--rkia-accent-light);
    border-bottom-color: var(--rkia-accent);
}

/* ── Member fiche tabs (same pattern) ── */
.member-tab {
    padding: 0.65rem 1.25rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--rkia-text-dim);
    font-size: 0.82rem;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}
.member-tab:hover { color: var(--rkia-heading); }
.member-tab.is-active {
    color: var(--rkia-heading);
    border-bottom-color: var(--rkia-accent);
    font-weight: 600;
}
[data-theme="light"] .member-tab { color: #718096; }
[data-theme="light"] .member-tab:hover { color: #2d3748; }
[data-theme="light"] .member-tab.is-active { color: var(--rkia-accent); border-bottom-color: var(--rkia-accent); }

.ia-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.6rem;
    color: var(--rkia-accent-light);
    background: rgba(189, 154, 0, 0.1);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ia-indicator .pulse {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--rkia-accent);
    animation: rkiaPulse 2s infinite;
}

@keyframes rkiaPulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.3; }
}

/* ── KPI Cards ── */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.kpi-card {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    padding: 1.15rem 1.25rem;
    transition: border-color 0.15s;
}

.kpi-card:hover { border-color: var(--rkia-accent); }

.kpi-card .kpi-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.kpi-card .kpi-label {
    font-size: 0.7rem;
    color: var(--rkia-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 500;
}

.kpi-card .kpi-icon {
    width: 32px; height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
}

.kpi-card .kpi-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--rkia-heading);
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: -1px;
    line-height: 1;
}

.kpi-card .kpi-trend          { font-size: 0.7rem; margin-top: 0.4rem; font-weight: 500; }
.kpi-card .kpi-trend.is-up    { color: var(--rkia-green); }
.kpi-card .kpi-trend.is-down  { color: var(--rkia-red); }
.kpi-card .kpi-trend.is-neutral { color: var(--rkia-text-dim); }

/* ── Panels ── */
.panel {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    overflow: hidden;
}

.panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--rkia-border);
}

.panel-header h3        { font-size: 0.85rem; font-weight: 700; color: var(--rkia-heading); margin: 0; }
.panel-header .panel-action { font-size: 0.72rem; color: var(--rkia-accent-light); text-decoration: none; }
.panel-header .panel-action:hover { text-decoration: underline; }
.panel-body { padding: 1rem 1.25rem; }

/* ── Card section (settings, formulaires) ── */
.rkia-card {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
}
.rkia-card-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--rkia-heading);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── KPI icon couleurs ── */
.kpi-icon.is-accent { background: rgba(var(--rkia-accent-rgb), 0.12); color: var(--rkia-accent-light); }
.kpi-icon.is-green  { background: rgba(var(--rkia-green-rgb), 0.12);  color: var(--rkia-green); }
.kpi-icon.is-blue   { background: rgba(var(--rkia-blue-rgb), 0.12);   color: var(--rkia-blue); }
.kpi-icon.is-orange { background: rgba(var(--rkia-orange-rgb), 0.12); color: var(--rkia-orange); }
.kpi-icon.is-red    { background: rgba(var(--rkia-red-rgb), 0.12);    color: var(--rkia-red); }

/* ── Tags / badges cliquables ── */
.rkia-tag {
    display: inline-block;
    font-size: 0.7rem;
    padding: 3px 8px;
    border-radius: 4px;
    cursor: pointer;
}
.rkia-tag.is-accent { background: rgba(var(--rkia-accent-rgb), 0.15); color: var(--rkia-accent-light); border: 1px solid rgba(var(--rkia-accent-rgb), 0.3); }
.rkia-tag.is-green  { background: rgba(var(--rkia-green-rgb), 0.15);  color: var(--rkia-green);        border: 1px solid rgba(var(--rkia-green-rgb), 0.3); }
.rkia-tag.is-blue   { background: rgba(var(--rkia-blue-rgb), 0.15);   color: var(--rkia-blue);         border: 1px solid rgba(var(--rkia-blue-rgb), 0.3); }

/* ── Encart info / aide ── */
.rkia-info {
    background: rgba(var(--rkia-accent-rgb), 0.06);
    border: 1px dashed var(--rkia-border);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 0.82rem;
    color: var(--rkia-text-dim);
}

/* ── Section grids ── */
.section-grid               { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.75rem; }
.section-grid.is-thirds     { grid-template-columns: 2fr 1fr; }
.section-grid.is-3col       { grid-template-columns: 1fr 1fr 1fr; }

/* ── Pipeline stages ── */
.pipeline-stages { display: flex; gap: 0.5rem; margin-bottom: 1rem; }

.pipeline-stage {
    flex: 1;
    text-align: center;
    padding: 0.6rem 0.4rem;
    border-radius: 8px;
    border: 1px solid var(--rkia-border);
    cursor: pointer;
    transition: all 0.15s;
}

.pipeline-stage:hover { border-color: var(--rkia-accent); }
.pipeline-stage .stage-count { font-size: 1.3rem; font-weight: 700; font-family: 'JetBrains Mono', monospace; color: var(--rkia-heading); }
.pipeline-stage .stage-label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rkia-text-dim); margin-top: 2px; }

.pipeline-stage.is-new       { border-left: 3px solid var(--rkia-blue); }
.pipeline-stage.is-contacted { border-left: 3px solid var(--rkia-accent); }
.pipeline-stage.is-trial     { border-left: 3px solid var(--rkia-orange); }
.pipeline-stage.is-won       { border-left: 3px solid var(--rkia-green); }
.pipeline-stage.is-lost      { border-left: 3px solid var(--rkia-red); }
.pipeline-stage.is-callback  { border-left: 3px solid #e17055; }

/* ── Tag status callback ── */
.tag-status.is-callback { background: rgba(225, 112, 85, 0.12); color: #e17055; }

/* ── Pipeline bar (detail page) ── */
.lead-pipeline-bar {
    display: flex; align-items: center; gap: 0; margin-bottom: 1.5rem;
    background: var(--rkia-card); border: 1px solid var(--rkia-border);
    border-radius: 10px; padding: 0.75rem 1rem; overflow-x: auto;
}
.pipeline-step {
    display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
    padding: 0.5rem 0.75rem; border-radius: 8px; cursor: pointer;
    transition: all 0.2s; min-width: 80px; text-align: center;
}
.pipeline-step:hover { background: rgba(189, 154, 0, 0.08); }
.pipeline-step-icon {
    width: 32px; height: 32px; border-radius: 50%; display: flex;
    align-items: center; justify-content: center; font-size: 0.75rem;
    background: rgba(139, 143, 163, 0.15); color: var(--rkia-text-dim);
    transition: all 0.2s;
}
.pipeline-step-label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--rkia-text-dim); white-space: nowrap; }
.pipeline-step-arrow { color: var(--rkia-text-dim); font-size: 0.5rem; opacity: 0.4; padding: 0 0.15rem; }
.pipeline-step-arrow.is-done { color: var(--rkia-green); opacity: 0.7; }

.pipeline-step.is-done .pipeline-step-icon { background: rgba(0, 206, 201, 0.15); color: var(--rkia-green); }
.pipeline-step.is-done .pipeline-step-label { color: var(--rkia-green); }
.pipeline-step.is-current .pipeline-step-icon {
    background: var(--rkia-accent); color: #fff; box-shadow: 0 0 0 3px rgba(189, 154, 0, 0.25);
}
.pipeline-step.is-current .pipeline-step-label { color: var(--rkia-accent); font-weight: 700; }
.pipeline-step.is-future .pipeline-step-icon { opacity: 0.5; }
.pipeline-step.is-future .pipeline-step-label { opacity: 0.5; }

/* ── Lead items ── */
.lead-item-row { border-bottom: 1px solid rgba(42, 45, 62, 0.5); }
.lead-item-row:last-child { border-bottom: none; }
.lead-item-row:hover { background: rgba(189,154,0,0.04); }
.lead-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.65rem 1rem; }
.lead-item-row .lead-item { border-bottom: none; padding-left: 0; }
.lead-checkbox input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--rkia-accent); cursor: pointer; }

.lead-avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; color: #fff; flex-shrink: 0; }

.lead-info { flex: 1; min-width: 0; }
.lead-info .lead-name   { font-size: 0.82rem; font-weight: 600; color: var(--rkia-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lead-info .lead-source { font-size: 0.68rem; color: var(--rkia-text-dim); }

.lead-time { font-size: 0.62rem; color: var(--rkia-text-dim); font-family: 'JetBrains Mono', monospace; flex-shrink: 0; }

.lead-status { font-size: 0.6rem; padding: 3px 8px; border-radius: 4px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; flex-shrink: 0; }
.lead-status.is-auto      { background: rgba(189, 154, 0, 0.15); color: var(--rkia-accent-light); }
.lead-status.is-waiting   { background: rgba(253, 203, 110, 0.15); color: var(--rkia-orange); }
.lead-status.is-converted { background: rgba(0, 206, 201, 0.15);   color: var(--rkia-green); }
.lead-status.is-new       { background: rgba(116, 185, 255, 0.15); color: var(--rkia-blue); }

/* ── Planning slots ── */
.planning-slot { display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0; border-bottom: 1px solid rgba(42, 45, 62, 0.4); }
.planning-slot:last-child { border-bottom: none; }
.slot-time { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--rkia-accent-light); width: 45px; flex-shrink: 0; }
.slot-info { flex: 1; }
.slot-info .slot-name  { font-size: 0.8rem; font-weight: 600; color: var(--rkia-heading); }
.slot-info .slot-coach { font-size: 0.68rem; color: var(--rkia-text-dim); }
.slot-fill { display: flex; align-items: center; gap: 0.4rem; flex-shrink: 0; }
.slot-fill .fill-bar { width: 60px; height: 5px; background: var(--rkia-border); border-radius: 3px; overflow: hidden; }
.slot-fill .fill-bar .fill { height: 100%; border-radius: 3px; }
.fill.is-ok     { background: var(--rkia-green); }
.fill.is-almost { background: var(--rkia-orange); }
.fill.is-full   { background: var(--rkia-red); }
.slot-fill .fill-text { font-size: 0.65rem; font-family: 'JetBrains Mono', monospace; color: var(--rkia-text-dim); width: 35px; text-align: right; }

/* ── Recurring grid (programme hebdomadaire) ── */
.recur-grid { display: grid; grid-template-columns: repeat(7, 1fr); min-width: 900px; }
.recur-day { border-right: 1px solid var(--rkia-border); }
.recur-day:last-child { border-right: none; }
.recur-day-header { text-align: center; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rkia-text-dim); font-weight: 500; padding: 0.6rem 0.25rem; background: var(--rkia-dark); border-bottom: 1px solid var(--rkia-border); position: relative; display: flex; align-items: center; justify-content: center; gap: 0.4rem; }
.recur-copy-btn { background: none; border: none; cursor: pointer; color: var(--rkia-text-dim); font-size: 0.6rem; padding: 2px 5px; border-radius: 3px; opacity: 0.4; transition: opacity 0.2s, color 0.2s; }
.recur-copy-btn:hover { opacity: 1; color: var(--rkia-accent-light); background: rgba(189,154,0,0.1); }
.recur-day-body { padding: 0.4rem; min-height: 80px; display: flex; flex-direction: column; gap: 0.35rem; }
.recur-event { display: flex; border-radius: 6px; cursor: pointer; overflow: hidden; transition: transform 0.15s, box-shadow 0.15s; }
.recur-event:hover { transform: translateY(-1px); box-shadow: 0 3px 10px rgba(0,0,0,0.3); }
.recur-event-bar { width: 4px; flex-shrink: 0; border-radius: 6px 0 0 6px; }
.recur-event-content { flex: 1; padding: 6px 8px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.recur-event-time { font-size: 0.68rem; font-family: 'JetBrains Mono', monospace; color: rgba(255,255,255,0.6); font-weight: 500; }
.recur-event-title { font-size: 0.78rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }
.recur-event-coach { font-size: 0.65rem; color: rgba(255,255,255,0.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recur-event-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; }
.recur-event-places { font-size: 0.6rem; font-family: 'JetBrains Mono', monospace; color: rgba(255,255,255,0.5); display: flex; align-items: center; gap: 3px; }
.recur-event-places i { font-size: 0.5rem; }
.recur-event-delete { background: none; border: none; cursor: pointer; padding: 2px 4px; border-radius: 3px; opacity: 0; transition: opacity 0.15s; }
.recur-event:hover .recur-event-delete { opacity: 1; }
.recur-event-delete i { font-size: 0.55rem; color: var(--rkia-red); }
.recur-event-delete:hover { background: rgba(255,107,107,0.15); }
.recur-empty { text-align: center; padding: 1rem 0; color: var(--rkia-text-dim); font-size: 0.78rem; }
.recur-add-btn { width: 100%; background: none; border: 1px dashed var(--rkia-border); border-radius: 6px; color: var(--rkia-text-dim); font-size: 0.7rem; padding: 5px 0; cursor: pointer; transition: border-color 0.2s, color 0.2s; margin-top: auto; }
.recur-add-btn:hover { border-color: var(--rkia-accent); color: var(--rkia-accent-light); }

/* ── Tables dark ── */
.table-dark { width: 100%; border-collapse: collapse; }
.table-dark th { font-size: 0.63rem; text-transform: uppercase; letter-spacing: 1px; color: var(--rkia-text-dim); font-weight: 500; padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rkia-border); text-align: left; }
.table-dark td { font-size: 0.8rem; padding: 0.6rem 0.75rem; border-bottom: 1px solid rgba(42, 45, 62, 0.4); color: var(--rkia-text); }
.table-dark tr:hover td { background: rgba(189, 154, 0, 0.04); }
.table-dark.table-striped tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.02); }
.table-dark.table-striped tbody tr:nth-child(even):hover td { background: rgba(189, 154, 0, 0.06); }
.tr-clickable { cursor: pointer; }
.tr-clickable:active td { background: rgba(189, 154, 0, 0.1) !important; }
.table-dark .member-cell { display: flex; align-items: center; gap: 0.6rem; }
.table-dark .member-avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--rkia-accent); display: flex; align-items: center; justify-content: center; font-size: 0.62rem; font-weight: 700; color: #fff; flex-shrink: 0; }

.tag-status { font-size: 0.63rem; padding: 2px 8px; border-radius: 4px; font-weight: 600; }
.tag-status.is-active   { background: rgba(0, 206, 201, 0.12);   color: var(--rkia-green); }
.tag-status.is-expiring { background: rgba(253, 203, 110, 0.12); color: var(--rkia-orange); }
.tag-status.is-expired  { background: rgba(255, 107, 107, 0.12); color: var(--rkia-red); }
.tag-status.is-pending  { background: rgba(162, 155, 254, 0.12); color: var(--rkia-accent-light); }
.tag-status.is-trial    { background: rgba(116, 185, 255, 0.12); color: var(--rkia-blue); }

/* ── Reviews ── */
.review-item { padding: 0.6rem 0; border-bottom: 1px solid rgba(42, 45, 62, 0.4); }
.review-item:last-child { border-bottom: none; }
.review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.3rem; }
.review-author { font-size: 0.78rem; font-weight: 600; color: var(--rkia-heading); }
.review-stars  { color: var(--rkia-orange); font-size: 0.7rem; }
.review-text   { font-size: 0.72rem; color: var(--rkia-text-dim); line-height: 1.5; margin-bottom: 0.35rem; }
.review-reply  { font-size: 0.68rem; color: var(--rkia-accent-light); display: flex; align-items: center; gap: 0.35rem; }

/* ── Activity feed ── */
.activity-item { display: flex; gap: 0.65rem; padding: 0.5rem 0; border-bottom: 1px solid rgba(42, 45, 62, 0.3); }
.activity-item:last-child { border-bottom: none; }
.activity-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.activity-dot.is-ia      { background: var(--rkia-accent); }
.activity-dot.is-payment { background: var(--rkia-green); }
.activity-dot.is-booking { background: var(--rkia-blue); }
.activity-dot.is-review  { background: var(--rkia-orange); }
.activity-dot.is-alert   { background: var(--rkia-red); }
.activity-text { font-size: 0.75rem; color: var(--rkia-text); line-height: 1.5; }
.activity-text strong { color: var(--rkia-heading); font-weight: 600; }
.activity-time { display: block; font-size: 0.63rem; color: var(--rkia-text-dim); font-family: 'JetBrains Mono', monospace; margin-top: 1px; }

/* ── Charts ── */
.chart-placeholder { height: 160px; display: flex; align-items: flex-end; gap: 6px; padding: 0.5rem 0; }
.chart-bar-group   { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.chart-bar         { width: 100%; border-radius: 4px 4px 0 0; min-height: 4px; }
.chart-bar.is-revenue { background: var(--rkia-accent); }
.chart-bar.is-target  { background: var(--rkia-border); }
.chart-label { font-size: 0.58rem; color: var(--rkia-text-dim); font-family: 'JetBrains Mono', monospace; }

/* ── Login ── */
.rkia-login-hero { min-height: 100vh; background: var(--rkia-dark); display: flex; align-items: center; justify-content: center; }
.rkia-login-box { background: var(--rkia-card); border: 1px solid var(--rkia-border); border-radius: 12px; padding: 2.5rem; width: 100%; max-width: 400px; }
.rkia-login-title { font-size: 1.6rem; font-weight: 700; color: var(--rkia-heading); text-align: center; margin-bottom: 0.2rem; letter-spacing: -0.5px; }
.rkia-login-title span { color: var(--rkia-accent); }
.rkia-login-subtitle { text-align: center; color: var(--rkia-text-dim); margin-bottom: 2rem; font-size: 0.85rem; }
.rkia-login-box .input { background: var(--rkia-dark); border-color: var(--rkia-border); color: var(--rkia-text); }
.rkia-login-box .input:focus { border-color: var(--rkia-accent); box-shadow: 0 0 0 2px rgba(189, 154, 0, 0.2); }
.rkia-login-box .label { color: var(--rkia-text-dim); font-size: 0.8rem; }
.rkia-login-box .icon  { color: var(--rkia-text-dim) !important; }

/* ── Forms dark ── */
.field .label { color: var(--rkia-text-dim); font-size: 0.8rem; }
.field .input, .field .select select, .field .textarea { background: var(--rkia-dark); border-color: var(--rkia-border); color: var(--rkia-text); }
.field .input:focus, .field .select select:focus, .field .textarea:focus { border-color: var(--rkia-accent); box-shadow: 0 0 0 2px rgba(189, 154, 0, 0.2); }

/* ── Buttons ── */
.button.is-rkia { background: var(--rkia-accent); border-color: var(--rkia-accent); color: #fff; font-weight: 600; }
.button.is-rkia:hover { background: #9a7e00; }

/* ── Pipeline stage selected ── */
.pipeline-stage.is-selected { background: rgba(189,154,0,0.1); border-color: var(--rkia-accent); }
.pipeline-stage { text-decoration: none; display: block; }

/* ── Back link ── */
.back-link { color: var(--rkia-text-dim); text-decoration: none; margin-right: 0.75rem; font-size: 1rem; transition: color 0.15s; }
.back-link:hover { color: var(--rkia-accent-light); }

/* ── Leads loading state ── */
.leads-loading { text-align: center; padding: 3rem; color: var(--rkia-text-dim); font-size: 0.85rem; }

/* ── Lead item as link ── */
a.lead-item-link { text-decoration: none; cursor: pointer; transition: background 0.15s; }
a.lead-item-link:hover { background: rgba(189,154,0,0.05); border-radius: 6px; }

/* ── Quick stage select dans liste leads ── */
.quick-stage-wrap { margin-left: auto; flex-shrink: 0; }
.quick-stage-wrap select { font-size: 0.7rem; padding: 0.15rem 1.5rem 0.15rem 0.4rem; height: auto; min-height: 0;
    background: var(--rkia-bg-card); color: var(--rkia-text); border-color: rgba(189,154,0,0.3); border-radius: 4px; }
.quick-stage-wrap select:focus { border-color: var(--rkia-accent); }

/* ── Table empty state ── */
.table-empty { text-align: center; padding: 3rem; color: var(--rkia-text-dim); font-size: 0.85rem; }
.table-empty > i { display: block; margin-bottom: 0.75rem; color: var(--rkia-border); }
.table-empty p { margin-bottom: 1rem; }

/* ── Pagination bar ── */
.pagination-bar { display: flex; align-items: center; gap: 0.35rem; padding: 0.85rem 1.25rem; border-top: 1px solid var(--rkia-border); justify-content: center; }
.pagination-dots { color: var(--rkia-text-dim); padding: 0 0.25rem; font-size: 0.8rem; }
.leads-pagination-bar { min-height: 10px; }

/* ── Form helpers ── */
.form-help-text { font-size: 0.72rem; color: var(--rkia-text-dim); margin-top: 0.75rem; line-height: 1.5; }
.form-help-text i { margin-right: 0.35rem; }

/* ── Lead detail header ── */
.lead-detail-header { display: flex; align-items: flex-start; gap: 1.25rem; background: var(--rkia-card); border: 1px solid var(--rkia-border); border-radius: 10px; padding: 1.5rem; margin-bottom: 1.5rem; }
.lead-detail-avatar { width: 60px; height: 60px; border-radius: 50%; background: var(--rkia-accent); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.lead-detail-meta { flex: 1; min-width: 0; }
.lead-detail-name { font-size: 1.4rem; font-weight: 700; color: var(--rkia-heading); margin-bottom: 0.4rem; }
.lead-detail-info { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: 0.78rem; color: var(--rkia-text-dim); margin-bottom: 0.5rem; }
.lead-detail-info span { display: flex; align-items: center; gap: 0.35rem; }
.lead-detail-stage { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.lead-detail-actions { margin-left: auto; flex-shrink: 0; }
.lead-source-badge { font-size: 0.65rem; padding: 2px 8px; border-radius: 4px; background: rgba(116,185,255,0.1); color: var(--rkia-blue); font-weight: 500; }
.lead-url-link { font-size: 0.72rem; color: var(--rkia-accent-light); word-break: break-all; }
.utm-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.utm-tag { font-size: 0.62rem; background: rgba(189,154,0,0.08); color: var(--rkia-accent-light); padding: 2px 6px; border-radius: 3px; font-family: 'JetBrains Mono', monospace; }

/* ── Nouveau lead — Steps ── */
.help-steps { display: flex; flex-direction: column; gap: 1rem; }
.help-step { display: flex; align-items: flex-start; gap: 0.75rem; }
.help-step-num { width: 24px; height: 24px; border-radius: 50%; background: var(--rkia-accent); color: #fff; font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.help-step-text { font-size: 0.8rem; color: var(--rkia-text-dim); line-height: 1.5; }
.help-step-text strong { color: var(--rkia-text); display: block; margin-bottom: 2px; }

/* ── Source stats (nouveau.cfm) ── */
.source-stats { display: flex; flex-direction: column; gap: 0.65rem; }
.source-stat-row { display: flex; align-items: center; gap: 0.65rem; }
.source-name { font-size: 0.75rem; color: var(--rkia-text); width: 140px; flex-shrink: 0; }
.source-bar-wrap { flex: 1; height: 5px; background: var(--rkia-border); border-radius: 3px; overflow: hidden; }
.source-bar { height: 100%; background: var(--rkia-accent); border-radius: 3px; }
.source-pct { font-size: 0.72rem; font-family: 'JetBrains Mono', monospace; color: var(--rkia-accent-light); width: 35px; text-align: right; }

/* ── Messages layout splitview ── */
.messages-layout { display: grid; grid-template-columns: 320px 1fr; gap: 1rem; min-height: 70vh; }
.messages-list-col { background: var(--rkia-card); border: 1px solid var(--rkia-border); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.messages-detail-col { background: var(--rkia-card); border: 1px solid var(--rkia-border); border-radius: 10px; overflow: hidden; }
.messages-filters { display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.75rem; border-bottom: 1px solid var(--rkia-border); }
.msg-filter-btn { font-size: 0.7rem; padding: 4px 10px; border-radius: 4px; background: transparent; border: 1px solid var(--rkia-border); color: var(--rkia-text-dim); cursor: pointer; text-decoration: none; transition: all 0.15s; display: flex; align-items: center; gap: 0.3rem; }
.msg-filter-btn:hover, .msg-filter-btn.is-active { background: rgba(189,154,0,0.1); border-color: var(--rkia-accent); color: #fff; }
.filter-badge { background: var(--rkia-orange); color: #333; font-size: 0.58rem; font-weight: 700; padding: 1px 5px; border-radius: 8px; }

/* ── Classification sub-tabs ── */
.messages-classif-tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--rkia-border); background: rgba(0,0,0,0.1); }
.classif-tab-btn { font-size: 0.65rem; padding: 3px 8px; border-radius: 3px; background: transparent; color: var(--rkia-text-dim); cursor: pointer; text-decoration: none; transition: all 0.15s; display: inline-flex; align-items: center; gap: 0.25rem; white-space: nowrap; }
.classif-tab-btn:hover { color: var(--rkia-text); background: rgba(255,255,255,0.05); }
.classif-tab-btn.is-active { background: rgba(189,154,0,0.15); color: var(--rkia-accent-light); font-weight: 600; }
.classif-badge { background: var(--rkia-orange); color: #333; font-size: 0.52rem; font-weight: 700; padding: 0 4px; border-radius: 6px; min-width: 14px; text-align: center; line-height: 14px; }
.classif-badge.is-fournisseur { background: rgba(116,185,255,0.2); color: var(--rkia-blue); }
.classif-tab-fournisseur { margin-left: auto; border-left: 1px solid rgba(255,255,255,0.08); padding-left: 10px; }
.classif-tab-fournisseur.is-active { background: rgba(116,185,255,0.12); color: var(--rkia-blue); }

/* ── Reclassify dropdown in message detail ── */
.msg-reclassify-wrap { display: inline-flex; align-items: center; gap: 0.4rem; margin-left: 0.5rem; }
.msg-reclassify-wrap select { font-size: 0.7rem; padding: 2px 6px; background: var(--rkia-bg); color: var(--rkia-text); border: 1px solid var(--rkia-border); border-radius: 4px; }

.msg-list-item { padding: 0.75rem 1rem; border-bottom: 1px solid rgba(42,45,62,0.5); cursor: pointer; transition: background 0.12s; }
.msg-list-item:hover { background: rgba(189,154,0,0.05); }
.msg-list-item.is-active { background: rgba(189,154,0,0.1); border-left: 3px solid var(--rkia-accent); }
.msg-list-item.is-unread .msg-sender { color: var(--rkia-heading); font-weight: 700; }
.msg-list-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.2rem; }
.msg-sender { font-size: 0.82rem; color: var(--rkia-text); }
.msg-time { font-size: 0.62rem; color: var(--rkia-text-dim); font-family: 'JetBrains Mono', monospace; }
.msg-list-subject { font-size: 0.78rem; font-weight: 500; color: var(--rkia-text); margin-bottom: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-list-meta { display: flex; align-items: center; gap: 0.35rem; margin-bottom: 0.3rem; }
.msg-list-extract { font-size: 0.68rem; color: var(--rkia-text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-unread-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--rkia-accent); flex-shrink: 0; }

.messages-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; min-height: 300px; color: var(--rkia-text-dim); gap: 1rem; font-size: 0.85rem; }

.msg-detail-wrap { padding: 1.5rem; }
.msg-detail-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.75rem; }
.msg-detail-from { font-size: 0.85rem; }
.msg-detail-meta { display: flex; align-items: center; gap: 0.5rem; font-size: 0.72rem; color: var(--rkia-text-dim); flex-wrap: wrap; }
.msg-detail-subject { font-size: 1.1rem; font-weight: 700; color: var(--rkia-heading); margin-bottom: 1rem; }
.msg-detail-body { font-size: 0.82rem; color: var(--rkia-text); line-height: 1.7; border-top: 1px solid var(--rkia-border); padding-top: 1rem; margin-bottom: 1.25rem; white-space: pre-wrap; }
.msg-detail-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.msg-ai-response { background: rgba(189,154,0,0.06); border: 1px solid rgba(189,154,0,0.2); border-radius: 8px; padding: 1rem; margin-top: 1rem; }
.msg-ai-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rkia-accent-light); margin-bottom: 0.5rem; font-weight: 600; }
.msg-ai-body { font-size: 0.8rem; color: var(--rkia-text); line-height: 1.6; white-space: pre-wrap; }

/* ── Conversation Thread (bulles) ── */
.conv-thread { margin-top: 2rem; border-top: 1px solid var(--rkia-border); padding-top: 1.5rem; }
.conv-thread-title { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rkia-text-dim); font-weight: 600; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.5rem; }

.conv-bubble { border-radius: 16px; padding: 1.5rem 1.75rem; margin-bottom: 1.25rem; font-size: 0.82rem; line-height: 1.6; overflow: hidden; }
.conv-bubble-in { background: rgba(255,255,255,0.03); border: 1px solid var(--rkia-border); border-left: 4px solid var(--rkia-blue); }
.conv-bubble-out { background: rgba(189,154,0,0.05); border: 1px solid rgba(189,154,0,0.15); border-left: 4px solid var(--rkia-accent); }
.conv-bubble-out.is-sent { border-left-color: var(--rkia-green); background: rgba(0,206,201,0.04); border-color: rgba(0,206,201,0.15); }
.conv-bubble-out.is-rejected { border-left-color: var(--rkia-red); background: rgba(255,107,107,0.04); border-color: rgba(255,107,107,0.12); opacity: 0.6; }
.conv-bubble-out.is-pending { border-left-color: var(--rkia-orange); background: rgba(253,203,110,0.05); border-color: rgba(253,203,110,0.15); }

.conv-bubble-header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.75rem; flex-wrap: wrap; }
.conv-bubble-header i:first-child { font-size: 0.85rem; }
.conv-bubble-header i { font-size: 0.7rem; color: var(--rkia-text-dim); }
.conv-bubble-header strong { color: var(--rkia-heading); font-size: 0.8rem; }
.conv-bubble-time { font-size: 0.65rem; color: var(--rkia-text-dim); margin-left: auto; white-space: nowrap; }
.conv-bubble-subject { font-size: 0.78rem; color: var(--rkia-text-dim); font-style: italic; margin-bottom: 0.25rem; }

.conv-bubble-body { font-size: 0.82rem; color: var(--rkia-text); line-height: 1.8; padding: 0.5rem 0; }
.conv-bubble-body p { margin-bottom: 0.75rem; }
.conv-bubble-body p:last-child { margin-bottom: 0; }
.conv-bubble-body strong { color: var(--rkia-heading); font-weight: 600; }
.conv-bubble-body em { color: var(--rkia-text); font-style: italic; }
.conv-bubble-body hr { border: none; border-top: 1px solid var(--rkia-border); margin: 0.75rem 0; }

.conv-bubble-dest { font-size: 0.72rem; color: var(--rkia-text-dim); margin-bottom: 0.75rem; padding: 0.5rem 0.85rem; background: rgba(0,206,201,0.06); border-radius: 8px; display: inline-flex; align-items: center; gap: 0.4rem; }
.conv-bubble-dest i { font-size: 0.6rem; color: var(--rkia-green); }

.conv-bubble-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(253,203,110,0.15); flex-wrap: wrap; gap: 0.75rem; }
.conv-dest-label { font-size: 0.72rem; color: var(--rkia-text-dim); display: flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.85rem; background: rgba(189,154,0,0.06); border-radius: 8px; }
.conv-dest-label i { color: var(--rkia-accent-light); }
.conv-action-btns { display: flex; gap: 0.75rem; }
.conv-action-btns .button { padding-left: 1.25rem; padding-right: 1.25rem; border-radius: 8px; }

.conv-status { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.62rem; font-weight: 600; padding: 4px 12px; border-radius: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.conv-status-sent { background: rgba(0,206,201,0.15); color: var(--rkia-green); }
.conv-status-rejected { background: rgba(255,107,107,0.12); color: var(--rkia-red); }
.conv-status-pending { background: rgba(253,203,110,0.15); color: var(--rkia-orange); }

.ia-tag { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.6rem; padding: 2px 6px; border-radius: 4px; background: rgba(189,154,0,0.08); }

/* ── Badge count (page titre) ── */
.badge-count { display: inline-flex; align-items: center; justify-content: center; background: var(--rkia-red); color: #fff; font-size: 0.62rem; font-weight: 700; padding: 2px 7px; border-radius: 10px; margin-left: 0.5rem; font-family: 'JetBrains Mono', monospace; }

/* ── Centre IA ── */
.ia-mode-toggle { display: flex; align-items: center; gap: 0.5rem; }
.ia-mode-label { font-size: 0.78rem; color: var(--rkia-text-dim); }
.ia-mode-btn { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--rkia-green); flex-shrink: 0; animation: rkiaPulse 2s infinite; }
.pulse-dot.is-off { background: var(--rkia-text-dim); animation: none; }

.ia-mode-info { margin-bottom: 1.5rem; }
.ia-mode-detail { display: flex; align-items: center; gap: 1rem; }
.ia-mode-icon { font-size: 1.5rem; color: var(--rkia-accent); flex-shrink: 0; }
.ia-mode-text { flex: 1; }
.ia-mode-text strong { font-size: 0.9rem; color: var(--rkia-heading); display: block; margin-bottom: 0.25rem; }
.ia-mode-text p { font-size: 0.78rem; color: var(--rkia-text-dim); margin: 0; }
.ia-mode-switch { flex-shrink: 0; }

/* Toggle switch RKIA */
.rkia-switch { display: inline-flex; align-items: center; cursor: pointer; }
.rkia-switch input { display: none; }
.rkia-switch-track { width: 42px; height: 22px; background: var(--rkia-border); border-radius: 11px; position: relative; transition: background 0.2s; }
.rkia-switch input:checked + .rkia-switch-track { background: var(--rkia-accent); }
.rkia-switch-thumb { position: absolute; width: 16px; height: 16px; background: #fff; border-radius: 50%; top: 3px; left: 3px; transition: transform 0.2s; }
.rkia-switch input:checked + .rkia-switch-track .rkia-switch-thumb { transform: translateX(20px); }

/* Réponses IA en attente */
.ia-response-card { border-bottom: 1px solid var(--rkia-border); padding: 1.25rem; }
.ia-response-card:last-child { border-bottom: none; }
.ia-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.75rem; }
.ia-card-lead { display: flex; align-items: center; gap: 0.65rem; }
.ia-card-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: 0.72rem; }
.ia-card-body { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 0.75rem; }
.ia-msg-original, .ia-msg-response { background: rgba(255,255,255,0.02); border: 1px solid var(--rkia-border); border-radius: 6px; padding: 0.75rem; }
.ia-section-label { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.8px; color: var(--rkia-text-dim); margin-bottom: 0.4rem; font-weight: 600; }
.ia-msg-text, .ia-response-text { font-size: 0.78rem; color: var(--rkia-text); line-height: 1.6; white-space: pre-wrap; max-height: 120px; overflow-y: auto; }
.ia-card-footer { display: flex; justify-content: space-between; align-items: center; }
.ia-card-actions { display: flex; gap: 0.5rem; }

/* ── Campagnes ── */
.camp-actions { display: flex; gap: 0.35rem; align-items: center; }
.camp-preview-area { min-height: 100px; font-size: 0.8rem; line-height: 1.6; color: var(--rkia-text-dim); }
.camp-preview-email .camp-preview-sujet { font-size: 0.8rem; color: var(--rkia-text-dim); margin-bottom: 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--rkia-border); }
.camp-preview-email .camp-preview-body { font-size: 0.8rem; color: var(--rkia-text); white-space: pre-wrap; }
.camp-preview-sms .sms-bubble { background: rgba(189,154,0,0.08); border: 1px solid rgba(189,154,0,0.2); border-radius: 12px; padding: 0.75rem 1rem; font-size: 0.82rem; color: var(--rkia-text); max-width: 300px; }
.camp-preview-sms .sms-info { font-size: 0.65rem; color: var(--rkia-text-dim); margin-top: 0.4rem; }
.segment-preview { margin-top: 0.75rem; padding: 0.75rem; background: rgba(255,255,255,0.02); border-radius: 6px; border: 1px solid var(--rkia-border); }
.segment-result { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: var(--rkia-text); }

/* ── Templates ── */
.variables-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.variable-tag { font-size: 0.72rem; color: var(--rkia-text-dim); display: flex; align-items: center; gap: 0.35rem; background: rgba(255,255,255,0.03); padding: 4px 8px; border-radius: 4px; border: 1px solid var(--rkia-border); }
.variable-tag code { font-family: 'JetBrains Mono', monospace; color: var(--rkia-accent-light); font-size: 0.7rem; }
.variable-mini { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; background: rgba(189,154,0,0.1); color: var(--rkia-accent-light); padding: 1px 5px; border-radius: 3px; }
.template-vars { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.required-badge { font-size: 0.55rem; background: var(--rkia-red); color: #fff; padding: 1px 4px; border-radius: 3px; margin-left: 4px; vertical-align: middle; }
.checkbox-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8rem; color: var(--rkia-text); margin-bottom: 0.5rem; cursor: pointer; }
.widget-fields-config { padding: 0.25rem 0; }

/* ── Automatisations ── */
/* (rkia-switch défini au-dessus) */

/* ── Widget admin ── */
.embed-code-wrap { background: var(--rkia-dark); border: 1px solid var(--rkia-border); border-radius: 6px; padding: 0.75rem 1rem; margin-bottom: 0.75rem; overflow-x: auto; }
.embed-code { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--rkia-accent-light); white-space: pre; margin: 0; }

.widget-color-wrap { display: flex; align-items: center; gap: 0.75rem; }
.widget-color-input { width: 42px; height: 36px; border: 1px solid var(--rkia-border); border-radius: 4px; padding: 2px; cursor: pointer; background: transparent; }
.widget-color-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--rkia-text-dim); }

.widget-preview-wrap { background: var(--rkia-dark); border: 1px solid var(--rkia-border); border-radius: 8px; padding: 1.5rem; }
.widget-preview-label { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; color: var(--rkia-text-dim); margin-bottom: 0.75rem; }
.widget-preview-frame { display: flex; justify-content: center; }

/* Widget preview */
.rkia-widget-preview { background: #fff; border-radius: 12px; padding: 1.5rem; max-width: 340px; width: 100%; box-shadow: 0 8px 30px rgba(0,0,0,0.3); }
.rkia-w-header { background: var(--rkia-accent); color: #fff; padding: 1rem; border-radius: 8px; margin-bottom: 1.25rem; }
.rkia-w-header h3 { font-size: 1rem; font-weight: 700; margin: 0 0 0.25rem; color: #fff; }
.rkia-w-header p { font-size: 0.72rem; color: rgba(255,255,255,0.85); margin: 0; }
.rkia-w-field { margin-bottom: 0.75rem; }
.rkia-w-field label { display: block; font-size: 0.72rem; color: #666; margin-bottom: 0.3rem; }
.rkia-w-field input, .rkia-w-field textarea { width: 100%; border: 1px solid #ddd; border-radius: 6px; padding: 0.5rem 0.65rem; font-size: 0.8rem; color: #333; background: #fff; }
.rkia-w-btn { width: 100%; background: var(--rkia-accent); color: #fff; border: none; border-radius: 6px; padding: 0.75rem; font-size: 0.9rem; font-weight: 600; cursor: pointer; margin-top: 0.25rem; }

.widget-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
.widget-stat { background: rgba(255,255,255,0.03); border: 1px solid var(--rkia-border); border-radius: 6px; padding: 0.65rem 0.75rem; text-align: center; }
.widget-stat-label { font-size: 0.6rem; color: var(--rkia-text-dim); display: block; margin-bottom: 0.25rem; text-transform: uppercase; letter-spacing: 0.5px; }
.widget-stat-value { font-size: 1rem; font-weight: 700; color: var(--rkia-heading); font-family: 'JetBrains Mono', monospace; }

.link-copy-wrap { display: flex; align-items: center; gap: 0.5rem; background: var(--rkia-dark); border: 1px solid var(--rkia-border); border-radius: 6px; padding: 0.5rem 0.75rem; }
.direct-url-code { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--rkia-accent-light); flex: 1; word-break: break-all; }

/* ── Modal dark ── */
.modal-card { background: var(--rkia-card); border: 1px solid var(--rkia-border); }
.modal-card-head { background: var(--rkia-card); border-bottom: 1px solid var(--rkia-border); }
.modal-card-title { color: var(--rkia-heading); font-weight: 700; }
.modal-card-foot { background: var(--rkia-card); border-top: 1px solid var(--rkia-border); gap: 0.5rem; }
.modal-card-body { background: var(--rkia-card); color: var(--rkia-text); }

/* Filters leads */
.leads-filter-form .select select { background: var(--rkia-dark); border-color: var(--rkia-border); color: var(--rkia-text); }

/* ════════════════════════════════════════════════════════════════
   PLANNING — Layout & FullCalendar dark theme
   ════════════════════════════════════════════════════════════════ */

/* Stats bar */
.planning-stats-bar {
    display: flex;
    align-items: center;
    gap: 0;
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.planning-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1.25rem;
    border-right: 1px solid var(--rkia-border);
    min-width: 90px;
}

.planning-stat:first-child { padding-left: 0; }

.planning-stat-value {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--rkia-heading);
    font-family: 'JetBrains Mono', monospace;
    line-height: 1;
}

.planning-stat-label {
    font-size: 0.65rem;
    color: var(--rkia-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 3px;
    white-space: nowrap;
}

.planning-stat-separator { width: 1px; background: var(--rkia-border); height: 40px; margin: 0 1rem; }

/* Filtres activités */
.planning-activity-filters {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    flex: 1;
    padding-left: 1rem;
}

.planning-act-chip {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--rkia-border);
    background: transparent;
    color: var(--rkia-text-dim);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    font-family: 'DM Sans', sans-serif;
}

.planning-act-chip:hover  { border-color: var(--rkia-accent); color: var(--rkia-text); }
.planning-act-chip.is-active { background: rgba(189,154,0,0.1); border-color: var(--rkia-accent); color: #fff; }

.chip-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Boutons de vue */
.planning-view-btns {
    display: flex;
    border: 1px solid var(--rkia-border);
    border-radius: 6px;
    overflow: hidden;
}

.planning-view-btn {
    padding: 6px 14px;
    background: transparent;
    border: none;
    border-right: 1px solid var(--rkia-border);
    color: var(--rkia-text-dim);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    font-family: 'DM Sans', sans-serif;
}

.planning-view-btn:last-child { border-right: none; }
.planning-view-btn:hover      { background: rgba(189,154,0,0.06); color: var(--rkia-text); }
.planning-view-btn.is-active  { background: var(--rkia-accent); color: #fff; }

.planning-slot-btn {
    padding: 6px 10px;
    background: transparent;
    border: none;
    border-right: 1px solid var(--rkia-border);
    color: var(--rkia-text-dim);
    font-size: 0.72rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
    font-family: 'DM Sans', sans-serif;
}
.planning-slot-btn:last-child { border-right: none; }
.planning-slot-btn:hover      { background: rgba(189,154,0,0.06); color: var(--rkia-text); }
.planning-slot-btn.is-active  { background: var(--rkia-accent); color: #fff; }

/* Layout principal */
.planning-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    transition: grid-template-columns 0.3s ease;
}

.planning-layout.has-detail {
    grid-template-columns: 1fr 360px;
}

.planning-calendar-wrap {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    overflow: hidden;
    min-width: 0;
}

/* FullCalendar dark theme overrides */
.planning-calendar-wrap .fc {
    --fc-border-color: var(--rkia-border);
    --fc-button-bg-color: var(--rkia-dark);
    --fc-button-border-color: var(--rkia-border);
    --fc-button-text-color: var(--rkia-text-dim);
    --fc-button-hover-bg-color: rgba(189,154,0,0.15);
    --fc-button-hover-border-color: var(--rkia-accent);
    --fc-button-active-bg-color: var(--rkia-accent);
    --fc-button-active-border-color: var(--rkia-accent);
    --fc-button-active-text-color: #fff;
    --fc-today-bg-color: rgba(189,154,0,0.06);
    --fc-page-bg-color: var(--rkia-card);
    --fc-neutral-bg-color: var(--rkia-dark);
    --fc-neutral-text-color: var(--rkia-text-dim);
    --fc-event-border-color: transparent;
    --fc-list-event-hover-bg-color: rgba(189,154,0,0.05);
    --fc-non-business-color: rgba(0,0,0,0.15);
    --fc-highlight-color: rgba(189,154,0,0.12);
    color: var(--rkia-text);
    font-family: 'DM Sans', sans-serif;
    font-size: 0.82rem;
}

.planning-calendar-wrap .fc-scrollgrid { border-color: var(--rkia-border) !important; }
.planning-calendar-wrap .fc-scrollgrid-section > td { border-color: var(--rkia-border) !important; }
.planning-calendar-wrap .fc-col-header { background: var(--rkia-dark); }
.planning-calendar-wrap .fc-col-header-cell-cushion { color: var(--rkia-text-dim); font-weight: 500; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; padding: 0.5rem 0.25rem; }
.planning-calendar-wrap .fc-timegrid-slot-label { color: var(--rkia-text-dim); font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; }
.planning-calendar-wrap .fc-day-today .fc-col-header-cell-cushion { color: var(--rkia-accent-light); }
.planning-calendar-wrap .fc-now-indicator-line { border-color: var(--rkia-accent); }
.planning-calendar-wrap .fc-now-indicator-arrow { border-top-color: var(--rkia-accent); }
.planning-calendar-wrap .fc-daygrid-day-number { color: var(--rkia-text-dim); text-decoration: none; }
.planning-calendar-wrap .fc-day-today .fc-daygrid-day-number { color: var(--rkia-accent-light); font-weight: 700; }
.planning-calendar-wrap .fc-button { font-family: 'DM Sans', sans-serif !important; font-size: 0.78rem !important; border-radius: 4px !important; padding: 5px 12px !important; font-weight: 500 !important; }
.planning-calendar-wrap .fc-button-primary:hover { color: var(--rkia-text) !important; }
.planning-calendar-wrap .fc-button-primary:focus { box-shadow: none !important; }
.planning-calendar-wrap .fc-view-harness { min-height: 600px; }
.planning-calendar-wrap .fc-list-day-cushion { background: var(--rkia-dark) !important; }
.planning-calendar-wrap .fc-list-event { color: var(--rkia-text); }
.planning-calendar-wrap .fc-list-event:hover td { background: rgba(189,154,0,0.06); }
.planning-calendar-wrap .fc-list-event .rkia-fc-title { color: var(--rkia-heading); }
.planning-calendar-wrap .fc-list-event .rkia-fc-time { color: var(--rkia-text-dim); }
.planning-calendar-wrap .fc-list-event .rkia-fc-coach { color: var(--rkia-text-dim); }
.planning-calendar-wrap .fc-list-event .rkia-fc-wod { color: var(--rkia-accent-light, #b8860b); }
.planning-calendar-wrap .fc-list-event .rkia-fc-cap-txt { color: var(--rkia-text-dim) !important; }
.planning-calendar-wrap .fc-timegrid-col.fc-day-today { background: rgba(189,154,0,0.03); }

/* Events custom */
.rkia-fc-event {
    display: flex;
    height: 100%;
    min-height: 28px;
    overflow: hidden;
    border-radius: 4px;
    cursor: pointer;
}

.rkia-fc-event.is-cancelled { opacity: 0.55; }
.rkia-fc-event.is-recurring { opacity: 0.35; border: 1px dashed rgba(255,255,255,0.3); cursor: default; }
.rkia-fc-event.is-recurring:hover { transform: none; box-shadow: none; }

.rkia-fc-left-bar {
    width: 3px;
    flex-shrink: 0;
}

.rkia-fc-content {
    flex: 1;
    padding: 3px 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.rkia-fc-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.rkia-fc-time {
    font-size: 0.6rem;
    font-family: 'JetBrains Mono', monospace;
    color: rgba(255,255,255,0.5);
    white-space: nowrap;
    line-height: 1.2;
}

.rkia-fc-coach {
    font-size: 0.65rem;
    color: rgba(255,255,255,0.7);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rkia-fc-wod {
    font-size: 0.6rem;
    color: var(--rkia-accent-light, #f0c040);
    opacity: 0.9;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rkia-fc-wod i {
    font-size: 0.55rem;
    margin-right: 2px;
}

.rkia-fc-cap {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
}

.rkia-fc-cap-bar {
    flex: 1;
    height: 3px;
    background: rgba(0,0,0,0.25);
    border-radius: 2px;
    overflow: hidden;
}

.rkia-fc-cap-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.3s;
}

.rkia-fc-cap-txt {
    font-size: 0.58rem;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
    white-space: nowrap;
}

.rkia-fc-cancelled-badge {
    font-size: 0.55rem;
    color: #ff6b6b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Panneau détail */
.planning-detail-panel {
    background: var(--rkia-card);
    border: 1px solid var(--rkia-border);
    border-radius: 10px;
    overflow: hidden;
    display: none;
    flex-direction: column;
    max-height: calc(100vh - 180px);
    position: sticky;
    top: 1rem;
}

.planning-detail-panel.is-open {
    display: flex;
    animation: slideInRight 0.25s ease;
}

@keyframes slideInRight {
    from { opacity: 0; transform: translateX(20px); }
    to   { opacity: 1; transform: translateX(0); }
}

.pdp-header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--rkia-border);
    flex-shrink: 0;
}

.pdp-title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    flex: 1;
    min-width: 0;
}

.pdp-color-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 3px;
}

.pdp-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rkia-heading);
    line-height: 1.2;
}

.pdp-subtitle {
    font-size: 0.72rem;
    color: var(--rkia-text-dim);
    margin-top: 2px;
}

.pdp-close {
    background: none;
    border: none;
    color: var(--rkia-text-dim);
    cursor: pointer;
    font-size: 0.9rem;
    padding: 2px 4px;
    transition: color 0.15s;
    flex-shrink: 0;
}

.pdp-close:hover { color: var(--rkia-red); }

.pdp-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

.pdp-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: var(--rkia-text-dim);
}

.pdp-info-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.pdp-info-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    color: var(--rkia-text-dim);
    background: rgba(255,255,255,0.03);
    padding: 4px 8px;
    border-radius: 4px;
    border: 1px solid var(--rkia-border);
}

.pdp-info-item i { color: var(--rkia-accent-light); }
.pdp-info-item.is-cancelled { color: var(--rkia-red); border-color: rgba(255,107,107,0.2); }
.pdp-info-item.is-cancelled i { color: var(--rkia-red); }

.pdp-fill-section { margin-bottom: 1rem; }

.pdp-fill-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    color: var(--rkia-text-dim);
    margin-bottom: 4px;
}

.pdp-fill-track {
    height: 6px;
    background: var(--rkia-border);
    border-radius: 3px;
    overflow: hidden;
}

.pdp-fill-bar {
    height: 100%;
    border-radius: 3px;
    transition: width 0.4s ease;
}

.pdp-section-title {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rkia-text-dim);
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.pdp-empty {
    text-align: center;
    padding: 1.5rem 0;
    color: var(--rkia-text-dim);
    font-size: 0.8rem;
}

.pdp-empty i { display: block; margin-bottom: 0.4rem; font-size: 1.2rem; opacity: 0.4; }

.pdp-members-list { display: flex; flex-direction: column; gap: 0; }

.pdp-member-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(42,45,62,0.4);
}

.pdp-member-row:last-child { border-bottom: none; }

.pdp-member-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rkia-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.pdp-member-name { flex: 1; font-size: 0.8rem; color: var(--rkia-text); }

.pdp-member-status { flex-shrink: 0; }

.member-injury-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-left: 6px;
    font-size: 0.8rem;
    padding: 2px 6px;
    border-radius: 6px;
    font-weight: 600;
    vertical-align: middle;
    animation: pulse-injury 2s infinite;
    transition: transform 0.15s;
}
.member-injury-badge:hover { transform: scale(1.15); opacity: 0.85; }
@keyframes pulse-injury {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.pdp-checkin-done { color: var(--rkia-green); font-size: 0.72rem; display: flex; align-items: center; gap: 0.25rem; }
.pdp-checkin-pending { color: var(--rkia-border); }

.pdp-footer {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--rkia-border);
    flex-shrink: 0;
    flex-wrap: wrap;
}
.pdp-toggle-essai {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    cursor: pointer;
    color: var(--rkia-text-dim);
    user-select: none;
}
.pdp-toggle-essai input:checked + i { color: var(--rkia-accent); }
.pdp-toggle-essai input { margin: 0; }

/* Modal create - activity preview */
.mc-activity-preview {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(189,154,0,0.06);
    border: 1px solid rgba(189,154,0,0.2);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.mc-activity-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mc-activity-name { font-size: 0.9rem; font-weight: 600; color: var(--rkia-heading); }
.mc-activity-meta { font-size: 0.72rem; color: var(--rkia-text-dim); }

/* ── Responsive ── */
@media (max-width: 1200px) {
    .kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .section-grid, .section-grid.is-thirds, .section-grid.is-3col { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .sidebar { display: none; }
    .main-content { margin-left: 0; padding: 1rem; }
    .kpi-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) { .kpi-grid { grid-template-columns: 1fr; } }

/* ── IA Dashboard Tabs ── */
.ia-tab {
    padding: 0.65rem 1.25rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--rkia-text-dim);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.ia-tab:hover { color: var(--rkia-text); }
.ia-tab.is-active {
    color: var(--rkia-accent-light);
    border-bottom-color: var(--rkia-accent);
    font-weight: 600;
}
.ia-tab .badge-count {
    background: var(--rkia-red);
    color: #fff;
    font-size: 0.65rem;
    padding: 1px 6px;
    border-radius: 10px;
    font-weight: 600;
}

/* ── IA Mode indicator ── */
.ia-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rkia-green);
    letter-spacing: 0.5px;
}
.ia-indicator .pulse {
    width: 8px; height: 8px;
    background: var(--rkia-green);
    border-radius: 50%;
    animation: rkia-pulse 1.5s infinite;
}
@keyframes rkia-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
}

/* ── Messages layout ── */
.messages-layout {
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: 1rem;
    min-height: 500px;
}
.messages-list-col {
    border-right: 1px solid var(--rkia-border);
    overflow-y: auto;
    max-height: 700px;
}
.messages-detail-col { padding: 0.5rem; }
.messages-filters {
    display: flex;
    gap: 0.25rem;
    padding: 0.5rem;
    border-bottom: 1px solid var(--rkia-border);
    flex-wrap: wrap;
}
.msg-filter-btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.78rem;
    border-radius: 6px;
    text-decoration: none;
    color: var(--rkia-text-dim);
    transition: background 0.2s;
}
.msg-filter-btn:hover { background: rgba(255,255,255,0.05); color: var(--rkia-text); }
.msg-filter-btn.is-active { background: var(--rkia-accent); color: #fff; }
.filter-badge {
    background: var(--rkia-red);
    color: #fff;
    font-size: 0.62rem;
    padding: 0 5px;
    border-radius: 8px;
    margin-left: 3px;
}
.messages-empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--rkia-text-dim);
}
.messages-empty-state i { display: block; margin-bottom: 0.75rem; }

.msg-preview-item:hover { background: rgba(255,255,255,0.03); }

/* ── Review items ── */
.review-item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--rkia-border);
    transition: background 0.15s;
}
.review-item:hover { background: rgba(255,255,255,0.03); }
.review-item.is-selected { background: rgba(189,154,0,0.06); }
.review-reply {
    background: rgba(0,206,201,0.06);
    border-left: 3px solid var(--rkia-green);
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    margin-top: 0.5rem;
}

/* ════════════════════════════════════════════════════════════════
   THEME TOGGLE BUTTON
   ════════════════════════════════════════════════════════════════ */
.theme-toggle-wrap {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid var(--rkia-border);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.theme-toggle-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--rkia-dark);
    border: 1px solid var(--rkia-border);
    border-radius: 20px;
    padding: 5px 12px;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--rkia-text-dim);
    font-size: 0.72rem;
    font-weight: 500;
    font-family: 'DM Sans', sans-serif;
    width: 100%;
    justify-content: center;
}

.theme-toggle-btn:hover {
    border-color: var(--rkia-accent);
    color: var(--rkia-text);
}

.theme-toggle-btn i { font-size: 0.8rem; }

.theme-toggle-btn .theme-icon-dark,
[data-theme="light"] .theme-toggle-btn .theme-icon-light { display: none; }
[data-theme="light"] .theme-toggle-btn .theme-icon-dark { display: inline; }

/* ════════════════════════════════════════════════════════════════
   LIGHT MODE — Complete overrides
   ════════════════════════════════════════════════════════════════ */

/* ── Sidebar ── */
[data-theme="light"] .sidebar {
    background: #fff;
    border-right: 1px solid #e2e8f0;
    box-shadow: 2px 0 12px rgba(0,0,0,0.04);
}
[data-theme="light"] .sidebar-brand { border-bottom-color: #e2e8f0; }
[data-theme="light"] .sidebar-menu a.nav-solo {
    color: #4a5568;
    border-left-color: transparent;
}
[data-theme="light"] .sidebar-menu a.nav-solo:hover {
    color: var(--rkia-accent);
    background: rgba(189,154,0,0.05);
}
[data-theme="light"] .sidebar-menu a.nav-solo.is-active {
    color: var(--rkia-accent);
    background: rgba(189,154,0,0.08);
    border-left-color: var(--rkia-accent);
    font-weight: 600;
}
[data-theme="light"] .menu-group { border-bottom-color: #edf2f7; }
[data-theme="light"] .menu-group-header { color: #4a5568; }
[data-theme="light"] .menu-group-header:hover { color: var(--rkia-accent); background: rgba(189,154,0,0.04); }
[data-theme="light"] .menu-group.is-open > .menu-group-header { color: var(--rkia-heading); }
[data-theme="light"] .menu-group-items a { color: #4a5568; }
[data-theme="light"] .menu-group-items a:hover { color: var(--rkia-accent); background: rgba(189,154,0,0.05); }
[data-theme="light"] .menu-group-items a.is-active { color: var(--rkia-accent); background: rgba(189,154,0,0.08); border-left-color: var(--rkia-accent); }
[data-theme="light"] .menu-group-items a .badge.is-green { color: #fff; }
[data-theme="light"] .theme-toggle-wrap { border-bottom-color: #e2e8f0; }
[data-theme="light"] .sidebar-bottom { border-top-color: #e2e8f0; }
[data-theme="light"] .sidebar-bottom .user-name { color: var(--rkia-heading); }

/* ── Topbar ── */
[data-theme="light"] .topbar { border-bottom: 1px solid #e2e8f0; }
[data-theme="light"] .topbar h1 { color: var(--rkia-heading); }
[data-theme="light"] .topbar-actions .button {
    background: #fff;
    border-color: #e2e8f0;
    color: #4a5568;
}
[data-theme="light"] .topbar-actions .button:hover {
    border-color: var(--rkia-accent);
    color: var(--rkia-accent);
    background: rgba(189,154,0,0.04);
}
[data-theme="light"] .topbar-actions .button.is-accent,
[data-theme="light"] .button.is-rkia {
    background: var(--rkia-accent);
    border-color: var(--rkia-accent);
    color: #fff;
}
[data-theme="light"] .topbar-actions .button.is-accent:hover,
[data-theme="light"] .button.is-rkia:hover {
    background: #9a7e00;
}
[data-theme="light"] .button { color: var(--rkia-text); }
[data-theme="light"] .button.is-outlined { border-color: #cbd5e0; }
[data-theme="light"] .button.is-outlined:hover { border-color: var(--rkia-accent); color: var(--rkia-accent); }
[data-theme="light"] .button.is-success { color: #fff; }
[data-theme="light"] .button.is-danger { color: #fff; }

/* ── Main Tabs (underline) ── */
[data-theme="light"] .rkia-main-tabs { border-bottom-color: #e2e8f0; }
[data-theme="light"] .rkia-main-tab { color: #718096; }
[data-theme="light"] .rkia-main-tab:hover { color: #2d3748; }
[data-theme="light"] .rkia-main-tab.is-active { color: var(--rkia-accent); border-bottom-color: var(--rkia-accent); }

/* ── KPI Cards ── */
[data-theme="light"] .kpi-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
[data-theme="light"] .kpi-value { color: var(--rkia-heading); }
[data-theme="light"] .kpi-label { color: #718096; }
[data-theme="light"] .kpi-trend.is-up { color: var(--rkia-green); }
[data-theme="light"] .kpi-trend.is-down { color: var(--rkia-red); }

/* ── Panels ── */
[data-theme="light"] .panel {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
[data-theme="light"] .panel-header { border-bottom-color: #edf2f7; }
[data-theme="light"] .panel-header h3 { color: var(--rkia-heading); }

/* ── Tables ── */
[data-theme="light"] .table,
[data-theme="light"] table {
    background: #fff;
    color: var(--rkia-text);
}
[data-theme="light"] .table th,
[data-theme="light"] table thead th {
    background: #f7fafc;
    color: #4a5568;
    border-bottom: 2px solid #e2e8f0;
    font-weight: 600;
}
[data-theme="light"] .table td,
[data-theme="light"] table tbody td {
    border-bottom-color: #edf2f7;
    color: var(--rkia-text);
}
[data-theme="light"] .table tbody tr:hover,
[data-theme="light"] table tbody tr:hover {
    background: #f7fafc;
}
[data-theme="light"] .table tbody tr:nth-child(even) {
    background: rgba(247,250,252,0.5);
}

/* ── Forms / Inputs ── */
[data-theme="light"] .input,
[data-theme="light"] .textarea,
[data-theme="light"] .select select,
[data-theme="light"] .field .input,
[data-theme="light"] .field .select select,
[data-theme="light"] .field .textarea {
    background: #fff;
    border-color: #cbd5e0;
    color: var(--rkia-text);
}
[data-theme="light"] .input:focus,
[data-theme="light"] .textarea:focus,
[data-theme="light"] .select select:focus {
    border-color: var(--rkia-accent);
    box-shadow: 0 0 0 3px rgba(189,154,0,0.12);
}
[data-theme="light"] .label { color: var(--rkia-heading); }
[data-theme="light"] .checkbox { color: var(--rkia-text); }

/* ── Tags & Badges ── */
[data-theme="light"] .tag-status { background: rgba(0,0,0,0.05); color: #4a5568; }
[data-theme="light"] .tag-status.is-active   { background: rgba(0,181,173,0.1);  color: #009e97; }
[data-theme="light"] .tag-status.is-expiring { background: rgba(230,126,34,0.1); color: #c56810; }
[data-theme="light"] .tag-status.is-expired  { background: rgba(231,76,60,0.1);  color: #c0392b; }
[data-theme="light"] .tag-status.is-pending  { background: rgba(189,154,0,0.1); color: #9a7e00; }
[data-theme="light"] .tag-status.is-trial    { background: rgba(52,152,219,0.1); color: #2980b9; }
[data-theme="light"] .tag-status.is-callback { background: rgba(225,112,85,0.1); color: #d35400; }
[data-theme="light"] .tag-status.is-inactive { background: rgba(0,0,0,0.05); color: #a0aec0; }
[data-theme="light"] .filter-badge { background: #e67e22; color: #fff; }

/* ── IA Tabs ── */
[data-theme="light"] .ia-tab { color: #718096; border-bottom-color: transparent; }
[data-theme="light"] .ia-tab:hover { color: var(--rkia-accent); }
[data-theme="light"] .ia-tab.is-active { color: var(--rkia-accent); border-bottom-color: var(--rkia-accent); }

/* ── Modals / Dialogs ── */
[data-theme="light"] .modal-background { background-color: rgba(0,0,0,0.35); }
[data-theme="light"] .modal-card { box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
[data-theme="light"] .modal-card-head {
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}
[data-theme="light"] .modal-card-title { color: var(--rkia-heading); }
[data-theme="light"] .modal-card-body {
    background: #fff;
    color: var(--rkia-text);
}
[data-theme="light"] .modal-card-foot {
    background: #f7fafc;
    border-top: 1px solid #e2e8f0;
}

/* ── SweetAlert2 ── */
[data-theme="light"] .swal2-popup {
    background: #fff !important;
    color: var(--rkia-text) !important;
}
[data-theme="light"] .swal2-title { color: var(--rkia-heading) !important; }
[data-theme="light"] .swal2-html-container { color: var(--rkia-text) !important; }
[data-theme="light"] .swal2-input,
[data-theme="light"] .swal2-textarea,
[data-theme="light"] .swal2-select {
    background: #fff !important;
    border-color: #cbd5e0 !important;
    color: var(--rkia-text) !important;
}

/* ── Messages / Conversations ── */
[data-theme="light"] .messages-list-col {
    background: #fff;
    border-color: #e2e8f0;
}
[data-theme="light"] .messages-detail-col {
    background: #fff;
    border-color: #e2e8f0;
}
[data-theme="light"] .messages-filters {
    background: #f7fafc;
    border-bottom-color: #e2e8f0;
}
[data-theme="light"] .msg-filter-btn {
    color: #4a5568;
    border-color: #e2e8f0;
}
[data-theme="light"] .msg-filter-btn:hover,
[data-theme="light"] .msg-filter-btn.is-active {
    background: rgba(189,154,0,0.08);
    border-color: var(--rkia-accent);
    color: var(--rkia-accent);
}
[data-theme="light"] .msg-list-item { border-bottom-color: #edf2f7; }
[data-theme="light"] .msg-list-item:hover { background: #f7fafc; }
[data-theme="light"] .msg-list-item.is-active { background: rgba(189,154,0,0.06); }
[data-theme="light"] .msg-list-item.is-unread .msg-sender { color: var(--rkia-heading); }
[data-theme="light"] .msg-sender { color: var(--rkia-text); }
[data-theme="light"] .msg-detail-body { border-top-color: #edf2f7; }

/* ── Classification sub-tabs (light) ── */
[data-theme="light"] .messages-classif-tabs { background: #f7fafc; border-bottom-color: #e2e8f0; }
[data-theme="light"] .classif-tab-btn { color: #718096; }
[data-theme="light"] .classif-tab-btn:hover { color: var(--rkia-text); background: rgba(0,0,0,0.04); }
[data-theme="light"] .classif-tab-btn.is-active { background: rgba(189,154,0,0.1); color: var(--rkia-accent); }
[data-theme="light"] .classif-tab-fournisseur { border-left-color: #e2e8f0; }

/* ── Conversation thread bubbles (light) ── */
[data-theme="light"] .conv-thread { border-top-color: #edf2f7; }
[data-theme="light"] .conv-bubble-in { background: #f7fafc; border-color: #e2e8f0; border-left-color: var(--rkia-blue); }
[data-theme="light"] .conv-bubble-out { background: rgba(189,154,0,0.03); border-color: rgba(189,154,0,0.12); }
[data-theme="light"] .conv-bubble-out.is-sent { background: rgba(0,181,173,0.03); border-color: rgba(0,181,173,0.12); border-left-color: var(--rkia-green); }
[data-theme="light"] .conv-bubble-out.is-rejected { background: rgba(231,76,60,0.03); border-color: rgba(231,76,60,0.1); }
[data-theme="light"] .conv-bubble-out.is-pending { background: rgba(230,126,34,0.04); border-color: rgba(230,126,34,0.15); }
[data-theme="light"] .conv-bubble-header { border-bottom-color: #edf2f7; }
[data-theme="light"] .conv-bubble-actions { border-top-color: rgba(230,126,34,0.15); }
[data-theme="light"] .conv-bubble-dest { background: rgba(0,181,173,0.06); }
[data-theme="light"] .conv-dest-label { background: rgba(189,154,0,0.06); }

/* ── FullCalendar ── */
[data-theme="light"] .planning-calendar-wrap,
[data-theme="light"] .planning-detail-panel,
[data-theme="light"] .planning-stats-bar {
    background: #fff;
    border-color: #e2e8f0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
[data-theme="light"] .planning-calendar-wrap .fc {
    --fc-page-bg-color: #fff;
    --fc-neutral-bg-color: #f7fafc;
    --fc-border-color: #e2e8f0;
    --fc-today-bg-color: rgba(189,154,0,0.04);
    --fc-non-business-color: rgba(0,0,0,0.02);
}
[data-theme="light"] .planning-calendar-wrap .fc-col-header {
    background: #f7fafc;
}
[data-theme="light"] .planning-calendar-wrap .fc-button {
    background: #fff;
    border-color: #cbd5e0;
    color: #4a5568;
}
[data-theme="light"] .planning-calendar-wrap .fc-button:hover,
[data-theme="light"] .planning-calendar-wrap .fc-button-active {
    background: var(--rkia-accent);
    color: #fff;
}

/* ── Dropdowns ── */
[data-theme="light"] .dropdown-content,
[data-theme="light"] .dropdown-menu {
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
[data-theme="light"] .dropdown-item { color: var(--rkia-text); }
[data-theme="light"] .dropdown-item:hover { background: #f7fafc; color: var(--rkia-accent); }

/* ── Hover states ── */
[data-theme="light"] .msg-preview-item:hover,
[data-theme="light"] .review-item:hover { background: #f7fafc; }
[data-theme="light"] .msg-lead-context { background: #f7fafc; border-color: #e2e8f0; }

/* ── Login page ── */
[data-theme="light"] .rkia-login-box { background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,0.08); }
[data-theme="light"] .rkia-login-box .input { background: #fff; }

/* ── Embed code & widget preview ── */
[data-theme="light"] .embed-code-wrap,
[data-theme="light"] .widget-preview-wrap { background: #f7fafc; border-color: #e2e8f0; }

/* ── Misc ── */
[data-theme="light"] .leads-loading { color: #718096; }
[data-theme="light"] .messages-empty-state { color: #718096; }
[data-theme="light"] .rkia-switch-track { background: #cbd5e0; }
[data-theme="light"] .rkia-switch input:checked + .rkia-switch-track { background: var(--rkia-accent); }
[data-theme="light"] .msg-ai-response { background: rgba(189,154,0,0.04); border-color: rgba(189,154,0,0.12); }
[data-theme="light"] hr { border-color: #edf2f7; }
[data-theme="light"] .ia-tag { opacity: 0.85; }
[data-theme="light"] .msg-reclassify-wrap select { background: #fff; border-color: #cbd5e0; color: var(--rkia-text); }

/* ── Table-dark (custom tables) ── */
[data-theme="light"] .table-dark th {
    background: #f7fafc;
    color: #4a5568;
    border-bottom: 2px solid #e2e8f0;
}
[data-theme="light"] .table-dark td {
    color: var(--rkia-text);
    border-bottom-color: #edf2f7;
}
[data-theme="light"] .table-dark tr:hover td {
    background: #f7fafc;
}
[data-theme="light"] .table-dark.table-striped tbody tr:nth-child(even) td { background: #f7fafc; }
[data-theme="light"] .table-dark.table-striped tbody tr:nth-child(even):hover td { background: #edf2f7; }

/* ── Recurring events (programme hebdomadaire) ── */
[data-theme="light"] .recur-event-time { color: rgba(0,0,0,0.5); }
[data-theme="light"] .recur-event-title { color: var(--rkia-heading); }
[data-theme="light"] .recur-event-coach { color: rgba(0,0,0,0.45); }
[data-theme="light"] .recur-event-places { color: rgba(0,0,0,0.4); }
[data-theme="light"] .recur-day-header { background: #f7fafc; border-bottom-color: #e2e8f0; }
[data-theme="light"] .recur-event:hover { box-shadow: 0 3px 10px rgba(0,0,0,0.1); }

/* ── Planning chips & buttons ── */
[data-theme="light"] .planning-act-chip.is-active { color: var(--rkia-accent); }
[data-theme="light"] .planning-stat { border-right-color: #e2e8f0; }
[data-theme="light"] .planning-stat-separator { background: #e2e8f0; }

/* ── Lead items borders ── */
[data-theme="light"] .lead-item-row { border-bottom-color: #edf2f7; }
[data-theme="light"] .lead-item-row:hover { background: rgba(189,154,0,0.03); }
[data-theme="light"] a.lead-item-link:hover { background: #f7fafc; }

/* ── Activity feed ── */
[data-theme="light"] .activity-item { border-bottom-color: #edf2f7; }

/* ── Planning slots ── */
[data-theme="light"] .planning-slot { border-bottom-color: #edf2f7; }

/* ── Review items ── */
[data-theme="light"] .review-item { border-bottom-color: #edf2f7; }

/* ── IA response cards ── */
[data-theme="light"] .ia-msg-original,
[data-theme="light"] .ia-msg-response { background: #f7fafc; border-color: #e2e8f0; }
[data-theme="light"] .ia-response-card { border-bottom-color: #edf2f7; }

/* ── Variables / template tags ── */
[data-theme="light"] .variable-tag { background: #f7fafc; border-color: #e2e8f0; }

/* ── Campagnes ── */
[data-theme="light"] .camp-preview-sms .sms-bubble { background: rgba(189,154,0,0.05); border-color: rgba(189,154,0,0.12); }
[data-theme="light"] .segment-preview { background: #f7fafc; border-color: #e2e8f0; }

/* ── Embed / link copy ── */
[data-theme="light"] .link-copy-wrap { background: #f7fafc; border-color: #e2e8f0; }

/* ── Quick stage select ── */
[data-theme="light"] .quick-stage-wrap select { background: #fff; color: var(--rkia-text); border-color: #cbd5e0; }

/* ── Msg-filter duplicate override (communication page) ── */
[data-theme="light"] .msg-preview-item:hover { background: #f7fafc; }

/* ── Conv bubble header border ── */
[data-theme="light"] .conv-bubble-header { border-bottom-color: rgba(0,0,0,0.06); }

/* ── Leads filter ── */
[data-theme="light"] .leads-filter-form .select select { background: #fff; border-color: #cbd5e0; color: var(--rkia-text); }

/* ── Planning detail panel ── */
[data-theme="light"] .pdp-member-name { color: var(--rkia-text); }

/* Smooth transition */
body,
.sidebar,
.main-content,
.kpi-card,
.panel,
.modal-card,
.planning-calendar-wrap,
.planning-detail-panel,
.planning-stats-bar,
.topbar-actions .button,
.field .input,
.field .select select,
.field .textarea {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

/* ── Config editor (platform page) ── */
.cfg-input {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--rkia-text) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.75rem !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    transition: border-color 0.2s, background 0.2s;
}
.cfg-input:hover {
    border-color: var(--rkia-border) !important;
    background: var(--rkia-rgba-accent-6) !important;
}
.cfg-input:focus {
    border-color: var(--rkia-accent) !important;
    background: rgba(189, 154, 0, 0.08) !important;
    box-shadow: 0 0 0 2px rgba(189, 154, 0, 0.15) !important;
    outline: none;
}
[data-theme="light"] .cfg-input:hover {
    background: rgba(189, 154, 0, 0.04) !important;
}
[data-theme="light"] .cfg-input:focus {
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(189, 154, 0, 0.12) !important;
}

/* ── Integration panels (platform page) ── */
.integ-panel .panel-footer {
    border-top: 1px solid var(--rkia-border);
}
.integ-field {
    display: flex;
    align-items: center;
    gap: 8px;
}
.integ-field label {
    font-size: 0.72rem;
    color: var(--rkia-text-dim);
    min-width: 130px;
    flex-shrink: 0;
}
.integ-field .input,
.integ-field .select,
.integ-field .select select {
    flex: 1;
    min-width: 0;
}
.integ-eye {
    background: none;
    border: none;
    color: var(--rkia-text-dim);
    cursor: pointer;
    padding: 4px 6px;
    font-size: 0.72rem;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
    flex-shrink: 0;
}
.integ-eye:hover {
    color: var(--rkia-accent-light);
    background: var(--rkia-rgba-accent-6);
}
.integ-badge {
    font-size: 0.6rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.integ-badge.is-live {
    background: rgba(0, 206, 201, 0.15);
    color: var(--rkia-green);
}
.integ-badge.is-test {
    background: rgba(253, 203, 110, 0.15);
    color: var(--rkia-orange);
}

/* ══════════════════════════════════════════════════════════════
   INTERACTIONS — Hover et feedback légers (pas d'animations lourdes)
   ══════════════════════════════════════════════════════════════ */

/* ── KPI cards : bordure accent au hover ── */
.kpi-card:hover { border-color: var(--rkia-accent); }

/* ── Buttons ── */
.button { transition: background 0.15s, border-color 0.15s; }
.button.is-rkia { transition: background 0.15s; }

/* Fix outlined buttons visibility in both themes */
.button.is-danger.is-outlined { color: #e74c3c !important; border-color: #e74c3c !important; background: transparent !important; }
.button.is-danger.is-outlined:hover { background: rgba(231,76,60,0.1) !important; }
.button.is-success.is-outlined { color: #00b894 !important; border-color: #00b894 !important; background: transparent !important; }
.button.is-success.is-outlined:hover { background: rgba(0,184,148,0.1) !important; }
.button.is-info.is-outlined { color: #3298dc !important; border-color: #3298dc !important; background: transparent !important; }
.button.is-info.is-outlined:hover { background: rgba(50,152,220,0.1) !important; }

/* ── Table rows : highlight ── */
.table-dark tbody tr { transition: background 0.15s; }
.table-dark tbody tr:hover { background: rgba(189, 154, 0, 0.04); }

/* ── Bulma modals : fade only ── */
@keyframes rkiaModalIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.modal.is-active .modal-background { animation: rkiaModalIn 0.15s ease-out; }
.modal.is-active .modal-card       { animation: rkiaModalIn 0.15s ease-out; }
.swal2-popup.swal2-show             { animation: rkiaModalIn 0.15s ease-out !important; }

/* ── SweetAlert2 : dark mode ── */
[data-theme="dark"] .swal2-popup {
    background: var(--rkia-card) !important;
    color: var(--rkia-text) !important;
}
[data-theme="dark"] .swal2-title { color: var(--rkia-heading) !important; }
[data-theme="dark"] .swal2-html-container { color: var(--rkia-text) !important; }
[data-theme="dark"] .swal2-input,
[data-theme="dark"] .swal2-textarea,
[data-theme="dark"] .swal2-select {
    background: var(--rkia-dark) !important;
    color: var(--rkia-text) !important;
    border-color: var(--rkia-border) !important;
}
[data-theme="dark"] .swal2-validation-message {
    background: var(--rkia-dark) !important;
    color: var(--rkia-text) !important;
}

/* ── Sidebar nav items : active indicator ── */
.sidebar-menu a.is-active,
.sidebar-menu a.nav-solo.is-active { position: relative; }
.sidebar-menu a.is-active::before,
.sidebar-menu a.nav-solo.is-active::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; height: 60%; width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--rkia-accent);
}

/* ── Menu group items : active bar ── */
.menu-group-items a.is-active { position: relative; }
.menu-group-items a.is-active::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; height: 60%; width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--rkia-accent);
}

/* ── Skeleton (loading placeholders) — statique ── */
.skeleton {
    background: var(--rkia-border);
    border-radius: 6px;
}

/* ── Accordion smooth open ── */
.rkia-accordion-body {
    transition: max-height 0.3s ease, opacity 0.2s ease;
}
.rkia-accordion:not(.is-open) .rkia-accordion-body { opacity: 0; }
.rkia-accordion.is-open .rkia-accordion-body       { opacity: 1; }

/* ── Focus ring (inputs) ── */
.input:focus,
.textarea:focus,
.select select:focus {
    border-color: var(--rkia-accent) !important;
    box-shadow: 0 0 0 3px rgba(189, 154, 0, 0.15) !important;
}
[data-theme="light"] .input:focus,
[data-theme="light"] .textarea:focus,
[data-theme="light"] .select select:focus {
    box-shadow: 0 0 0 3px rgba(189, 154, 0, 0.1) !important;
}

/* ── Clickable table rows ── */
tr[onclick], tr[style*="cursor:pointer"], a.lead-item-link {
    transition: background 0.15s;
}

/* ── Reduce motion for users who prefer it ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* SweetAlert2 : titre petit pour popups anniversaire etc. */
.swal-title-sm { font-size: 1.1rem !important; }
