/* Affichage « Sobre » (« Mon compte › Affichage », core/display.py, docs/etude-graphique-mode-sobre.md).
   Actif quand le serveur écrit <html data-theme="sobre">. Fond blanc, texte quasi noir, gris seulement pour le secondaire
   (≥ 4,5:1), un seul accent bleu nuit pour les liens et les boutons principaux, ni dégradé ni ombre, cartes à bordure
   fine, pictogrammes d'une seule couleur. Les couleurs d'état restent là où elles portent un sens (rouge = urgent ou
   bloquant, orange = à vérifier, vert = fait), toujours avec un mot ou une icône.
   Le mode habituel n'est pas touché : chaque règle commence par [data-theme="sobre"]. Les couleurs de la marque passent
   par les variables de core/app.css (:root) ; on les redéfinit ici, puis on reprend ce qu'une variable ne suffit pas à
   changer (texte en dégradé, ombres, liserés épais). */

/* 1. Les jetons. Contrastes sur blanc : encre 18,9:1 · gris 7,6:1 (6,9:1 sur le gris clair) · bleu nuit 11,5:1. */
:root[data-theme="sobre"] {
  color-scheme: light;
  /* Les jetons de core/static/core/theme.css, en version sobre ; les anciens noms (--ink, --accent…) les suivent. */
  --color-bg: #ffffff; --color-surface: #ffffff; --color-surface-sunken: #f3f4f6;
  --color-ink: #111111; --color-muted: #4b5563; --color-line: #d1d5db; --color-line-strong: #d1d5db; --color-field-border: #6b7280;
  --color-accent: #1e3a5f; --color-accent-hover: #142a46; --color-accent-soft: #e8eef5; --color-accent-ink: #1e3a5f;
  --color-on-accent: #ffffff; --color-focus: #1e3a5f; --color-assistant: #1e3a5f; --color-assistant-spark: #ffffff; --color-on-assistant: #ffffff;
  --color-danger: #b91c1c; --color-warning: #b45309; --color-success: #166534; --color-info: #1e3a5f;
  --logo-ai: #111111; --logo-mark: #111111; --accent-rgb: 30 58 95;
  /* Ni ombre ni dégradé : un panneau garde un bord fin (plus bas). */
  --shadow-sm: 0 0 0 1px #d1d5db; --shadow-md: 0 0 0 1px #6b7280; --shadow-lg: 0 0 0 1px #6b7280;
  --soft: #f3f4f6;
}
[data-theme="sobre"] body { background: var(--color-bg); }
[data-theme="sobre"] .brand-name { background: none; color: var(--color-ink); -webkit-text-fill-color: currentColor; }

/* 2. Titres, logo, intertitres : encre unie (plus de texte en dégradé). Le surtitre en gris. */
[data-theme="sobre"] .eyebrow { background: none; color: var(--muted); -webkit-text-fill-color: currentColor; }
[data-theme="sobre"] .brand img { filter: grayscale(1) contrast(1.2); }
[data-theme="sobre"] .section-heading, [data-theme="sobre"] .form-section { border-image: none; }
[data-theme="sobre"] .section-heading span { background: var(--soft); }

/* 3. Barre du haut : liens en bleu nuit uni (le dégradé du texte devient une seule couleur). */
[data-theme="sobre"] .topbar { border-bottom-color: var(--line); }
[data-theme="sobre"] .topbar nav a:hover, [data-theme="sobre"] .back-link:hover { text-decoration: underline; }

