.admission-card[hidden] { display: none !important; }
.admission-card { position: relative; z-index: 2; width: min(100%, 980px); padding: clamp(20px, 4vw, 42px); margin: 44px auto 0; color: #302348; background: #fffdfd; border: 1px solid #eadff6; border-radius: 28px; box-shadow: 0 24px 80px #21084955; line-height: 1.8; text-align: left; }
.admission-card h2 { font-size: clamp(1.4rem, 3vw, 2.1rem); color: #4b237b; }
.admission-card h3 { margin: 14px 0 8px; font-size: 1.1rem; }
.admission-card p { margin: 8px 0; }
.admission-card input { color: #302348; }
.admission-card a { color: #5d3290; }
.admission-eyebrow { font-weight: 600; letter-spacing: .08em; font-size: .75rem; color: #79559d; }
.admission-code { font: .82rem/1.7 monospace; overflow-wrap: anywhere; }
.admission-muted { color: #756783; font-size: .85rem; }
.admission-button { display: inline-block; border: 1px solid #70429c; padding: 10px 20px; border-radius: 14px; background: #603291; color: white !important; text-decoration: none; font: inherit; font-size: .9rem; cursor: pointer; margin: 8px 8px 8px 0; }
.admission-button:hover { background: #4a2078; }
.admission-button.secondary { color: #603291 !important; background: #f6effb; }
.admission-button.danger { display: block; margin-top: 24px; color: #a52f32 !important; background: #fff6f4; border-color: #e6b2b2; }
.admission-button:disabled { opacity: .45; cursor: default; }
.admission-button:focus-visible, .admission-card input:focus-visible, .admission-card summary:focus-visible { outline: 3px solid #a978d0; outline-offset: 3px; }
.admission-error { color: #aa2437; }
.admission-subcard { padding: 16px 20px; border-radius: 16px; background: #f7f1fb; margin: 20px 0; }
.admission-pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.admission-upload { padding: 18px 0; border-bottom: 1px solid #eee3f4; }
.admission-upload label { display: block; font-size: .85rem; margin-top: 8px; }
.admission-upload input { display: block; max-width: 100%; margin: 12px 0; }
.admission-feedback { background: #fff1d8; border-left: 4px solid #e9b145; padding: 16px; border-radius: 8px; white-space: pre-wrap; }
.admission-check { display: flex; align-items: start; gap: 10px; margin-top: 20px; }
.admission-check input { flex: 0 0 auto; margin-top: 6px; width: 20px; height: 20px; accent-color: #603291; }
.admission-subcard details p { max-height: 360px; overflow-y: auto; padding: 10px 0; }
.admission-subcard summary { cursor: pointer; font-weight: 600; }
.results-page .admission-card { margin-top: 24px; }
.results-toolbar { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; }
.results-toolbar input, .results-toolbar select { border: 1px solid #d8c5e5; border-radius: 10px; background: white; color: #302348; padding: 10px 14px; font: inherit; min-width: 0; }
.results-toolbar input { flex: 1; }
.results-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.results-table th, .results-table td { padding: 14px 8px; text-align: left; border-bottom: 1px solid #eee4f6; }
.results-table th { color: #78559a; font-weight: 500; }
.results-table small { display: block; }
.results-table-wrap { overflow-x: auto; }
@media (max-width: 600px) { .results-table th, .results-table td { padding: 10px 4px; font-size: .78rem; } .admission-card { border-radius: 18px; } }

#confirmation-link[hidden] { display: none !important; }
#confirmation { scroll-margin-top: 140px; }
.admission-example { margin: 12px 0; padding: 12px 16px; background: #f7f1fb; border-radius: 12px; }
.admission-example summary { cursor: pointer; color: #603291; }
.admission-example img { display: block; width: auto; max-width: 100%; max-height: 320px; object-fit: contain; margin: 14px 0; border-radius: 8px; }
