/* ═══════════════════════════════════════════════════════════════════
   VP CONSEIL — THÈME DU BACKOFFICE (aligné sur les simulateurs RDV)
   Feuille ajoutée en DERNIER dans chaque page : elle ne change ni la logique,
   ni les données, seulement l'apparence. Pour revenir à l'ancien style, il
   suffit de retirer la ligne <link href="css/vp-theme.css">.
   Polices hébergées sur le serveur (Inter, Playfair Display — licence OFL).
   Les anciennes polices de la charte sont « redirigées » : partout où une page
   demande Public Sans → Inter, Georgia → Playfair Display.
   ═══════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-ext-749a30.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-1ab1ad.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-ext-749a30.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-1ab1ad.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-latin-ext-f556cd.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-latin-9deeae.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-italic-latin-ext-a9bc00.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-italic-latin-ef5ca8.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Georgia';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-latin-ext-f556cd.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Georgia';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/playfair-latin-9deeae.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Georgia';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-italic-latin-ext-a9bc00.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Georgia';font-style:italic;font-weight:400 900;font-display:swap;src:url(fonts/playfair-italic-latin-ef5ca8.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ═══════════════════════════════════════════════════════════════════
   VP Conseil — CHARTE v2 du backoffice (15/10/2026)
   Même esprit que le site public victorpisano.fr : crème, épuré, titres Playfair,
   accents or et bordeaux, cartes claires, onglets soulignés.
   À charger en DERNIER dans le <head> (remplace vp-theme.css). Réversible : retirer la ligne.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --c-ink:#2C1A10; --c-ink2:#6B4E3A; --c-ink3:#9A7A6A;
  --c-bg:#F7F1E8; --c-card:#FEFAF4; --c-side:#FBF6EE; --c-line:#E8D5BB; --c-line2:#F0E4D2;
  --c-dark:#1C0D0D; --c-wine:#8B2020; --c-gold:#C9A87A; --c-gold2:#B08D5C; --c-good:#2E7D4F;
  --c-radius:16px; --c-shadow:0 1px 2px rgba(44,26,16,.05), 0 8px 26px rgba(44,26,16,.06);
  --c-serif:'Playfair Display', Georgia, serif; --c-sans:'Inter', -apple-system, 'Segoe UI', Arial, sans-serif;
  /* variables des pages, réalignées */
  --creme:#F7F1E8; --cr:#F7F1E8; --ivoire:#FEFAF4; --iv:#FEFAF4; --border:#E8D5BB; --bd:#E8D5BB;
  --radius:14px; --r:14px; --shadow:var(--c-shadow);
}
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{background:var(--c-bg) !important;color:var(--c-ink);font-family:var(--c-sans) !important;letter-spacing:-.003em}
table,.stat-value,.kpi-value,.res-value,.val,.money{font-variant-numeric:tabular-nums}
*{scrollbar-width:thin;scrollbar-color:#D9C3A3 transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#D9C3A3;border-radius:999px;border:2px solid transparent;background-clip:content-box}

/* ── Barre latérale : claire, comme l'en-tête du site ── */
.sidebar{background:var(--c-side) !important;color:var(--c-ink) !important;border-right:1px solid var(--c-line)}
.nav-brand{gap:12px !important}
.nav-diamond{transform:none !important;border:0 !important;border-radius:50% !important;background:var(--c-dark);width:40px !important;height:40px !important}
.nav-diamond span{transform:none !important;font-family:var(--c-serif) !important;font-size:14px !important;font-weight:500 !important;color:var(--c-gold) !important}
.nav-brand-name{font-family:var(--c-serif) !important;font-size:18px !important;font-weight:600 !important;color:var(--c-ink) !important;letter-spacing:0 !important}
.nav-brand-sub{color:var(--c-ink3) !important;font-size:10.5px !important}
.nav-label{color:var(--c-gold2) !important;letter-spacing:.14em !important;font-weight:700 !important;font-size:10px !important}
.nav-item{color:var(--c-ink2) !important;font-weight:500 !important;border-radius:10px !important}
.nav-item svg{stroke-width:1.6 !important}
.nav-item:hover{background:#F3E8D8 !important;color:var(--c-ink) !important}
.nav-item.active{background:#fff !important;color:var(--c-wine) !important;font-weight:600 !important;box-shadow:inset 3px 0 0 var(--c-gold), 0 1px 3px rgba(44,26,16,.07)}
.nav-badge{background:var(--c-wine) !important;color:#fff !important}
.sidebar-foot{border-top:1px solid var(--c-line) !important}
.user-chip{background:var(--c-dark) !important;border:0 !important;color:var(--c-gold) !important;font-family:var(--c-serif) !important}
.user-meta .n{color:var(--c-ink) !important}
.user-meta .r{color:var(--c-ink3) !important}
.nav-logout{background:#fff !important;border:1px solid var(--c-line) !important;color:var(--c-ink2) !important;border-radius:999px !important}
.nav-logout:hover{border-color:var(--c-gold) !important;color:var(--c-ink) !important}

/* ── Barre de titre ── */
.topbar,.main-col > .topbar,.topnav{background:rgba(247,241,232,.92) !important;backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line) !important;color:var(--c-ink) !important;box-shadow:none !important}
.topbar h1,.topbar .page-title,.topnav-title{font-family:var(--c-serif) !important;font-size:26px !important;font-weight:600 !important;color:var(--c-ink) !important;letter-spacing:-.01em}
.topnav a,.topnav-brand,.topnav-right,.topnav *{color:var(--c-ink) }
.hdr-badge{background:var(--c-line2) !important;color:var(--c-ink2) !important;border:1px solid var(--c-line) !important;border-radius:999px !important}

/* ── Titres ── */
h2,h3,.card-title,.section-title,.panel-section-title,.fiche-block-title,.opp-title,.sc-head,.foyer-sub-title,.prod-sub-title,.suggest-form-title,.priolist-planning-title,.modal h2,.modal h3,.modal-title{font-family:var(--c-serif) !important;color:var(--c-ink) !important;letter-spacing:-.01em;font-weight:600 !important}
.section-title,.panel-section-title,.priolist-planning-title{font-size:18px !important;text-transform:none !important;letter-spacing:0 !important}
.card-title{font-size:18px !important}
.eyebrow,.nav-label{font-family:var(--c-sans) !important}

/* ── Onglets : soulignés, sans bandeau sombre ── */
.tabs,.section-tabs,.pipeline-tabs,.view-tabs,.subheader,.hdr,.year-header{background:transparent !important;background-image:none !important;border-bottom:1px solid var(--c-line) !important;box-shadow:none !important}
.tab,.pipeline-tab,.vtab,.page-tab,.section-tabs > *{color:var(--c-ink2) !important;font-family:var(--c-sans) !important;font-weight:500 !important;background:transparent !important;border:0 !important;border-bottom:2px solid transparent !important;border-radius:0 !important}
.tab:hover,.pipeline-tab:hover,.vtab:hover,.page-tab:hover{color:var(--c-ink) !important}
.tab.active,.pipeline-tab.active,.vtab.active,.page-tab.active,.section-tabs .active{color:var(--c-wine) !important;font-weight:600 !important;border-bottom-color:var(--c-gold) !important;box-shadow:none !important}
.pipeline-tab-badge,.tab .badge{background:var(--c-line2) !important;color:var(--c-ink2) !important;border-radius:999px !important}
.pipeline-tab.active .pipeline-tab-badge{background:var(--c-wine) !important;color:#fff !important}
.filter-chip,.filter-btn,.view-btn{background:#fff !important;border:1px solid var(--c-line) !important;color:var(--c-ink2) !important;border-radius:999px !important}
.filter-chip.active,.filter-btn.active,.view-btn.active{background:var(--c-dark) !important;border-color:var(--c-dark) !important;color:#fff !important}

/* ── Cartes ── */
.card,.section-card,.res-card,.kpi,.kpi-tile,.stat-tile,.cmp-card,.fiche-block,.team-card,.opp-client,.panel-section,.enfant-card,.task-row,.va-box,.cmp-card{background:var(--c-card) !important;border:1px solid var(--c-line) !important;border-radius:var(--c-radius) !important;box-shadow:var(--c-shadow) !important}
.card:hover{box-shadow:0 10px 30px rgba(44,26,16,.09) !important}
.res-card.highlight,.stat-tile.highlight,.kpi-tile.highlight{background:var(--c-dark) !important;border-color:var(--c-dark) !important}
.res-label,.kpi-label,.stat-label,.lbl{color:var(--c-ink2) !important;font-family:var(--c-sans) !important}
.res-value,.kpi-value,.stat-value,.val{font-family:var(--c-serif) !important;font-weight:600 !important;color:var(--c-ink)}
.res-sub,.kpi-sub,.stat-sub,.sub{color:var(--c-ink3)}

/* Statistiques en tête du pipeline */
.stats-bar{background:transparent !important;border:0 !important;padding:18px 28px 6px !important;gap:14px !important;flex-wrap:wrap !important}
.stat-sep{display:none !important}
.stat-item{flex:1 1 0 !important;min-width:140px !important;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-radius);padding:14px 18px !important;box-shadow:var(--c-shadow)}
.stat-item:first-child{background:var(--c-dark);border-color:var(--c-dark)}
.stat-label{font-size:11px !important;letter-spacing:.8px !important}
.stat-value{font-size:28px !important;margin-top:4px}
.stat-item:first-child .stat-label,.stat-item:first-child .stat-sub{color:#D9C3A3 !important}
.stat-item:first-child .stat-value{color:#fff !important}

/* ── Tableaux : comme les simulateurs ── */
table{border-collapse:collapse}
table th,.data-table th,.rgpd-table th,.sol-table th,.prod-sol-table th{background:transparent !important;color:var(--c-ink2) !important;font-family:var(--c-sans) !important;font-size:11px !important;font-weight:600 !important;text-transform:uppercase;letter-spacing:.6px !important;border-bottom:2px solid var(--c-wine) !important}
table td{border-bottom:1px solid var(--c-line2) !important}
tbody tr:hover td{background:#FBF4E9}
.data-table tr:last-child td{background:transparent !important}

/* ── Champs ── */
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:#fff !important;border:1px solid var(--c-line) !important;border-radius:10px !important;color:var(--c-ink) !important;font-family:var(--c-sans) !important}
input:focus,select:focus,textarea:focus{outline:none !important;border-color:var(--c-gold) !important;box-shadow:0 0 0 3px rgba(201,168,122,.25) !important}
.search-bar{background:transparent !important;border:0 !important;padding:18px 28px 0 !important}
.search-bar input,.clients-search,.search-input{border-radius:999px !important;padding-left:16px !important}
label,.form-group label,.field label{color:var(--c-ink2)}

/* ── Boutons : pilules, comme le site ── */
button,.btn{transition:background-color .15s, border-color .15s, box-shadow .15s, transform .1s}
button:active{transform:translateY(1px)}
.btn,.btn-primary,.btn-secondary,.btn-outline,.btn-soft,.btn-gold,.ph-btn,.nav-btn,.btn-sm{font-family:var(--c-sans) !important;font-weight:600 !important;border-radius:999px !important;letter-spacing:0 !important}
.btn-primary{background:var(--c-dark) !important;border-color:var(--c-dark) !important;color:#fff !important}
.btn-primary:hover{background:#3A1F18 !important}
.btn-gold,.nav-btn{background:var(--c-gold) !important;border-color:var(--c-gold) !important;color:var(--c-dark) !important}
.btn-secondary,.btn-outline,.btn-soft,.ph-btn{background:#fff !important;border:1px solid var(--c-line) !important;color:var(--c-ink) !important}
.btn-secondary:hover,.btn-outline:hover,.btn-soft:hover,.ph-btn:hover{border-color:var(--c-gold) !important}

/* ── Badges ── */
.motif-badge,.stage-pill,.stat-pill,.badge,.tag,.panel-badge,.badge-yn,.tag-charge,.dossier-type{border-radius:999px !important;font-family:var(--c-sans) !important;font-weight:600 !important}

/* ── Encadrés ── */
.callout{border-radius:12px !important;background:#FBF4E9 !important;border:1px solid var(--c-line) !important;border-left:4px solid var(--c-gold) !important;color:var(--c-ink2) !important}
.callout.success{border-left-color:var(--c-good) !important;background:#EEF5EF !important}
.callout.warning{border-left-color:#B4682A !important;background:#FBF0E4 !important}
.demo-banner,.pending-banner{border-radius:12px !important}

/* ── Fenêtres ── */
.modal-overlay,.modal-bg,[class*="overlay"]{background:rgba(28,13,13,.45) !important;backdrop-filter:blur(3px)}
.modal,.modal-box,.modal-content{background:var(--c-card) !important;border:1px solid var(--c-line) !important;border-radius:20px !important;box-shadow:0 24px 60px rgba(28,13,13,.25) !important}
.toast{background:var(--c-dark) !important;color:#fff !important;border-radius:999px !important}

/* Correctifs : textes d'aide des champs, cartes sombres, icônes d'onglets */
input::placeholder,textarea::placeholder{color:var(--c-ink3) !important;opacity:1 !important}
.tab-icon{display:none !important}
.res-card.highlight .res-label,.res-card.highlight .res-sub,.stat-tile.highlight .lbl,.kpi-tile.highlight .kpi-label{color:#D9C3A3 !important}
.res-card.highlight .res-value,.stat-tile.highlight .val,.kpi-tile.highlight .kpi-value{color:#fff !important}

/* Accueil : bloc de marque de la barre latérale */
.brand::before,.brand::after{display:none !important}
.brand-mark{transform:none !important;border:0 !important;border-radius:50% !important;background:var(--c-dark);width:40px !important;height:40px !important}
.brand-mark span{transform:none !important;font-family:var(--c-serif) !important;font-weight:500 !important;font-size:14px !important;color:var(--c-gold) !important}
.brand-text .name{font-family:var(--c-serif) !important;font-size:18px !important;font-weight:600 !important;color:var(--c-ink) !important}
.brand-text .sub{color:var(--c-ink3) !important}
.logout-ic{stroke:var(--c-ink3) !important}
.nav-soon{color:var(--c-ink3) !important;opacity:.75}
/* Statistiques : sélecteur d'année clair */
.year-header{padding:14px 28px !important;border:0 !important}
.year-label{color:var(--c-ink2) !important}
.year-period,.year-current-badge{color:var(--c-ink3) !important;background:transparent !important}
.year-nav{background:#fff !important;border:1px solid var(--c-line) !important;color:var(--c-ink) !important;border-radius:50% !important}
.year-badge{background:var(--c-dark) !important;color:#fff !important}

/* Filleuls : sous-titre clair ; l'en-tête du panneau de détail reste sombre (texte blanc) */
.subheader{padding:16px 28px !important}
.sub-title{font-family:var(--c-serif) !important;color:var(--c-ink) !important;font-size:20px !important}
.sub-desc{color:var(--c-ink3) !important}
.sub-badge{background:var(--c-line2) !important;color:var(--c-ink2) !important;border-radius:999px !important}
.panel-header{background:var(--c-dark) !important;background-image:none !important}

.sidebar::before,.sidebar::after{display:none !important}
.year-header *:not(.year-badge){color:var(--c-ink2) !important}
/* Fiche client : cartes décollées de la barre latérale, un peu plus larges */
.section-grid{margin:26px 28px 48px !important;max-width:980px !important}
#detailPanel:not(.open){box-shadow:none !important}
