/* Participant account reuses the seminar's form fields and site typography. */
.seminar-portal-hero {
    padding: 34px 0;
    background: linear-gradient(110deg, #0b354f, #176c7a);
    color: #fff;
}
.seminar-portal-hero h1 { margin: 8px 0 12px; font-size: clamp(28px, 4vw, 40px); }
.seminar-portal-hero p:last-child { margin-bottom: 0; color: rgba(255, 255, 255, 0.88); }
.seminar-portal-section { padding-top: 26px; }
.seminar-portal-toolbar, .seminar-portal-toolbar > div, .seminar-portal-heading,
.seminar-portal-report-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.seminar-portal-toolbar { justify-content: space-between; margin-bottom: 22px; }
.seminar-portal-toolbar span { overflow-wrap: anywhere; }
.seminar-portal-toolbar form { margin: 0; }
.seminar-portal-link-button { padding: 0; border: 0; background: none; color: var(--teal-dark); font: inherit; text-decoration: underline; cursor: pointer; }
.seminar-portal-login { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.seminar-portal-card { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; margin-bottom: 24px; min-width: 0; }
.seminar-portal-card h2 { margin: 0 0 16px; font-size: 26px; }
.seminar-portal-heading { justify-content: space-between; margin-bottom: 16px; }
.seminar-portal-heading h2 { margin: 0; }
.seminar-portal-card > summary { cursor: pointer; list-style: none; justify-content: flex-start; column-gap: 12px; }
.seminar-portal-card > summary .seminar-portal-badge { margin-left: auto; }
.seminar-portal-card > summary::-webkit-details-marker { display: none; }
.seminar-portal-card > summary::before { content: '›'; font-size: 28px; line-height: 1; }
.seminar-portal-card[open] > summary::before { transform: rotate(90deg); }
.seminar-portal-card:not([open]) > summary { margin-bottom: 0; }
.seminar-portal-form { display: grid; gap: 16px; min-width: 0; }
.seminar-portal-form .seminar-form-field { align-content: start; }
.seminar-portal-fields { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 18px; }
.seminar-portal-fields:disabled { opacity: 0.85; }
.seminar-portal-fields:disabled input, .seminar-portal-fields:disabled select,
.seminar-portal-fields:disabled textarea { color: var(--ink); background: #f5f8fa; }
.seminar-portal-form input, .seminar-portal-form textarea, .seminar-portal-form select { max-width: 100%; }
.seminar-portal-code { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.seminar-portal-badge { padding: 5px 10px; border-radius: 6px; color: #075662; background: #e9f3f5; font-size: 14px; }
.seminar-portal-report { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }
.seminar-portal-report > div { min-width: 0; }
.seminar-portal-report h3 { margin: 12px 0 8px; font-size: 20px; overflow-wrap: anywhere; }
.seminar-portal-report p, .seminar-portal-report small { overflow-wrap: anywhere; }
.seminar-portal-report-actions { align-content: start; align-items: center; }
.seminar-portal-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--teal-dark); border-radius: 8px; padding: 10px 16px; background: var(--teal-dark); color: #fff; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; text-align: center; }
.seminar-portal-button:hover, .seminar-portal-button:focus-visible { background: #06494c; color: #fff; }
.seminar-portal-button--secondary { background: #fff; color: var(--teal-dark); }
.seminar-portal-section > .container > .seminar-form-message { margin-bottom: 20px; }
@media (max-width: 680px) {
    .seminar-portal-login { grid-template-columns: 1fr; gap: 18px; }
    .seminar-portal-card { padding: 18px; }
    .seminar-portal-card > summary .seminar-portal-badge { margin-left: 0; }
    .seminar-portal-report { flex-direction: column; }
    .seminar-portal-report-actions > button, .seminar-portal-heading > .seminar-portal-button { max-width: 100%; }
}