/* 4. Cartes de l'accueil et blocs : bordure fine, sans bandeau en dégradé, sans ombre ni saut au survol. */
[data-theme="sobre"] .module-card::before { display: none; }
[data-theme="sobre"] .module-card { transition: border-color .15s ease; }
[data-theme="sobre"] .module-card:hover { transform: none; border-color: var(--ink); box-shadow: none; }
[data-theme="sobre"] :is(.module-icon, .detail-panel .drawer-title .drawer-icon) { background: var(--soft); stroke: var(--ink); }
[data-theme="sobre"] #oasis-icon-gradient stop { stop-color: var(--color-ink); }
[data-theme="sobre"] [fill="#fff7f2"] { fill: var(--color-surface); }
[data-theme="sobre"] :is(.k-panel, .t-home, .mt-card) { border-left-width: 1px; border-left-color: var(--line); }
[data-theme="sobre"] :is(.form-panel, .credential-card, .away-block, .feedback-panel, .mt-minutes) { border-top-width: 1px; border-top-color: var(--line); }
[data-theme="sobre"] .form-panel { border: 1px solid var(--line); }
[data-theme="sobre"] .mt-card:hover { border-color: var(--ink); }
/* Accueil en blocs (home/home.css) : blocs à bord fin sans bandeau ; « attention » en orange, « important » en orange. */
[data-theme="sobre"] .home-widget::before { display: none; }
[data-theme="sobre"] :is(.hw-warn, .hw-line.is-important .hw-who) { color: var(--warning); }

/* 5. Boutons : principal en bleu nuit plein (texte blanc 11,5:1), secondaire blanc à bord gris foncé. */
[data-theme="sobre"] .primary { background: var(--accent); color: var(--color-on-accent); }
[data-theme="sobre"] .primary:hover { background: var(--accent-hover); }
[data-theme="sobre"] .secondary { border-color: var(--field-border); }
[data-theme="sobre"] .secondary:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="sobre"] .obs-home-new:hover { filter: none; background: var(--accent-hover); }

/* 6. Formulaires : bord des champs lisible (4,8:1), erreurs en rouge avec leur texte. */
[data-theme="sobre"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) { border-color: var(--field-border); }
[data-theme="sobre"] .has-error :is(input, textarea, select) { border-color: var(--danger); }
[data-theme="sobre"] :is(.error, .errorlist, .error-notice, .assistant-rating-error, .upload-progress.is-error .upload-progress-text, .credential-card .warning, .obs-step .error, .obs-compose .error) { color: var(--danger); }
[data-theme="sobre"] .duplicate-warning h2 { background: none; color: var(--warning); -webkit-text-fill-color: currentColor; }
[data-theme="sobre"] :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
[data-theme="sobre"] :is(input, select, textarea, button):focus-visible { outline-color: var(--ink); }

/* 7. Couleurs qui portent un sens : on les garde (importance d'une observation, échéance, jour d'aujourd'hui). */
[data-theme="sobre"] .observation-row.importance-3 { border-left-color: var(--warning); }
[data-theme="sobre"] .cal-day.is-today { box-shadow: inset 0 0 0 2px var(--ink); }
[data-theme="sobre"] .thread-message.latest { border-top-color: var(--ink); }
[data-theme="sobre"] .resident-form :target { outline-color: var(--ink); }

/* Planning : la couleur du type de moment reste sur le bord (repère, avec son nom et son pictogramme), le fond est blanc. */
[data-theme="sobre"] [class*="color-"] { --clip-bg: var(--color-surface); }

/* 8. Pastilles de comptage : bleu nuit (un nombre n'est pas une urgence) ; l'alerte rouge reste rouge. */
[data-theme="sobre"] :is(.message-badge, .tabbar-badge) { background: var(--accent); color: var(--color-on-accent); }

/* 9. Ombres supprimées : un panneau qui flotte garde un bord fin pour se détacher. */
[data-theme="sobre"] :is(.module-card:hover, .org-suggestions, .viewer-stage canvas, .notif-panel, .org-window, .feedback-toggle, .feedback-panel,
  .pathology-results, .batch-actions, .install-help-icon, .add-sheet, .add-dialog, .tabbar, .tabbar-more, .tri-row[open], .k-service.is-next,
  .mm-later-menu, .obs-compose-actions, .planning-panel, .add-window, .writing-menu-list,
  .assistant-launcher, .assistant-launcher:hover, .assistant-drawer, .assistant-menu, .nav-favorites-panel, .home-toast) { box-shadow: none; }
