/* Suivi SI Cop1 — styles du module de suivi de projet */

.suivi-title {
    font-family: 'Fraunces', serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--cop1-charcoal);
}

.suivi-hero {
    padding: 8px 4px 4px;
}

.suivi-stats {
    margin-top: 12px;
}
.suivi-stat-num {
    display: block;
    font-family: 'Fraunces', serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--cop1-coral);
    line-height: 1.1;
}
.suivi-stat-label {
    font-size: 0.8rem;
    color: #7a6f63;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Chateau ────────────────────────────────────────── */

.chateau-wrap {
    background: #fff;
    border-radius: 18px;
    padding: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}
.chateau-svg {
    width: 100%;
    height: auto;
    display: block;
}
.suivi-tour {
    cursor: pointer;
    transition: opacity .15s ease;
}
.suivi-tour:hover {
    opacity: 0.85;
}
.suivi-tour-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    fill: var(--cop1-charcoal);
}
.suivi-tour-pct {
    font-family: 'Work Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    fill: #fff;
    paint-order: stroke;
    stroke: rgba(0,0,0,0.35);
    stroke-width: 3px;
}
.legende-echafaudage, .legende-pierre {
    display: inline-block;
    width: 12px; height: 12px;
    border-radius: 3px;
    vertical-align: middle;
    margin-right: 3px;
}
.legende-echafaudage { background: repeating-linear-gradient(45deg, #b9a687, #b9a687 2px, transparent 2px, transparent 6px); border: 1px dashed #8c7a5f; }
.legende-pierre { background: linear-gradient(135deg, #c44a3a, var(--cop1-coral)); }

/* ── Cards ──────────────────────────────────────────── */

.suivi-card {
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.suivi-card-muted {
    opacity: 0.65;
}
.suivi-progress-bar {
    background: linear-gradient(90deg, var(--cop1-coral-dark), var(--cop1-coral));
}
.suivi-decision-tag {
    background: var(--cop1-cream-dark);
    border-left: 3px solid var(--cop1-coral);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.85rem;
    color: #5a5049;
}

.btn-outline-cop1 {
    border: 1px solid var(--cop1-coral);
    color: var(--cop1-coral-dark);
}
.btn-outline-cop1:hover {
    background: var(--cop1-coral);
    color: #fff;
}

/* ── Badges statut / priorite ──────────────────────────── */

.suivi-badge-statut-a_faire { background: #E9E4DC; color: #6b6155; }
.suivi-badge-statut-en_cours { background: #F6E4C4; color: #8A5A0A; }
.suivi-badge-statut-bloque { background: #F3D3CE; color: #a5382a; }
.suivi-badge-statut-fait { background: #DCEBDF; color: #3E6B4E; }
.suivi-badge-statut-hors_perimetre { background: #E3E4F1; color: #4A5478; }

.suivi-badge-priorite-must { background: var(--cop1-coral); color: #fff; }
.suivi-badge-priorite-should { background: #f0b563; color: #5a3d0a; }
.suivi-badge-priorite-could { background: #E9E4DC; color: #6b6155; }
.suivi-badge-priorite-wont { background: #E9E4DC; color: #9a9284; }
.suivi-badge-priorite-na { background: #E9E4DC; color: #9a9284; }

/* ── Commentaires ───────────────────────────────────── */

.suivi-comments {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.suivi-comment {
    background: var(--cop1-cream-dark);
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 0.9rem;
}

.suivi-filtres select, .suivi-filtres input {
    min-width: 140px;
}

/* ── Plan 2D chateau ────────────────────────────────── */

.plan-zone-label {
    font-family: 'Work Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    fill: #2A0C08;
}
.plan-zone-sublabel {
    font-family: 'Work Sans', sans-serif;
    font-size: 10px;
    fill: #6A3020;
    font-style: italic;
}
.plan-zone-pct {
    font-family: 'Work Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    fill: #9A3020;
}
.plan-donjon-label {
    font-size: 15px;
    font-family: 'Fraunces', serif;
    fill: #1A0808;
}
.plan-donjon-pct {
    font-size: 13px;
}
.plan-zone-link {
    cursor: pointer;
}
.plan-zone-link:hover rect,
.plan-zone-link:hover path,
.plan-zone-link:hover circle {
    filter: brightness(1.08);
}

/* ── Tickets list ───────────────────────────────────── */

.suivi-ticket-titre {
    font-size: 0.875rem;
}
.suivi-tickets-table td {
    vertical-align: middle;
}

.suivi-statut-select {
    border: none;
    border-radius: 6px;
    padding: 3px 6px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    outline: none;
    max-width: 135px;
}
.suivi-statut-select.statut-a_faire      { background: #E9E4DC; color: #6b6155; }
.suivi-statut-select.statut-en_cours     { background: #F6E4C4; color: #8A5A0A; }
.suivi-statut-select.statut-bloque       { background: #F3D3CE; color: #a5382a; }
.suivi-statut-select.statut-fait         { background: #DCEBDF; color: #3E6B4E; }
.suivi-statut-select.statut-hors_perimetre { background: #E3E4F1; color: #4A5478; }
.suivi-statut-select:hover               { filter: brightness(0.95); }

.suivi-comment-btn {
    font-size: 0.85rem;
    opacity: 0.4;
    line-height: 1;
}
.suivi-comment-btn:hover {
    opacity: 1;
    color: var(--cop1-coral) !important;
}
