[hidden] { display: none !important; }
.lookup-content { padding: 22px 20px 4px; }
.lookup-intro, .lookup-privacy { font-size: 14px; line-height: 1.7; margin: 0 0 18px; color: #4d6275; }
.lookup-privacy { margin-top: 18px; font-size: 12px; }
.lookup-card { padding: 20px; background: white; border: 1px solid #e5ebf0; border-radius: 16px; margin-bottom: 20px; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.lookup-field + .lookup-field { margin-top: 16px; }
.lookup-field label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 650; }
.lookup-field label span { color: #b42318; }
.lookup-field input { width: 100%; min-height: 46px; border: 1px solid #b9c9d2; border-radius: 9px; padding: 11px 12px; font: inherit; font-size: 16px; color: inherit; background: white; }
.lookup-field input:focus { outline: 2px solid #006b7b; outline-offset: 2px; }
.lookup-field input[aria-invalid="true"] { border-color: #b42318; }
.field-error { color: #b42318; font-size: 13px; margin: 7px 0 0; line-height: 1.5; }
.lookup-course { margin: 20px 0; font-size: 14px; }
.lookup-course summary { cursor: pointer; padding: 8px 0; line-height: 1.5; }
.course-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-top: 10px; }
.course-fields .lookup-field { margin: 0; }
.lookup-submit { width: 100%; cursor: pointer; font-family: inherit; }
fieldset:disabled, button:disabled { opacity: .65; cursor: wait; }
.lookup-message { padding: 14px 16px; border-radius: 10px; background: #eaf4f8; color: #1c5d73; font-size: 14px; line-height: 1.6; }
.lookup-message.error { background: #fff1f0; color: #a92b23; }
.lookup-result h2 { margin: 0 0 16px; font-size: 19px; }
.status-badge { display: inline-block; padding: 8px 12px; margin: 0; border-radius: 9px; font-size: 14px; font-weight: 700; line-height: 1.5; background: #edf1f5; color: #42586a; }
.status-badge[data-tone="success"] { background: #e1f3e9; color: #17613b; }
.status-badge[data-tone="warning"] { background: #fff1d9; color: #805013; }
.status-badge[data-tone="danger"] { background: #fff1f0; color: #a92b23; }
.status-description, .payment-status { font-size: 14px; line-height: 1.7; }
.lookup-information { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 10px; padding-top: 16px; border-top: 1px solid #e5ebf0; font-size: 13px; line-height: 1.6; }
.lookup-information dt { color: #627382; }
.lookup-information dd { margin: 0; overflow-wrap: anywhere; }
.public-note { border-left: 3px solid #006b7b; padding: 10px 12px; background: #f0f6fa; margin: 18px 0; }
.public-note h3 { font-size: 14px; margin: 0 0 6px; }
.public-note p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.7; }
.lookup-login { margin: 18px 0; padding: 16px; border: 1px solid #a7f3d0; border-radius: 12px; background: #ecfdf5; }
.lookup-login h3 { margin: 0 0 10px; color: #065f46; font-size: 16px; }
.lookup-login .lookup-information { margin: 0; }
.lookup-login dd { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; }
.lookup-login > p { margin: 12px 0 0; color: #52667b; font-size: 13px; line-height: 1.6; }
.payment-status { font-weight: 600; }
.lookup-verification { margin-top: 20px; padding: 16px; border: 1px solid #c8dce4; border-radius: 12px; background: #f7fbfc; }
.lookup-verification h3 { margin: 0 0 8px; font-size: 16px; }
.lookup-verification p { font-size: 14px; line-height: 1.6; }
.lookup-verification-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.lookup-verification-actions .button { width: auto; flex: 1 1 190px; font-family: inherit; }
#lookup-correction-form { margin-top: 14px; }
#lookup-correction-form label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 650; }
#lookup-correction-message { width: 100%; resize: vertical; border: 1px solid #b9c9d2; border-radius: 9px; padding: 11px 12px; font: inherit; }
#lookup-correction-message:focus { outline: 2px solid #006b7b; outline-offset: 2px; }
#lookup-verification-message { margin-bottom: 0; font-weight: 650; color: #17613b; }
.lookup-feedback-history { margin-top: 16px; padding-top: 14px; border-top: 1px solid #d8e5ea; }
.lookup-feedback-history h4 { margin: 0 0 10px; font-size: 14px; }
.lookup-feedback-history ol { margin: 0; padding-left: 22px; }
.lookup-feedback-history li { margin: 8px 0; font-size: 13px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.lookup-payment { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e5ebf0; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.lookup-payment h3 { margin: 0 0 16px; font-size: 18px; line-height: 1.5; }
.lookup-payment-information { margin: 16px 0; }
.lookup-payment-information dt { color: #627382; }
.lookup-payment-information dd { margin: 2px 0 14px; }
.lookup-account { font-size: 20px; color: #006b7b; }
.lookup-payment .button { width: 100%; font-family: inherit; color: #006b7b; background: #f0f6fa; cursor: pointer; }
.lookup-payment .button:disabled { cursor: wait; }
.lookup-payment .button:focus-visible { outline: 3px solid #0876b4; outline-offset: 3px; }
.lookup-transfer-format { padding: 12px; border-radius: 8px; background: #f0f6fa; font-weight: 600; }
@media (max-width: 360px) { .lookup-content { padding-right: 14px; padding-left: 14px; } .lookup-card { padding: 16px; } }
