/* ===== HRV-Concept Design System ===== */
:root {
  --hrv-accent: #99468b;
  --hrv-accent-dark: #5e2b56;
  --hrv-accent-mid: #742d67;
  --hrv-bg: #faf8fb;
  --hrv-accent-soft: #f3e9f1;
  --hrv-danger: #c0392b;
  --hrv-warn-bg: #fff8e1;
  --hrv-warn-txt: #8a6d00;
  --hrv-radius: 12px;
  --hrv-shadow: 0 20px 60px rgba(153,70,139,.15);
  --hrv-font: 'Nunito Sans', sans-serif;
}

/* ----- Boutons ----- */
.hrv-btn{border:none;border-radius:24px;padding:10px 22px;font-weight:700;cursor:pointer;transition:.2s}
.hrv-btn-primary{background:linear-gradient(135deg,var(--hrv-accent),var(--hrv-accent-mid));color:#fff}
.hrv-btn-primary:hover{filter:brightness(1.12)}
.hrv-btn-ghost{background:#fff;border:1px solid #ddd;color:#555}
.hrv-btn-add{background:var(--hrv-accent-soft);color:var(--hrv-accent);border:1px dashed var(--hrv-accent);border-radius:24px;padding:8px 18px;font-weight:700;cursor:pointer}
.hrv-btn-pdf{background:#fff;border:1px solid var(--hrv-accent);color:var(--hrv-accent);border-radius:24px;padding:10px 22px;font-weight:700;text-decoration:none;display:inline-block}
.hrv-del{background:none;border:none;color:var(--hrv-danger);cursor:pointer;font-size:15px}

/* ----- Modal ----- */
.hrv-modal .modal-content{border:none;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25);font-family:var(--hrv-font)}
.hrv-modal .modal-header{background:linear-gradient(135deg,var(--hrv-accent),var(--hrv-accent-dark));color:#fff;padding:18px 24px;border:none}
.hrv-modal .modal-title{font-weight:700;letter-spacing:.5px}
.hrv-modal .close{color:#fff;opacity:.85;text-shadow:none;font-size:26px}
.hrv-modal .modal-body{padding:24px;background:var(--hrv-bg)}
.hrv-modal .modal-footer{background:#fff;border-top:1px solid #f0e6ee;padding:14px 24px}

/* ----- Ligne destinataire ----- */
.hrv-dest{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eee;border-radius:var(--hrv-radius);padding:10px 14px;margin-bottom:8px;box-shadow:0 2px 6px rgba(153,70,139,.06)}
.hrv-dest input[type=checkbox]{accent-color:var(--hrv-accent);width:18px;height:18px;margin:0}
.hrv-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--hrv-accent);font-weight:700;min-width:120px}
.hrv-mail{flex:1;color:#333;word-break:break-all}
.hrv-mail input[type=email]{border:1px solid #ddd;border-radius:8px;padding:8px 12px;width:100%}
.hrv-note{font-size:12px;color:var(--hrv-warn-txt);background:var(--hrv-warn-bg);border-radius:8px;padding:8px 12px;margin-top:14px}

/* ----- Carte de confirmation (pages plein écran) ----- */
.hrvc-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;background:var(--hrv-bg);font-family:var(--hrv-font)}
.hrvc-card{background:#fff;border-radius:20px;box-shadow:var(--hrv-shadow);padding:48px 56px;text-align:center;max-width:520px;animation:hrvcIn .5s ease}
@keyframes hrvcIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hrvc-icon{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:38px;color:#fff;background:linear-gradient(135deg,var(--hrv-accent),var(--hrv-accent-dark));box-shadow:0 8px 24px rgba(153,70,139,.35)}
.hrvc-icon.err{background:linear-gradient(135deg,var(--hrv-danger),#7b241c)}
.hrvc-card h2{margin:0 0 8px;color:#2d2d2d;font-weight:700}
.hrvc-card p{color:#777;margin:0 0 20px}
.hrvc-stats{display:flex;gap:12px;justify-content:center;margin-bottom:20px}
.hrvc-stat{background:var(--hrv-bg);border-radius:var(--hrv-radius);padding:12px 22px}
.hrvc-stat b{display:block;font-size:26px;color:var(--hrv-accent)}
.hrvc-stat.err b{color:var(--hrv-danger)}
.hrvc-stat span{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#999}
.hrvc-chip{display:inline-block;background:var(--hrv-accent-soft);color:var(--hrv-accent);border-radius:24px;padding:6px 16px;font-size:13px;font-weight:700;margin-bottom:24px}
.hrvc-chip-warn{background:var(--hrv-warn-bg);color:var(--hrv-warn-txt)}
.hrvc-btn{display:inline-block;border:none;cursor:pointer;background:linear-gradient(135deg,var(--hrv-accent),var(--hrv-accent-mid));color:#fff;border-radius:24px;padding:12px 32px;font-weight:700;font-size:15px;transition:.2s}
.hrvc-btn:hover{filter:brightness(1.12)}
.hrvc-count{font-size:12px;color:#aaa;margin-top:14px}
/* ----- Formulaires ----- */
.hrv-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(153,70,139,.08);padding:32px;max-width:760px;margin:0 auto;font-family:var(--hrv-font)}
.hrv-card h2{margin:0 0 4px;color:#2d2d2d;font-weight:700}
.hrv-card .hrv-sub{color:#999;font-size:14px;margin:0 0 24px}
.hrv-field{margin-bottom:18px}
.hrv-field label{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--hrv-accent);font-weight:700;margin-bottom:6px}
.hrv-field label i{font-size:15px}
.hrv-input,.hrv-select,.hrv-textarea{width:100%;border:1px solid #ddd;border-radius:10px;padding:11px 14px;font-size:15px;background:#fff;transition:border-color .2s,box-shadow .2s}
.hrv-input:focus,.hrv-select:focus,.hrv-textarea:focus{outline:none;border-color:var(--hrv-accent);box-shadow:0 0 0 3px rgba(153,70,139,.12)}
.hrv-count-txt{font-size:12px;color:#aaa;text-align:right;margin-top:4px}
.hrv-btn-block{display:block;width:100%;text-align:center}
.hrv-back{display:inline-flex;align-items:center;gap:6px;color:var(--hrv-accent);font-weight:700;text-decoration:none;margin-bottom:16px}
.hrv-actions{display:flex;gap:12px;margin-top:8px}
.hrv-actions form{flex:1}
.hrv-card{background:#fff;border-radius:var(--hrv-radius);box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px;margin-bottom:22px;font-family:var(--hrv-font)}
.hrv-card h3,.hrv-card h2{color:var(--hrv-dark);margin-top:0}
.hrv-card-form{max-width:760px;margin:0 auto;padding:32px;box-shadow:0 4px 20px rgba(153,70,139,.08)}
/* ----- Tuiles ----- */
.hrv-tiles{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;clear:both;width:100%}
.hrv-tile{flex:1 1 160px;background:linear-gradient(135deg,var(--hrv-accent),#7a3670);color:#fff;border-radius:var(--hrv-radius);padding:18px;text-align:center;cursor:pointer;transition:transform .12s,box-shadow .12s;text-decoration:none;display:block}
.hrv-tile:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(153,70,139,.3)}
.hrv-tile i{font-size:1.8em;opacity:.9}
.hrv-tile h4{margin:8px 0 2px;color:#fff;font-weight:700}
.hrv-tile p{margin:0;font-size:.85em;opacity:.85}

/* ----- Barres / tableaux / divers ----- */
.hrv-bar-label{font-weight:600;color:var(--hrv-dark);margin:10px 0 4px;font-size:.9em}
.hrv-bar{background:var(--hrv-bg);border-radius:8px;overflow:hidden;height:22px}
.hrv-bar>div{background:var(--hrv-accent);color:#fff;font-size:.8em;line-height:22px;padding-left:8px;white-space:nowrap}
.hrv-table{width:100%;border-collapse:collapse}
.hrv-table th{background:var(--hrv-accent);color:#fff;padding:8px}
.hrv-table td{padding:8px;border-bottom:1px solid #eee;text-align:center}
.hrv-empty{border-left:4px solid var(--hrv-accent);background:var(--hrv-bg);padding:12px 16px;border-radius:0 8px 8px 0}
.hrv-dropdown select{padding:8px 12px;border:1px solid #ddd;border-radius:8px}
.sc-btn-pdf {
    border: 1px solid #e53935;
    color: #e53935;
    background: transparent;
    border-radius: 6px;
    padding: 6px 12px;
    cursor: pointer;
    font-size: 14px;
}

.sc-btn-pdf:hover {
    background: #e53935;
    color: white;
}

.sc-btn-pdf i {
    margin-right: 5px;
}
.hrv-tiles.compact .hrv-tile{
    background:#fff;
    color:var(--hrv-accent);
    border:1px solid #eee;
    padding:8px 6px;
    box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.hrv-tiles.compact .hrv-tile:hover{
    background:var(--hrv-accent-soft);
    box-shadow:0 3px 10px rgba(153,70,139,.15);
}

.hrv-tiles.compact .hrv-tile i{font-size:1.2em;color:#2a6fdb;opacity:1}
.hrv-tiles.compact .hrv-tile h4{font-size:.85em;margin:3px 0 0;color:#2a6fdb}
.hrv-tiles.compact .hrv-tile:hover{background:#eaf1fb;box-shadow:0 3px 10px rgba(42,111,219,.15)}

:root{
  --hrv-surface:#fff;
  --hrv-text:#2d2d2d;
  --hrv-border:#eee;
}
html[data-theme="dark"]{
  --hrv-surface:#1e1b22;
  --hrv-text:#e8e4ea;
  --hrv-border:#3a3340;
  --hrv-bg:#151318;
}
html[data-theme="dark"] body{background:var(--hrv-bg);color:var(--hrv-text)}
html[data-theme="dark"] .hrv-card,
html[data-theme="dark"] .hrv-tiles.compact .hrv-tile{background:var(--hrv-surface);border-color:var(--hrv-border);color:var(--hrv-text)}
html[data-theme="dark"] .hrv-table td{border-color:var(--hrv-border);color:var(--hrv-text)}
html[data-theme="dark"] body,
html[data-theme="dark"] .container.body,
html[data-theme="dark"] .main_container,
html[data-theme="dark"] .right_col{
    background:#151318 !important;
    color:var(--hrv-text) !important;
}
/* ----- Grille 2 colonnes (addSportif) ----- */
.hrv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:991px){.hrv-grid2{grid-template-columns:1fr}}
.hrv-card-accent{border-top:4px solid var(--hrv-accent)}
.hrv-card-accent.alt{border-top-color:var(--hrv-accent-dark)}
.hrv-page-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;font-family:var(--hrv-font)}
.hrv-page-head h3{margin:0;color:#2d2d2d;font-weight:700}
.hrv-input[readonly]{background:var(--hrv-bg);color:#777;cursor:not-allowed}
.page-title:has(.hrv-page-head){height:auto;padding:10px 0}
.hrv-page-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px;font-family:var(--hrv-font);width:100%}
.hrv-page-head h3{margin:0 0 8px;color:#2d2d2d;font-weight:700}
.hrv-page-head .hrvc-chip{margin-bottom:0}