/* =========================================================
   Page "Paramètres du club" (Gestion) — section Calendrier de la saison.
   Réutilise .season-filter/.season-pill (licenses.css), .legend (common.css),
   .ui-* (button.css). Tokens : tokens.css.
   ========================================================= */

.pc-intro { max-width: 70ch; margin: 0.2rem 0 1.4rem; }

/* Onglets de sections du hub « Paramètres du club » */
.pc-hub { display: block; }
.pc-tabs {
    display: flex; gap: 0.2rem; margin: 0 0 1.5rem;
    border-bottom: 1px solid var(--border);
    overflow-x: auto; scrollbar-width: none;
}
.pc-tabs::-webkit-scrollbar { display: none; }
.pc-tab {
    display: inline-flex; align-items: center; gap: 0.5rem; flex: 0 0 auto;
    padding: 0.65rem 0.9rem; margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    color: var(--text-muted); font-weight: 500; font-size: 0.9rem;
    text-decoration: none; white-space: nowrap;
}
.pc-tab .ui-ic { width: 16px; height: 16px; flex: 0 0 auto; opacity: 0.85; }
.pc-tab:hover { color: var(--text); }
.pc-tab.active { color: var(--gold-strong); border-bottom-color: var(--gold); font-weight: 600; }

.pc-section-head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.7rem; }
.pc-section-head h2 { font-size: 1.2rem; font-weight: 600; margin: 0; }
.pc-section-head .season-filter { margin-left: auto; }

.pc-lead { max-width: 74ch; margin: 0 0 1.1rem; }
.pc-note { margin: 0 0 1.2rem; }
.pc-note strong { color: var(--text); }

/* Fenêtre officielle (contexte groupement) */
.pc-season-window {
    display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap;
    font-size: 0.84rem; color: var(--text-muted);
    background: var(--surface-3); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 0.6rem 0.85rem; margin-bottom: 1.1rem;
}
.pc-sw-ico { color: var(--gold-strong); display: inline-flex; }
.pc-sw-ico .ui-ic { width: 16px; height: 16px; }
.pc-season-window strong { color: var(--text); font-weight: 600; }
.pc-sw-tag { margin-left: auto; font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); font-weight: 600; }

/* Carte de réglage */
.pc-card {
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow-sm);
    padding: 1.3rem 1.4rem; margin-bottom: 1.1rem;
}
.pc-card-head { display: flex; align-items: baseline; gap: 0.6rem; margin-bottom: 0.7rem; }
.pc-card-title { font-size: 1.02rem; font-weight: 600; }
.pc-card-hint { font-size: 0.8rem; color: var(--text-faint); }

/* Champs dates */
.pc-date-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 0.3rem; }
.pc-date-field label {
    display: block; font-size: 0.74rem; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin-bottom: 0.45rem;
}
.pc-date-field input[type="date"] {
    width: 100%; background: var(--surface-3); border: 1px solid var(--border-strong); color: var(--text);
    border-radius: var(--radius-sm); padding: 0.62rem 0.8rem; font: inherit; font-size: 0.92rem;
    color-scheme: inherit; transition: border-color 0.15s, box-shadow 0.15s;
}
.pc-date-field input[type="date"]:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft); }

/* Timeline */
.pc-tl { margin: 1.4rem 0 0.2rem; }
.pc-tl-track { position: relative; height: 38px; border-radius: 9px; background: var(--surface-3); border: 1px solid var(--border); overflow: hidden; }
.pc-tl-fill {
    position: absolute; top: 0; bottom: 0;
    background: linear-gradient(180deg, rgba(230, 201, 138, 0.3), rgba(230, 201, 138, 0.14));
    border-left: 2px solid var(--gold); border-right: 2px solid var(--gold);
    transition: left 0.2s ease, width 0.2s ease;
}
.pc-tl-holiday {
    position: absolute; top: 0; bottom: 0; z-index: 2;
    background: repeating-linear-gradient(45deg, rgba(226, 98, 91, 0.22) 0 5px, transparent 5px 11px);
    border-left: 1px dashed rgba(226, 98, 91, 0.45); border-right: 1px dashed rgba(226, 98, 91, 0.45);
}
.pc-tl-legend { display: flex; gap: 1.1rem; flex-wrap: wrap; margin-top: 0.8rem; font-size: 0.74rem; color: var(--text-muted); }
.pc-lg { display: inline-flex; align-items: center; gap: 0.4rem; }
.pc-sw { width: 22px; height: 12px; border-radius: 3px; flex: 0 0 auto; }
.pc-sw-gold { background: linear-gradient(180deg, rgba(230, 201, 138, 0.3), rgba(230, 201, 138, 0.14)); border: 1px solid var(--gold); }
.pc-sw-hol { background: repeating-linear-gradient(45deg, rgba(226, 98, 91, 0.3) 0 4px, transparent 4px 8px); border: 1px dashed rgba(226, 98, 91, 0.45); }

/* Vacances exclues */
.pc-hol-list { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pc-hol-chip {
    font-size: 0.74rem; color: var(--text); background: var(--surface-3);
    border: 1px solid var(--border-strong); border-radius: 999px; padding: 0.18rem 0.65rem;
    display: inline-flex; align-items: center; gap: 0.4rem;
}
.pc-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--danger); opacity: 0.7; }

/* Planning généré */
.pc-impact {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    background: var(--surface-3); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 0.85rem 1rem;
}
.pc-imp-state { font-size: 0.82rem; color: var(--text-muted); }

/* Bandeau rassurant dans la modale de génération */
.pc-safe {
    display: flex; align-items: flex-start; gap: 0.6rem;
    background: var(--success-soft); border: 1px solid rgba(79, 174, 139, 0.3);
    border-radius: var(--radius-sm); padding: 0.7rem 0.85rem; font-size: 0.85rem; color: #a9e0c9; margin: 0 0 0.7rem;
}
.pc-safe .ui-ic { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; color: var(--success); }
.pc-safe strong { color: var(--text); }

@media (max-width: 760px) {
    .pc-date-grid { grid-template-columns: 1fr; }
}

/* Carte « Support d'inscription à imprimer » (export QR + tarifs, niveau hub) */
.pc-export-card {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    background: var(--surface-2); border: 1px solid var(--border-strong);
    border-radius: var(--radius); box-shadow: var(--shadow-sm);
    padding: 1rem 1.2rem; margin-bottom: 1.4rem;
}
.pc-export-ico {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px;
    display: grid; place-items: center;
    background: var(--gold-soft); color: var(--gold-strong); border: 1px solid var(--border-strong);
}
.pc-export-ico .ui-ic { width: 20px; height: 20px; }
.pc-export-body { flex: 1 1 300px; min-width: 0; }
.pc-export-title { font-size: 0.95rem; font-weight: 600; color: var(--text); }
.pc-export-body p { margin: 0.15rem 0 0; font-size: 0.82rem; color: var(--text-muted); }
.pc-export-card .ui-btn { flex: 0 0 auto; }

@media (max-width: 560px) {
    .pc-export-card .ui-btn { width: 100%; justify-content: center; }
}
