/* ==========================================================================
   Style « minimaliste épuré » — palettes Octet (choisi le 14/10/2026)
   --------------------------------------------------------------------------
   Remplace le néomorphisme (14/10/2026). Clair « Health Management », sombre
   « Interactive Dashboards ». Fonds unis, aucune ombre, aucun dégradé, aucune
   bordure hors séparateurs de 0,5 px ; cartes en aplat de 8 px d'arrondi,
   boutons pleins de 6 px ; couleurs de type vives, badges en aplat.

   Portée : `.v-simple`, posée par base.html sur <html> de toutes les pages de
   l'espace connecté (avec theme-app). Sélecteurs de spécificité (0,2,1) en
   clair et (0,3,1) en sombre : l'emportent sur html.theme-app.

   ÉCARTS À LA PALETTE DEMANDÉE (contraste AA, texte ≥ 4,5:1) :
   - texte secondaire clair #6E6180 au lieu de #9386a0 (3,4:1 sur la page) ;
     #9386a0 reste en décor (--bs-subtle) ;
   - texte des boutons pleins en sombre #171821 : blanc sur le mauve #a887ce
     ne fait que 3,0:1 (#171821 : 5,9:1) ;
   - badges : TD texte #171821 (blanc 3,0:1), Cours texte noir (blanc 4,1:1).
   CONTRASTES retenus : clair — texte 11,5 page / 10,6 carte ; secondaire
   5,7 / 5,2 ; lien #1565C0 5,7 ; blanc sur #1565C0 5,8. Sombre — texte 17,5 ;
   secondaire et liens #a887ce 5,9 page / 5,0 carte. Badges : DS 5,5 ;
   TD 5,9 ; Examen 7,8 ; Cours 5,1.
   Boutons secondaires, champs et puces : fond de la page et séparateur de
   0,5 px (#D0C7CE, 1,6:1 : sous le 3:1 de WCAG 1.4.11) ; le focus clavier est
   un contour de 2 px.
   ========================================================================== */

:is(html.v-simple.v-simple, html .v-simple.v-simple) {
    --bs-bg: #FEFEFE;
    --bs-bg-tinted: #F5F5F5;
    --bs-surface: #F5F5F5;           /* cartes, menu latéral */
    --bs-surface-2: #EDEDED;         /* survol d'un élément en aplat */
    --bs-ink: #393939;
    --bs-mute: #6E6180;
    --bs-subtle: #9386A0;
    --bs-line: #D0C7CE;
    --bs-line-light: #E6E0E4;
    --bs-primary: #1565C0;
    --bs-primary-strong: #135BAD;    /* accent + 10 % de sombre */
    --bs-primary-ink: #1565C0;
    --bs-primary-dark: #0D47A1;
    --bs-primary-light: #90B4E2;
    --bs-primary-bg: #E8EFF8;
    --bs-primary-rgb: 21, 101, 192;
    --bs-highlight: #1565C0;
    --bs-highlight-bg: #EEF3FA;
    --bs-radius-sm: 6px;
    --bs-radius: 8px;
    --bs-radius-lg: 8px;
    --bs-radius-pill: 6px;
    --bs-radius-xl: 8px;
    --bs-shadow: none;
    --bs-shadow-lg: none;
    --bs-shadow-menu: none;
    --bs-focus-ring: 0 0 0 2px var(--bs-primary);
    /* Types : aplat vif + texte lisible dessus (couleur pleine = filets, points). */
    --bs-type-ds: #9C526D;    --bs-type-ds-bg: #9C526D;    --bs-type-ds-ink: #FFFFFF;
    --bs-type-td: #A887CE;    --bs-type-td-bg: #A887CE;    --bs-type-td-ink: #171821;
    --bs-type-ex: #F57C00;    --bs-type-ex-bg: #F57C00;    --bs-type-ex-ink: #000000;
    --bs-type-autre: #388E3C; --bs-type-autre-bg: #388E3C; --bs-type-autre-ink: #000000;
    --bs-sp-sur-accent: #FFFFFF;     /* texte des boutons pleins */
    --bs-sp-icone: #393939;          /* icônes du menu */
    --bs-sp-inactif: #6E6180;        /* onglets non choisis */
    --bs-sp-sep: 0.5px solid var(--bs-line);
    --bs-sp-noir: #000000;           /* texte sur les médailles (encre #393939 : 3,9:1 sur le bronze) */
}
:is(html.v-simple.v-simple[data-theme="dark"], html[data-theme="dark"] .v-simple.v-simple) {
    --bs-bg: #171821;
    --bs-bg-tinted: #1F2029;
    --bs-surface: #292631;
    --bs-surface-2: #322E3B;
    --bs-ink: #FEFEFE;
    --bs-mute: #A887CE;
    --bs-subtle: #7B6E7F;
    --bs-line: #7B6E7F;
    --bs-line-light: #3A3542;
    --bs-primary: #A887CE;           /* accent mauve */
    --bs-primary-strong: #9779B9;    /* accent + 10 % de sombre (#171821 dessus 5,4:1) */
    --bs-primary-ink: #A887CE;
    --bs-primary-dark: #C7B2E0;
    --bs-primary-light: #7B6E7F;
    --bs-primary-bg: #2B2538;        /* voile : le mauve dessus tient 4,9:1 */
    --bs-primary-rgb: 168, 135, 206;
    --bs-highlight: #A887CE;
    --bs-highlight-bg: #2E2838;
    --bs-sp-sur-accent: #171821;
    --bs-sp-icone: #D8D4DE;          /* gris clair */
    --bs-sp-inactif: #D8D4DE;        /* en sombre, le secondaire est l'accent : onglets non choisis en gris clair */
    color-scheme: dark;
}
:is(html.v-simple.v-simple, html .v-simple.v-simple), :is(html.v-simple.v-simple, html .v-simple.v-simple) body { background: var(--bs-bg); }
/* En sombre l'accent est un mauve clair : tout texte posé sur lui passe en
   #171821 (blanc dessus : 3,0:1). Règles des pages qui écrivent en blanc
   sur --bs-primary. */
