/* ============================================================
 * public-forms.css — shared styles for the two public,
 * no-login admission-form pages: admission-form.php (purchase
 * landing) and admission-form-fill.php (fill/download after
 * approval). Class/ID-scoped only — the page-level `*` and
 * `body` resets stay in each page's own small inline <style>,
 * on purpose, since those two pages want different body
 * backgrounds/padding and a bare selector here would leak from
 * whichever page loaded last in the cascade onto the other.
 * Colors reference report-card.css's --rc-* variables, so both
 * pages link report-card.css too.
 * ============================================================ */

/* ---- admission-form.php (landing / purchase) ---- */
.af-wrap { max-width: 480px; margin: 0 auto; }
.af-header { text-align:center; margin-bottom: 18px; }
.af-header img { width: 60px; height:60px; object-fit:contain; margin-bottom:6px; }
.af-header h1 { font-size: 19px; color: var(--rc-purple); font-weight: 800; }
.af-header p { font-size: 12.5px; color: var(--rc-purple-mid); margin-top: 2px; }

.af-card { background:#fff; border-radius:20px; padding:20px; box-shadow:0 14px 34px rgba(30,17,71,.12); border:1.5px solid var(--rc-border); margin-bottom:16px; }

.af-pitch { text-align:center; font-size: 14px; line-height:1.6; color: var(--rc-navy); margin-bottom: 6px; }
.af-pitch b { color: var(--rc-pink-deep); }

.af-steps { display:flex; justify-content:space-between; gap:8px; margin: 16px 0; }
.af-step { flex:1; text-align:center; }
.af-step .num { width:30px; height:30px; border-radius:50%; background: var(--rc-pink-tint); color: var(--rc-pink-deep); font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 6px; font-size:13px; }
.af-step span { font-size:10.5px; color:#6b7280; display:block; }

.af-fee-box { text-align:center; background: linear-gradient(135deg, var(--rc-purple), var(--rc-pink)); color:#fff; border-radius:16px; padding:16px; margin: 16px 0; }
.af-fee-box .amount { font-size: 30px; font-weight:800; }
.af-fee-box .label { font-size: 11.5px; opacity:.9; }

.af-bank { background: var(--rc-pink-pale); border-radius: 12px; padding: 12px 14px; font-size:12.5px; margin-bottom: 14px; line-height:1.7; }

.af-form input, .af-form textarea { width:100%; padding:12px 14px; border:1.5px solid #e5e7eb; border-radius:10px; font-size:14px; margin-bottom:12px; font-family:inherit; }
.af-form label { font-size:12.5px; font-weight:600; color:#374151; display:block; margin-bottom:6px; }

.af-submit-btn { width:100%; padding:14px; border:none; border-radius:12px; background: linear-gradient(135deg, var(--rc-purple), var(--rc-pink)); color:#fff; font-weight:700; font-size:15px; cursor:pointer; }
.af-submit-btn:disabled { opacity:.6; }

.af-status-card { text-align:center; }
.af-status-icon { font-size: 38px; margin-bottom: 10px; }
.af-status-pending .af-status-icon { color: #c97f0f; }
.af-status-approved .af-status-icon { color: #2b8a3e; }
.af-status-rejected .af-status-icon { color: #c0392b; }
.af-continue-btn { display:block; width:100%; text-align:center; padding:13px; margin-top:14px; border-radius:12px; background: var(--rc-purple); color:#fff; text-decoration:none; font-weight:700; }
.af-link-btn { display:block; text-align:center; margin-top:14px; font-size:12.5px; color: var(--rc-purple-mid); text-decoration:none; }
.af-error { background:#fbd4d4; color:#c0392b; border-radius:8px; padding:10px 12px; font-size:12.5px; margin-bottom:12px; }

.af-orders-list { font-size:12.5px; }
.af-order-row { display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px dashed var(--rc-border); }
.af-order-row:last-child { border-bottom:none; }
.af-pill { padding:3px 10px; border-radius:20px; font-size:10.5px; font-weight:700; text-transform:uppercase; }
.af-pill.pending { background:#fdecc8; color:#c97f0f; }
.af-pill.approved { background:#dcf5d2; color:#2b8a3e; }
.af-pill.rejected { background:#fbd4d4; color:#c0392b; }

/* ---- admission-form-fill.php (fill / download) ---- */
.gate-wrap { max-width:420px; margin: 60px auto; text-align:center; }
.gate-wrap i { font-size:34px; color: var(--rc-purple); margin-bottom:12px; }

.top-actions { max-width: 820px; margin: 0 auto 14px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.top-actions button, .top-actions select { padding:10px 16px; border-radius:10px; border:1.5px solid var(--rc-border); background:#fff; font-size:13px; font-weight:600; cursor:pointer; color: var(--rc-purple); }
.top-actions button.primary { background: linear-gradient(135deg, var(--rc-purple), var(--rc-pink)); color:#fff; border:none; }

#intakeBillWrap { max-width: 560px; margin: 0 auto 20px; }
.intake-doc { background:#fff; border-radius:20px; padding:20px 22px; border:2px solid var(--rc-pink); box-shadow:0 12px 34px rgba(30,17,71,.12); }
.intake-doc h3 { text-align:center; color: var(--rc-pink-deep); font-size:15px; margin-bottom:12px; text-transform:uppercase; }
.intake-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed var(--rc-border); font-size:12.5px; }
.intake-total { display:flex; justify-content:space-between; font-weight:800; color: var(--rc-pink-deep); padding-top:10px; font-size:14px; }
.intake-note { background: var(--rc-pink-pale); border-radius:10px; padding:10px 12px; font-size:11.5px; margin-top:12px; }

/* A4 admission form */
#admissionFormDoc { max-width: 794px; margin: 0 auto; background:#fff; padding: 16px 26px 20px; border-radius: 10px; box-shadow: 0 10px 30px rgba(30,17,71,.1); }
.af-doc-head { display:flex; align-items:center; gap:12px; border-bottom: 2.5px solid var(--rc-pink); padding-bottom:8px; margin-bottom: 8px; }
.af-doc-head img { width:46px; height:46px; object-fit:contain; }
.af-doc-head .school-name { font-size:16px; font-weight:800; color: var(--rc-purple); text-transform:uppercase; }
.af-doc-head .school-sub { font-size:10.5px; color: var(--rc-purple-mid); }
.af-doc-head .school-addr { font-size:9.5px; color:#6b7280; margin-top:3px; }

.af-refs { display:flex; justify-content:space-between; font-size:9.5px; margin-bottom:6px; flex-wrap:wrap; gap:6px; }
.af-refs span b { border-bottom:1px dotted #999; padding-bottom:1px; }

.af-doc-title { text-align:center; font-weight:800; font-size:13.5px; letter-spacing:1px; margin: 4px 0 8px; color: var(--rc-navy); }

.af-field-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin-bottom: 8px; clear: both; }
.af-field-grid.full { grid-template-columns: 1fr; }
.af-field { font-size: 10.5px; }
.af-field label { display:block; font-weight:700; color:#374151; margin-bottom:1px; font-size:9.5px; }
.af-field input, .af-field textarea, .af-field select { width:100%; border:none; border-bottom: 1.2px solid #ccc; padding:2px 2px; font-size:11px; font-family:inherit; background:transparent; }
.af-field textarea { border:1.5px solid #ccc; border-radius:6px; padding:6px; }

.af-photo-box { width:82px; height:98px; border:1.5px dashed var(--rc-purple-mid); border-radius:6px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:9px; color:#9ca3af; overflow:hidden; cursor:pointer; float:right; margin-left:10px; margin-bottom:6px; }
.af-photo-box img { width:100%; height:100%; object-fit:cover; }

.af-note-mid { text-align:center; font-size:9.5px; font-style:italic; color:#6b7280; margin: 8px 0; clear: both; }

.af-mini-header { text-align:center; margin: 12px 0 8px; padding-top:10px; border-top: 2px dashed var(--rc-border); clear: both; }
.af-mini-header .school-name { font-size:11.5px; font-weight:800; color: var(--rc-purple); }
.af-mini-header .school-sub, .af-mini-header .school-addr { font-size:9px; color:#6b7280; }

.af-sign-row { display:flex; justify-content:space-between; margin-top: 10px; font-size:10px; gap:14px; clear: both; }
.af-sign-row > div { flex:1; border-top:1px solid #999; padding-top:4px; }

@media (max-width:600px) {
  .af-field-grid { grid-template-columns: 1fr; }
  #admissionFormDoc { padding: 16px; }
  .af-doc-head { flex-direction:column; text-align:center; }
}
@media print { .top-actions, #intakeBillWrap { display:none !important; } }