/* Module Scolarité : dossiers, inscriptions, candidatures, cartes (complète campus.css) */
.st-id { display: flex; gap: .7rem; align-items: center; min-width: 220px; }
.st-id b { display: block; line-height: 1.2; }
.st-id .small { line-height: 1.2; }
.photo-pick { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.photo-pick .ph { width: 120px; height: 150px; border-radius: 12px; border: 2px dashed var(--bord); background: var(--fond) center / cover no-repeat; display: grid; place-items: center; color: var(--acier); font-size: .8rem; text-align: center; padding: .4rem; }
.photo-pick .ph.has { border-style: solid; border-color: var(--bleu); color: transparent; }
.sec-title { font: 800 .78rem var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--acier); margin: 1.2rem 0 .6rem; padding-bottom: .35rem; border-bottom: 1px solid var(--bord); }
.sec-title:first-child { margin-top: 0; }
.s-hero { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
.s-hero .meta { flex: 1; min-width: 220px; }
.s-hero .meta h2 { margin: 0 0 .2rem; }
.chips { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .4rem; }
.chip { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .6rem; border-radius: 99px; background: var(--fond); border: 1px solid var(--bord); font-size: .8rem; font-weight: 700; color: var(--texte); }
.chip.blood { background: var(--err-bg); color: var(--err); border-color: #F6CACA; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 1rem 1.4rem; border-left: 2px solid var(--bord); margin-left: .4rem; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: .2rem; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--bleu); }
.timeline li.ok::before { border-color: var(--ok); } .timeline li.ko::before { border-color: var(--err); } .timeline li.wait::before { border-color: var(--ambre2); }
.bulkbar { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; padding: .6rem .8rem; border-radius: 12px; background: var(--info-bg); margin-bottom: .8rem; }
.bulkbar .n { font-weight: 800; }
.docs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8rem; }
.doc-tile { border: 1px solid var(--bord); border-radius: 12px; padding: .7rem; background: #fff; display: flex; flex-direction: column; gap: .35rem; }
.doc-tile .thumb { height: 110px; border-radius: 8px; background: var(--fond) center / cover no-repeat; display: grid; place-items: center; color: var(--acier); font: 800 .9rem var(--mono); }
.doc-tile .nm { font-weight: 700; font-size: .86rem; word-break: break-word; }
.cardmock { width: 100%; max-width: 340px; aspect-ratio: 85.6 / 54; border-radius: 14px; overflow: hidden; position: relative; background: #fff; box-shadow: 0 18px 36px -18px rgba(10, 15, 26, .55); border: 1px solid var(--bord); font-size: 10px; }
.cardmock .band { height: 26%; background: var(--prim, var(--bleu)); color: #fff; display: flex; align-items: center; gap: 6px; padding: 0 10px; }
.cardmock .band i { width: 26px; height: 26px; border-radius: 6px; background: #fff; flex: none; }
.cardmock .band b { font: 800 .95em var(--display); text-transform: uppercase; line-height: 1.1; }
.cardmock .strip { height: 3%; background: var(--ambre); }
.cardmock .bd { display: flex; gap: 10px; padding: 8px 10px; }
.cardmock .ph { width: 26%; aspect-ratio: 3 / 4; border-radius: 6px; background: var(--fond); border: 2px solid var(--prim, var(--bleu)); }
.cardmock .ln { height: 7px; border-radius: 4px; background: var(--fond); margin: 5px 0; }
.cardmock .ln.w1 { width: 80%; background: #D5DDEA; height: 9px; } .cardmock .ln.w2 { width: 55%; } .cardmock .ln.w3 { width: 65%; }
.stepper { display: flex; gap: .4rem; flex-wrap: wrap; }
.stepper span { padding: .3rem .7rem; border-radius: 99px; background: var(--fond); border: 1px solid var(--bord); font-size: .8rem; font-weight: 700; color: var(--acier); }
.stepper span.on { background: var(--nuit); color: var(--ambre); border-color: var(--nuit); }
.stepper span.done { background: var(--ok-bg); color: var(--ok); border-color: #BFE9D6; }
.stepper span.ko { background: var(--err-bg); color: var(--err); border-color: #F6CACA; }
.cred { font: 500 .95rem var(--mono); background: var(--fond); padding: .1rem .4rem; border-radius: 6px; }
tr.sel td { background: #F4F8FF; }
.apply-wrap { max-width: 980px; margin: 0 auto; padding: 2rem 1.2rem 3rem; }
.apply-head { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 1.6rem; }
.apply-head .who { display: flex; gap: .9rem; align-items: center; }
.apply-head img { width: 70px; height: 70px; object-fit: contain; background: #fff; border-radius: 14px; padding: 5px; }
.apply-head .nm { font: 800 1.45rem var(--display); color: #fff; line-height: 1.15; }
.apply-head .sub { color: var(--gris); }
.apply-card { background: #fff; color: var(--texte); border-radius: 20px; padding: 1.5rem 1.6rem; box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .6); position: relative; overflow: hidden; }
.apply-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--prim, var(--bleu)), var(--ambre)); }
.apply-card + .apply-card { margin-top: 1.2rem; }
.apply-card h2 { margin-top: 0; }
.upl { border: 1.5px dashed var(--bord); border-radius: 12px; padding: .7rem .8rem; background: var(--fond); }
.upl label { margin-bottom: .35rem; }
.req::after { content: " *"; color: var(--err); }
.ref-box { text-align: center; padding: 1.2rem; border-radius: 16px; background: var(--fond); border: 1.5px dashed var(--prim, var(--bleu)); }
.ref-box .ref { font: 800 1.6rem var(--mono); letter-spacing: .05em; color: var(--nuit); }
.hp { position: absolute; left: -5000px; }
@media (max-width: 600px) { .apply-card { padding: 1.1rem; border-radius: 16px; } .apply-head .nm { font-size: 1.15rem; } }
