/* Certification pages: transcript, exam booking. pro.css styles every form as a card and
   every th in uppercase; these components set their own. */
.cert-transcript{margin-top:1.5rem;background:var(--ac-surface,#fff);border:1px solid var(--ac-line,#dbe5ec);border-radius:16px;padding:1.6rem;box-shadow:0 6px 20px rgba(15,35,60,.04)}
.cert-transcript__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cert-transcript__head h2{font-size:1.25rem;margin:0}
.cert-transcript__meta{margin:.3rem 0 0;font-size:.85rem;color:var(--color-text-muted)}
.cert-transcript__grade{text-align:right;margin-left:auto}
.cert-transcript__grade strong{display:block;padding:0;margin:0;font-size:1.5rem;letter-spacing:-.02em;color:#0b4f6c}
.cert-transcript__grade span{font-size:.85rem;color:var(--color-text-muted)}
.cert-transcript__marks{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.2rem}
.cert-transcript__marks li{font-size:.78rem;font-weight:700;color:#1d6b38;background:#e2f2e7;border:1px solid #c3e6cd;border-radius:999px;padding:.2rem .7rem}
.cert-transcript__marks li::before{content:"\2713\00a0"}
.cert-transcript__table{width:100%;border-collapse:collapse;border:1px solid var(--ac-line,#dbe5ec);border-radius:12px;overflow:hidden;font-size:.9rem}
.cert-transcript__table thead th{background:#f6f9fc;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#52647a}
.cert-transcript__table th,.cert-transcript__table td{padding:.75rem .9rem;border-bottom:1px solid var(--ac-line,#e5ecf1);text-align:left;vertical-align:top}
.cert-transcript__table tbody th{background:transparent;text-transform:none;letter-spacing:normal;font-size:.92rem;font-weight:600;color:var(--color-text);width:48%}
.cert-transcript__table tbody th span{display:block;font-weight:400;font-size:.8rem;color:var(--color-text-muted);margin-top:.15rem}
.cert-transcript__table tbody tr:last-child th,.cert-transcript__table tbody tr:last-child td{border-bottom:0}
.cert-transcript__list{list-style:none;padding:0;margin:0}
.cert-transcript__list li+li{margin-top:.25rem}
.cert-transcript__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem;margin-top:1.4rem}
.cert-transcript__cols h3{font-size:.95rem;margin:0 0 .5rem}
.cert-transcript__modules{list-style:none;padding:0;margin:0;font-size:.86rem}
.cert-transcript__modules li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--ac-line,#eef2f5)}
.band{font-style:normal;font-size:.74rem;font-weight:700;border-radius:999px;padding:.1rem .55rem;white-space:nowrap;background:#eef2f5;color:#41566a}
.band--mastered{background:#e2f2e7;color:#1d6b38}.band--practised{background:#e6f2f7;color:#164e6d}.band--learning{background:#fbeadf;color:#8a3f10}
.cert-transcript__skills{margin:0;padding-left:1.1rem;font-size:.86rem;line-height:1.55}
.cert-transcript__skills li+li{margin-top:.3rem}
.cert-transcript__integrity{margin:1.3rem 0 0;padding-top:.9rem;border-top:1px solid var(--ac-line,#eef2f5);font-size:.78rem;color:var(--color-text-muted)}
.cert-transcript__integrity.is-broken{color:var(--color-danger,#b42318);font-weight:700}
@media(max-width:640px){.cert-transcript{padding:1.1rem}.cert-transcript__grade{text-align:left;margin-left:0}.cert-transcript__table{font-size:.84rem}.cert-transcript__table th,.cert-transcript__table td{padding:.6rem .55rem}.cert-transcript__table tbody th{width:auto}}
/* Exam booking */
.exam-card{margin-top:1rem}
.exam-card h2{font-size:1.05rem;margin:0 0 .2rem}
.exam-card__meta{font-size:.85rem;color:var(--color-text-muted);margin:0 0 .8rem}
.exam-slot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 0;border-top:1px solid var(--ac-line,#e5ecf1)}
.exam-slot__when{font-weight:600}
.exam-slot__detail{display:block;font-size:.85rem;color:var(--color-text-muted);font-weight:400}
.main-content form.inline-action{background:none;padding:0;border:0;border-radius:0;box-shadow:none;margin:0}
.booking-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.booking-status{font-size:.78rem;font-weight:700;border-radius:999px;padding:.15rem .6rem;background:#eef2f5;color:#41566a}
.booking-status--present,.booking-status--completed{background:#e2f2e7;color:#1d6b38}
.booking-status--absent,.booking-status--cancelled,.booking-status--interrupted{background:#fbeadf;color:#8a3f10}
.btn-small{padding:8px 14px!important;font-size:13px}
/* AI declaration rows on the submit page */
.ai-rows{border:1px solid var(--ac-line,#dbe5ec);border-radius:12px;padding:.9rem 1rem;background:#fbfdff}
.ai-rows summary{cursor:pointer;font-weight:600;font-size:.95rem}
.ai-rows__help{font-size:.85rem;color:var(--color-text-muted);margin:.6rem 0 0}
.ai-row{border-top:1px solid var(--ac-line,#e5ecf1);margin-top:.9rem;padding-top:.8rem}
.ai-row__number{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#52647a}
.ai-row__grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:.6rem .75rem;margin-top:.4rem}
.ai-row__field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500}
.ai-row__field--affected_parts,.ai-row__field--learner_statement{grid-column:1/-1}
.ai-row__field textarea{min-height:72px}
.ai-row__error{color:var(--color-danger,#b42318);font-weight:400}
@media(max-width:640px){.ai-row__grid{grid-template-columns:1fr}}