[data-theme="sobre"] :is(.org-window, .add-dialog, .add-sheet, .mm-later-menu, .assistant-menu, .writing-menu-list, .install-help-icon, .nav-favorites-panel, .home-toast) { border: 1px solid var(--field-border); }
[data-theme="sobre"] :is(.planning-panel, .add-window) { border-left: 1px solid var(--field-border); }
[data-theme="sobre"] :is(.tabbar-more, .batch-actions, .obs-compose-actions) { border-top: 1px solid var(--field-border); }
[data-theme="sobre"] :is(.clip:hover, .clip:focus-visible, .clip.is-selected, .clip.is-dragging) { box-shadow: none; outline: 2px solid var(--ink); outline-offset: 1px; }
[data-theme="sobre"] .assistant-launcher:hover { transform: none; border-color: var(--ink); }

/* 10. Téléphone : barre d'onglets blanche, onglet actif souligné en bleu nuit, bouton de l'assistant uni sans ombre. */
@media (max-width: 760px) {
  [data-theme="sobre"] .tabbar { background: var(--color-surface); -webkit-backdrop-filter: none; backdrop-filter: none; border-top-color: var(--field-border); }
  [data-theme="sobre"] .tabbar-item { color: var(--muted); }
  [data-theme="sobre"] .tabbar-item[aria-current="page"], [data-theme="sobre"] .tabbar-item[aria-expanded="true"] { color: var(--ink); }
  [data-theme="sobre"] .tabbar-item[aria-current="page"]::before { background: var(--accent); }
  [data-theme="sobre"] .tabbar-assistant { color: var(--ink); }
  [data-theme="sobre"] .tabbar-assistant-disc { background: var(--accent); box-shadow: none; }
  [data-theme="sobre"] .tabbar-more-title { color: var(--muted); }
}

/* 11. Assistant : tiroir à en-tête bleu nuit uni, bulles de la personne en bleu nuit (texte blanc 11,5:1), bulles de
   l'assistant en gris clair à texte noir, pastille de l'assistant d'une seule couleur. */
[data-theme="sobre"] .assistant-orb-bubble { stroke: var(--ink); }
[data-theme="sobre"] .assistant-orb-dot, [data-theme="sobre"] .assistant-orb-dot:nth-of-type(2), [data-theme="sobre"] .assistant-orb-dot:nth-of-type(3) { fill: var(--ink); }
[data-theme="sobre"] .assistant-orb-head .assistant-orb-bubble { fill: var(--color-on-accent); stroke: var(--color-on-accent); }
[data-theme="sobre"] .assistant-orb-head .assistant-orb-dot { fill: var(--accent); }
[data-theme="sobre"] .assistant-cite:hover { background: var(--accent); color: var(--color-on-accent); }

/* 12. Cloche : en encre, le panneau à bord fin ; les lignes en noir. */
[data-theme="sobre"] .notif-bell > summary { color: var(--ink); }
[data-theme="sobre"] .notif-panel { border-color: var(--field-border); }

/* 13. Petits rappels de marque sans sens : en encre ou en gris. */
[data-theme="sobre"] :is(.directory-arrow, .context-back) { color: var(--accent); }
[data-theme="sobre"] .feedback-toggle span[aria-hidden] { background: var(--accent); }
[data-theme="sobre"] .writing-dots i { background: var(--muted); }
[data-theme="sobre"] [class*="avatar-tone-"] { background: var(--muted); }

/* 14. Impression : la feuille sort comme à l'écran, en noir. */
@media print {
  [data-theme="sobre"] .primary { background: none; color: var(--color-ink); border: 1px solid var(--color-ink); }
}