:is(html.v-simple.v-simple[data-theme="dark"], html[data-theme="dark"] .v-simple.v-simple) :is(.badge-solid, .cl-row.is-me .cl-avatar, .notification-mark-all-btn, .ed-btn-primary, .ed-btn-accent, .cp-num, .lv-action-complete,
       .lr-dialogue__bouton--envoyer, .sc-today, .sg-dh.is-today .sg-dnum, .sc-jours a.is-sel, .sc-jours a.is-sel *, .page-link.is-current,
       .st-count, .m-notif-dot, .cl-you, .cl-row.is-me .cl-avatar) { color: var(--bs-sp-sur-accent); }
:is(html.v-simple.v-simple[data-theme="dark"], html[data-theme="dark"] .v-simple.v-simple) .lv-action-complete:hover { color: var(--bs-sp-sur-accent); }
:is(html.v-simple.v-simple[data-theme="dark"], html[data-theme="dark"] .v-simple.v-simple) .cl-me__gap { background: color-mix(in srgb, var(--bs-white) 25%, transparent); }   /* encart éclairci : texte foncé 7:1 */

/* ---- Rien en relief : ni ombre, ni dégradé ------------------------------ */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn, .card, .db-card, .ds-item, .mc-doc, .ds-cal, .ds-panneau, .abo, .cmp-carte, .st-side, .cmp-side, .st-top, .cmp-top,
      .st-account-menu, .ds-onglet, .ds-urgence, .badge, .ds-type, .mc-type, .ds-btn, .mc-btn, .st-top-btn, .fav-btn, .st-collapse,
      .st-subscribe, .table-container, .table-wrap, .table-responsive, .alert, .st-echeance, .mc-intro, .m-bottomnav) { box-shadow: none; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .db::before { display: none; }                         /* halos derrière l'en-tête du tableau de bord */
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ed-coursecard .ed-thumb { background: var(--bs-bg-tinted); }

/* ---- Boutons : aplat, 6 px, 10 × 20, sans bordure ni ombre ----------------- */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn, .ds-btn, .mc-btn, .st-subscribe) {
    border: 0;
    border-radius: var(--bs-radius-sm);
    transition: background-color .2s, color .2s;
}
:is(html.v-simple.v-simple, html .v-simple.v-simple) .btn { padding: 10px 20px; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .btn:hover { transform: none; box-shadow: none; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-primary, .st-subscribe, .mc-btn--plein, .ds-btn--ajout), :is(html.v-simple.v-simple, html .v-simple.v-simple) a.btn-primary { color: var(--bs-sp-sur-accent); background: var(--bs-primary); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-primary, .st-subscribe, .mc-btn--plein, .ds-btn--ajout):hover, :is(html.v-simple.v-simple, html .v-simple.v-simple) a.btn-primary:hover { color: var(--bs-sp-sur-accent); background: var(--bs-primary-strong); }
/* Boutons secondaires, champs et puces : fond de la page + séparateur de
   0,5 px (14/10/2026). En aplat #F5F5F5, ils disparaissaient sur les cartes
   et les blocs de la même couleur (formulaire du reçu, filtres, éditeur). */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-secondary, .btn-outline, .ds-btn:not(.ds-btn--ajout), .mc-btn:not(.mc-btn--plein)), :is(html.v-simple.v-simple, html .v-simple.v-simple) a:is(.btn-secondary, .btn-outline) { color: var(--bs-ink); background: var(--bs-bg); border: var(--bs-sp-sep); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-secondary, .btn-outline, .ds-btn:not(.ds-btn--ajout), .mc-btn:not(.mc-btn--plein)):hover, :is(html.v-simple.v-simple, html .v-simple.v-simple) a:is(.btn-secondary, .btn-outline):hover { color: var(--bs-ink); background: var(--bs-surface-2); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-ghost, .btn-link) { color: var(--bs-primary-ink); background: transparent; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.btn-ghost, .btn-link):hover { background: color-mix(in srgb, var(--bs-primary) 10%, transparent); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.st-top-btn, .fav-btn, .st-collapse) { background: var(--bs-bg); border: var(--bs-sp-sep); border-radius: var(--bs-radius-sm); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.st-top-btn, .fav-btn, .st-collapse):hover { background: var(--bs-surface-2); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--bs-primary-ink); outline-offset: 2px; }

