.irsf-state-manager,
.irsf-state-gateway {
    --state-ink: #071d40;
    --state-blue: #164f96;
    --state-pale: #eef5fc;
}

.irsf-state-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #d9e4f2;
    padding: 6px;
}

.irsf-manager-section {
    margin: 0 0 22px;
    overflow: hidden;
}

.irsf-manager-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    cursor: pointer;
    color: var(--state-ink);
    border-bottom: 1px solid transparent;
}

.irsf-manager-section[open] > summary {
    border-bottom-color: #dce6f1;
    background: var(--state-pale);
}

.irsf-manager-section > summary span {
    color: #62728a;
    font-size: 13px;
}

.irsf-state-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
    padding: 22px;
}

.irsf-state-form label,
.irsf-auth-card label,
.irsf-link-stack label {
    display: grid;
    gap: 7px;
    color: #263850;
    font-weight: 700;
}

.irsf-state-form input,
.irsf-state-form select,
.irsf-state-form textarea,
.irsf-auth-card input,
.irsf-auth-card select,
.irsf-link-stack input {
    width: 100%;
    min-height: 46px;
    border: 1px solid #b9c8da;
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
    color: #10233f;
    font: inherit;
    box-sizing: border-box;
}

.irsf-state-form .span-2 { grid-column: 1 / -1; }
.irsf-state-form small,
.irsf-auth-card small { color: #687991; font-weight: 400; }
.irsf-state-form .irsf-check { display: flex; align-items: center; gap: 9px; }
.irsf-state-form .irsf-check input { width: 20px; min-height: 20px; }

.irsf-event-picker {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    border: 1px solid #d9e4f2;
    border-radius: 10px;
    padding: 16px;
}
.irsf-event-picker legend { font-weight: 800; padding: 0 8px; }
.irsf-event-picker label { display: flex; align-items: flex-start; gap: 8px; font-weight: 500; }
.irsf-event-picker input { width: 18px; min-height: 18px; margin-top: 2px; }

.irsf-state-tournament-list { display: grid; gap: 14px; padding: 22px; }
.irsf-state-tournament-list article {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(360px, 1.3fr);
    gap: 24px;
    border: 1px solid #dce6f1;
    border-radius: 12px;
    padding: 18px;
}
.irsf-state-tournament-list h3 { margin: 4px 0; color: var(--state-ink); }
.irsf-link-stack { display: grid; gap: 10px; }
.irsf-link-stack label { font-size: 12px; }
.irsf-link-stack input { min-height: 38px; font-size: 12px; background: #f7f9fc; }
.irsf-submission-register { grid-column: 1 / -1; border-top: 1px solid #dce6f1; padding-top: 12px; }
.irsf-submission-register summary { cursor: pointer; color: #164f96; font-weight: 800; }
.irsf-submission-register table { margin-top: 12px; }

.irsf-account-cards { display: grid; gap: 10px; padding: 22px 22px 0; }
.irsf-account-cards article { display: flex; align-items: center; justify-content: space-between; padding: 14px; border: 1px solid #dce6f1; border-radius: 10px; }
.irsf-account-cards article div { display: grid; gap: 4px; }
.irsf-account-cards article span { color: #66778e; }

.irsf-public-event-header {
    background: linear-gradient(135deg, #071d40, #164f96);
    color: #fff;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 22px;
    box-shadow: 0 16px 40px rgba(7, 29, 64, .18);
}
.irsf-public-brand { display: flex; align-items: center; gap: 16px; }
.irsf-public-brand h1 { color: #fff; margin: 5px 0 0; }
.irsf-public-event-header .irsf-kicker { color: #cfe3ff; }
.irsf-event-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; }
.irsf-event-meta span { display: grid; gap: 5px; padding: 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.08); }
.irsf-route-label { display: inline-block; margin: 18px 0 0; padding: 8px 12px; border-radius: 99px; background: #fff; color: #123e79; font-weight: 800; }
.irsf-contact-line { margin: 14px 0 0; }
.irsf-auth-card { max-width: 680px; margin: 0 auto; display: grid; gap: 16px; padding: 28px; }
.irsf-auth-card h2 { margin: 0; color: var(--state-ink); }
.irsf-auth-card p { margin: 0; }
.irsf-otp-input { font-size: 26px !important; letter-spacing: .35em; text-align: center; }

@media (max-width: 760px) {
    .irsf-state-form,
    .irsf-event-meta,
    .irsf-state-tournament-list article { grid-template-columns: 1fr; }
    .irsf-state-form .span-2 { grid-column: auto; }
    .irsf-event-picker { grid-template-columns: 1fr; }
    .irsf-manager-section > summary { align-items: flex-start; }
}
