/* =========================================================
   Gestion Client v0.4.7 — Thèmes Clair/Foncé stabilisés
   - palettes fixes et professionnelles
   - contraste cohérent sur navigation, contenus, tableaux,
     formulaires, modales et page de connexion
   - aucun réglage de couleur utilisateur n'intervient ici
   ========================================================= */

/* ---------- Palette de base : mode clair ---------- */
.avsg-gc-app.gc-theme-light {
  --gc-accent: #176a2f;
  --gc-link: #176a2f;
  --gc-sidebar: #0d2b20;
  --gc-sidebar-text: #e3e9d8;
  --gc-page-bg: #f7f7f2;
  --gc-header: #e9eee4;
  --gc-header-fg: #10281f;
  --gc-header-muted: #5f7167;
  --ink: #1d2a24;
  --muted: #66756d;
  --line: #d8e0da;
  --white: #ffffff;
  --panel: #ffffff;
  --surface-soft: #f1f4ec;
  --surface-muted: #edf1ed;
  --field-bg: #ffffff;
  --table-head: #f4f6f3;
  --table-head-text: #66776d;
  --shadow: 0 8px 28px rgba(16,40,31,.07);
  color-scheme: light;
}

/* ---------- Palette de base : mode sombre ---------- */
.avsg-gc-app.gc-theme-dark {
  --gc-accent: #2b7f3e;
  --gc-link: #83d59a;
  --gc-sidebar: #0d2b20;
  --gc-sidebar-text: #e3e9d8;
  --gc-page-bg: #111816;
  --gc-header: #18221e;
  --gc-header-fg: #f5f7f4;
  --gc-header-muted: #b9c3bd;
  --ink: #f5f7f4;
  --muted: #b9c3bd;
  --line: #35443d;
  --white: #1c2723;
  --panel: #1c2723;
  --surface-soft: #17211d;
  --surface-muted: #24312b;
  --field-bg: #151f1b;
  --table-head: #26342e;
  --table-head-text: #d2dbd6;
  --shadow: none;
  color-scheme: dark;
}

.avsg-gc-app.gc-theme-light,
.avsg-gc-app.gc-theme-dark,
.avsg-gc-app.gc-theme-light .gc-content,
.avsg-gc-app.gc-theme-dark .gc-content,
.avsg-gc-app.gc-theme-light .gc-page-content,
.avsg-gc-app.gc-theme-dark .gc-page-content {
  background: var(--gc-page-bg) !important;
  color: var(--ink) !important;
}