/* ---- Cartes : aplat, 16 px, 8 px d'arrondi -------------------------------- */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.card, .db-card, .ds-item, .mc-doc, .ds-cal, .ds-panneau, .abo, .cmp-carte, .table-container, .table-wrap, .table-responsive) {
    background: var(--bs-surface);
    border: 0;
    border-radius: var(--bs-radius);
}
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.card, .db-card, .ds-item, .mc-doc) { padding: 16px; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-item { border-bottom: 2px solid var(--dt); }       /* type de l'évaluation */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.card, .ds-item, .mc-doc):hover { box-shadow: none; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .card-interactive:hover { background: var(--bs-surface-2); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .mc-vignette { background: var(--bs-bg); border: 0; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.alert, .st-echeance, .mc-intro, .ds-alerte) { border: 0; }

/* ---- Menu latéral et barre du haut ------------------------------------------- */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.st-side, .cmp-side) { background: var(--bs-surface); border: 0; border-right: var(--bs-sp-sep); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.st-top, .cmp-top) { background: var(--bs-bg); border: 0; border-bottom: var(--bs-sp-sep); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-item { color: var(--bs-ink); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-item .st-tile { color: var(--bs-sp-icone); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-item:hover { background: color-mix(in srgb, var(--bs-primary) 8%, transparent); }
/* Entrée active : accent foncé (clair) ou éclairci (sombre) sur la teinte —
   l'accent pur n'y tenait que 4,3 et 4,0:1. */
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-item.is-active { color: var(--bs-primary-dark); background: color-mix(in srgb, var(--bs-primary) 14%, transparent); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-item.is-active .st-tile { color: var(--bs-primary-dark); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.st-avatar, .avatar-circle, .avatar-circle-large, .st-count) { color: var(--bs-sp-sur-accent); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-side-foot { border-top: var(--bs-sp-sep); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .st-account-menu, :is(html.v-simple.v-simple, html .v-simple.v-simple) dialog[open] { border: var(--bs-sp-sep); box-shadow: none; }

/* ---- Champs : fond de la page, séparateur de 0,5 px ---------------------------------- */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.form-control, .form-select, .form-field input, .form-field select, .form-field textarea, .form-group input, .form-group select, .form-group textarea,
      .ds-champ input, .ds-champ select, .ds-champ textarea, .mc-champ input, .mc-champ select, .st-search input, .cat-search input),
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="hidden"], [type="submit"], [type="button"], [type="color"]), select, textarea) {
    background: var(--bs-bg);
    border: var(--bs-sp-sep);
    border-radius: var(--bs-radius-sm);
    box-shadow: none;
}
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.form-control, .form-select, .form-field input, .form-field select, .form-field textarea, .form-group input, .form-group select, .form-group textarea,
      .ds-champ input, .ds-champ select, .ds-champ textarea, .mc-champ input, .mc-champ select, .st-search input, .cat-search input):focus,
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(input, select, textarea):focus {
    border-color: var(--bs-primary-ink);
    box-shadow: none;
    outline: 2px solid var(--bs-primary-ink);
    outline-offset: 1px;
}

/* ---- Couleurs de type vives : badges, puces, calendrier --------------------------- */
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.badge, .ds-type, .mc-type, .ds-urgence) { border: 0; border-radius: var(--bs-radius-sm); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-urgence { border-left: 0; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-urgence.is-chaud { outline: 2px solid var(--dt); outline-offset: 2px; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-onglets { gap: 4px; border-bottom: var(--bs-sp-sep); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-onglet { color: var(--bs-sp-inactif); background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: var(--bs-radius-sm) var(--bs-radius-sm) 0 0; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-onglet:hover { background: var(--bs-surface); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-onglet[aria-current] { color: var(--bs-primary-ink); background: transparent; border-bottom-color: var(--bs-primary); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.mc-filtres a, .mc-types a) { color: var(--bs-ink); background: var(--bs-bg); border: var(--bs-sp-sep); border-radius: var(--bs-radius-sm); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.mc-filtres a, .mc-types a):hover { background: var(--bs-surface-2); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.mc-filtres a, .mc-types a)[aria-current] { color: var(--bs-sp-sur-accent); background: var(--bs-primary); border-color: var(--bs-primary); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__grille { gap: 4px; border: 0; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__jour-nom { background: transparent; border: 0; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__case { background: var(--bs-bg); border: 0; border-radius: var(--bs-radius-sm); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__case:hover { box-shadow: none; background: var(--bs-surface-2); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__case.is-hors { background: transparent; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__case.is-auj { background: var(--bs-primary-bg); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__case.is-auj :is(.ds-cal__num, .ds-cal__plus) { color: var(--bs-primary-dark); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .mc-depot { background: var(--bs-bg); }                 /* légende 5,9:1 en sombre (4,4 sur l'aplat) */
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__ev { border-left: 0; border-radius: 4px; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__ev.is-autre { color: var(--bs-ink); background: var(--bs-surface); box-shadow: inset 0 0 0 2px var(--dt); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__ev .ds-ico { color: currentColor; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) :is(.ch-type__corps) { border: 0; background: var(--bs-surface); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ch-type input:checked + .ch-type__corps { background: var(--bs-primary-bg); box-shadow: inset 0 0 0 2px var(--bs-primary); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .ch-seg { border: 0; }
/* Heures du calendrier des séances : posées sur les lignes de la grille,
   plus foncées dans cette palette ; un aplat sous le libellé. */
:is(html.v-simple.v-simple, html .v-simple.v-simple) .sg-hour { padding: 0 3px; background: var(--bs-surface); border-radius: 3px; }
/* Classements : carte « ma place » en aplat d'accent (plus de dégradé). */
:is(html.v-simple.v-simple, html .v-simple.v-simple) .cl-me { color: var(--bs-sp-sur-accent); background: var(--bs-primary); box-shadow: none; }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .bs-theme .cl-me a.btn-primary, :is(html.v-simple.v-simple, html .v-simple.v-simple) .cl-me a.btn-primary { color: var(--bs-ink); background: var(--bs-bg); border-color: var(--bs-bg); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .bs-theme .cl-me a.btn-primary:hover, :is(html.v-simple.v-simple, html .v-simple.v-simple) .cl-me a.btn-primary:hover { color: var(--bs-ink); background: var(--bs-surface); border-color: var(--bs-surface); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .cl-row:is(.is-medal-1, .is-medal-2, .is-medal-3) .cl-rank { color: var(--bs-sp-noir); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .table thead th { background: var(--bs-surface); }
:is(html.v-simple.v-simple, html .v-simple.v-simple) .table :is(th, td) { border-bottom: var(--bs-sp-sep); }

@media (max-width: 600px) {
    :is(html.v-simple.v-simple, html .v-simple.v-simple) .ds-cal__grille { gap: 2px; }
}
