/* Gestion des candidatures (admin / conseiller) */
#gc-app.gc-loading { opacity: .55; pointer-events: none; transition: opacity .15s; }
.gc { --gc-vert:#2e7d32; --gc-bord:#e3e8e3; --gc-fond:#f6f9f6; font-size: 14px; color:#263238; }
.gc-intro { color:#607d8b; margin:0 0 12px; }
.gc-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin-bottom:12px; }
.gc-kpi { background:#fff; border:1px solid var(--gc-bord); border-radius:10px; padding:10px 12px; border-left:4px solid #90a4ae; display:flex; flex-direction:column; }
.gc-kpi .gc-n { font-size:1.6rem; font-weight:700; line-height:1.1; }
.gc-kpi .gc-l { font-size:.78rem; color:#607d8b; }
.gc-k-new { border-left-color:#1976d2; } .gc-k-rein { border-left-color:#7b1fa2; } .gc-k-wait { border-left-color:#f9a825; }
.gc-k-ok { border-left-color:#2e7d32; } .gc-k-dup { border-left-color:#d32f2f; }
.gc-stats { margin-bottom:12px; background:var(--gc-fond); border:1px solid var(--gc-bord); border-radius:10px; padding:8px 12px; }
.gc-stats summary { cursor:pointer; font-weight:600; }
.gc-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-top:10px; }
.gc-stats h4 { margin:0 0 6px; font-size:.9rem; }
.gc-bar { display:grid; grid-template-columns:110px 1fr 36px; gap:8px; align-items:center; margin:3px 0; font-size:.82rem; }
.gc-bar-t { background:#e8ecea; border-radius:6px; height:10px; overflow:hidden; }
.gc-bar-t i { display:block; height:100%; border-radius:6px; background:#90a4ae; }
.gc-bar-t i.gc-ok { background:#43a047; } .gc-bar-t i.gc-ko { background:#e53935; } .gc-bar-t i.gc-wait { background:#fbc02d; } .gc-bar-t i.gc-info { background:#29b6f6; }
.gc-bar b { text-align:right; }
.gc-filtres { background:#fff; border:1px solid var(--gc-bord); border-radius:10px; padding:12px; margin-bottom:10px; }
.gc-recherche { display:flex; gap:8px; margin-bottom:10px; }
.gc-recherche input[type=search] { flex:1; padding:10px 12px; border:1px solid #cfd8dc; border-radius:8px; font-size:15px; }
.gc-ligne { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-bottom:8px; }
.gc-ligne label { display:flex; flex-direction:column; font-size:.75rem; color:#607d8b; gap:3px; }
.gc-ligne select, .gc-ligne input[type=date] { padding:7px 8px; border:1px solid #cfd8dc; border-radius:8px; font-size:13px; background:#fff; min-width:110px; }
.gc-rapide { align-items:center; margin-bottom:0; }
.gc-rapide > span:first-child { font-size:.8rem; color:#607d8b; }
.gc-espace { flex:1; }
.gc-check { flex-direction:row !important; align-items:center; gap:6px !important; font-size:.85rem !important; color:#263238 !important; }
.gc-btn { display:inline-block; padding:7px 12px; border:1px solid #cfd8dc; border-radius:8px; background:#fff; color:#263238; cursor:pointer; font-size:13px; text-decoration:none; line-height:1.2; }
.gc-btn:hover { background:#eef3ee; }
.gc-btn-p { background:var(--gc-vert); border-color:var(--gc-vert); color:#fff; } .gc-btn-p:hover { background:#256628; }
.gc-btn-s { padding:5px 9px; font-size:12px; }
.gc-btn-danger { color:#c62828; border-color:#ef9a9a; } .gc-btn-danger:hover { background:#ffebee; }
.gc-chip { padding:5px 10px; border:1px solid #cfd8dc; border-radius:999px; background:#fff; cursor:pointer; font-size:12px; }
.gc-chip:hover { background:#e8f5e9; border-color:var(--gc-vert); }
.gc-resume { margin:6px 2px; color:#455a64; }
.gc-message { padding:8px 12px; border-radius:8px; margin-bottom:8px; }
.gc-m-ok { background:#e8f5e9; color:#1b5e20; } .gc-m-ko { background:#ffebee; color:#b71c1c; }
.gc-vide { padding:24px; text-align:center; color:#78909c; background:#fff; border:1px dashed #cfd8dc; border-radius:10px; }
.gc-table-wrap { overflow-x:auto; border:1px solid var(--gc-bord); border-radius:10px; background:#fff; }
.gc-table { width:100%; border-collapse:collapse; }
.gc-table th { background:var(--gc-fond); text-align:left; padding:9px 10px; font-size:.78rem; color:#546e7a; border-bottom:1px solid var(--gc-bord); white-space:nowrap; }
.gc-table td { padding:9px 10px; border-bottom:1px solid #eef1ee; vertical-align:top; }
.gc-table small { color:#78909c; }
.gc-row:hover { background:#fafcfa; }
.gc-is-dup { background:#fff8f8; }
.gc-actions { white-space:nowrap; }
.gc-actions .gc-btn { margin:0 3px 3px 0; }
.gc-badge { display:inline-block; padding:2px 9px; border-radius:999px; font-size:.74rem; font-weight:600; background:#eceff1; color:#455a64; }
.gc-b-new { background:#e3f2fd; color:#0d47a1; } .gc-b-rein { background:#f3e5f5; color:#6a1b9a; }
.gc-b-ok { background:#e8f5e9; color:#1b5e20; } .gc-b-ko { background:#ffebee; color:#b71c1c; }
.gc-b-wait { background:#fff8e1; color:#8d6e00; } .gc-b-info { background:#e1f5fe; color:#01579b; } .gc-b-dup { background:#ffcdd2; color:#b71c1c; }
.gc-detail td { background:#fafcfa; padding:14px; }
.gc-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }
.gc-detail h4 { margin:0 0 6px; font-size:.9rem; color:#37474f; }
.gc-detail p { margin:3px 0; }
.gc-files { list-style:none; padding:0; margin:0; } .gc-files li { margin:3px 0; }
.gc-alerte { color:#c62828; }
.gc-decisions { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.gc-decisions .gc-btn { color:#fff; border:none; }
.gc-d-acc { background:#1976d2; } .gc-d-part { background:#2e7d32; } .gc-d-ref { background:#d32f2f; } .gc-d-comp { background:#f9a825; } .gc-d-att { background:#0097a7; }
.gc-decisions .gc-btn:hover { filter:brightness(.92); }
.gc-obs { display:flex; flex-direction:column; gap:4px; font-size:.8rem; color:#546e7a; }
.gc-obs textarea { width:100%; padding:8px; border:1px solid #cfd8dc; border-radius:8px; resize:vertical; }
.gc-pager { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; align-items:center; }
.gc-pager a { padding:6px 11px; border:1px solid #cfd8dc; border-radius:8px; text-decoration:none; color:#263238; background:#fff; }
.gc-pager a:hover { background:#e8f5e9; } .gc-pager a.gc-cur { background:var(--gc-vert); border-color:var(--gc-vert); color:#fff; }
@media (max-width: 800px) {
    .gc-table thead { display:none; }
    .gc-table, .gc-table tbody, .gc-table tr, .gc-table td { display:block; width:100%; }
    .gc-row { border-bottom:1px solid var(--gc-bord); padding:6px 0; }
    .gc-table td { border:none; padding:4px 12px; }
    .gc-table td[data-l]::before { content:attr(data-l) " : "; color:#90a4ae; font-size:.75rem; }
    .gc-detail[hidden] { display:none; }
    .gc-recherche { flex-direction:column; }
}
