.fc-game-squad { margin: 20px 0; padding: 20px; border: 1px solid #e2e8e5; border-radius: 10px; background: #fff; color: #283b4c; font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; text-align: left; }
.fc-game-squad h2 { margin: 0 0 16px; color: #263b4d; font-size: 20px; font-weight: 650; }
.fc-game-squad h2 span { display: inline-block; margin-left: 6px; padding: 1px 9px; border-radius: 12px; background: #edf5f1; color: #176d4b; font-size: 14px; }
.fc-game-squad .fc-game-players { margin: 0; padding-left: 26px; }
.fc-game-squad li { padding: 4px 0; }
.fc-game-squad .fc-game-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.fc-game-squad .fc-game-team { min-width: 0; border: 1px solid #e2e8e5; border-top: 4px solid #176d4b; border-radius: 6px; padding: 14px; }
.fc-game-squad .fc-game-team h3 { margin: 0 0 10px; font-size: 16px; }
.fc-game-squad .fc-game-team ol { padding-left: 22px; margin: 0; }
.fc-game-squad [data-fc-team="Red"] { border-top-color: #bc3e44; }
.fc-game-squad [data-fc-team="Blue"] { border-top-color: #3479b4; }
.fc-game-squad [data-fc-team="White"] { border-top-color: #b7c3c9; }
.fc-game-squad .fc-game-error { margin: 18px 0 0; padding: 12px; border: 1px solid #efd2d2; border-radius: 5px; background: #fff5f5; color: #983d3d; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .fc-game-squad { padding: 14px; font-size: 14px; }
    .fc-game-squad .fc-game-teams { grid-template-columns: 1fr; }
}
.fc-game-squad .fc-game-lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.fc-squad-editor .fc-squad-entry { display: flex; gap: 8px; align-items: baseline; padding: 6px 0; }
.fc-squad-editor .fc-squad-entry [data-fc-remove] { flex-shrink: 0; color: #983d3d; font-size: 13px; white-space: nowrap; }
.fc-squad-editor .fc-squad-entry [data-fc-remove]:hover { color: #7f3030; text-decoration: underline; }
.fc-squad-editor .fc-squad-results { display: grid; gap: 6px; margin: 12px 0; }
.fc-squad-editor .fc-squad-actions { display: flex; gap: 20px; align-items: center; margin-top: 20px; }
@media (max-width: 600px) { .fc-game-squad .fc-game-lists { grid-template-columns: 1fr; } }
.fc-auth .fc-auth-shell:has(.fc-squad-editor, .fc-game-squad) { width: min(100% - 32px, 960px); }
.fc-squad-editor .fc-squad-entry span { min-width: 0; overflow-wrap: anywhere; }
.fc-game-squad .fc-game-messages { margin-top: 24px; }
.fc-game-squad .fc-game-messages table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.fc-game-squad .fc-game-messages th, .fc-game-squad .fc-game-messages td { padding: 10px; border-bottom: 1px solid #e2e8e5; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.fc-game-squad .fc-game-messages th:first-child { width: 30%; }
.fc-game-squad .fc-game-messages td { white-space: pre-wrap; }
.fc-registration-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 0; }
.fc-registration-actions button { cursor: pointer; }
.fc-registration-widget textarea { display: block; box-sizing: border-box; width: 100%; min-height: 80px; margin: 8px 0 12px; padding: 10px; font: inherit; }
.fc-registration-widget details { margin: 12px 0; }
.fc-registration-widget select { margin: 8px 12px 0 0; }
.fc-registration-widget .fc-registration-heading { padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid #e2e8e5; }
.fc-registration-widget .fc-registration-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; }
.fc-registration-widget .fc-registration-heading h2 { margin: 0; font-size: 22px; }
.fc-registration-widget .fc-registration-personal-status { font-size: 14px; color: #60746b; }
.fc-registration-widget .fc-registration-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: #60746b; font-size: 14px; }
.fc-registration-widget .fc-registration-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.fc-registration-widget label { display: block; text-align: left; font: inherit; }
.fc-registration-widget label span, .fc-registration-widget .fc-registration-label { display: block; margin-bottom: 7px; color: #3e554b; font-size: 14px; font-weight: 600; }
.fc-registration-widget select, .fc-registration-widget input[type="text"] { box-sizing: border-box; width: 100%; margin: 0; padding: 10px 12px; border: 1px solid #cad8d0; border-radius: 6px; background: #fff; color: #283b4c; font: inherit; }
.fc-registration-widget .fc-registration-comment { display: grid; grid-template-columns: minmax(0, 1fr) 205px; align-items: start; gap: 16px; }
.fc-registration-widget #registr textarea { width: 100%; min-height: 108px; margin: 0; padding: 12px; border: 1px solid #cad8d0; border-radius: 6px; background: #fff; color: #283b4c; font: inherit; resize: vertical; }
.fc-registration-widget .fc-registration-comment-actions { display: grid; gap: 10px; }
.fc-registration-widget button, .fc-game-squad .fc-game-edit-button { box-sizing: border-box; display: inline-block; padding: 11px 16px; border: 1px solid #176d4b; border-radius: 6px; background: #176d4b; color: #fff; font: 600 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
.fc-registration-widget .fc-registration-secondary { background: #fff; color: #176d4b; }
.fc-registration-widget button:disabled { opacity: .5; cursor: default; }
.fc-registration-widget button:focus-visible, .fc-game-squad .fc-game-edit-button:focus-visible { outline: 3px solid #a9d9bf; outline-offset: 3px; }
.fc-registration-widget .fc-registration-help { margin: 8px 0 0; color: #60746b; font-size: 13px; }
.fc-registration-widget .fc-registration-actions { margin-top: 22px; padding: 18px 0 0; border-top: 1px solid #e2e8e5; }
.fc-game-squad .fc-game-messages table, .fc-game-squad .fc-game-messages tbody, .fc-game-squad .fc-game-messages tbody tr, .fc-game-squad .fc-game-messages tbody td { background: transparent; color: inherit; font: inherit; }
.fc-game-squad .fc-game-messages thead th { background: #edf5f1; color: #283b4c; font: inherit; font-weight: 700; }
@media (max-width: 600px) {
    .fc-registration-widget .fc-registration-teams, .fc-registration-widget .fc-registration-comment { grid-template-columns: minmax(0, 1fr); }
    .fc-registration-widget .fc-registration-comment-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-registration-widget .fc-registration-actions button { width: 100%; }
}
.fc-registration-widget .fc-registration-unregister { background: #b33d43; border-color: #b33d43; }
.fc-registration-widget .fc-registration-unregister:hover { background: #982f35; border-color: #982f35; }
.fc-registration-widget .fc-registration-guests { margin-top: 22px; padding-top: 18px; border-top: 1px solid #e2e8e5; }
.fc-registration-widget .fc-registration-guests h3 { margin: 0 0 14px; font-size: 16px; }
.fc-registration-widget .fc-registration-form + .fc-registration-form { margin-top: 24px; padding-top: 22px; border-top: 1px solid #e2e8e5; }
.fc-registration-widget .fc-registration-form h3 { margin: 0 0 14px; font-size: 16px; }
.fc-registration-widget .fc-registration-actions { margin-top: 0; padding-top: 0; border: 0; }
.fc-registration-widget .fc-registration-comment textarea { width: 100%; min-height: 108px; margin: 0; padding: 12px; border: 1px solid #cad8d0; border-radius: 6px; background: #fff; color: #283b4c; font: inherit; resize: vertical; }
.fc-registration-widget .fc-registration-delete { background: #fff; border-color: #b33d43; color: #b33d43; }
.fc-registration-widget .fc-registration-delete:hover { border-color: #982f35; color: #982f35; }
.fc-game-squad .fc-game-edit-button { background: #fff; color: #176d4b; }
.fc-registration-widget .fc-registration-add-row { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.fc-registration-widget .fc-registration-add-row > div { flex: 1; min-width: 0; }
.fc-registration-widget .fc-registration-add-row > button { flex: 0 0 auto; width: auto; margin-top: 28px; white-space: nowrap; }
.fc-registration-widget .fc-registration-guest-list { padding: 0; margin: 18px 0 0; list-style: none; }
.fc-registration-widget .fc-registration-guest-list li { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px solid #e2e8e5; }
.fc-registration-widget .fc-registration-guest-list span { min-width: 0; overflow-wrap: anywhere; }
.fc-registration-widget .fc-registration-guest-list button { flex-shrink: 0; }
.fc-game-summary { padding: 14px 20px; }
.fc-game-summary p { margin: 4px 0; font-size: 14px; line-height: 1.6; }
.fc-game-summary .fc-game-summary-line { font-size: 15px; }
.fc-game-summary .fc-game-summary-date { color: #283b4c; }
.fc-game-summary .fc-game-summary-state { color: #176d4b; }
.fc-game-summary .fc-game-summary-closed { color: #a13d44; }
.fc-game-summary .fc-game-summary-venue { color: #60746b; }
.fc-game-summary .fc-game-summary-status { margin-top: 12px; }
.fc-game-summary .fc-game-summary-countdown { color: #60746b; }
.fc-game-summary .fc-game-summary-countdown span { color: #283b4c; font-variant-numeric: tabular-nums; }
.fc-registration-notice { padding: 12px 16px; border-color: #bedbcb; background: #f1f8f4; }
.fc-legacy-distribution .fc-legacy-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fc-legacy-distribution .team { float: none; width: auto; margin: 0; }
.fc-legacy-distribution .framesquad, .fc-legacy-distribution .squadcontent { box-sizing: border-box; width: 100%; }
.fc-legacy-distribution .squadcontent { min-height: 80px; }
.fc-legacy-distribution ol { margin: 10px 0; padding-left: 24px; }
.fc-legacy-distribution li { overflow-wrap: anywhere; }
@media (max-width: 600px) { .fc-legacy-distribution .fc-legacy-teams { grid-template-columns: minmax(0, 1fr); } }