/* ---------- Navigation ---------- */
.avsg-gc-app .gc-sidebar {
  background: linear-gradient(180deg,#0d2b20,#081e16) !important;
  color: #fff !important;
}
.avsg-gc-app .gc-workspace-label { color: #9ab0a4 !important; }
.avsg-gc-app .gc-sidebar nav a {
  color: var(--gc-sidebar-text) !important;
}
.avsg-gc-app .gc-sidebar nav a > span { color: #fff !important; }
.avsg-gc-app .gc-sidebar nav a:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}
.avsg-gc-app .gc-sidebar nav a.active {
  background: #ffffff !important;
  color: #10281f !important;
  box-shadow: 0 7px 20px rgba(0,0,0,.18) !important;
}
.avsg-gc-app .gc-sidebar nav a.active > span { color: #176a2f !important; }
.avsg-gc-app .gc-sidebar nav b {
  background: #2e7045 !important;
  color: #e8f5eb !important;
}
.avsg-gc-app .gc-sidebar-help {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
}
.avsg-gc-app .gc-sidebar-help small { color: #aebbb4 !important; }
.avsg-gc-app .gc-settings-subnav a {
  color: #d5e1da !important;
  background: transparent !important;
}
.avsg-gc-app .gc-settings-subnav a:hover { color: #fff !important; }
.avsg-gc-app .gc-settings-subnav a.active {
  background: #fff !important;
  color: #10281f !important;
}

/* ---------- Entête ---------- */
.avsg-gc-app .gc-topbar {
  background: var(--gc-header) !important;
  color: var(--gc-header-fg) !important;
  border-bottom-color: var(--line) !important;
}
.avsg-gc-app.gc-theme-light .gc-topbar {
  border-bottom-color: #c5d0c7 !important;
}
.avsg-gc-app .gc-header-profile,
.avsg-gc-app .gc-header-profile strong { color: var(--gc-header-fg) !important; }
.avsg-gc-app .gc-header-profile small { color: var(--gc-header-muted) !important; }
.avsg-gc-app .gc-language,
.avsg-gc-app .gc-renewal-count {
  background: #fff !important;
  color: #1d2a24 !important;
  border-color: #d8e0da !important;
}
.avsg-gc-app.gc-theme-dark .gc-language,
.avsg-gc-app.gc-theme-dark .gc-renewal-count {
  background: #f7f8f5 !important;
  color: #17231d !important;
  border-color: #e0e5e1 !important;
}
.avsg-gc-app .gc-user-dropdown {
  background: #10281f !important;
  border-color: #365047 !important;
}
.avsg-gc-app .gc-user-dropdown a,
.avsg-gc-app .gc-user-dropdown button { color: #fff !important; }

/* ---------- Typographie générale ---------- */
.avsg-gc-app .gc-page-heading h1,
.avsg-gc-app .gc-panel h1,
.avsg-gc-app .gc-panel h2,
.avsg-gc-app .gc-panel h3,
.avsg-gc-app .gc-report-panel h2,
.avsg-gc-app .gc-service-card h2,
.avsg-gc-app .gc-renewal-main strong,
.avsg-gc-app .gc-automation-card h2,
.avsg-gc-app .gc-profile-photo-copy h2,
.avsg-gc-app .gc-mini-kpi span,
.avsg-gc-app .gc-mini-kpi strong {
  color: var(--ink) !important;
}
.avsg-gc-app .gc-subtitle,
.avsg-gc-app .gc-panel-head p,
.avsg-gc-app .gc-report-panel > p,
.avsg-gc-app .gc-service-card > p,
.avsg-gc-app .gc-service-price span,
.avsg-gc-app .gc-mini-kpi small,
.avsg-gc-app .gc-profile-photo-copy p,
.avsg-gc-app .gc-help-text,
.avsg-gc-app .gc-global-footer,
.avsg-gc-app .gc-table small,
.avsg-gc-app .gc-block {
  color: var(--muted) !important;
}
.avsg-gc-app .gc-eyebrow,
.avsg-gc-app .gc-category,
.avsg-gc-app .gc-text-link,
.avsg-gc-app .gc-dashboard-text-link,
.avsg-gc-app .gc-panel-head > a,
.avsg-gc-app .gc-panel-head > span {
  color: var(--gc-link) !important;
}

/* ---------- Surfaces / panneaux ---------- */
.avsg-gc-app .gc-panel,
.avsg-gc-app .gc-modal,
.avsg-gc-app .gc-setting-card,
.avsg-gc-app .gc-preview-card,
.avsg-gc-app .gc-mini-kpi,
.avsg-gc-app .gc-service-card,
.avsg-gc-app .gc-financial-card,
.avsg-gc-app .gc-report-panel,
.avsg-gc-app .gc-renewal-list,
.avsg-gc-app .gc-renewal-overview article,
.avsg-gc-app .gc-automation-card,
.avsg-gc-app .gc-profile-settings-card,
.avsg-gc-app .gc-export-menu > div {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
  box-shadow: var(--shadow) !important;
}
.avsg-gc-app .gc-detail-summary,
.avsg-gc-app .gc-subscription-detail,
.avsg-gc-app .gc-notes-card,
.avsg-gc-app .gc-form-note {
  background: var(--surface-soft) !important;
  color: var(--ink) !important;
}
.avsg-gc-app .gc-renewal-list > h2 {
  background: var(--surface-soft) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

/* ---------- Boutons / liens ---------- */
.avsg-gc-app .gc-primary {
  background: var(--gc-accent) !important;
  border-color: var(--gc-accent) !important;
  color: #fff !important;
}
.avsg-gc-app .gc-secondary {
  background: var(--field-bg) !important;
  color: var(--gc-link) !important;
  border-color: var(--gc-accent) !important;
}
.avsg-gc-app.gc-theme-dark .gc-secondary {
  color: #f5f7f4 !important;
  border-color: #53665d !important;
}
.avsg-gc-app.gc-theme-dark .gc-secondary:hover,
.avsg-gc-app.gc-theme-dark .gc-secondary:focus-visible {
  color: #9ce0ac !important;
  border-color: #5fae72 !important;
  background: #1a2821 !important;
}
.avsg-gc-app .gc-table-link,
.avsg-gc-app .gc-table-link.plain,
.avsg-gc-app .gc-client-link { color: var(--ink) !important; }
.avsg-gc-app .gc-table-link:hover,
.avsg-gc-app .gc-table-link:focus-visible,
.avsg-gc-app .gc-client-link:hover,
.avsg-gc-app .gc-client-link:focus-visible,
.avsg-gc-app .gc-table-link:hover strong,
.avsg-gc-app .gc-table-link:focus-visible strong {
  color: var(--gc-link) !important;
}
.avsg-gc-app .gc-service-card-actions button,
.avsg-gc-app .gc-service-card-actions [data-gc-open] {
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app .gc-service-card-actions button:hover,
.avsg-gc-app .gc-service-card-actions [data-gc-open]:hover {
  color: var(--gc-link) !important;
  border-color: var(--gc-accent) !important;
}

/* ---------- Formulaires / filtres ---------- */
.avsg-gc-app .gc-filter-bar input,
.avsg-gc-app .gc-filter-bar select,
.avsg-gc-app .gc-field input,
.avsg-gc-app .gc-field select,
.avsg-gc-app .gc-field textarea,
.avsg-gc-app .gc-task-actions select,
.avsg-gc-app .gc-task-actions input,
.avsg-gc-app .gc-category-edit input,
.avsg-gc-app .gc-notes-card textarea {
  background: var(--field-bg) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app input::placeholder,
.avsg-gc-app textarea::placeholder {
  color: var(--muted) !important;
  opacity: .78;
}
.avsg-gc-app .gc-check { color: var(--ink) !important; }
.avsg-gc-app .gc-filter-tabs a { color: var(--ink) !important; }
.avsg-gc-app .gc-filter-tabs a.active {
  background: color-mix(in srgb,var(--gc-accent) 13%,var(--panel)) !important;
  color: var(--gc-link) !important;
}
.avsg-gc-app .gc-appearance-options label {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app .gc-appearance-options label:has(input:checked) {
  border-color: var(--gc-accent) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb,var(--gc-accent) 18%,transparent) !important;
}

/* ---------- KPI : tous verts ---------- */
.avsg-gc-app .gc-stat-cards .gc-stat-card,
.avsg-gc-app .gc-stat-cards .gc-stat-card.featured,
.avsg-gc-app .gc-stat-cards .gc-stat-card.warning {
  background: #123d24 !important;
  border-color: #1b5530 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.avsg-gc-app .gc-stat-cards .gc-stat-card > span,
.avsg-gc-app .gc-stat-cards .gc-stat-card > strong,
.avsg-gc-app .gc-stat-cards .gc-stat-card.warning > strong { color: #fff !important; }
.avsg-gc-app .gc-stat-cards .gc-stat-card > p { color: #e3e9d8 !important; }

/* ---------- Tableaux ---------- */
.avsg-gc-app .gc-table thead th {
  background: var(--table-head) !important;
  color: var(--table-head-text) !important;
  border-bottom-color: var(--line) !important;
}
.avsg-gc-app .gc-table td {
  color: var(--ink) !important;
  border-bottom-color: var(--line) !important;
}
.avsg-gc-app .gc-table tbody tr:hover {
  background: color-mix(in srgb,var(--gc-accent) 5%,transparent) !important;
}

/* ---------- Alertes / états ---------- */
.avsg-gc-app.gc-theme-light .gc-attention {
  background: #fff9e9 !important;
  border-color: #efdca5 !important;
  color: #463a18 !important;
}
.avsg-gc-app.gc-theme-light .gc-attention p { color: #806f46 !important; }
.avsg-gc-app.gc-theme-light .gc-attention a { color: #765d1a !important; }
.avsg-gc-app.gc-theme-dark .gc-attention {
  background: #3a3116 !important;
  border-color: #705d21 !important;
  color: #fff7d9 !important;
}
.avsg-gc-app.gc-theme-dark .gc-attention p { color: #e6dab5 !important; }
.avsg-gc-app.gc-theme-dark .gc-attention a { color: #ffd85d !important; }
.avsg-gc-app .gc-demo-note { color: #655b34 !important; }
.avsg-gc-app.gc-theme-dark .gc-demo-note {
  background: #332e18 !important;
  border-color: #665c2d !important;
  color: #eee4b3 !important;
}
.avsg-gc-app.gc-theme-dark .gc-flash:not(.error) {
  background: #183121 !important;
  border-color: #356445 !important;
  color: #bfe5c8 !important;
}
.avsg-gc-app .gc-status,
.avsg-gc-app .gc-badge { border: 1px solid transparent; }

/* ---------- Graphiques ---------- */
.avsg-gc-app .gc-chart {
  --gc-chart-label-space: 26px;
  --gc-chart-side-space: 13px;
  border-bottom: 0 !important;
  background: none !important;
  position: relative;
}
.avsg-gc-app .gc-chart::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: var(--gc-chart-side-space);
  right: var(--gc-chart-side-space);
  top: 0;
  bottom: var(--gc-chart-label-space);
  pointer-events: none;
  background: repeating-linear-gradient(to bottom,transparent 0,transparent 41px,var(--line) 42px);
}
.avsg-gc-app .gc-chart::after {
  content: "";
  display: block !important;
  position: absolute;
  z-index: 0;
  left: var(--gc-chart-side-space);
  right: var(--gc-chart-side-space);
  bottom: var(--gc-chart-label-space);
  height: 1px;
  background: var(--line);
  pointer-events: none;
}
.avsg-gc-app .gc-chart > div { z-index: 1; }
.avsg-gc-app .gc-chart > div span {
  top: auto !important;
  bottom: calc(-1 * var(--gc-chart-label-space) + 5px) !important;
  color: var(--ink) !important;
}
.avsg-gc-app .gc-cycle-list i,
.avsg-gc-app .gc-report-bars i { background: var(--surface-muted) !important; }

/* ---------- Communications / tâches ---------- */
.avsg-gc-app .gc-activity-row,
.avsg-gc-app .gc-task-row { border-color: var(--line) !important; }
.avsg-gc-app .gc-activity-main > div strong,
.avsg-gc-app .gc-task-main strong { color: var(--ink) !important; }
.avsg-gc-app .gc-activity-main > div span { color: var(--gc-link) !important; }
.avsg-gc-app .gc-activity-main p,
.avsg-gc-app .gc-activity-main small,
.avsg-gc-app .gc-task-main p,
.avsg-gc-app .gc-task-main small,
.avsg-gc-app .gc-task-date small { color: var(--muted) !important; }
.avsg-gc-app .gc-activity-icon {
  background: #edf4ee !important;
  color: #176a2f !important;
}
.avsg-gc-app.gc-theme-dark .gc-activity-icon {
  background: #eaf3ec !important;
  color: #176a2f !important;
}
.avsg-gc-app .gc-activity-edit { color: var(--gc-link) !important; }
.avsg-gc-app.gc-theme-dark .gc-danger-text { color: #ff9b95 !important; }

/* ---------- Renouvellements / catalogue ---------- */
.avsg-gc-app .gc-renewal-item { border-color: var(--line) !important; }
.avsg-gc-app .gc-renewal-item:hover,
.avsg-gc-app .gc-renewal-item:focus-visible {
  background: color-mix(in srgb,var(--gc-accent) 7%,var(--panel)) !important;
}
.avsg-gc-app .gc-category-pills a {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app .gc-category-pills a.active {
  background: #e7f3e9 !important;
  color: #176a2f !important;
  border-color: #c7dfce !important;
}

/* ---------- Fiche client / modales ---------- */
.avsg-gc-app .gc-client-dialog > .gc-modal {
  background: var(--panel) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app .gc-client-dialog .gc-modal-close {
  background: var(--surface-muted) !important;
  color: var(--muted) !important;
}
.avsg-gc-app .gc-client-dialog .gc-detail-summary,
.avsg-gc-app .gc-client-dialog .gc-subscription-detail,
.avsg-gc-app .gc-client-dialog .gc-notes-card {
  background: var(--surface-soft) !important;
}
.avsg-gc-app .gc-client-dialog .gc-notes-card textarea {
  background: var(--field-bg) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.avsg-gc-app.gc-theme-dark .gc-client-dialog .gc-danger-zone,
.avsg-gc-app.gc-theme-dark .gc-danger-zone {
  background: #321f1e !important;
  border-color: #70413d !important;
}
.avsg-gc-app.gc-theme-dark .gc-client-dialog .gc-danger-zone > strong,
.avsg-gc-app.gc-theme-dark .gc-danger-zone > strong { color: #f0aaa4 !important; }
.avsg-gc-app.gc-theme-dark .gc-client-dialog .gc-danger-zone > p,
.avsg-gc-app.gc-theme-dark .gc-danger-zone > p { color: #d3aaa6 !important; }

/* ---------- Aperçu de marque ---------- */
.avsg-gc-app .gc-preview-sidebar { background: #0d2b20 !important; }
.avsg-gc-app .gc-preview-main {
  background: var(--gc-page-bg) !important;
  color: var(--ink) !important;
}

/* ---------- Page de connexion ---------- */
.gc-auth-shell.gc-auth-theme-light {
  --gc-auth-accent: #176a2f;
  --gc-auth-bg: #f7f7f2;
  min-height: 100vh;
  background: linear-gradient(145deg,#f7f7f2 0 58%,#e3e9d8 58%) !important;
  color: #1d2a24 !important;
  color-scheme: light;
}
.gc-auth-shell.gc-auth-theme-light .gc-auth-card {
  background: #fff !important;
  border-color: #d8e0da !important;
  border-top-color: #176a2f !important;
  color: #1d2a24 !important;
}
.gc-auth-shell.gc-auth-theme-light .gc-auth-card h1 { color: #17251e !important; }
.gc-auth-shell.gc-auth-theme-light .gc-auth-intro,
.gc-auth-shell.gc-auth-theme-light .gc-auth-remember { color: #5f7067 !important; }
.gc-auth-shell.gc-auth-theme-light .gc-auth-field input,
.gc-auth-shell.gc-auth-theme-light .gc-auth-field select {
  background: #fff !important;
  color: #1d2a24 !important;
  border-color: #d7e0da !important;
}
.gc-auth-shell.gc-auth-theme-dark {
  --gc-auth-accent: #2b7f3e;
  --gc-auth-bg: #111816;
  min-height: 100vh;
  background: linear-gradient(145deg,#111816 0 58%,#1b2a22 58%) !important;
  color: #f5f7f4 !important;
  color-scheme: dark;
}
.gc-auth-shell.gc-auth-theme-dark .gc-auth-card {
  background: #1c2723 !important;
  border-color: #35443d !important;
  border-top-color: #2b7f3e !important;
  color: #f5f7f4 !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.34) !important;
}
.gc-auth-shell.gc-auth-theme-dark .gc-auth-card h1 { color: #f5f7f4 !important; }
.gc-auth-shell.gc-auth-theme-dark .gc-auth-intro,
.gc-auth-shell.gc-auth-theme-dark .gc-auth-remember { color: #b9c3bd !important; }
.gc-auth-shell.gc-auth-theme-dark .gc-auth-field input,
.gc-auth-shell.gc-auth-theme-dark .gc-auth-field select {
  background: #151f1b !important;
  color: #f5f7f4 !important;
  border-color: #35443d !important;
}
.gc-auth-shell.gc-auth-theme-dark .gc-demo-access {
  background: #17251d !important;
  border-color: #356445 !important;
}
.gc-auth-shell.gc-auth-theme-dark .gc-demo-access strong { color: #9ce0ac !important; }
.gc-auth-shell.gc-auth-theme-dark .gc-demo-access span { color: #c9d3cd !important; }
.gc-auth-shell.gc-auth-theme-dark .gc-auth-footer { color: #a7b4ac !important; }

/* ---------- Body autonome ---------- */
html[data-theme="light"],
body[data-theme="light"].avsg-gc-standalone { background: #f7f7f2 !important; }
html[data-theme="dark"],
body[data-theme="dark"].avsg-gc-standalone { background: #111816 !important; }

@media (max-width: 620px) {
  .avsg-gc-app .gc-chart {
    --gc-chart-label-space: 26px;
    --gc-chart-side-space: 4px;
  }
}
