/* ---------- BANNIÈRE DE PAGE (motif partagé admission / portail / admin) ---------- */
.page-hero{ background:var(--navy-900);padding:70px 0 54px;border-bottom:1px solid rgba(255,255,255,.06); }
.page-hero-inner{ max-width:720px; }
.page-hero-title{ font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,4vw,2.6rem);margin:14px 0 0;color:var(--cream); }
.page-hero-lead{ margin-top:10px;color:#fff;font-size:15.5px; }

/* ---------- MISE EN PAGE ---------- */
.admission-grid{ display:grid;grid-template-columns:2fr 1fr;gap:34px;align-items:start; }
@media (max-width:900px){ .admission-grid{ grid-template-columns:1fr; } }

.panel{ padding:34px; }
@media (max-width:600px){ .panel{ padding:24px; } }

.field-row{ display:grid;grid-template-columns:1fr 1fr;gap:20px; }
@media (max-width:560px){ .field-row{ grid-template-columns:1fr; } }
.field-group{ margin-bottom:20px; }
.doc-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
@media (max-width:560px){ .doc-grid{ grid-template-columns:1fr; } }

.side-card{ padding:26px;margin-bottom:20px; }
.side-card h3{ font-family:var(--font-display);font-weight:600;color:var(--navy-900);margin:0 0 6px; }
.side-card p{ font-size:13.5px;color:var(--ink-soft);margin:0 0 14px;line-height:1.55; }
.track-form{ display:flex;gap:8px; }
.track-form input{ flex:1; }

/* ---------- FRISE DE STATUT ---------- */
.timeline{ display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:44px;gap:6px; }
.timeline-step{ flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative; }
.timeline-line{ position:absolute;top:18px;left:-50%;width:100%;height:2px;background:rgba(16,33,54,.1);z-index:0; }
.timeline-line.done{ background:var(--gold-600); }
.timeline-dot{
  width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:600;font-size:13px;z-index:1;position:relative;
  background:rgba(16,33,54,.08);color:var(--ink-soft);
}
.timeline-dot.done{ background:var(--gold-600);color:var(--navy-950); }
.timeline-dot.current{ background:var(--navy-900);color:var(--cream); }
.timeline-label{ margin-top:10px;font-size:11.5px;max-width:96px;color:var(--ink-soft); }
.timeline-label.active{ color:var(--navy-900);font-weight:600; }

.status-panel{ border-radius:14px;padding:24px; border:1px solid; }
.status-panel h3{ font-family:var(--font-display);font-weight:600;margin:0 0 8px; }
.status-panel p{ font-size:14px;line-height:1.65;margin:0; }
.status-amber{ background:#FCF3DD;border-color:#F1D68A;color:var(--ink); }
.status-blue{ background:#E4F0FC;border-color:#A9CDF2;color:var(--ink); }
.status-gold{ background:var(--gold-100);border-color:var(--gold-500);color:var(--ink); }
.status-green{ background:#E4F8EC;border-color:#9EDBB6;color:var(--ink); }

.rib-grid{ display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px; }
@media (max-width:560px){ .rib-grid{ grid-template-columns:1fr; } }
.rib-box{ background:var(--cream-dim);border:1px solid rgba(16,33,54,.08);border-radius:10px;padding:14px; }
.rib-box .rib-label{ font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:5px; }

.summary-grid{ display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px; }
@media (max-width:560px){ .summary-grid{ grid-template-columns:1fr; } }
.summary-grid .k{ font-size:12px;color:var(--ink-soft); }
.summary-grid .v{ font-weight:600;color:var(--navy-900);margin-top:2px; }
