/* Editora — design « agence » (sept. 2026) : barre latérale marine, accent violet.
   Les anciens jetons --ed-teal* pointent vers l'accent pour que toutes les vues suivent. */

:root {
    --ed-black: #000000;
    --ed-white: #ffffff;
    --ed-navy: #0B1437;
    --ed-navy-2: #111C4E;

    --ed-accent: #6B3CF6;
    --ed-accent-hover: #5A2FE0;
    --ed-accent-2: #9B4DFF;
    --ed-accent-50: #F1ECFF;
    --ed-accent-100: #E6DDFF;
    --ed-accent-200: #D4C4FF;
    --ed-gradient: linear-gradient(90deg, #5B3DF5 0%, #9B4DFF 100%);

    /* Compatibilité avec les vues des lots 1 à 6 */
    --ed-teal: var(--ed-accent);
    --ed-teal-hover: var(--ed-accent-hover);
    --ed-teal-50: var(--ed-accent-50);
    --ed-teal-100: var(--ed-accent-100);

    --ed-ink: #0B1437;
    --ed-muted: #6B7280;
    --ed-line: #EDEFF5;
    --ed-surface: #F4F6FB;
    --ed-card: #ffffff;
    --ed-radius: 16px;
    --ed-radius-sm: 10px;
    --ed-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 8px rgba(16, 24, 40, .03);

    --ed-font-head: "Inter Tight", "Suisse Intl", "Helvetica Neue", Arial, sans-serif;
    --ed-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --ed-font-accent: "DM Serif Display", Georgia, "Times New Roman", serif;

    /* Variables HSL du template ViserLab (#6B3CF6 = hsl 255 91% 60%) */
    --base-h: 255;
    --base-s: 91%;
    --base-l: 60%;
}

body {
    font-family: var(--ed-font-body);
    color: var(--ed-ink);
    background-color: var(--ed-surface);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.dashboard-header__title,
.dashboard-body__title {
    font-family: var(--ed-font-head);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ed-ink);
}

/* Logo typographique */
.ed-logo {
    display: inline-flex;
    align-items: baseline;
    font-family: var(--ed-font-head);
    font-weight: 800;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -0.045em;
    color: var(--ed-black);
    white-space: nowrap;
}

.ed-logo__accent {
    font-family: var(--ed-font-accent);
    font-style: italic;
    font-weight: 400;
    font-size: 1.14em;
    letter-spacing: 0;
    color: var(--ed-accent);
    margin-left: 0.01em;
}

.sidebar-logo__link,
.sidebar-logo__link:hover {
    text-decoration: none;
}

/* Barre latérale marine */
.sidebar-menu {
    background: linear-gradient(180deg, #0B1437 0%, #0A1233 100%) !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

.sidebar-menu .ed-logo { color: #fff; }
.sidebar-menu .ed-logo__accent { color: #A78BFA; }
.sidebar-menu__close { color: #fff; }

.sidebar-menu-list__link {
    font-family: var(--ed-font-body);
    font-weight: 500;
    color: rgba(255, 255, 255, .82) !important;
    border-radius: 12px;
    background: transparent;
}

.sidebar-menu-list__link .icon,
.sidebar-menu-list__link .icon i {
    color: rgba(255, 255, 255, .78) !important;
}

.sidebar-menu-list__link:hover {
    background: rgba(255, 255, 255, .06) !important;
    color: #fff !important;
}

.sidebar-menu-list__item.active > .sidebar-menu-list__link {
    background: var(--ed-gradient) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(107, 60, 246, .35);
}

.sidebar-menu-list__item.active > .sidebar-menu-list__link .icon,
.sidebar-menu-list__item.active > .sidebar-menu-list__link .icon i {
    color: #fff !important;
}

.sidebar-menu-list hr {
    border-color: rgba(255, 255, 255, .14);
    opacity: 1;
}

/* Header flottant */
.dashboard-header {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.dashboard-body {
    background: var(--ed-surface);
}

.dashboard-header .header__widgets__notifications,
.dashboard-header .user-info {
    background: #fff;
    border: 1px solid var(--ed-line);
    border-radius: 14px;
    box-shadow: var(--ed-shadow);
}

/* Couleur d'accent */
.btn--base,
.btn--base:focus {
    background-image: var(--ed-gradient) !important;
    background-color: var(--ed-accent) !important;
    border-color: transparent !important;
    color: var(--ed-white) !important;
}

.btn--base:hover {
    background-image: none !important;
    background-color: var(--ed-accent-hover) !important;
}

.btn-outline--base {
    color: var(--ed-accent) !important;
    border-color: var(--ed-accent) !important;
}

.bg--base { background-color: var(--ed-accent) !important; }
.text--base { color: var(--ed-accent) !important; }
.border--base { border-color: var(--ed-accent) !important; }

.badge--base {
    background-color: var(--ed-accent-50) !important;
    color: var(--ed-accent) !important;
    border: 0 !important;
}

/* Cartes */
.card,
.dashboard-card {
    background: var(--ed-card);
    border: 1px solid var(--ed-line);
    border-radius: var(--ed-radius);
    box-shadow: var(--ed-shadow);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--ed-accent);
    box-shadow: 0 0 0 3px rgba(107, 60, 246, .15);
}

/* Barres d'outils ApexCharts masquées */
.apexcharts-toolbar { display: none !important; }

/* Chrono du header */
.ed-timer {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 6px 0 8px;
    margin-right: 12px;
    border: 1px solid var(--ed-line);
    border-radius: 14px;
    background: var(--ed-card);
    box-shadow: var(--ed-shadow);
}

.ed-timer__client {
    height: 32px;
    border: 1px solid var(--ed-line);
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    color: var(--ed-ink);
    max-width: 190px;
    padding: 0 8px;
    outline: none;
    cursor: pointer;
}

.ed-timer__client:disabled {
    opacity: 1;
    cursor: default;
    color: var(--ed-accent);
    border-color: var(--ed-accent-200);
    -webkit-appearance: none;
    appearance: none;
}

.ed-timer__clock {
    font-variant-numeric: tabular-nums;
    font-size: 14px;
    font-weight: 600;
    color: var(--ed-ink);
    min-width: 66px;
    text-align: right;
}

.ed-timer__btn {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: var(--ed-gradient);
    color: var(--ed-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    box-shadow: 0 4px 12px rgba(107, 60, 246, .35);
}

.ed-timer__btn:hover { filter: brightness(.95); }
.ed-timer__btn .fa-stop { display: none; }
.ed-timer.is-running { border-color: var(--ed-accent-200); }
.ed-timer.is-running .ed-timer__btn { background: #0B1437; box-shadow: none; }
.ed-timer.is-running .ed-timer__btn .fa-play { display: none; }
.ed-timer.is-running .ed-timer__btn .fa-stop { display: inline; }

@media (max-width: 767px) {
    .ed-timer__client { max-width: 96px; }
    .ed-timer { margin-right: 6px; gap: 6px; }
}

/* Bandeau (hero) et cartes KPI partagés entre les pages */
.dashboard-body:has(.ed-hero) > .d-flex:first-child { display: none !important; }
.dashboard__right:has(.ed-hero) .dashboard-header .left-content { visibility: hidden; }

.ed-hero { position: relative; overflow: hidden; border-radius: 18px; padding: 26px 32px; margin-bottom: 20px; min-height: 130px; background: radial-gradient(120% 140% at 85% 0%, #3B2A8F 0%, rgba(59, 42, 143, 0) 55%), linear-gradient(115deg, #0B1437 0%, #111C4E 55%, #1B2366 100%); color: #fff; display: flex; align-items: center; }
.ed-hero__text { position: relative; z-index: 2; }
.ed-hero__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #C7D2FE; }
.ed-hero__title { font-family: var(--ed-font-head); font-size: 32px; font-weight: 700; letter-spacing: -.02em; color: #fff; margin: 4px 0 6px; }
.ed-hero__date { margin: 0; font-size: 14px; color: rgba(255, 255, 255, .78); }
.ed-hero__art { position: absolute; right: 24px; bottom: 0; height: 100%; max-height: 150px; z-index: 1; }

.ed-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.ed-kpi { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--ed-line); border-radius: 16px; padding: 16px 18px; color: inherit; text-decoration: none; box-shadow: var(--ed-shadow); }
.ed-kpi__icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; background: var(--ed-accent-50); color: var(--ed-accent); display: inline-flex; align-items: center; justify-content: center; font-size: 19px; }
.ed-kpi__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ed-kpi__label { font-size: 13px; color: var(--ed-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ed-kpi__value { font-family: var(--ed-font-head); font-size: 28px; font-weight: 700; letter-spacing: -.02em; color: var(--ed-ink); line-height: 1.15; }
.ed-kpi__side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.ed-spark { display: block; width: 90px; height: 30px; }
.ed-card { background: #fff; border: 1px solid var(--ed-line); border-radius: 16px; padding: 18px 20px; min-width: 0; box-shadow: var(--ed-shadow); }
.ed-card__title { margin: 0; font-size: 16px; font-weight: 700; color: var(--ed-ink); }

@media (max-width: 1199px) { .ed-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ed-hero__art { opacity: .35; } }
@media (max-width: 575px) { .ed-kpis { grid-template-columns: 1fr; } .ed-hero { padding: 22px; } .ed-hero__title { font-size: 26px; } }

/* ===== Bandeau automatique des pages ===== */
.ed-hero--page { justify-content: space-between; gap: 20px; flex-wrap: wrap; min-height: 118px; }
.ed-hero__side { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; }
.ed-hero__plugins { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ed-hero__plugins:empty { display: none; }
.ed-hero__plugins h6, .ed-hero__plugins h5 { color: #fff; margin: 0; }
.ed-hero__plugins .form--control, .ed-hero__plugins .form-control, .ed-hero__plugins input { background: rgba(255, 255, 255, .95); border-color: transparent; }
.ed-hero__glyph { width: 76px; height: 76px; border-radius: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 32px; color: #fff; background: linear-gradient(140deg, rgba(139, 92, 246, .95), rgba(79, 70, 229, .85)); box-shadow: 0 14px 30px rgba(79, 70, 229, .45), inset 0 1px 0 rgba(255, 255, 255, .25); transform: rotate(-6deg); }
@media (max-width: 767px) { .ed-hero__glyph { display: none; } }

/* ===== Habillage global des composants du template ===== */
.dashboard-body { padding-top: 4px; }

.custom--card { border: 1px solid var(--ed-line) !important; border-radius: var(--ed-radius) !important; box-shadow: var(--ed-shadow) !important; background: #fff !important; overflow: hidden; }
.custom--card .card-header { background: #fff !important; border-bottom: 1px solid var(--ed-line) !important; padding: 16px 20px !important; }
.custom--card .card-header .card-title, .custom--card .card-title { font-family: var(--ed-font-head); font-weight: 700; color: var(--ed-ink); margin: 0; }
.custom--card .card-body { padding: 20px !important; }
.custom--card .card-footer { background: #FAFBFD !important; border-top: 1px solid var(--ed-line) !important; }

.table { --bs-table-bg: transparent; margin-bottom: 0; font-size: 14px; }
.table thead th, .table--responsive--lg thead th { background: #F7F8FC !important; color: #374151 !important; font-weight: 600 !important; font-size: 13px !important; border: 0 !important; padding: 12px 14px !important; text-transform: none !important; }
.table thead th:first-child { border-radius: 10px 0 0 10px; }
.table thead th:last-child { border-radius: 0 10px 10px 0; }
.table tbody td { border-bottom: 1px solid #F1F2F7 !important; border-top: 0 !important; padding: 12px 14px !important; color: #1F2937; vertical-align: middle; }
.table tbody tr:hover td { background: #FBFBFE; }

.form--control, .form-control, .form-select { border: 1px solid var(--ed-line) !important; border-radius: 10px !important; min-height: 42px; font-size: 14px; color: var(--ed-ink); background-color: #fff; }
textarea.form--control, textarea.form-control { min-height: 96px; }
.form--control:focus, .form-control:focus, .form-select:focus { border-color: var(--ed-accent) !important; box-shadow: 0 0 0 3px rgba(107, 60, 246, .12) !important; }
.form--label, .form-label { font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.input-group-text { border-color: var(--ed-line) !important; background: #F7F8FC !important; border-radius: 10px; }

.btn { border-radius: 10px !important; font-weight: 600; }
.btn--dark { background: #0B1437 !important; border-color: #0B1437 !important; color: #fff !important; }
.btn-outline--dark { border-color: var(--ed-line) !important; color: var(--ed-ink) !important; background: #fff !important; }
.btn-outline--dark:hover { border-color: var(--ed-accent) !important; color: var(--ed-accent) !important; }
.btn--danger { background: #DC2626 !important; border-color: #DC2626 !important; }
.btn--success { background: #16A34A !important; border-color: #16A34A !important; }
.btn--info { background: #2563EB !important; border-color: #2563EB !important; }

.badge { border-radius: 999px !important; font-weight: 600 !important; padding: 4px 10px !important; font-size: 11px !important; }
.badge--success { background: #DCFCE7 !important; color: #15803D !important; border: 0 !important; }
.badge--danger { background: #FEE2E2 !important; color: #B91C1C !important; border: 0 !important; }
.badge--warning { background: #FEF3C7 !important; color: #92400E !important; border: 0 !important; }
.badge--primary, .badge--info { background: #DBEAFE !important; color: #1D4ED8 !important; border: 0 !important; }
.badge--dark { background: #F3F4F8 !important; color: #374151 !important; border: 0 !important; }

.pagination { gap: 6px; }
.pagination .page-link { border: 1px solid var(--ed-line) !important; border-radius: 10px !important; color: var(--ed-ink) !important; min-width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; background: #fff !important; }
.pagination .page-item.active .page-link { background: var(--ed-accent) !important; border-color: var(--ed-accent) !important; color: #fff !important; }

.modal-content { border: 0 !important; border-radius: 18px !important; box-shadow: 0 24px 60px rgba(15, 23, 42, .18) !important; }
.modal-header { border-bottom: 1px solid var(--ed-line) !important; padding: 16px 20px !important; }
.modal-header .modal-title { font-family: var(--ed-font-head); font-weight: 700; color: var(--ed-ink); }
.modal-footer { border-top: 1px solid var(--ed-line) !important; }

/* Forfaits */
.pricing-card { border: 1px solid var(--ed-line) !important; border-radius: 18px !important; box-shadow: var(--ed-shadow) !important; background: #fff !important; transition: transform .15s, box-shadow .15s; }
.pricing-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(79, 70, 229, .12) !important; }
.pricing-card__value { font-family: var(--ed-font-head); color: var(--ed-ink) !important; }
.pricing-card .card-btn, .pricing-card .btn { background-image: var(--ed-gradient) !important; background-color: var(--ed-accent) !important; color: #fff !important; border: 0 !important; }

/* Tickets, profil, listes diverses */
.dashboard-body h3, .dashboard-body h4 { color: var(--ed-ink); }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active { background: var(--ed-accent) !important; color: #fff !important; border-color: var(--ed-accent) !important; }
.list-group-item { border-color: var(--ed-line) !important; }

/* Bandeau illustré de Créer une publication (image : assets/images/editora/hero-post.webp) */
.ed-hero--r-user-post-create {
    min-height: 150px;
    background:
        linear-gradient(90deg, rgba(8, 14, 48, .92) 0%, rgba(8, 14, 48, .7) 38%, rgba(8, 14, 48, 0) 62%),
        url('../../../images/editora/hero-post.webp') right center / cover no-repeat,
        linear-gradient(115deg, #0B1437 0%, #111C4E 55%, #3B2A8F 100%);
}
.ed-hero--r-user-post-create .ed-hero__glyph { display: none; }
