.scm-admission-layout {
    --admission-forest: var(--forest, #143c30);
    --admission-gold: var(--gold, #efcb69);
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(20px, 3.5vw, 45px);
}
.scm-admission-panel {
    min-width: 0;
    padding: clamp(20px, 4vw, 44px);
    border: 1px solid #d9dfce;
    border-top: 3px solid var(--admission-gold);
    border-radius: 10px;
    background: #fffdf7;
    color: #18382b;
}
.scm-admission-form { position: relative; margin: 0; }
.scm-admission-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.scm-admission-wide { grid-column: 1 / -1; }
.scm-admission-field { min-width: 0; }
.scm-admission-field label { display: block; margin-bottom: 6px; font-weight: 700; }
.scm-admission-field input, .scm-admission-field select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 9px 12px;
    border: 1px solid #c4d0be;
    border-radius: 6px;
    background: #fff;
    color: #18382b;
    font: inherit;
}
.scm-admission-field :is(input, select):focus-visible, .scm-admission-button:focus-visible {
    outline: 2px solid #916213;
    outline-offset: 3px;
}
.scm-admission-field [aria-invalid="true"] { border-color: #a53632; }
.scm-field-error, .scm-form-error-summary { color: #8c2724; font-size: .9rem; }
.scm-field-error { display: block; margin-top: 4px; }
.scm-form-error-summary { padding: 10px 14px; margin: 0 0 20px; border-radius: 5px; background: #f9e8df; }
.scm-form-check { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
.scm-admission-privacy { margin: 20px 0; font-size: .9rem; color: #465e52; }
.scm-admission-privacy a { text-decoration: underline; }
.scm-admission-layout .scm-admission-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 19px;
    border: 0;
    border-radius: 6px;
    background: var(--admission-forest);
    color: #fffdf7;
    text-decoration: none;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.scm-admission-layout .scm-admission-button:hover { filter: brightness(1.14); }
.scm-admission-art {
    overflow: hidden;
    padding: 12px 12px 20px;
    border-radius: 10px;
    background: var(--admission-forest);
    color: #fffdf7;
    text-align: center;
}
.scm-admission-art img { display: block; width: 100%; height: auto; }
.scm-admission-art p { margin: 6px 8px 0; font-size: .9rem; color: #f3efdc; }
.scm-admission-receipt h2 { margin: 0 0 8px; }
.scm-reference {
    display: block;
    margin: 14px 0 22px;
    padding: 11px 14px;
    border: 1px dashed #a9bd9f;
    border-radius: 6px;
    background: #edf2e7;
    font: 700 clamp(13px, 2.4vw, 20px)/1.5 ui-monospace, monospace;
    overflow-wrap: anywhere;
}
@media (prefers-reduced-motion: no-preference) {
    .scm-admission-art img { animation: scm-art-in .65s ease-out both; }
    @keyframes scm-art-in {
        from { opacity: .75; transform: translateY(9px); }
        to { opacity: 1; transform: translateY(0); }
    }
}
@media (max-width: 800px) {
    .scm-admission-layout { grid-template-columns: 1fr; }
    .scm-admission-art { max-width: 430px; width: 100%; }
}
@media (max-width: 520px) {
    .scm-admission-fields { grid-template-columns: 1fr; gap: 13px; }
}
