html.i18n-pending body { visibility: hidden; }

:root {
    --red: #d93632;
    --red-dark: #b7211f;
    --red-soft: #fff0ef;
    --ink: #20262f;
    --muted: #69717d;
    --line: #dfe3e8;
    --line-soft: #edf0f3;
    --surface: #ffffff;
    --canvas: #eef0f2;
    --green: #1f9d5a;
    --amber: #d58a00;
    --blue: #3478c7;
    --shadow: 0 12px 30px rgba(27, 34, 44, .08);
    --radius: 9px;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100%;
    background: var(--canvas);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
a { color: var(--red); text-decoration: none; }
a:hover { color: var(--red-dark); }
button, input, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-size: 30px; line-height: 1.18; letter-spacing: -.6px; }
h2 { margin-bottom: 0; font-size: 17px; }
h3 { font-size: 14px; }
.shell, .page-shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.page-shell { min-height: calc(100vh - 160px); padding: 26px 0 45px; }

.topbar { position: sticky; z-index: 50; top: 0; background: var(--red); color: white; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.topbar-inner { width: min(1320px, calc(100% - 28px)); height: 58px; margin: auto; display: flex; align-items: center; gap: 30px; }
.brand { display: flex; align-items: center; gap: 9px; color: white; font-size: 18px; letter-spacing: -.3px; white-space: nowrap; }
.brand:hover { color: white; }
.brand-ball { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: white; font-size: 22px; box-shadow: inset 0 0 0 3px rgba(0,0,0,.08); }
.main-nav { display: flex; align-items: stretch; height: 100%; gap: 2px; }
.main-nav a { display: flex; align-items: center; padding: 0 14px; color: white; font-weight: 600; font-size: 13px; border-bottom: 3px solid transparent; }
.main-nav a:hover { background: rgba(255,255,255,.1); border-bottom-color: white; }
.account-area { margin-left: auto; display: flex; align-items: center; gap: 15px; }
.account-area form { margin: 0; }
.user-name { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.mail-icon { position: relative; font-size: 17px; }
.mail-icon b { position: absolute; top: -8px; right: -11px; display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 10px; background: #20242b; font-size: 10px; }
.link-button { padding: 4px; border: 0; background: transparent; color: white; font-size: 18px; }
.auth-nav { margin-left: auto; display: flex; align-items: center; gap: 15px; }
.auth-nav a { color: white; font-weight: 650; }
.ticker { height: 27px; background: #111417; color: white; font-size: 10px; letter-spacing: .45px; }
.ticker-inner { height: 100%; display: flex; align-items: center; gap: 18px; }
.ticker-inner strong { color: #ff6561; }
.ticker-countdown { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.ticker-countdown small { color: #98a2ad; font-size: 10px; letter-spacing: .04em; }
.ticker-countdown .countdown-value { color: #fff; font-size: 12px; font-weight: 700; }

.button {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 38px; padding: 8px 16px; border: 1px solid var(--red); border-radius: 5px;
    background: var(--red); color: white; font-weight: 700; transition: .18s ease;
}
.button:hover { transform: translateY(-1px); background: var(--red-dark); border-color: var(--red-dark); color: white; box-shadow: 0 5px 14px rgba(217,54,50,.22); }
.button:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.button-outline { background: white; color: var(--red); }
.button-outline:hover { background: var(--red-soft); color: var(--red-dark); }
.button-muted { background: #68717c; border-color: #68717c; }
.button-light { background: white; border-color: white; color: var(--red) !important; }
.button-small { min-height: 31px; padding: 5px 11px; font-size: 12px; }
.button-wide { width: 100%; }

.panel { background: var(--surface); border: 1px solid #d9dde2; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.panel-header { min-height: 49px; padding: 11px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: linear-gradient(#fff, #fafbfc); }
.panel-header h2 { font-size: 16px; font-weight: 700; }
.panel-header > span, .panel-header > a { font-size: 12px; color: var(--muted); }
.panel-body { padding: 20px; }
.narrow-panel { max-width: 650px; margin: 60px auto; }
.alert { margin-bottom: 18px; padding: 12px 15px; border-radius: 6px; font-weight: 650; }
.alert-success { color: #176b43; background: #e9f8f0; border: 1px solid #b8e5cc; }
.alert-error { color: #982421; background: #fff0ef; border: 1px solid #efc0bd; }

.footer { color: #6f7680; font-size: 12px; }
.footer-inner { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0 25px; border-top: 1px solid #d6dade; }
.breadcrumb { display: flex; align-items: center; gap: 9px; min-height: 38px; margin-bottom: 14px; padding: 7px 14px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--muted); font-size: 12px; }
.breadcrumb span { color: #9299a3; }
.eyebrow { margin: 0 0 4px; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }
.page-heading { margin-bottom: 22px; }
.page-heading > p:last-child { color: var(--muted); margin-bottom: 0; }
.centered-heading { text-align: center; padding-top: 20px; }

/* Auth */
.auth-page { display: grid; grid-template-columns: 1.1fr .9fr; max-width: 1040px; margin: 45px auto 30px; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 60px rgba(33,39,48,.16); background: white; }
.auth-hero { min-height: 600px; padding: 64px 58px; display: flex; flex-direction: column; justify-content: center; color: white; background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(135deg, #b81f1d, #e3433f 62%, #c72522); position: relative; overflow: hidden; }
.auth-hero::after { content: ""; position: absolute; width: 440px; height: 440px; right: -220px; bottom: -210px; border: 70px solid rgba(255,255,255,.08); border-radius: 50%; }
.auth-hero .eyebrow { color: white; opacity: .78; }
.auth-hero h1 { font-size: 48px; letter-spacing: -2px; margin: 10px 0 18px; }
.auth-hero h1 span { color: #ffe4e2; }
.auth-hero > p:not(.eyebrow) { max-width: 470px; font-size: 17px; color: rgba(255,255,255,.86); }
.hero-badge { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 22px; border: 2px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.14); font-size: 39px; }
.feature-row { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 27px; font-size: 12px; font-weight: 700; }
.auth-card { padding: 54px 45px; align-self: center; }
.auth-card-head { display: flex; align-items: center; gap: 13px; margin-bottom: 28px; }
.auth-card-head h2 { font-size: 24px; }
.auth-card-head p { margin: 3px 0 0; color: var(--muted); }
.mini-logo { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 10px; background: var(--red); color: white; font-size: 16px; font-weight: 900; }
.form-stack { display: flex; flex-direction: column; gap: 8px; }
.form-stack label { margin-top: 7px; font-size: 12px; font-weight: 750; }
input, select { min-height: 39px; padding: 8px 11px; border: 1px solid #cfd4da; border-radius: 5px; background: white; color: var(--ink); outline: none; }
input:focus, select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(217,54,50,.1); }
.form-stack .button { margin-top: 13px; }
.checkbox-line { display: flex; align-items: center; gap: 8px; font-weight: 500 !important; }
.checkbox-line input { width: 16px; min-height: 16px; }
.validation-summary, .field-error { color: #b42320; font-size: 12px; }
.validation-summary ul { margin: 0; padding-left: 17px; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: #9ba1aa; font-size: 11px; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.demo-box { margin-top: 22px; padding: 12px; border-radius: 6px; background: #f5f7f8; color: var(--muted); font-size: 11px; line-height: 1.7; }
.auth-switch { margin: 22px 0 0; text-align: center; color: var(--muted); }

/* Servers */
.server-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 390px)); justify-content: center; gap: 22px; }
.server-card { position: relative; padding: 27px; text-align: center; background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; }
.server-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--red); }
.server-card.offline::before { background: #8a9098; }
.server-status { position: absolute; top: 18px; right: 18px; display: flex; align-items: center; gap: 6px; color: var(--green); font-size: 10px; font-weight: 800; }
.server-status span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(31,157,90,.1); }
.offline .server-status { color: #8a9098; }
.server-icon { width: 84px; height: 84px; margin: 15px auto 16px; display: grid; place-items: center; border-radius: 50%; background: var(--red-soft); font-size: 43px; }
.server-card h2 { font-size: 25px; }
.server-card > p { min-height: 42px; color: var(--muted); }
.server-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 23px 0; border-block: 1px solid var(--line-soft); }
.server-metrics div { padding: 14px 6px; border-right: 1px solid var(--line-soft); }
.server-metrics div:last-child { border-right: 0; }
.server-metrics b, .server-metrics span { display: block; }
.server-metrics b { font-size: 16px; }
.server-metrics span { color: var(--muted); font-size: 10px; }
.next-sim { margin-bottom: 15px; color: var(--muted); font-size: 11px; }
.next-sim strong { color: var(--ink); font-variant-numeric: tabular-nums; }

/* Office */
.club-title-row, .league-titlebar, .formation-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.season-chip, .warning-chip { padding: 7px 11px; border-radius: 20px; background: white; border: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 700; }
.dashboard-grid { display: grid; grid-template-columns: 340px 1fr 1fr; gap: 18px; align-items: start; }
.full-span-2 { grid-column: span 2; }
.manager-card { grid-row: span 2; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(31,157,90,.12); }
.manager-identity { display: flex; align-items: center; gap: 12px; padding: 18px 16px; border-bottom: 1px solid var(--line-soft); }
.avatar { display: grid; place-items: center; flex: 0 0 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--red), #f06a66); color: white; font-weight: 900; }
.manager-identity strong, .manager-identity span { display: block; }
.manager-identity span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.status-list { margin: 0; padding: 9px 16px 15px; }
.status-list > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.status-list > div:last-child { border-bottom: 0; }
.status-list dt { font-weight: 700; }
.status-list dd { margin: 0; color: var(--muted); text-align: right; }
.progress { display: inline-block; width: 80px; height: 7px; overflow: hidden; vertical-align: middle; border-radius: 5px; background: #e8ebee; }
.progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--red), #f27571); }
.club-overview { grid-column: span 2; }
.club-hero-line { display: flex; align-items: center; gap: 15px; padding: 18px 18px 10px; }
.club-hero-line h2 { font-size: 23px; }
.club-hero-line p { margin: 3px 0 0; color: var(--muted); }
.club-badge { --badge: var(--red); display: inline-grid; place-items: center; flex: 0 0 auto; width: 37px; height: 37px; border-radius: 50%; color: white; background: var(--badge); border: 3px solid white; outline: 1px solid color-mix(in srgb, var(--badge), #000 20%); font-size: 10px; font-weight: 900; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.club-badge.large { width: 62px; height: 62px; font-size: 15px; border-width: 4px; }
.club-badge.xl { width: 72px; height: 72px; font-size: 17px; border-width: 5px; }
.club-badge.tiny { width: 25px; height: 25px; border-width: 2px; outline: 0; font-size: 7px; }
.club-badge.micro { width: 17px; height: 17px; border: 1px solid white; outline: 0; font-size: 5px; margin-right: 4px; }
.finance-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 10px 18px 16px; background: var(--line); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.finance-grid div { padding: 12px; background: #fafbfc; }
.finance-grid span, .finance-grid b { display: block; }
.finance-grid span { color: var(--muted); font-size: 10px; }
.finance-grid b { margin-top: 4px; font-size: 14px; }
.action-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.club-overview > .action-row { padding: 0 18px 18px; }
.no-club-panel { grid-column: span 2; }
.empty-state { padding: 36px 25px; text-align: center; }
.empty-state p { max-width: 540px; margin-inline: auto; color: var(--muted); }
.empty-icon { font-size: 38px; margin-bottom: 10px; }
.fixture-list { padding: 5px 12px 12px; }
.fixture-list.roomy { padding: 9px 15px 16px; }
.fixture-row { display: grid; grid-template-columns: 52px minmax(100px, 1fr) 70px minmax(100px, 1fr) 125px; align-items: center; gap: 9px; min-height: 40px; padding: 5px 8px; border-bottom: 1px solid var(--line-soft); }
.fixture-row:last-child { border-bottom: 0; }
.fixture-row > a:first-of-type { text-align: right; }
.fixture-row > a:nth-of-type(2) { text-align: left; }
.turn { color: var(--muted); font-size: 10px; font-weight: 800; }
.score { text-align: center; color: var(--red); font-variant-numeric: tabular-nums; }
.competition { text-align: right; color: var(--muted); font-size: 10px; }
.current-team { font-weight: 850; }
.result-win { border-left: 3px solid var(--green); }
.result-loss { border-left: 3px solid var(--red); }
.result-draw { border-left: 3px solid #969da6; }
.news-list { padding: 4px 15px 12px; }
.news-list article { display: grid; grid-template-columns: 70px 1fr auto; gap: 12px; align-items: start; padding: 13px 0; border-bottom: 1px solid var(--line-soft); }
.news-list article:last-child { border-bottom: 0; }
.news-list p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.news-list time { color: #9299a2; font-size: 10px; }
.news-category { display: inline-block; padding: 3px 6px; border-radius: 3px; background: var(--red-soft); color: var(--red); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.mail-counter { display: grid; place-items: center; min-width: 22px; height: 22px; border-radius: 12px; background: var(--red); color: white !important; font-weight: 800; }
.compact-list { padding: 8px 15px 15px; }
.compact-list > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.status-pill { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 12px; font-size: 10px; font-weight: 800; }
.status-pending { background: #fff4d6; color: #976000; }
.status-approved { background: #e7f7ef; color: #147046; }
.status-rejected { background: #fdeaea; color: #9e2824; }
.empty-inline { padding: 23px 17px; color: var(--muted); text-align: center; }
.open-clubs-section { margin-top: 18px; }
.club-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 15px; }
.club-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); }
.club-card:hover { border-color: #edaaa7; background: var(--red-soft); }
.club-card strong, .club-card small { display: block; }
.club-card small { margin-top: 2px; color: var(--muted); }
.club-card > b { color: var(--red); }

/* Countries */
.map-panel { margin-bottom: 18px; }
.world-map { position: relative; min-height: 420px; overflow: hidden; background: linear-gradient(#fbfcfd, #f5f7f8); }
.world-map svg { width: 100%; height: 420px; }
.world-map path { fill: #d2ccd3; stroke: white; stroke-width: 3; transition: fill .2s; }
.world-map:hover path { fill: #c8c1ca; }
.map-flag { position: absolute; display: grid; place-items: center; width: 34px; height: 28px; transform: translate(-50%, -50%); border: 2px solid white; border-radius: 5px; background: white; box-shadow: 0 4px 12px rgba(0,0,0,.18); font-size: 20px; }
.map-flag:hover { z-index: 3; transform: translate(-50%, -50%) scale(1.18); }
.regions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding: 20px; }
.regions-grid h3 { margin-bottom: 10px; padding-bottom: 8px; border-bottom: 2px solid var(--red); }
.country-links { display: grid; gap: 7px; }
.country-links a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; min-height: 54px; padding: 8px 10px; border: 1px solid var(--line-soft); border-radius: 6px; color: var(--ink); }
.country-links a:hover { border-color: #ecc0be; background: var(--red-soft); }
.country-links strong, .country-links small { display: block; }
.country-links small { color: var(--muted); }
.country-links > a > b { color: var(--red); }
.flag-large { font-size: 26px; }
.country-hero { display: flex; align-items: center; gap: 20px; margin-bottom: 23px; padding: 25px 28px; border-radius: 10px; background: white; border: 1px solid var(--line); box-shadow: var(--shadow); }
.country-flag-hero { font-size: 58px; }
.country-hero p:last-child { margin: 0; color: var(--muted); }
.league-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 18px; }
.league-card { padding: 21px; border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: var(--shadow); }
.league-card-top { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }
.league-card-top span { font-size: 27px; }
.league-card h2 { margin-top: 7px; font-size: 22px; }
.league-card > p { color: var(--muted); }
.mini-clubs { display: grid; gap: 5px; margin: 17px 0; }
.mini-clubs a { display: flex; align-items: center; gap: 9px; padding: 6px; border-bottom: 1px solid var(--line-soft); color: var(--ink); }

/* League */
.country-title, .team-heading { display: flex; align-items: center; gap: 14px; }
.country-title > span { font-size: 34px; }
.section-tabs, .entity-tabs { display: flex; align-items: center; gap: 4px; }
.section-tabs button, .entity-tabs a { min-height: 38px; padding: 8px 15px; border: 0; border-radius: 5px; background: transparent; color: var(--red); font-weight: 650; }
.section-tabs button.active, .entity-tabs a.active { background: var(--red); color: white; }
.tab-content { display: none; }
.tab-content.active { display: block; }
.league-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 20px; padding: 13px; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.data-table th { padding: 9px 8px; border-bottom: 2px solid #d8dde2; color: #4c535c; text-align: left; white-space: nowrap; }
.data-table td { padding: 8px; border-bottom: 1px solid var(--line-soft); white-space: nowrap; }
.data-table tbody tr:hover { background: #fafbfc; }
.standings-table td:not(:nth-child(2)), .standings-table th:not(:nth-child(2)) { text-align: center; }
.team-link { display: flex; align-items: center; gap: 8px; color: var(--red); }
.position-number { font-weight: 750; }
.zone-champions { background: #f1f7ff; }
.zone-relegation { background: #fff0ef; }
.table-legend { display: flex; gap: 18px; padding: 12px 5px; color: var(--muted); font-size: 10px; }
.table-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; }
.legend-blue { background: #d6e9ff; }
.legend-red { background: #f7d3d1; }
.league-sidebar { display: grid; align-content: start; gap: 16px; }
.sidebar-block { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.sidebar-block h3 { margin: 0; padding: 11px 13px; border-bottom: 1px solid var(--line); background: #fafbfc; }
.scorer-list { margin: 0; padding: 5px 13px 10px 38px; }
.scorer-list li { padding: 8px 0; border-bottom: 1px solid var(--line-soft); }
.scorer-list li::marker { color: var(--muted); font-weight: 800; }
.scorer-list li > span { display: inline-flex; flex-direction: column; width: calc(100% - 28px); }
.scorer-list li > b { float: right; color: var(--red); }
.scorer-list small { display: flex; align-items: center; margin-top: 2px; color: var(--muted); }
.champions-block > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 13px; border-bottom: 1px solid var(--line-soft); font-size: 11px; }
.champions-block span { color: var(--muted); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; padding: 15px; }
.form-team { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); }
.form-dots { display: flex; gap: 3px; }
.form-dots i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: white; font-size: 8px; font-style: normal; font-weight: 800; }
.form-dots .win { background: var(--green); }.form-dots .draw { background: #9299a2; }.form-dots .loss { background: var(--red); }

/* Team */
.team-page-header { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 15px; }
.team-heading h1 { margin: 0; }
.team-info-grid { display: grid; grid-template-columns: 330px 1fr; gap: 18px; align-items: start; }
.status-panel { grid-row: span 1; }
.status-list.detailed { padding-top: 4px; }
.accent-text { color: var(--red) !important; }
.apply-box { margin: 0 15px 15px; padding: 15px; border: 1px dashed #e5aaa7; border-radius: 6px; background: var(--red-soft); }
.apply-box p { color: var(--muted); }
.vertical-actions { flex-direction: column; padding: 0 15px 15px; }
.press-panel, .history-panel { margin-top: 18px; }
.add-icon { color: var(--green) !important; font-size: 20px !important; }
.empty-cell { padding: 25px !important; text-align: center; color: var(--muted); }
.muted { color: var(--muted); }

/* Squad */
.squad-panel { overflow: visible; }
.squad-tabs { padding: 12px 13px 0; border-bottom: 1px solid var(--line); }
.squad-tabs button { border-radius: 5px 5px 0 0; }
.squad-tools { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 14px; }
.squad-tools p { margin: 0; color: var(--muted); font-size: 11px; }
.squad-tools label { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.squad-tools input { min-height: 34px; }
.squad-table { min-width: 1120px; }
.squad-table td:first-child { min-width: 190px; }
.squad-table .lined-player td:first-child a { font-weight: 850; font-style: italic; }
.flag-small { margin-right: 6px; }
.yellow-card { display: inline-block; width: 8px; height: 12px; margin-left: 4px; border: 1px solid #a68500; background: #ffd523; vertical-align: middle; }

.player-icons { display:inline-flex; align-items:center; gap:4px; margin-left:6px; vertical-align:middle; }
.player-badge { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:18px; padding:0 6px; border-radius:999px; font-size:11px; font-weight:800; line-height:1; }
.player-badge.retirement { background:#fff4df; color:#95611d; border:1px solid #f0c779; }
.player-badge.nt-inline { background:#eaf3fa; color:#2472ad; border:1px solid #c9e0f1; margin-left:6px; }
.player-badge.retirement-inline { background:#fff4df; color:#95611d; border:1px solid #f0c779; margin-left:6px; }
.player-nt-flag { width:18px; height:12px; margin:0 0 0 1px; vertical-align:middle; }

.morale-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; padding: 15px; }
.morale-grid article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--line); border-radius: 6px; }
.morale-grid strong, .morale-grid small { display: block; }
.morale-grid small { margin: 2px 0 6px; color: var(--muted); }
.player-dot { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 50%; background: var(--red); color: white; font-weight: 800; }

/* Formation */
.formation-status { display: flex; align-items: center; gap: 8px; padding: 8px 13px; border-radius: 20px; background: white; border: 1px solid var(--line); font-weight: 750; }
.formation-status.complete { color: var(--green); border-color: color-mix(in srgb, var(--green) 38%, var(--line)); }
.formation-status.incomplete { color: var(--red); border-color: color-mix(in srgb, var(--red) 38%, var(--line)); }
.formation-status-count { color: inherit; opacity: .82; font-size: 12px; }
.formation-status i { width: 8px; height: 8px; margin-left: 2px; border-radius: 50%; }
.formation-status i.ok { background: var(--green); }.formation-status i.bad { background: var(--red); }
#antiForgeryForm { display: none; }
.formation-workspace { display: grid; grid-template-columns: 290px 300px minmax(420px, 1fr); gap: 15px; align-items: start; }
.tactics-column { padding-bottom: 14px; min-width: 0; }
.tactics-column > label { display: flex; flex-direction: column; gap: 4px; margin: 11px 14px; font-size: 11px; font-weight: 750; }
.tactics-column > .button, .save-message, .readonly-note { width: calc(100% - 28px); margin: 9px 14px 0; }
.save-message { min-height: 18px; color: var(--green); font-size: 11px; }
.readonly-note { color: var(--muted); font-size: 11px; }
.squad-column { max-height: 760px; overflow-y: auto; }
.position-group { padding: 10px 11px 0; }
.position-group h3 { margin: 0 0 6px; color: var(--muted); font-size: 10px; letter-spacing: .8px; text-transform: uppercase; }
.player-pool { display: grid; gap: 4px; }
.pool-player { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 7px; min-height: 37px; padding: 5px 7px; border: 1px solid var(--line-soft); border-radius: 5px; background: white; font-size: 11px; cursor: grab; }
.pool-player:hover { border-color: #e4aaa7; background: var(--red-soft); }
.pool-player.selected { opacity: .55; background: #f2f4f6; }
.pool-player small { color: var(--red); font-weight: 800; }
.pool-player.unavailable { opacity: .72; cursor: not-allowed; border-color: #e6b8b5; background: #fff4f3; }
.pool-player.unavailable:hover { border-color: #e6b8b5; background: #fff4f3; }
.pool-player.unavailable small { max-width: 145px; color: #9d2520; text-align: right; }
.formation-unavailable-summary { display: grid; gap: 4px; margin: 8px 10px 12px; padding: 9px 10px; border: 1px solid #e8b4b0; border-radius: 6px; background: #fff3f2; color: #84231f; font-size: 11px; }
.formation-unavailable-summary strong { font-size: 12px; }
.role-dot { display: grid; place-items: center; min-width: 31px; height: 24px; border-radius: 4px; color: white; font-size: 8px; font-weight: 850; }
.role-dot.keeper { background: #d2a11f; }.role-dot.defender { background: #3d80bf; }.role-dot.midfield { background: #2a9b63; }.role-dot.attack { background: #d64a46; }
.pitch-column { min-width: 0; }
.pitch-tabs { display: flex; justify-content: flex-end; gap: 3px; margin-bottom: 8px; }
.pitch-tabs button { padding: 8px 12px; border: 0; border-radius: 5px; background: transparent; color: var(--red); font-size: 11px; }
.pitch-tabs button.active { background: var(--red); color: white; }
.pitch-wrap { padding: 13px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.pitch { position: relative; aspect-ratio: 0.72; max-height: 650px; margin: auto; overflow: hidden; border: 4px solid white; outline: 1px solid #456b37; background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 46px, rgba(0,0,0,.035) 46px, rgba(0,0,0,.035) 92px),
    linear-gradient(90deg, #4e9a3c, #5ca84a 50%, #4f9a3c); }
.pitch::before { content: ""; position: absolute; inset: 0; border: 2px solid rgba(255,255,255,.9); pointer-events: none; }
.pitch-line.halfway { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(255,255,255,.9); }
.center-circle { position: absolute; left: 50%; top: 50%; width: 24%; aspect-ratio: 1; transform: translate(-50%,-50%); border: 2px solid white; border-radius: 50%; }
.center-dot { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; transform: translate(-50%,-50%); border-radius: 50%; background: white; }
.penalty-box { position: absolute; left: 19%; width: 62%; height: 18%; border: 2px solid white; }
.penalty-box.top { top: 0; border-top: 0; }.penalty-box.bottom { bottom: 0; border-bottom: 0; }
.goal-box { position: absolute; left: 35%; width: 30%; height: 7%; border: 2px solid white; }
.goal-box.top { top: 0; border-top: 0; }.goal-box.bottom { bottom: 0; border-bottom: 0; }
.goal { position: absolute; left: 41%; width: 18%; height: 2.4%; border: 2px solid white; background: rgba(255,255,255,.17); }
.goal.top { top: 0; }.goal.bottom { bottom: 0; }
.pitch-player { position: absolute; z-index: 5; width: 72px; transform: translate(-50%,-50%); text-align: center; color: white; cursor: grab; filter: drop-shadow(0 2px 2px rgba(0,0,0,.5)); user-select: none; }
.player-shirt { display: grid; place-items: center; width: 28px; height: 29px; margin: auto; clip-path: polygon(20% 0, 36% 10%, 64% 10%, 80% 0, 100% 21%, 83% 35%, 80% 100%, 20% 100%, 17% 35%, 0 21%); background: var(--red); color: white; font-size: 9px; font-weight: 900; }
.pitch-player b, .pitch-player small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pitch-player b { padding: 1px 3px; border-radius: 3px; background: rgba(0,0,0,.58); font-size: 9px; }
.pitch-player small { font-size: 8px; font-weight: 800; }
.bench-zone { margin-top: 10px; padding: 10px; border: 2px dashed #cdd2d8; border-radius: 6px; text-align: center; color: var(--muted); }
.bench-zone strong, .bench-zone span { display: block; }
.bench-zone span { margin-top: 2px; font-size: 10px; }
.bench-zone.drag-over { border-color: var(--red); background: var(--red-soft); }
.pitch.drag-over { outline: 3px solid var(--red); }

/* Admin */
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.admin-stat-grid > div { display: grid; grid-template-columns: auto 1fr; column-gap: 11px; padding: 17px; border: 1px solid var(--line); border-radius: 8px; background: white; box-shadow: var(--shadow); }
.admin-stat-grid span { grid-row: span 2; display: grid; place-items: center; width: 45px; height: 45px; border-radius: 9px; background: var(--red-soft); font-size: 24px; }
.admin-stat-grid strong { font-size: 22px; line-height: 1; }
.admin-stat-grid small { color: var(--muted); }
.admin-server-panel, .admin-applications, .admin-users { margin-bottom: 18px; }
.admin-server-row { display: grid; grid-template-columns: 1.1fr .9fr 1.2fr auto auto; align-items: center; gap: 13px; padding: 15px; border-bottom: 1px solid var(--line-soft); }
.admin-server-row:last-child { border-bottom: 0; }
.admin-server-row > div:first-child { display: grid; grid-template-columns: auto 1fr; column-gap: 9px; }
.admin-server-row > div:first-child small { grid-column: 2; color: var(--muted); }
.admin-server-row > div:nth-child(2) span, .admin-server-row > div:nth-child(2) strong { display: block; }
.admin-server-row > div:nth-child(2) span { color: var(--muted); font-size: 10px; }
.server-light { grid-row: span 2; width: 10px; height: 10px; border-radius: 50%; }
.server-light.online { background: var(--green); box-shadow: 0 0 0 4px rgba(31,157,90,.12); }
.server-light.offline { background: #9299a2; }
.inline-form { display: flex; align-items: end; gap: 7px; }
.inline-form label { display: flex; flex-direction: column; gap: 3px; font-size: 10px; }
.inline-form input { width: 90px; min-height: 33px; }
.block-small { display: block; margin-top: 2px; color: var(--muted); }

@media (max-width: 1050px) {
    .dashboard-grid { grid-template-columns: 310px 1fr; }
    .manager-card { grid-row: auto; }
    .club-overview, .no-club-panel, .full-span-2 { grid-column: auto; }
    .fixtures-panel { grid-column: 1 / -1; }
    .formation-workspace { grid-template-columns: 235px 1fr; }
    .pitch-column { grid-column: 1 / -1; }
    .pitch { max-height: 700px; }
    .admin-server-row { grid-template-columns: 1fr 1fr; }
    .admin-server-row > form { justify-self: start; }
}

@media (max-width: 800px) {
    .topbar-inner { gap: 12px; }
    .main-nav { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; height: 54px; justify-content: space-around; background: #c62b27; box-shadow: 0 -2px 12px rgba(0,0,0,.15); }
    .main-nav a { padding: 0 8px; font-size: 11px; }
    .user-name { display: none; }
    body { padding-bottom: 54px; }
    .auth-page { grid-template-columns: 1fr; margin: 20px auto; }
    .auth-hero { min-height: 300px; padding: 38px 32px; }
    .auth-hero h1 { font-size: 36px; }
    .auth-card { padding: 35px 28px; }
    .dashboard-grid, .team-info-grid, .league-layout, .regions-grid { grid-template-columns: 1fr; }
    .club-overview, .no-club-panel, .full-span-2 { grid-column: auto; }
    .finance-grid { grid-template-columns: repeat(2, 1fr); }
    .team-page-header, .league-titlebar { align-items: flex-start; flex-direction: column; }
    .entity-tabs, .section-tabs { max-width: 100%; overflow-x: auto; }
    .formation-workspace { grid-template-columns: 1fr; }
    .pitch-column { grid-column: auto; }
    .squad-column { max-height: 500px; }
    .admin-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .fixture-row { grid-template-columns: 38px 1fr 55px 1fr; }
    .fixture-row .competition { display: none; }
    .club-card-grid, .form-grid, .morale-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .shell, .page-shell { width: min(100% - 18px, 1180px); }
    .brand > span:last-child { display: none; }
    .account-area { gap: 11px; }
    .ticker-inner span:nth-of-type(1), .ticker-inner span:nth-of-type(2) { display: none; }
    h1 { font-size: 25px; }
    .auth-hero { min-height: 250px; }
    .auth-hero h1 { font-size: 31px; }
    .auth-card { padding: 28px 19px; }
    .finance-grid, .admin-stat-grid { grid-template-columns: 1fr 1fr; }
    .world-map { min-height: 280px; }
    .world-map svg { height: 280px; }
    .top-tabs button, .entity-tabs a { padding-inline: 10px; }
    .admin-server-row { grid-template-columns: 1fr; }
    .footer-inner { flex-direction: column; }
}

/* Top navigation dropdowns */
.nav-dropdown { position: relative; height: 100%; }
.nav-dropdown > summary { display: flex; align-items: center; height: 100%; padding: 0 13px; border-bottom: 3px solid transparent; color: white; font-size: 13px; font-weight: 650; cursor: pointer; list-style: none; }
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary::after { content: "▾"; margin-left: 6px; font-size: 9px; opacity: .8; }
.nav-dropdown[open] > summary, .nav-dropdown > summary:hover { background: rgba(255,255,255,.1); border-bottom-color: white; }
.nav-menu { position: absolute; z-index: 80; top: 55px; left: 0; min-width: 190px; padding: 7px; border: 1px solid #d8dde2; border-radius: 0 0 7px 7px; background: white; box-shadow: 0 14px 30px rgba(20,25,32,.18); }
.nav-menu a { display: block !important; height: auto !important; padding: 9px 11px !important; border: 0 !important; border-radius: 4px; color: var(--ink) !important; white-space: nowrap; }
.nav-menu a:hover { background: var(--red-soft) !important; color: var(--red) !important; }
@media (max-width: 800px) {
    .nav-dropdown { flex: 1; }
    .nav-dropdown > summary { justify-content: center; padding: 0 5px; font-size: 10px; }
    .nav-dropdown:nth-of-type(n+5) { display: none; }
    .nav-menu { top: auto; bottom: 54px; left: 0; min-width: 160px; border-radius: 7px 7px 0 0; }
}

/* RubySoccer-inspired league table */
.ruby-league-head { margin-bottom: 8px; }
.league-flag { font-size: 22px; }
.league-competition-tabs { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.league-competition-tabs a { padding: 10px 15px; border-radius: 5px; font-size: 12px; font-weight: 650; }
.league-competition-tabs a.active { background: var(--red); color: white; }
.league-main-panel { overflow: visible; }
.league-season-bar { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 8px 14px; border-bottom: 1px solid var(--line); background: linear-gradient(#fff, #fafafa); color: var(--muted); }
.league-season-bar strong { color: var(--ink); }
.ruby-tabs { padding: 12px 13px 0; border-bottom: 1px solid var(--line); }
.ruby-tabs button { border-radius: 5px 5px 0 0; }
.ruby-league-layout { padding-top: 6px; }
.ruby-standings { font-size: 11.5px; }
.ruby-standings th { padding-block: 7px; }
.ruby-standings td { padding-block: 6px; }
.ruby-standings th:nth-child(3), .ruby-standings td:nth-child(3) { text-align: left; }
.ruby-standings .qualification-col { width: 34px; }
.qualification-code { width: 34px; color: #4e5865; font-size: 10px; font-weight: 800; letter-spacing: .3px; }
.zone-champions { background: rgba(52, 120, 199, .055); }
.zone-europa { background: rgba(31, 157, 90, .04); }
.zone-relegation { background: #fff0ef; }
.manager-present { color: #4ca25a; font-size: 8px; }
.legend-green { background: #73b887; }
.ruby-league-sidebar { gap: 20px; }
.sidebar-title-row { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.sidebar-title-row span { color: var(--muted); font-size: 10px; }
.ruby-scorer-list { margin-top: 4px; }
.ruby-scorer-list li { padding: 0; }
.ruby-scorer-list li > a { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 7px 2px; color: var(--red); }
.ruby-scorer-list li > a:hover { background: var(--red-soft); }
.ruby-scorer-list small { color: var(--muted); }
.ruby-champions > div { display: grid; grid-template-columns: 92px 1fr; align-items: center; padding: 8px 2px; border-bottom: 1px solid var(--line-soft); }
.ruby-champions > div span { color: var(--ink); font-weight: 700; font-size: 11px; }
.ruby-champions > div b { color: var(--red); font-size: 11px; font-weight: 600; }
.ruby-champions > div small { grid-column: 2; color: var(--muted); font-size: 9px; }
.inline-tab-header { border-top: 0; }
.league-fixtures { padding: 12px; }

/* Player profile */
.player-page-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.player-heading { display: flex; align-items: center; gap: 12px; }
.player-heading h1 { margin: 0; font-size: 28px; }
.player-avatar { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid #cfd5db; background: linear-gradient(145deg, #f8fafb, #e9edf1); color: var(--red); font-weight: 900; letter-spacing: -.5px; box-shadow: inset 0 0 0 4px white; }
.player-avatar.large { width: 82px; height: 82px; font-size: 24px; }
.player-tabs { flex-wrap: wrap; }
.player-profile-grid { display: grid; grid-template-columns: minmax(270px, .78fr) minmax(250px, .72fr) minmax(440px, 1.5fr); gap: 30px; padding: 28px 20px 22px; }
.player-general-card h3, .player-contract-card h3, .season-stat-card h3, .scout-report-text h3 { margin: 0 0 10px; font-size: 18px; font-weight: 500; }
.attributes-title { margin-top: 24px !important; }
.info-list { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 5px 12px; margin: 0; font-size: 12px; }
.info-list dt { color: #3d4652; }
.info-list dd { margin: 0; color: var(--ink); }
.info-list dd a { display: inline-flex; align-items: center; gap: 6px; }
.info-list.compact { grid-template-columns: 130px minmax(0, 1fr); gap-block: 9px; }
.attribute-list dd { font-variant-numeric: tabular-nums; }
.flag-large { font-size: 17px; }
.star-status { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.star-status span { color: var(--muted); font-size: 12px; }
.star-status strong { color: #e0a928; letter-spacing: 2px; font-size: 18px; }
.morale-pill { display: inline-flex; padding: 2px 8px; border-radius: 999px; background: #f1f3f5; font-size: 10px; font-weight: 750; }
.player-warning { display: grid; gap: 7px; margin-top: 18px; padding: 11px; border: 1px solid #efc0bd; border-radius: 6px; background: var(--red-soft); color: #9b2925; font-size: 11px; font-weight: 700; }
.season-stat-card { align-self: stretch; min-width: 0; }
.player-season-scroll { overflow-x: visible; }
.player-season-table { width: 100%; min-width: 0; table-layout: fixed; font-size: 11.5px; }
.player-season-table th:first-child, .player-season-table td:first-child { width: 40%; white-space: normal; }
.player-season-table th:not(:first-child), .player-season-table td:not(:first-child) { text-align: center; }
.player-season-table th, .player-season-table td { padding-inline: 6px; }
.player-season-table tfoot { background: #fafbfc; }
.player-season-table tfoot th { border-top: 2px solid var(--line); border-bottom: 0; }
.market-readonly-note { margin: 0 0 12px; font-size: 11px; }
.player-detail-panel { min-height: 430px; }
.player-stat-summary { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; padding: 18px; }
.player-stat-summary article { padding: 16px 12px; border: 1px solid var(--line); border-radius: 7px; background: #fafbfc; text-align: center; }
.player-stat-summary span, .player-stat-summary strong { display: block; }
.player-stat-summary span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.player-stat-summary strong { margin-top: 4px; font-size: 21px; }
.profile-table-wrap { padding: 0 18px 20px; }
.career-timeline { padding: 18px; }
.career-timeline article { display: grid; grid-template-columns: 70px minmax(180px, .8fr) minmax(300px, 1.4fr) minmax(160px, .8fr); align-items: center; gap: 18px; min-height: 72px; border-bottom: 1px solid var(--line-soft); }
.career-season { color: var(--red); font-size: 18px; font-weight: 850; }
.career-club strong, .career-club span { display: block; }
.career-club span, .career-event { color: var(--muted); font-size: 11px; }
.career-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.career-numbers span { padding: 4px 7px; border-radius: 4px; background: #f1f3f5; font-size: 10px; }
.scout-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; padding: 28px; }
.scout-verdict { display: flex; flex-direction: column; align-items: center; padding: 24px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfc; text-align: center; }
.scout-verdict h3 { margin: 13px 0 3px; font-size: 18px; }
.scout-verdict p { color: var(--muted); font-size: 11px; }
.scout-score { display: grid; place-items: center; width: 82px; height: 82px; margin-top: 12px; border: 7px solid #f0c3c0; border-radius: 50%; color: var(--red); font-size: 30px; }
.scout-verdict small { margin-top: 6px; color: var(--muted); }
.scout-report-text p { color: #4f5864; }
.strength-list { display: grid; gap: 9px; max-width: 620px; padding: 0; list-style: none; }
.strength-list li { position: relative; display: grid; grid-template-columns: 140px 40px 1fr; align-items: center; gap: 8px; }
.strength-list li > i { height: 7px; border-radius: 10px; background: linear-gradient(90deg, #e7837e, var(--red)); }
.strength-list li > strong { color: var(--red); }

@media (max-width: 1050px) {
    .player-profile-grid { grid-template-columns: 1fr 1fr; }
    .season-stat-card { grid-column: 1 / -1; }
    .player-stat-summary { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 800px) {
    .league-competition-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .league-competition-tabs a { white-space: nowrap; }
    .player-page-header { align-items: flex-start; flex-direction: column; }
    .player-profile-grid { grid-template-columns: 1fr; padding: 18px 14px; }
    .season-stat-card { grid-column: auto; }
    .scout-grid { grid-template-columns: 1fr; }
    .career-timeline article { grid-template-columns: 55px 1fr; gap: 8px 12px; padding: 12px 0; }
    .career-numbers, .career-event { grid-column: 2; }
}

@media (max-width: 520px) {
    .player-stat-summary { grid-template-columns: repeat(2, 1fr); }
    .info-list, .info-list.compact { grid-template-columns: 118px minmax(0, 1fr); }
    .strength-list li { grid-template-columns: 110px 35px 1fr; }
}

/* 2026 Goal-FC inspired light redesign */
:root {
    --red: #347fba;
    --red-dark: #24689f;
    --red-soft: #edf6fc;
    --canvas: #e5e7e8;
    --green: #36a852;
    --shadow: 0 5px 16px rgba(28, 43, 57, .08);
    --radius: 4px;
}
body {
    background-color: #eef2f4;
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(241,245,247,.88) 38%, rgba(232,238,241,.92) 100%),
        url('../img/main-project-background.png');
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center top;
    background-size: cover, cover;
    background-attachment: fixed, fixed;
}
.topbar { background: #347fba; }
.topbar-inner { height: 52px; }
.ticker { height: 25px; }
.page-shell { width: min(1160px, calc(100% - 32px)); padding-top: 18px; }
.panel { box-shadow: 0 2px 7px rgba(23, 37, 49, .08); }
.panel-header { min-height: 43px; padding: 8px 14px; }
.brand-ball { width: 34px; height: 34px; }
.entity-tabs a.active, .league-competition-tabs a.active { background: #347fba; }

/* Modernere Manager-/Computer-Statusicons */
.human-manager-icon, .cpu-team-icon {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0 3px;
    vertical-align: -3px;
}
.human-manager-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: .75px;
    width: 6.5px;
    height: 6.5px;
    transform: translateX(-50%);
    z-index: 2;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 28%, #ffe2a3 0 17%, #f6b24d 48%, #df8423 100%);
    border: 0;
    box-shadow: 0 0 0 .65px rgba(157,84,16,.72), 0 .75px 1.25px rgba(61,43,20,.16);
}
.human-manager-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    width: 9.5px;
    height: 10px;
    transform: translateX(-50%);
    z-index: 1;
    border-radius: 52% 52% 30% 30% / 45% 45% 22% 22%;
    background: linear-gradient(180deg, #68d981 0%, #38b75a 55%, #279747 100%);
    border: 0;
    box-shadow: 0 0 0 .65px rgba(17,112,48,.72), inset 0 .8px 0 rgba(255,255,255,.32), 0 .75px 1.25px rgba(22,83,41,.12);
}
.cpu-team-icon {
    width: 18px;
    height: 16px;
    vertical-align: -3px;
}
.cpu-team-icon::before {
    content: "";
    position: absolute;
    left: 1px;
    top: 1px;
    width: 14px;
    height: 10px;
    border: 1px solid #64727f;
    border-radius: 3px;
    background: linear-gradient(180deg, #f5fafc 0%, #dbe5eb 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.85), 0 1px 2px rgba(0,0,0,.10);
}
.cpu-team-icon::after {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 1px;
    width: 8px;
    height: 4px;
    border-radius: 0 0 3px 3px;
    background: linear-gradient(180deg, #8d9aa6 0%, #6f7d89 100%);
    clip-path: polygon(28% 0, 72% 0, 88% 55%, 100% 55%, 100% 100%, 0 100%, 0 55%, 12% 55%);
}
.human-manager-icon.small, .cpu-team-icon.small {
    width: 14px;
    height: 14px;
    margin-inline: 1px;
    vertical-align: -2px;
}
.human-manager-icon.small::before { left: 50%; top: .25px; width: 5px; height: 5px; box-shadow:0 0 0 .5px rgba(157,84,16,.68),0 .5px 1px rgba(61,43,20,.13); }
.human-manager-icon.small::after { left: 50%; bottom: .5px; width: 7.5px; height: 8.25px; border-radius:52% 52% 28% 28% / 46% 46% 22% 22%; box-shadow:0 0 0 .5px rgba(17,112,48,.68),inset 0 .6px 0 rgba(255,255,255,.28); }
.cpu-team-icon.small::before { left: 1px; top: 1px; width: 10px; height: 7px; border-radius:2px; }
.cpu-team-icon.small::after { left: 4px; bottom:.5px; width: 6px; height: 3px; }

/* No-club welcome */
.system-message-panel { max-width: 1160px; margin: 14px auto 18px; }
.help-icon { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #253a4c; color: white !important; font-weight: 800; }
.system-message-body { padding: 25px 24px 23px; }
.system-message-body h1 { margin-bottom: 8px; font-size: 25px; font-weight: 500; }
.system-message-body > p { margin-bottom: 8px; }
.welcome-options { margin: 8px 0 7px; padding-left: 28px; }
.welcome-options li { margin: 3px 0; }
.inline-random-job { display: inline; margin: 0; }
.text-action { padding: 0; border: 0; background: none; color: var(--red); cursor: pointer; }
.text-action:hover { text-decoration: underline; }
.important-note { max-width: 1060px; font-size: 12px; }
.unemployed-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .7fr); gap: 18px; }
.free-job-list { max-height: 470px; overflow-y: auto; }
.free-job-row { display: grid; grid-template-columns: 38px 1fr 22px; align-items: center; gap: 10px; min-height: 54px; padding: 7px 13px; border-bottom: 1px solid var(--line-soft); color: var(--ink); }
.free-job-row:hover { background: #f4f9fd; }
.free-job-row strong, .free-job-row small { display: block; }
.free-job-row small { color: var(--muted); font-size: 10px; }
.manager-summary-list { padding: 12px 15px; }
.applications-mini { padding: 0 15px 15px; }
.applications-mini h3 { margin: 0 0 7px; }
.applications-mini > div { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line-soft); }

/* Team info and manager office */
.goal-team-header { position: relative; margin-bottom: 9px; padding: 0 0 9px; }
.goal-team-header::after { display: none; }
.goal-team-header .team-heading { min-height: 55px; }
.goal-team-header .team-heading h1 { font-size: 27px; font-weight: 500; }
.goal-team-grid { grid-template-columns: 330px minmax(0, 1fr); gap: 22px; align-items: start; }
.goal-status-card, .goal-matches-card { border: 1px solid #e5e9ee; border-radius: 8px; box-shadow: 0 8px 20px rgba(36, 56, 74, .05); overflow: hidden; }
.goal-status-card .panel-header, .goal-matches-card .panel-header { background: linear-gradient(180deg, #fbfcfd 0%, #f3f6f9 100%); border-bottom: 1px solid #e7ebef; }
.goal-status-list { margin: 0; padding: 14px 16px 8px; }
.goal-status-list > div { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 8px; align-items: center; min-height: 31px; }
.goal-status-list dt { font-weight: 750; color: #263441; }
.goal-status-list dd { margin: 0; }
.goal-status-list small { color: var(--muted); }
.goal-status-list .formation-warning dd { font-size: 12px; }
.goal-status-list .formation-warning.complete dd { color: var(--green); font-weight: 750; }
.goal-status-list .formation-warning.incomplete dd { color: var(--red); font-weight: 750; }
.class-badge { display: inline-grid; place-items: center; min-width: 20px; height: 22px; padding: 0 5px; border-radius: 4px 4px 7px 7px; color: white; font-weight: 900; box-shadow: inset 0 -3px 0 rgba(0,0,0,.14); }
.class-a { background: #8e3fd1; }.class-b { background: #347fba; }.class-c { background: #28a36a; }.class-d { background: #8e959c; }
.status-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid #d8e0e7; border-radius: 999px; background: #f8fafc; color: #243240; font-size: 12px; font-weight: 700; }
.status-chip .human-manager-icon, .status-chip .cpu-team-icon { margin: 0; }
.chip-human { background: #eef9f1; border-color: #bfe4c8; color: #267b3f; }
.chip-cpu { background: #f3f6f9; border-color: #d7dee5; color: #596674; }
.office-actions { display: grid; gap: 7px; padding: 8px 17px 17px; }
.manage-club-box { padding: 4px 17px 18px; }
.manage-club-box form { margin-bottom: 8px; }
.manage-club-box p { margin: 6px 0; font-size: 12px; }
.manage-club-box small { color: #3a4650; }
.manager-contact-link { padding: 8px 17px 18px; color: var(--red); }
.goal-fixtures { padding: 8px 12px 14px; }
.goal-fixtures .fixture-row { grid-template-columns: 34px minmax(145px, 1fr) 62px minmax(145px, 1fr) 120px; min-height: 38px; padding-inline: 4px; border-bottom: 1px solid var(--line-soft); }
.goal-fixtures .fixture-row:last-child { border-bottom: 0; }
/* Die fünf Spiele bleiben vor und nach der Simulation exakt ausgerichtet.
   Keine nth-of-type-Zählung: Das anklickbare Ergebnis ist ebenfalls ein Link. */
.compact-team-fixtures .fixture-row {
  grid-template-columns:34px minmax(145px,1fr) 62px minmax(145px,1fr) 120px;
}
.compact-team-fixtures .compact-fixture-team {
  display:flex;
  align-items:center;
  min-width:0;
  gap:5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-team-fixtures .compact-fixture-home {
  justify-content:flex-start;
  text-align:left;
}
.compact-team-fixtures .compact-fixture-away {
  justify-content:flex-end;
  text-align:right;
}
.compact-team-fixtures .compact-fixture-score {
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:62px;
  min-width:62px;
  max-width:62px;
  justify-self:center;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.goal-fixtures .fixture-row > .compact-fixture-home { text-align:left; }
.goal-fixtures .fixture-row > .compact-fixture-away { text-align:right; }
.current-team { font-weight: 850; }
.history-controls { display: flex; gap: 4px; padding: 12px 14px 0; }
.press-panel, .history-panel { margin-top: 18px; }

/* Interactive geographic maps */
.goal-map-panel { overflow: visible; }
.map-information, .country-list-note { margin: 14px; padding: 12px 15px; border: 1px solid #b7ddb2; border-radius: 4px; background: #e5f5df; color: #2f7b31; font-size: 12px; }
.map-tabs { padding: 0 14px; border-bottom: 1px solid var(--line); }
.map-tabs button { padding: 9px 15px; border: 0; border-radius: 4px 4px 0 0; background: transparent; color: var(--red); }
.map-tabs button.active { background: var(--red); color: white; }
.map-tab-content { padding: 12px 14px 16px; }
.geo-map { position: relative; width: 100%; overflow: hidden; border: 1px solid #edf0f2; background: white; }
.geo-map img { display: block; width: 100%; height: auto; }
.world-geo-map { aspect-ratio: 1908 / 767; }
.europe-geo-map { width: min(900px, 100%); margin-inline: auto; aspect-ratio: 1490 / 1024; }
.south-america-geo-map { width: min(560px, 100%); margin-inline: auto; aspect-ratio: 875 / 1280; }
.geo-flag-marker { position: absolute; z-index: 3; display: flex; align-items: center; transform: translate(-50%, -50%); filter: drop-shadow(0 1px 2px rgba(0,0,0,.3)); }
.geo-flag-marker > span { display: grid; place-items: center; min-width: 25px; height: 20px; padding: 0 2px; border: 1px solid white; border-radius: 2px; background: white; font-size: 16px; line-height: 1; }
.geo-flag-marker small { display: none; position: absolute; left: 50%; top: 24px; transform: translateX(-50%); min-width: max-content; padding: 3px 6px; border-radius: 3px; background: #22313d; color: white; font-size: 9px; }
.geo-flag-marker:hover { z-index: 20; transform: translate(-50%, -50%) scale(1.16); }
.geo-flag-marker:hover small { display: block; }
.region-marker > span { min-width: 29px; height: 22px; font-size: 18px; }
.goal-regions-grid { padding: 14px; }
.country-league-list { display: grid; gap: 7px; }
.country-league-row { padding: 9px 10px; border: 1px solid var(--line); border-radius: 4px; background: white; }
.country-main-link { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.country-main-link strong, .country-main-link small { display: block; }
.country-main-link small { color: var(--muted); font-size: 10px; }
.league-chip-row { display: flex; flex-wrap: wrap; gap: 5px; margin: 7px 0 0 34px; }
.league-chip-row a { padding: 3px 7px; border: 1px solid #c9dceb; border-radius: 3px; background: #f2f8fc; font-size: 10px; }

/* Country league list */
.goal-country-hero { margin-bottom: 16px; padding: 12px 18px; border-bottom: 4px solid var(--red); background: rgba(255,255,255,.7); }
.country-league-panel { margin-bottom: 18px; }
.league-tier-badge { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 5px; border-radius: 5px; background: #7040b8; color: white; font-size: 11px; }
.country-league-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); background: #f9fafb; }
.country-league-summary div { padding: 10px 13px; border-right: 1px solid var(--line); }
.country-league-summary div:last-child { border-right: 0; }
.country-league-summary span, .country-league-summary strong { display: block; }
.country-league-summary span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.country-club-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 12px; background: var(--line-soft); }
.country-club-card { display: grid; grid-template-columns: 35px 1fr 22px; align-items: center; gap: 8px; min-height: 51px; padding: 7px 10px; background: white; color: var(--ink); }
.country-club-card:hover { background: #f3f8fc; }
.country-club-name strong, .country-club-name small { display: block; }
.country-club-name small { color: var(--muted); font-size: 9px; }

/* League extensions */
.league-select-label { display: flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 700; }
.league-select-label select { min-height: 32px; padding: 4px 28px 4px 9px; }
.ruby-standings .team-link { display: inline-flex; align-items: center; gap: 4px; }
.all-statistics-link { display: block; margin-top: 9px; text-align: center; font-size: 11px; }
.best-eleven-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; padding: 15px; }
.best-player-card { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--ink); }
.best-player-card:hover { background: #f3f8fc; }
.best-player-card strong, .best-player-card small { display: block; }
.best-player-card small { color: var(--muted); font-size: 10px; }
.best-player-card > b { color: var(--red); }

@media (max-width: 900px) {
    .unemployed-grid, .goal-team-grid { grid-template-columns: 1fr; }
    .country-club-grid, .best-eleven-grid { grid-template-columns: 1fr; }
    .goal-fixtures .fixture-row { grid-template-columns: 34px 1fr 55px 1fr; }
    .compact-team-fixtures .fixture-row { grid-template-columns:34px minmax(0,1fr) 55px minmax(0,1fr); }
    .compact-team-fixtures .compact-fixture-score { width:55px; min-width:55px; max-width:55px; }
    .goal-fixtures .competition { grid-column: 2 / -1; text-align: right; }
}
@media (max-width: 620px) {
    .country-league-summary { grid-template-columns: repeat(2, 1fr); }
    .goal-status-list > div { grid-template-columns: 125px minmax(0,1fr); }
    .geo-flag-marker > span { min-width: 20px; height: 17px; font-size: 13px; }
    .region-marker > span { min-width: 23px; height: 19px; font-size: 15px; }
}

/* Top-right indicators */
.nav-counter-icon { position: relative; display: inline-flex; align-items: center; gap: 3px; min-width: 30px; color: white; font-size: 14px; }
.nav-counter-icon b { display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 10px; background: #8c959e; color: white; font-size: 9px; }
.nav-counter-icon:nth-child(2) b { background: #d7a52c; }
.nav-counter-icon:nth-child(3) b { background: #687682; }
.mail-pulse { animation: mailSoftPulse 2.8s ease-in-out infinite; }
@keyframes mailSoftPulse { 0%, 72%, 100% { opacity: 1; } 82% { opacity: .55; } 91% { opacity: 1; } }

/* Local SVG country flags (reliable on Windows/Edge; no emoji fallback needed) */
.flag-image,
.flag-inline,
.geo-flag-marker > img {
    display: inline-block;
    object-fit: cover;
    border: 1px solid rgba(21, 42, 62, .18);
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(19, 38, 57, .12);
    vertical-align: -2px;
}
.flag-inline { width: 20px; height: 14px; margin-right: 4px; }
.flag-small.flag-image { width: 18px; height: 12px; margin-right: 7px; }
.flag-large.flag-image { width: 30px; height: 20px; margin-right: 8px; }
.country-flag-hero.flag-image { width: 78px; height: 52px; padding: 0; background: #fff; }
.league-flag.flag-image { width: 31px; height: 21px; margin-right: 10px; }
.geo-flag-marker > img { width: 27px; height: 18px; background: #fff; }
.geo-flag-marker.region-marker > img { width: 23px; height: 15px; }
.country-main-link > .flag-large.flag-image { flex: 0 0 auto; }
.player-heading .flag-inline { margin-left: 3px; }
@media (max-width: 720px) {
    .geo-flag-marker > img { width: 22px; height: 15px; }
    .country-flag-hero.flag-image { width: 58px; height: 39px; }
}


/* Social, Mail, Vereinswappen und Pokale */
.club-logo{width:34px;height:34px;object-fit:contain;flex:0 0 auto}.club-logo.large{width:62px;height:62px}.topbar a.nav-counter-icon{color:#fff;text-decoration:none}.online-list{padding:5px 16px 16px}.online-row{display:grid;grid-template-columns:12px 34px 1fr auto;align-items:center;gap:11px;padding:12px 4px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.online-dot{width:9px;height:9px;border-radius:50%;background:#26b66f;box-shadow:0 0 0 4px #ddf7ea}.avatar.mini{width:34px;height:34px;min-width:34px;font-size:12px}.online-row small{display:block;color:var(--muted);margin-top:2px}.online-row time{color:#26a566;font-size:11px;font-weight:700}.manager-profile-head{overflow:hidden}.manager-cover{min-height:150px;padding:34px;display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,#e7f2fb,#f7fbfe);border-bottom:4px solid #347fba}.manager-cover h1{font-size:30px;margin:0}.manager-cover p{color:var(--muted)}.manager-avatar{width:78px;height:78px;font-size:28px;background:#347fba}.manager-profile-stats{display:grid;grid-template-columns:repeat(4,1fr)}.manager-profile-stats div{padding:17px;text-align:center;border-right:1px solid var(--line)}.manager-profile-stats b,.manager-profile-stats span{display:block}.manager-profile-stats span{margin-top:4px;color:var(--muted);font-size:11px}.manager-profile-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-top:18px}.title-list{padding:12px 16px}.title-list>div{padding:12px 0;border-bottom:1px solid var(--line-soft)}.title-list span{display:block;color:var(--muted);margin:4px 0 0 25px}.compose-card{margin-top:18px}.compose-form{padding:18px}.compose-form label{display:block;margin-bottom:13px;font-weight:700}.compose-form input,.compose-form textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:4px;font:inherit}.mail-shell{overflow:hidden}.mail-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fafb}.mail-toolbar h1{font-size:21px}.mail-toolbar span{color:var(--muted)}.mail-layout{display:grid;grid-template-columns:340px 1fr;min-height:560px}.mail-list{border-right:1px solid var(--line);background:#fafbfc}.mail-list-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px;border-bottom:1px solid var(--line-soft);color:var(--ink)}.mail-list-item.selected{background:#eaf3fa;border-left:4px solid #347fba}.mail-list-item.unread{background:#fff;font-weight:700}.mail-list-item strong,.mail-list-item b,.mail-list-item small{display:block}.mail-list-item strong{font-size:11px;color:#347fba}.mail-list-item b{margin-top:3px}.mail-list-item small{margin-top:5px;color:var(--muted);font-weight:400}.mail-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#edf1f4}.mail-reader{padding:28px}.mail-reader-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.mail-reader-head h2{font-size:25px;margin:8px 0}.mail-reader-head p{color:var(--muted)}.category-chip{padding:4px 8px;border-radius:12px;background:#eaf3fa;color:#2472ad;font-size:10px;font-weight:800}.mail-body{min-height:270px;padding:24px 0;white-space:pre-line;font-size:14px;line-height:1.7}.empty-mail-reader{display:grid;place-items:center;height:100%;color:var(--muted)}.country-cups{margin-top:18px}.cup-link-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.cup-link-grid a{padding:14px;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.cup-link-grid small{display:block;color:var(--muted);margin-top:5px}.cup-title{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.cup-title p{color:var(--muted);margin:0}.cup-title h1{margin-top:4px}.cup-bracket{display:flex;gap:28px;align-items:flex-start;overflow:auto;padding:25px;background:#f7f8f9}.cup-round{min-width:240px;display:grid;gap:13px}.cup-round h3{text-align:center;color:#525a63}.cup-tie{padding:9px;background:#fff;border:1px solid var(--line);border-left:4px solid #347fba;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.cup-tie.future{border-left-color:#aab1b8}.cup-tie small{display:block;color:var(--muted);margin-bottom:5px}.cup-tie>div{display:grid;grid-template-columns:22px 1fr 20px;gap:6px;align-items:center;min-height:28px;border-top:1px solid #f0f1f2}.cup-tie img{width:20px;height:20px;object-fit:contain}.cup-tie a,.cup-tie span{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cup-tie b{text-align:right}
@media(max-width:800px){.manager-profile-grid,.mail-layout{grid-template-columns:1fr}.mail-list{border-right:0;max-height:320px;overflow:auto}.manager-profile-stats{grid-template-columns:repeat(2,1fr)}}

.club-logo.xl{width:72px;height:72px}.club-logo.tiny{width:18px;height:18px;margin-right:5px;vertical-align:middle}.manager-contact-link{display:block;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:5px;text-align:center}.mail-list-item.unread:after{content:"NEU";align-self:start;padding:2px 5px;border-radius:8px;background:#d93934;color:#fff;font-size:8px;font-weight:900}

.club-logo.original-club-crest{display:inline-block;background:transparent}.cup-club-mark{display:flex;align-items:center;width:22px}.cup-club-mark .club-badge.micro{margin:0}.cup-tie>div{grid-template-columns:22px 1fr 20px}

.online-label{font-size:11px;font-weight:700;margin-right:3px}.manager-club-logo{display:flex;align-items:center}.manager-club-logo .club-badge{display:inline-grid}.mail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mail-actions form{margin:0}
.disabled-tab,.disabled-link{opacity:.55;cursor:default;pointer-events:none}

/* Goal-FC country league/table layout */
.goal-country-league-head { align-items: end; margin-top: 2px; margin-bottom: 7px; }
.goal-country-league-head .country-title h1 { margin: 0; font-size: 30px; font-weight: 500; }
.goal-country-tabs { margin-left: auto; }
.goal-country-tabs > span,
.goal-country-tabs > a { display: inline-flex; align-items: center; min-height: 39px; padding: 9px 15px; border-radius: 5px; color: var(--red); font-size: 12px; font-weight: 650; }
.goal-country-tabs > span.active { background: var(--red); color: #fff; }
.goal-country-tabs > span.disabled-tab { color: #9aa1aa; cursor: default; }
.goal-league-table-panel { border-radius: 3px; box-shadow: 0 5px 18px rgba(27, 34, 44, .06); }
.goal-league-panel-head { min-height: 42px; padding: 8px 13px; }
.goal-league-panel-head h2 { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; }
.league-class-badge { display: inline-grid; place-items: center; width: 19px; height: 22px; border-radius: 4px 4px 6px 6px; background: #6c45c5; color: white; font-size: 11px; font-weight: 900; }
.goal-league-switch-row { min-height: 54px; padding-inline: 14px; background: #fff; }
.goal-league-switch-row .league-select-label { display: flex; align-items: center; gap: 9px; color: var(--ink); }
.goal-league-switch-row select { min-width: 145px; min-height: 35px; }
.goal-league-tabs { padding: 0 13px; min-height: 47px; align-items: end; }
.goal-league-tabs button { min-height: 37px; padding: 8px 14px; color: var(--red); font-size: 12px; font-weight: 500; }
.goal-league-tabs button.active { border: 1px solid var(--line); border-bottom-color: #fff; border-radius: 5px 5px 0 0; background: #fff; color: var(--ink); }
.goal-league-layout { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 24px; padding: 10px 13px 20px; }
.goal-standings-table { font-size: 11px; }
.goal-standings-table th { padding: 7px 5px; border-bottom: 1px solid #cfd4da; color: #20262f; font-weight: 750; }
.goal-standings-table td { padding: 5px; }
.goal-standings-table .team-link { gap: 5px; }
.goal-standings-table .club-logo.tiny { width: 15px; height: 15px; }
.goal-standings-table .club-badge.tiny { width: 14px; height: 14px; font-size: 6px; }
.goal-league-sidebar { gap: 18px; }
.goal-stat-block,
.goal-champions-block { border: 0; border-radius: 0; }
.goal-stat-block .sidebar-title-row,
.goal-champions-block > h3 { min-height: 31px; padding: 7px 2px; border-bottom: 1px solid #cfd4da; background: transparent; text-align: center; font-size: 11px; font-weight: 800; }
.goal-stat-block .sidebar-title-row h3 { padding: 0; border: 0; background: transparent; font-size: 11px; }
.goal-stat-block .ruby-scorer-list { padding: 0 0 0 28px; }
.goal-stat-block .ruby-scorer-list li { border-bottom: 1px solid var(--line-soft); }
.goal-stat-block .ruby-scorer-list li > a { display: grid; grid-template-columns: 1fr 30px minmax(120px, .85fr); gap: 8px; padding: 6px 3px; }
.goal-stat-block .ruby-scorer-list .scorer-name { color: var(--red); }
.goal-stat-block .ruby-scorer-list b { color: var(--ink); text-align: center; }
.goal-stat-block .ruby-scorer-list small { margin: 0; color: var(--red); }
.goal-champions-block .champion-row { display: grid; grid-template-columns: 105px 1fr 1fr; gap: 8px; padding: 7px 3px; }
.goal-champions-block .champion-row span { font-weight: 700; }
.goal-champions-block .champion-row b { color: var(--red); font-weight: 500; }
.goal-champions-block .champion-row small { grid-column: auto; display: flex; align-items: center; gap: 5px; color: var(--red); font-size: 11px; }
.goal-league-sidebar .all-statistics-link { display: block; padding: 10px 2px; text-align: center; color: var(--red); font-size: 11px; }
@media (max-width: 900px) {
    .goal-country-league-head { align-items: flex-start; }
    .goal-country-tabs { margin-left: 0; }
    .goal-league-layout { grid-template-columns: 1fr; }
}

/* Navigations-Dropdowns und Seiten */
.nav-dropdown[open] { z-index: 120; }
.nav-menu { min-width: 175px; padding: 5px 0; border-radius: 0 0 4px 4px; }
.nav-menu a { padding: 9px 17px !important; border-radius: 0; }
.nav-menu a:hover { background: #edf3f8 !important; color: #256ea7 !important; }
.nav-menu-grouped { min-width: 210px; }
.nav-menu-heading { display: block; padding: 8px 17px 4px; color: #8a929c; font-size: 10px; font-weight: 800; text-transform: none; }
.nav-menu-divider { display: block; height: 1px; margin: 5px 0; background: var(--line); }
.nav-page-heading { margin-bottom: 16px; }
.nav-secondary-panel { margin-top: 18px; }
.nav-section-tabs { margin-bottom: 16px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.nav-section-tabs a { display: inline-flex; padding: 12px 13px; color: var(--muted); border-bottom: 3px solid transparent; }
.nav-section-tabs a.active { color: var(--blue); border-bottom-color: var(--blue); font-weight: 800; }
.nav-metric-grid { margin-bottom: 18px; }
.navigation-card-grid { grid-template-columns: repeat(3, 1fr); }
.nav-feature-card { padding: 24px; }
.nav-feature-card > span { font-size: 34px; }
.nav-feature-card h2 { margin: 12px 0 7px; }
.nav-feature-card p { min-height: 42px; color: var(--muted); }
.finance-bars { display: grid; gap: 18px; }
.finance-bars label { display: block; margin-bottom: 7px; font-weight: 750; }
.finance-bars span { display: block; height: 12px; overflow: hidden; border-radius: 99px; background: #edf0f3; }
.finance-bars i { display: block; height: 100%; border-radius: inherit; background: #347fba; }
.board-summary { display: grid; grid-template-columns: 150px 1fr; gap: 25px; align-items: center; }
.board-score { display: grid; place-items: center; width: 125px; height: 125px; border: 12px solid #dcecf7; border-radius: 50%; color: #347fba; font-size: 26px; font-weight: 900; }
.compact-dl { margin-top: 15px; }
.compact-dl > div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line-soft); }
.country-list-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 1px; background: var(--line); }
.country-list-grid a { display: flex; align-items: center; gap: 12px; padding: 15px; background: #fff; color: var(--ink); }
.country-list-grid small { display: block; margin-top: 3px; color: var(--muted); }
.settings-grid, .hall-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.profile-list { padding: 12px 18px; }
.profile-list > div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
.setting-options { display: grid; gap: 0; }
.setting-options label { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
.newspaper-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }
.newspaper-grid article { min-height: 190px; padding: 22px; background: #fff; }
.newspaper-grid article:first-child { grid-column: span 2; }
.newspaper-grid article > span { color: var(--blue); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.newspaper-grid h2 { margin: 8px 0; }
.newspaper-grid p { color: var(--muted); line-height: 1.6; }
.newspaper-grid time { color: #9aa0a8; font-size: 10px; }
.empty-state.compact { padding: 25px; text-align: center; }
.empty-state.compact p { margin-bottom: 0; color: var(--muted); }
@media (max-width: 900px) {
    .navigation-card-grid, .country-list-grid, .settings-grid, .hall-grid, .newspaper-grid { grid-template-columns: 1fr; }
    .newspaper-grid article:first-child { grid-column: auto; }
    .board-summary { grid-template-columns: 1fr; }
}

/* Spielerstatus */
.red-card { display:inline-block; width:8px; height:12px; margin-left:3px; border:1px solid #8d1515; background:#df2525; vertical-align:middle; box-shadow:0 1px 1px rgba(0,0,0,.15); }
.injury-cross { color:#d92525; font-size:14px; font-weight:900; line-height:1; }
.national-medal,
a.national-medal {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:20px;
  height:20px;
  margin:0 3px 0 3px;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
  vertical-align:-5px;
  text-decoration:none;
  line-height:1;
}
.national-medal::before,
.national-medal::after {
  content:none;
}
.national-medal img {
  position:static;
  display:block;
  width:20px;
  height:20px;
  object-fit:contain;
  object-position:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  image-rendering:auto;
}
.national-medal.profile-medal {
  width:24px;
  height:24px;
  margin-left:5px;
  transform:none;
}
.national-medal.profile-medal img {
  width:24px;
  height:24px;
}

/* Goal-style match pages */
.goal-matchday-board { padding: 14px; }
.matchday-group { margin-bottom: 26px; }
.matchday-group h3 { margin: 0 0 10px; font-size: 18px; font-weight: 600; }
.matchday-table { border-top: 1px solid var(--line); }
.matchday-row {
    display: grid;
    grid-template-columns: minmax(220px,1fr) 90px minmax(220px,1fr) 80px;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--line-soft);
}
.matchday-row .home-team { text-align: left; color: #3778bc; }
.matchday-row .away-team { text-align: right; color: #3778bc; }
.matchday-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; text-align: center; font-weight: 700; color: #2a2f36; }
.report-link { color: #3778bc; font-size: 12px; text-align: right; }
.report-link.disabled { color: #9aa1ab; pointer-events: none; }

.team-match-preview-list { padding: 10px 16px 16px; }
.team-match-preview-row {
    display: grid;
    grid-template-columns: 42px minmax(390px, 1.9fr) 92px 112px 54px;
    align-items: center;
    gap: 16px;
    padding: 12px 8px;
    border-bottom: 1px solid var(--line-soft);
}
.team-match-preview-row:last-child { border-bottom: 0; }
.team-match-preview-row .turn { color: #6f7985; font-weight: 700; font-size: 12px; }
.team-match-preview-row .competition, .goal-fixtures .competition { color: #6c7480; font-size: 12px; }
.team-match-preview-row .score-line { display: grid; grid-template-columns: 24px minmax(120px,1fr) 58px minmax(120px,1fr) 24px; align-items: center; gap: 10px; width: 100%; }
.team-match-preview-row .score-line .home-team-name { justify-self: end; text-align: right; }
.team-match-preview-row .score-line .away-team-name { justify-self: start; text-align: left; }
.team-match-preview-row .score-line a { display: inline-flex; align-items: center; min-width: 0; white-space: normal; overflow: visible; text-overflow: clip; }

.team-manager-monitor { display:flex; align-items:center; justify-content:center; width:24px; min-width:24px; }
.team-manager-monitor .cpu-team-icon,
.team-manager-monitor .human-manager-icon { margin:0; }
.team-manager-monitor.home-monitor { justify-self:start; }
.team-manager-monitor.away-monitor { justify-self:end; }
.team-match-preview-row .score-line .match-score { font-weight: 700; color: #2a2f36; min-width: 54px; text-align: center; }
.goal-fixtures .score { font-weight: 500; color: #2a2f36; }
.team-match-preview-row .current-team, .goal-fixtures .current-team { font-weight: 500; }
.match-result { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; padding: 5px 10px; border-radius: 999px; border: 1px solid #e1e6eb; background: #fafbfd; font-size: 11px; font-weight: 700; }
.match-result.won { color: var(--green); }
.match-result.lost { color: var(--red); }
.match-result.tie { color: #2375c9; }
.match-result.upcoming { color: #707985; }
.team-matches-page .panel-body { padding: 12px 16px 18px; }
.goal-mini-stripe { height: 4px; background: linear-gradient(90deg, #002f86 0 33%, #ffffff 33% 66%, #dd172c 66% 100%); }
.matches-page-head { margin-bottom: 14px; }
.matches-page-head h2 { font-size: 18px; font-weight: 600; }
.matches-filter-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.button-group-lite { display: flex; gap: 8px; }
.filter-actions { display: flex; gap: 8px; align-items: center; }
.team-matches-table th, .team-matches-table td { vertical-align: middle; }
.team-match-score-cell { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.team-match-score-cell a:first-child { text-align: right; }
.team-match-score-cell a:last-child { text-align: left; }

.match-report-page { overflow: visible; }
.match-report-title { border-bottom: 0; }
.match-subtabs { display: flex; gap: 4px; padding: 0 16px; border-bottom: 1px solid var(--line); }
.match-subtabs a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid transparent; border-bottom: 0; border-radius: 5px 5px 0 0; color: #3778bc; }
.match-subtabs a.active { background: #fff; border-color: var(--line); color: var(--ink); }
.match-report-body, .match-stats-body { padding: 18px 18px 22px; }
.match-meta-grid { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 20px; color: #303640; }
.align-right { text-align: right; }
.match-report-layout { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(290px, 330px) minmax(300px, 1fr); gap: 22px; align-items: start; }
.report-team-name { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; font-size: 14px; font-weight: 700; }
.report-team-name.right { justify-content: flex-end; }
.report-player-list { display: grid; gap: 3px; }
.report-player-row { display: grid; grid-template-columns: 18px 26px 1fr 42px; align-items: center; gap: 8px; min-height: 24px; font-size: 13px; }
.report-player-row.right { grid-template-columns: 42px 1fr 26px 18px; }
.report-position { font-weight: 700; color: #2c323a; }
.report-shirt { display: grid; place-items: center; width: 22px; height: 23px; color: white; font-size: 9px; font-weight: 800; clip-path: polygon(20% 0, 36% 12%, 64% 12%, 80% 0, 100% 24%, 85% 35%, 82% 100%, 18% 100%, 15% 35%, 0 24%); background: var(--shirt); }
.report-player-name small { color: #6c7480; font-size: 11px; }
.report-player-rating { text-align: right; font-weight: 700; }
.report-center-column { text-align: center; }
.report-main-score { margin: 28px 0 8px; font-size: 26px; font-weight: 500; }
.report-score-note { margin-top: 10px; color: #313743; }
.report-stat-line { display: flex; justify-content: space-between; gap: 18px; margin-top: 2px; font-weight: 500; }
.report-stat-line span { flex: 1; }
.motm-note { margin-top: 18px; font-weight: 700; }
.report-manager-line { margin-top: 14px; font-size: 13px; color: #2f3740; }

.match-stats-team-section { margin-bottom: 28px; }
.match-stats-team-title { display: flex; align-items: center; gap: 6px; margin: 0 0 12px; font-size: 18px; font-weight: 500; }
.stats-search-row { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.stats-search-row label { display: flex; align-items: center; gap: 8px; }
.stats-search-row.compact { margin-top: 10px; }
.match-stats-table th, .match-stats-table td { text-align: center; }
.match-stats-table th:first-child, .match-stats-table td:first-child { text-align: left; }
.table-note { margin: 8px 0 10px; color: var(--muted); font-size: 12px; }

@media (max-width: 980px) {
    .match-report-layout { grid-template-columns: 1fr; }
    .report-team-name.right, .report-player-row.right, .align-right { text-align: left; justify-content: flex-start; }
    .report-player-row.right { grid-template-columns: 18px 26px 1fr 42px; }
    .team-match-preview-row { grid-template-columns: 34px 1fr 76px; }
    .team-match-preview-row .competition, .team-match-preview-row .report-link { grid-column: 2 / 4; }
    .matchday-row { grid-template-columns: 1fr; }
    .matchday-row .away-team, .report-link { text-align: left; }
}

/* Historie, Form, Starstatus und Jugendakademie */
.class-e { background: #e59b22; }
.class-f { background: #cf4a3e; }

.history-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 14px; padding: 0 14px; }
.history-mode-tabs { display: flex; align-items: end; gap: 4px; }
.history-mode-tabs button { min-height: 38px; padding: 7px 14px; border: 1px solid transparent; border-bottom: 0; border-radius: 5px 5px 0 0; background: transparent; color: #3778bc; }
.history-mode-tabs button.active { border-color: var(--line); background: #fff; color: var(--ink); }
.history-view { display: none; }
.history-view.active { display: block; }
.goal-history-table { min-width: 760px; }
.goal-history-table.detailed { min-width: 940px; }
.goal-history-table th, .goal-history-table td { vertical-align: top; }

.form-tab-layout { padding-top: 12px; }
.goal-form-table { min-width: 590px; }
.goal-form-table th:first-child, .goal-form-table td:first-child { width: 48px; text-align: center; }
.goal-form-table th:last-child, .goal-form-table td:last-child { width: 55px; text-align: center; }
.last-six-form { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 31px; min-height: 30px; }
.form-result { display: grid; place-items: center; height: 30px; border-right: 1px solid rgba(0,0,0,.08); font-style: normal; font-size: 12px; }
.form-result.w { background: #dff3d8; color: #33773c; }
.form-result.d { background: #fff6d9; color: #7c6a30; }
.form-result.l { background: #f6dddd; color: #a04848; }
.goal-best-team-wrap { width: min(560px, 100%); padding: 4px 14px 14px; }
.goal-best-team-table { min-width: 520px; }
.goal-best-team-table th:nth-child(1), .goal-best-team-table td:nth-child(1) { width: 85px; }
.goal-best-team-table th:nth-child(2), .goal-best-team-table td:nth-child(2) { width: 70px; text-align: center; }
.goal-best-team-table th:last-child, .goal-best-team-table td:last-child { width: 90px; text-align: center; }
.goal-best-team-table a { display: inline-flex; align-items: center; gap: 5px; }
.micro-logo { width: 17px !important; height: 17px !important; object-fit: contain; }
.previous-season-button { margin-top: 15px; }

.goal-squad-panel { box-shadow: none; }
.goal-squad-tools { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 14px; }
.goal-squad-tools label { display: flex; align-items: center; gap: 4px; font-size: 12px; }
.goal-squad-tools input[type="checkbox"] { width: 14px; height: 14px; min-height: 14px; padding: 0; }
.goal-search-label { margin-left: auto; display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 12px; }
.goal-search-label input { min-height: 30px; height: 30px; width: 170px; border-radius: 0; }
.goal-player-table { min-width: 1135px; font-size: 11.5px; }
.goal-player-table th, .goal-player-table td { padding: 5px 6px; }
.goal-player-table th:not(:first-child), .goal-player-table td:not(:first-child) { text-align: center; }
.goal-player-table td:first-child { min-width: 245px; }
.goal-player-table td:first-child > a { vertical-align: middle; }
.goal-table-summary { display: grid; gap: 3px; padding: 8px 14px 13px; border-top: 2px solid #343a40; font-size: 12px; }
.youth-section-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 14px; padding: 18px 0 9px; border-top: 1px solid var(--line); }
.youth-section-header h3 { margin: 0; font-size: 16px; }
.youth-section-header p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.youth-summary { border-top-width: 1px; }

.player-star-group { display: inline-flex; align-items: center; gap: 1px; margin: 0 4px 0 1px; vertical-align: -2px; }
.player-star-shape { display: inline-block; width: 14px; height: 14px; clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 56%, 79% 94%, 50% 72%, 21% 94%, 32% 56%, 2% 35%, 39% 35%); background: #f0c20d; filter: drop-shadow(0 0 0.4px #7f6610); }
.player-star-group.elite .player-star-shape { background: #d78625; filter: drop-shadow(0 0 0.5px #8b4f0e); }
.player-star-group.silver .player-star-shape { background: #9ca0a5; filter: drop-shadow(0 0 0.5px #63676c); }
.player-star-group.gold .player-star-shape { background: #f4cb00; }
.star-status .player-star-group { margin-left: auto; }

.retirement-cane { position: relative; display: inline-block; width: 15px; height: 18px; margin-left: 3px; vertical-align: middle; }
.retirement-cane::before { content: ""; position: absolute; left: 6px; top: 3px; width: 5px; height: 5px; border: 2px solid #8f6b3e; border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; transform: rotate(-28deg); }
.retirement-cane::after { content: ""; position: absolute; left: 7px; top: 7px; width: 2px; height: 11px; border-radius: 2px; background: #8f6b3e; transform: rotate(10deg); }
.retirement-cane.profile { margin-left: 7px; }

.youth-shirt-icon { display: inline-block; width: 25px; height: 27px; clip-path: polygon(20% 0, 36% 11%, 64% 11%, 80% 0, 100% 22%, 84% 36%, 81% 100%, 19% 100%, 16% 36%, 0 22%); background: #111; box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.youth-profile-layout { display: grid; grid-template-columns: minmax(350px, .8fr) minmax(480px, 1.2fr); gap: 30px; align-items: start; }
.youth-profile-left, .youth-profile-right { display: grid; gap: 18px; }
.youth-info-panel, .youth-attributes-panel, .youth-traits-panel, .youth-contract-panel, .youth-actions-panel { box-shadow: none; border-radius: 3px; }
.youth-info-body, .youth-contract-body, .youth-traits-body, .youth-actions-body { padding: 17px 20px; }
.youth-detail-list { display: grid; grid-template-columns: 120px 1fr; gap: 4px 12px; margin: 0; font-size: 13px; }
.youth-detail-list dt { color: #303740; }
.youth-detail-list dd { margin: 0; }
.youth-contract-body { min-height: 88px; }
.youth-contract-body > strong { display: block; margin-bottom: 8px; }
.youth-contract-body p { margin: 4px 0 0; color: var(--muted); }
.youth-actions-body { display: flex; gap: 10px; min-height: 58px; align-items: center; }
.youth-actions-body form { margin: 0; }
.youth-traits-body p { margin: 0 0 7px; }
.youth-traits-body p:last-child { margin-bottom: 0; }
.trait-sehr-gut, .trait-gut { color: #16844c; }
.trait-neutral { color: #8b6a15; }
.trait-schwach { color: #b52e2b; }

@media (max-width: 900px) {
    .history-toolbar, .youth-section-header { align-items: flex-start; flex-direction: column; }
    .history-mode-tabs { align-self: stretch; overflow-x: auto; }
    .youth-profile-layout { grid-template-columns: 1fr; }
    .goal-search-label { margin-left: 0; }
}
.youth-awards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 18px; }
.youth-awards-grid article { padding: 16px; border: 1px solid var(--line); border-radius: 5px; background: #fafbfc; }
.youth-awards-grid span, .youth-awards-grid strong { display: block; }
.youth-awards-grid span { color: var(--muted); font-size: 11px; }
.youth-awards-grid strong { margin-top: 5px; font-size: 16px; }
@media (max-width: 700px) { .youth-awards-grid { grid-template-columns: 1fr 1fr; } }

/* Player classes and six-level star system */
.player-class-icon { width:20px; height:20px; object-fit:contain; margin:0 4px 0 1px; vertical-align:-5px; image-rendering:auto; }
.player-heading .player-class-icon { width:24px; height:24px; vertical-align:-5px; }
.player-star-group.bronze .player-star-shape { background:#d88425; filter:drop-shadow(0 0 0.5px #8b4f0e); }
.player-star-group.silver .player-star-shape { background:#9ca0a5; filter:drop-shadow(0 0 0.5px #63676c); }
.player-star-group.gold .player-star-shape { background:#f4cb00; filter:drop-shadow(0 0 0.5px #8c7600); }
.evolution-requirement-list { margin:6px 0 15px; padding-left:20px; }
.evolution-requirement-list li { margin:4px 0; }
.coach-report-form { margin:8px 0 14px; }
.star-benefit-report { margin:10px 0 15px; padding:12px; border-radius:5px; border:1px solid #d6dce2; background:#f7f9fa; }
.star-benefit-report.revealed { border-color:#d7b95a; background:#fff9df; }
.star-benefit-report.hidden { color:var(--muted); }
.star-system-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:14px; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--line); }
.star-system-summary div { padding:11px 13px; background:#fafbfc; }
.star-system-summary span, .star-system-summary strong { display:block; }
.star-system-summary span { color:var(--muted); font-size:10px; }
.star-system-summary strong { margin-top:3px; font-size:15px; }
.star-match-bonus-note { margin:12px 14px; padding:10px 12px; border:1px solid #e1c469; border-radius:5px; background:#fff9df; }
@media (max-width:700px) { .star-system-summary { grid-template-columns:1fr; } }
.player-system-help { margin:0 14px 12px; border:1px solid var(--line); border-radius:6px; background:#fafbfc; }
.player-system-help summary { padding:9px 12px; cursor:pointer; color:#3c4652; font-weight:700; }
.player-system-help[open] summary { border-bottom:1px solid var(--line); }
.class-legend-row, .star-level-legend { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:10px 12px 0; }
.class-legend-row span, .star-level-legend > span { display:inline-flex; align-items:center; gap:4px; font-size:11px; }
.player-system-help > p { margin:9px 12px 12px; color:var(--muted); font-size:11px; }
.star-level-legend .player-star-group { margin:0; }

/* Job Search Center */
.job-search-guide { padding: 18px; }
.job-search-guide h3 { margin: 0 0 7px; font-size: 20px; font-weight: 600; }
.job-search-guide > p { margin: 0 0 15px; color: var(--muted); }
.job-search-methods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.job-search-methods > a,
.job-search-methods form button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: white;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}
.job-search-methods > a:hover,
.job-search-methods form button:hover:not(:disabled) { border-color: #7cb0d8; background: #f5faff; }
.job-search-methods strong { margin-bottom: 5px; color: #2f78b7; }
.job-search-methods span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.job-search-methods button:disabled { opacity: .55; cursor: not-allowed; }
.job-search-rules { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.job-search-rules span { padding: 7px 10px; border-radius: 5px; background: #f2f5f7; color: #4d5763; font-size: 11px; }
.job-search-rules span.warning { background: #fff1df; color: #925b15; }
.job-search-table td:last-child { min-width: 130px; }
.job-search-table form { margin: 0; }
.job-search-table .immediate-job { background: #f5fbf6; }
.job-search-table .application-job { background: #fff; }
.job-club-box .job-rule-note { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 10px; }
.status-pill.status-pending { background: #fff3d2; color: #946500; }

@media (max-width: 850px) {
    .job-search-methods { grid-template-columns: 1fr; }
}


/* Goal-FC-style office page for managers without a club */
.unemployed-welcome-panel {
    max-width: 1160px;
    margin: 14px auto 28px;
}
.unemployed-welcome-body {
    min-height: 225px;
    padding: 28px 24px 26px;
}
.unemployed-welcome-body h1 {
    margin: 0 0 9px;
    font-size: 25px;
    font-weight: 500;
}
.unemployed-welcome-body p {
    line-height: 1.45;
}
.unemployed-welcome-body .welcome-options {
    margin: 8px 0 9px;
    padding-left: 29px;
}
.unemployed-welcome-body .welcome-options li {
    margin: 4px 0;
    line-height: 1.4;
}
.unemployed-welcome-body .important-note {
    max-width: 1080px;
    margin-top: 9px;
}

/* World map zoom navigation: overview uses magnifiers, flags appear only after zooming into a region. */
.map-overview { isolation: isolate; }
.map-zoom-marker {
    position: absolute;
    z-index: 8;
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9f1017;
    cursor: pointer;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .28));
}
.map-zoom-marker.europe-zoom { left: 55.4%; top: 26.8%; }
.map-zoom-marker.south-america-zoom { left: 33.5%; top: 68.0%; }
.map-zoom-marker small {
    padding: 3px 7px;
    border-radius: 3px;
    background: rgba(255,255,255,.94);
    color: #7e1116;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-2px);
    transition: opacity .16s ease, transform .16s ease;
}
.map-zoom-marker:hover small,
.map-zoom-marker:focus-visible small { opacity: 1; transform: translateY(0); }
.map-zoom-marker:hover,
.map-zoom-marker:focus-visible { z-index: 20; outline: none; }
.magnifier-icon {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    border: 4px solid #a40d15;
    border-radius: 50%;
    background: rgba(224, 231, 235, .82);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.65);
    transition: transform .16s ease, background .16s ease;
}
.magnifier-icon::before,
.magnifier-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 3px;
    border-radius: 2px;
    background: #a40d15;
    transform: translate(-50%, -50%);
}
.magnifier-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.map-zoom-marker::after {
    content: "";
    position: absolute;
    left: 28px;
    top: 27px;
    width: 15px;
    height: 5px;
    border-radius: 4px;
    background: #a40d15;
    transform: rotate(45deg);
    transform-origin: left center;
}
.map-zoom-marker:hover .magnifier-icon,
.map-zoom-marker:focus-visible .magnifier-icon { transform: scale(1.12); background: rgba(255,255,255,.96); }
.map-region-toolbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    min-height: 31px;
}
.map-region-toolbar strong { text-align: center; font-size: 15px; }
.map-region-toolbar > span { justify-self: end; color: var(--muted); font-size: 10px; }
.map-back-link {
    justify-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    color: #347fba;
    font: inherit;
    font-size: 11px;
    cursor: pointer;
}
.map-back-link:hover { text-decoration: underline; }
.region-zoom-map .geo-flag-marker {
    min-width: 29px;
    min-height: 21px;
    padding: 2px;
    border-radius: 4px;
    background: rgba(255,255,255,.72);
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.24));
}
.region-zoom-map .geo-flag-marker:hover,
.region-zoom-map .geo-flag-marker:focus-visible {
    z-index: 25;
    background: #fff;
    outline: 2px solid rgba(52,127,186,.38);
    transform: translate(-50%, -50%) scale(1.14);
}
.region-zoom-map .geo-flag-marker small { top: 24px; }

.region-zoom-map .geo-flag-marker::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 4px;
    height: 4px;
    margin-left: -2px;
    margin-top: 1px;
    border-radius: 50%;
    background: rgba(34, 49, 61, .58);
    box-shadow: 0 0 0 1px rgba(255,255,255,.82);
}

/* Country landing page reached from a regional flag. */
.country-leagues-overview { margin-bottom: 18px; }
.country-league-table { display: grid; }
.country-league-table-head,
.country-league-table-row {
    display: grid;
    grid-template-columns: 60px minmax(190px,1fr) 80px 80px 80px 90px 110px;
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 7px 14px;
    border-bottom: 1px solid var(--line-soft);
}
.country-league-table-head {
    min-height: 35px;
    background: #f6f8fa;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.country-league-table-row:last-child { border-bottom: 0; }
.country-league-table-row:hover { background: #f7fbfe; }
.country-league-table-row strong,
.country-league-table-row small { display: block; }
.country-league-table-row small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.country-league-table-row .league-tier-badge { margin: 0; }

@media (max-width: 780px) {
    .map-region-toolbar { grid-template-columns: 1fr auto; }
    .map-region-toolbar > span { display: none; }
    .map-zoom-marker.europe-zoom { left: 55.4%; top: 27.2%; }
    .map-zoom-marker.south-america-zoom { left: 33.5%; top: 68.0%; }
    .country-league-table-head { display: none; }
    .country-league-table-row {
        grid-template-columns: 45px minmax(150px,1fr) 72px;
        gap: 8px;
    }
    .country-league-table-row > span:nth-child(3),
    .country-league-table-row > span:nth-child(4),
    .country-league-table-row > span:nth-child(5),
    .country-league-table-row > span:nth-child(6) { display: none; }
}

/* Keep the zoom marker anchored exactly on the continent even while its label is hidden. */
.map-zoom-marker { display: block; width: 44px; height: 44px; }
.map-zoom-marker .magnifier-icon { position: absolute; left: 8px; top: 5px; }
.map-zoom-marker small {
    position: absolute;
    left: 50%;
    top: 43px;
    transform: translate(-50%, -2px);
}
.map-zoom-marker:hover small,
.map-zoom-marker:focus-visible small { transform: translate(-50%, 0); }
.map-zoom-marker::after { left: 32px; top: 31px; }


/* Precise regional flag placement: the marker center sits inside the country. */
.region-zoom-map .geo-flag-marker {
    min-width: 0;
    min-height: 0;
    padding: 1px;
    border: 1px solid rgba(31, 53, 70, .22);
    border-radius: 3px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .22);
    filter: none;
}
.region-zoom-map .geo-flag-marker > img {
    display: block;
    width: 22px;
    height: 14px;
    border: 0;
    border-radius: 1px;
    box-shadow: none;
}
.region-zoom-map .geo-flag-marker.compact-country-marker > img {
    width: 18px;
    height: 12px;
}
.region-zoom-map .geo-flag-marker::after {
    display: none;
}
.region-zoom-map .geo-flag-marker:hover,
.region-zoom-map .geo-flag-marker:focus-visible {
    transform: translate(-50%, -50%) scale(1.18);
}
.region-zoom-map .geo-flag-marker small {
    top: 22px;
}

/* Geographic projection update: map and markers use the same Mercator bounds. */
.europe-geo-map {
    width: min(900px, 100%);
    aspect-ratio: 3 / 2;
}
.south-america-geo-map {
    width: min(560px, 100%);
    aspect-ratio: 7 / 10;
}
.region-zoom-map > img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}
.region-zoom-map .geo-flag-marker {
    width: 22px;
    height: 15px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.95);
    border-radius: 2px;
    background: transparent;
    box-shadow: 0 1px 3px rgba(0,0,0,.32);
    transform: translate(-50%, -50%);
}
.region-zoom-map .geo-flag-marker > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 1px;
}
.region-zoom-map .geo-flag-marker.compact-country-marker {
    width: 16px;
    height: 11px;
}
.region-zoom-map .geo-flag-marker:hover,
.region-zoom-map .geo-flag-marker:focus-visible {
    z-index: 30;
    transform: translate(-50%, -50%) scale(1.45);
    outline: 2px solid rgba(52,127,186,.45);
    outline-offset: 2px;
}
.region-zoom-map .geo-flag-marker small {
    top: calc(100% + 7px);
    padding: 3px 6px;
    font-size: 9px;
}


/* Original club crests */
.original-club-crest { object-fit: contain; object-position: center; filter: drop-shadow(0 1px 1px rgba(0,0,0,.08)); }
.team-heading .original-club-crest.xl { width: 76px; height: 76px; margin-right: 2px; }
.goal-standings-table .original-club-crest.tiny, .cup-tie .original-club-crest.tiny { width: 20px; height: 20px; }
.original-club-crest.micro-logo { width: 18px; height: 18px; margin-right: 4px; vertical-align: middle; }
.original-club-crest + .club-badge { display: none !important; }

.team-titles-panel { margin-top: 18px; }
.team-title-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.team-title-columns h3 { margin: 0 0 10px; font-size: 18px; color: var(--ink); }
.team-title-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.team-title-list li { padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.team-title-list strong { display: inline-block; min-width: 44px; color: var(--accent); }
.team-title-list span { font-weight: 700; color: var(--ink); }
.team-title-list small { display: block; margin-top: 4px; color: var(--muted); }

.classic-country-list-panel .panel-header { align-items: center; }
.classic-country-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 20px; padding: 6px 18px 18px; }
.classic-country-column h3 { margin: 4px 0 12px; font-size: 22px; }
.classic-country-list { margin: 0; padding-left: 18px; }
.classic-country-list li { margin: 0 0 10px; }
.classic-country-list li a { display: inline-flex; align-items: center; gap: 7px; color: #2a67b1; font-weight: 600; }
.classic-country-list li small { display: block; margin: 2px 0 0 28px; color: var(--muted); font-size: 12px; }
.flag-inline-list { width: 18px; height: 12px; border: 1px solid #ccd6e0; object-fit: cover; }
.country-manager-count { color: #444; }

@media (max-width: 700px) {
  .classic-country-columns { grid-template-columns: 1fr; }
}

.cup-bracket{display:flex;gap:24px;align-items:flex-start;overflow:auto;padding:25px;background:#f7f8f9}
.cup-round{min-width:250px;display:flex;flex-direction:column;gap:12px}
.cup-round.opening-round{min-width:470px}
.cup-round-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}
.cup-round-header h3{text-align:left;color:#2d3640;margin:0;font-size:22px}
.cup-round-header small{color:var(--muted);font-weight:700}
.cup-round-list{display:grid;gap:13px}
.cup-round-list.opening-grid{grid-template-columns:repeat(2,minmax(220px,1fr));align-items:start}
.cup-tie{padding:10px 11px;background:#fff;border:1px solid var(--line);border-left:4px solid #347fba;border-radius:7px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.cup-tie small{display:block;color:var(--muted);margin-bottom:6px;font-weight:700}
.cup-tie>div{display:grid;grid-template-columns:22px 1fr 20px;gap:6px;align-items:center;min-height:29px;border-top:1px solid #f0f1f2}
.cup-decision{display:block;margin-top:7px;color:#2a6ca3;font-size:10px;font-style:normal;font-weight:800;text-align:right}

/* Internationale Vereinswettbewerbe */
.international-cup-shell{overflow:hidden;border:1px solid #cfd9e6;border-radius:10px;background:#fff;box-shadow:0 8px 28px rgba(20,48,84,.10)}
.international-cup-hero{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 240px;align-items:center;gap:18px;min-height:126px;padding:24px 28px;color:#fff;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.16),transparent 29%),linear-gradient(120deg,#071d49,#123d7b 58%,#1268a6);border-bottom:4px solid #4ba5e4}
.international-cup-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 50%,rgba(255,255,255,.07));pointer-events:none}
.international-cup-emblem{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;border:2px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(4,19,53,.45);box-shadow:inset 0 0 0 7px rgba(255,255,255,.08),0 7px 18px rgba(0,0,0,.28)}
.international-cup-emblem span{font-size:30px;color:#dbeaff;text-shadow:0 0 13px #86c7ff}
.international-cup-emblem.europa{border-radius:18px;background:linear-gradient(145deg,#101a2b,#d95b16)}
.international-cup-hero>div:nth-child(2){position:relative;z-index:1}
.international-cup-hero p{margin:0 0 5px;color:#b9d9f3;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.international-cup-hero h1{margin:0 0 7px;font-size:31px;letter-spacing:-.02em}
.international-cup-hero>div>span{color:#dceaf6;font-size:12px}
.international-cup-picker{position:relative;z-index:1;display:grid;gap:5px}
.international-cup-picker>span{color:#c4daec;font-size:10px;font-weight:800;text-transform:uppercase}
.international-cup-picker select{width:100%;padding:10px 34px 10px 11px;border:1px solid rgba(255,255,255,.45);border-radius:5px;background:#fff;color:#172638;font:inherit;font-weight:750}
.international-stage-nav{display:flex;justify-content:center;gap:5px;padding:0 24px;border-bottom:1px solid #d8e0e8;background:#f6f9fc}
.international-stage-nav a{position:relative;padding:16px 21px;color:#526273;font-size:13px;font-weight:800;text-decoration:none}
.international-stage-nav a:hover{color:#176da8}
.international-stage-nav a.active{color:#176da8}
.international-stage-nav a.active:after{content:"";position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:#2487c5}
.international-cup-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(275px,.7fr);gap:0;align-items:start}
.international-cup-main{min-width:0;padding:24px;background:#f7f9fc}
.international-cup-sidebar{min-width:0;padding:24px 20px;border-left:1px solid #dce3eb;background:#fff}
.international-cup-sidebar>section{margin-bottom:24px;border:1px solid #d9e1e9;border-radius:7px;background:#fff;overflow:hidden}
.international-cup-sidebar header,.international-group-card header,.international-matchday header,.international-final-round>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #dce3eb;background:#f6f9fb}
.international-cup-sidebar header h3,.international-group-card h3,.international-matchday h3,.international-final-round h3{margin:0;font-size:13px}
.international-cup-sidebar header span,.international-group-card header span,.international-matchday header span,.international-final-round header span{color:#718092;font-size:9px;font-weight:800;text-transform:uppercase}
.international-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.international-section-title h2{margin:2px 0 0;font-size:22px}
.international-section-title p{max-width:360px;margin:0;color:#6c7988;font-size:11px;text-align:right}
.stage-kicker{color:#2182bd;font-size:9px;font-weight:900;letter-spacing:.12em}
.international-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.international-group-card{min-width:0;border:1px solid #d7e0e9;border-radius:7px;background:#fff;box-shadow:0 2px 8px rgba(29,53,80,.05);overflow:hidden}
.international-group-card table{width:100%;border-collapse:collapse;font-size:9.5px}
.international-group-card th{padding:7px 4px;color:#728091;font-size:8px;text-transform:uppercase;border-bottom:1px solid #dbe2e9}
.international-group-card td{padding:7px 4px;text-align:center;border-bottom:1px solid #edf0f3;white-space:nowrap}
.international-group-card th:nth-child(2),.international-group-card td:nth-child(2){text-align:left}
.international-group-card tbody tr:last-child td{border-bottom:0}
.international-group-card tr.qualified{background:#e9f6e8}
.international-group-card tr.qualified td:first-child{box-shadow:inset 3px 0 #43a854}
.international-group-card td a{display:flex;align-items:center;gap:5px;min-width:0;color:#1e5e92;font-weight:750}
.international-group-card td a span{overflow:hidden;text-overflow:ellipsis}
.international-group-card .club-logo.tiny{width:18px;height:18px;flex:0 0 18px}
.international-group-card td strong{color:#0c4e82;font-size:11px}
.international-matchdays{display:grid;gap:15px}
.international-matchday{border:1px solid #d9e1e9;border-radius:7px;background:#fff;overflow:hidden}
.international-fixture{display:grid;grid-template-columns:45px minmax(0,1fr) 55px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:6px 12px;border-bottom:1px solid #edf0f3}
.international-fixture:last-child{border-bottom:0}
.international-fixture>a{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;color:#216ca2;font-size:11px;font-weight:700}
.international-fixture>a:last-child{justify-content:flex-start}
.international-fixture>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixture-group{color:#8793a1;font-size:9px;font-weight:800}
.fixture-score{padding:5px;border-radius:4px;background:#eaf1f7;color:#153b5d;text-align:center;font-size:12px}
.international-finals{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:15px;align-items:start;overflow:auto}
.international-final-round{border:1px solid #d7e0e9;border-radius:7px;background:#fff;overflow:hidden}
.international-pairing{padding:9px;border-bottom:1px solid #dce3e9}
.international-pairing:last-child{border-bottom:0}
.knockout-match{margin-bottom:7px;padding:7px;border:1px solid #edf0f3;border-radius:4px;background:#fafcfd}
.knockout-match:last-child{margin-bottom:0}
.knockout-match small{display:block;margin-bottom:4px;color:#7d8996;font-size:8px;font-weight:800;text-transform:uppercase}
.knockout-match>span{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:5px;min-height:24px}
.knockout-match .club-logo.tiny{width:16px;height:16px}
.knockout-match a{overflow:hidden;color:#245f8d;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.knockout-match b{text-align:right}
.aggregate-result{display:block;padding:3px 6px;color:#176da8;font-size:9px;text-align:right}
.international-scorer{display:grid;grid-template-columns:18px minmax(0,1fr) 90px 20px;align-items:center;gap:6px;min-height:38px;padding:6px 9px;border-bottom:1px solid #edf0f3;font-size:9px}
.international-scorer:last-child{border-bottom:0}
.international-scorer>b{color:#7d8995;text-align:center}
.international-scorer>a{overflow:hidden;color:#216ca2;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.international-scorer>a:nth-of-type(2){display:flex;align-items:center;gap:4px;color:#5c6c7d;font-weight:500}
.international-scorer>a:nth-of-type(2) span{overflow:hidden;text-overflow:ellipsis}
.international-scorer .club-logo.tiny{width:15px;height:15px;flex:0 0 15px}
.international-scorer strong{text-align:right}
.international-champion{display:grid;grid-template-columns:75px minmax(0,1fr);gap:3px 8px;align-items:center;padding:9px;border-bottom:1px solid #edf0f3;font-size:9px}
.international-champion:last-child{border-bottom:0}
.international-champion>b{grid-row:1/3;color:#25384c}
.international-champion>span{overflow:hidden;color:#788697;text-overflow:ellipsis;white-space:nowrap}
.international-champion>a{display:flex;align-items:center;gap:5px;overflow:hidden;color:#216ca2;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.international-champion .club-logo.tiny{width:15px;height:15px}
.international-empty{padding:17px;margin:0;color:#7b8794;font-size:10px;text-align:center}
.international-info-card{padding:24px;border:1px solid #d5e0eb;border-radius:8px;background:linear-gradient(135deg,#fff,#edf6fc)}
.international-info-card h2{margin:4px 0 9px;font-size:24px}
.international-info-card p{max-width:720px;color:#57697b;font-size:12px;line-height:1.65}
.qualification-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}
.qualification-rules>div{padding:12px;border:1px solid #d8e2eb;border-radius:6px;background:#fff;text-align:center}
.qualification-rules b,.qualification-rules span{display:block}
.qualification-rules b{color:#116da9;font-size:22px}
.qualification-rules span{margin-top:3px;color:#718091;font-size:9px;font-weight:750}
.international-participants{margin-top:18px}
.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.participant-grid>a{display:grid;grid-template-columns:24px 34px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:1px solid #dbe2e9;border-radius:6px;background:#fff;color:#273b4e}
.participant-grid>a:hover{border-color:#77afd2;box-shadow:0 3px 10px rgba(26,89,132,.08)}
.participant-grid .seed-number{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e7f1f8;color:#1e6fa6;font-size:9px;font-weight:800}
.participant-grid .club-logo{width:30px;height:30px}
.participant-grid b,.participant-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.participant-grid b{font-size:11px}
.participant-grid small{margin-top:2px;color:#7a8794;font-size:8px}

@media(max-width:1000px){
  .international-cup-layout{grid-template-columns:1fr}
  .international-cup-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;border-top:1px solid #dce3eb;border-left:0}
  .international-cup-sidebar>section{margin:0}
}
@media(max-width:760px){
  .international-cup-hero{grid-template-columns:55px 1fr;padding:18px}
  .international-cup-emblem{width:52px;height:52px}
  .international-cup-hero h1{font-size:23px}
  .international-cup-picker{grid-column:1/-1}
  .international-stage-nav{justify-content:flex-start;overflow:auto;padding-inline:9px}
  .international-stage-nav a{padding:13px 12px;white-space:nowrap}
  .international-cup-main{padding:14px}
  .international-groups-grid,.participant-grid,.international-cup-sidebar{grid-template-columns:1fr}
  .international-finals{grid-template-columns:repeat(3,240px)}
  .qualification-rules{grid-template-columns:repeat(2,1fr)}
  .international-fixture{grid-template-columns:35px minmax(80px,1fr) 45px minmax(80px,1fr);padding-inline:7px}
}
@media (max-width: 1100px){
  .cup-round.opening-round{min-width:250px}
  .cup-round-list.opening-grid{grid-template-columns:1fr}
}

/* Transfermarkt im Goal-FC-Stil */
.transfer-market-panel { overflow: hidden; }
.transfer-market-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.transfer-filter-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.transfer-filter-form select, .transfer-filter-form input, .league-select-label select { min-height: 35px; padding: 7px 10px; border: 1px solid #aeb9c3; border-radius: 4px; background: #fff; font: inherit; }
.transfer-filter-form select { min-width: 150px; }
.transfer-filter-form input { min-width: 230px; }
.transfer-budget-strip { display: flex; align-items: center; gap: 20px; padding: 10px 16px; border-bottom: 1px solid #d6e8cd; background: #eef8e9; color: #327125; }
.transfer-budget-strip strong { color: #1c4e15; }
.transfer-table-wrap { max-height: 650px; overflow: auto; scrollbar-gutter: stable both-edges; overscroll-behavior: contain; background: #fff; }
.transfer-market-table { min-width: 1380px; width: max-content; border-collapse: separate; border-spacing: 0; font-size: 11px; }
.transfer-market-table th,
.transfer-market-table td { white-space: nowrap; background: #fff; }
.transfer-market-table th { position: sticky; top: 0; z-index: 4; background: #f5f7f8; }
.transfer-market-table td { position: relative; }
.transfer-market-table tbody tr:hover,
.transfer-market-table tbody tr:hover td { background: #f0f7fc; }
.transfer-market-table th:nth-child(1),
.transfer-market-table td:nth-child(1) { position: sticky; left: 0; min-width: 34px; width: 34px; z-index: 5; box-shadow: 1px 0 0 #e2e8ee; }
.transfer-market-table th:nth-child(2),
.transfer-market-table td:nth-child(2) { position: sticky; left: 34px; min-width: 175px; z-index: 5; box-shadow: 1px 0 0 #e2e8ee; }
.transfer-market-table th:nth-child(3),
.transfer-market-table td:nth-child(3) { position: sticky; left: 209px; min-width: 190px; z-index: 5; box-shadow: 2px 0 0 #d9e1e8; }
.transfer-market-table th:last-child,
.transfer-market-table td:last-child { position: sticky; right: 0; min-width: 88px; z-index: 5; box-shadow: -2px 0 0 #d9e1e8; }
.transfer-market-table thead th:nth-child(1),
.transfer-market-table thead th:nth-child(2),
.transfer-market-table thead th:nth-child(3),
.transfer-market-table thead th:last-child { z-index: 7; }
.transfer-market-table tbody tr:hover td:nth-child(1),
.transfer-market-table tbody tr:hover td:nth-child(2),
.transfer-market-table tbody tr:hover td:nth-child(3),
.transfer-market-table tbody tr:hover td:last-child { background: #f0f7fc; }
.transfer-market-table .club-logo.micro-logo { width: 17px; height: 17px; vertical-align: -4px; margin-right: 3px; }
.market-status { display: inline-flex; padding: 3px 7px; border-radius: 11px; font-size: 10px; font-weight: 800; }
.market-status.loan { background: #e7f0ff; color: #245eaa; }
.market-price { color: #1d4f7a; }
.market-price.free { color: #25833c; }
.inline-market-action { display: inline; }
.inline-market-action .text-action { border: 0; background: none; color: #2679ba; cursor: pointer; padding: 0; font-weight: 700; }
.inline-market-action .text-action:hover { text-decoration: underline; }

.player-market-actions { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.player-market-actions h3 { margin-bottom: 10px; }
.player-market-form { display: grid; gap: 9px; }
.player-market-form label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 700; }
.player-market-form select, .player-market-form input { width: 100%; padding: 8px 9px; border: 1px solid #b8c3cc; border-radius: 4px; background: #fff; font: inherit; }
.market-current-status { margin: 0 0 10px; color: var(--muted); }
.market-info-box { display: grid; gap: 4px; margin-bottom: 10px; padding: 10px; border: 1px solid #c6dceb; border-radius: 5px; background: #eef7fd; }
.market-info-box.loan { border-color: #c8d9f2; background: #eef4ff; color: #245eaa; }
.market-info-box span { color: var(--muted); font-size: 11px; }
.market-country-link { display: inline-block; margin-top: 10px; font-size: 11px; font-weight: 700; }

@media (max-width: 900px) {
  .transfer-market-toolbar { align-items: stretch; flex-direction: column; }
  .transfer-budget-strip { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* Erweiterte Spielmechanik: Formation, Traits, Coaching, Vorstand und Finanzen */
.player-traits-box { display: grid; gap: 7px; padding: 11px 12px; border: 1px solid #d8e0e7; border-radius: 6px; background: #fafcfd; }
.player-traits-box p { margin: 0; line-height: 1.45; }
.positive-trait { color: #19823b; font-weight: 700; }
.negative-trait { color: #c12f2f; font-weight: 700; }
.trait-gut { color: #19823b; }
.trait-schlecht { color: #c12f2f; }
.trait-vernünftig { color: #97620b; }
.contract-renewal-box { margin-bottom: 12px; padding: 11px; border: 1px solid #d6e6cf; border-radius: 6px; background: #f3faef; }
.contract-renewal-box h4 { margin: 0 0 8px; }
.coach-report-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; margin-top: 10px; }
.coach-report-card { display: grid; gap: 7px; min-height: 125px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.coach-report-card.done { border-left: 4px solid #38a653; background: #f4fbf5; }
.coach-report-card.pending { border-left: 4px solid #d39a20; background: #fffaf0; }
.coach-report-card.open { border-left: 4px solid #8b98a5; }
.coach-report-card span,.coach-report-card small { color: var(--muted); }
.coach-report-card form { margin-top: auto; }

.formation-config-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; padding: 7px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.formation-config-tabs button { padding: 9px 13px; border: 0; border-radius: 4px; background: transparent; color: #347fba; font-weight: 800; cursor: pointer; }
.formation-config-tabs button.active { background: #347fba; color: #fff; }
.formation-config-panel { display: none; }
.formation-config-panel.active { display: block; }
.formation-tactics-save-form { display: grid; gap: 9px; margin-top: 12px; }
.formation-tactics-save-form label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; color: var(--muted); }
.formation-tactics-save-form select { width: 100%; padding: 8px; border: 1px solid #b9c5cf; border-radius: 4px; background: #fff; }
.formation-rules-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(235px,1fr)); gap: 12px; padding: 16px; }
.formation-rule-card { display: grid; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: #fafcfd; }
.formation-rule-card h3 { margin: 0 0 2px; }
.formation-rule-card label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 700; }
.formation-rule-card select,.formation-rule-card input,.formation-instruction-table select { width: 100%; min-height: 33px; padding: 6px 8px; border: 1px solid #b8c4ce; border-radius: 4px; background: #fff; }
.formation-help-note { margin: 0 16px 16px; padding: 10px 12px; border: 1px solid #f0dba4; border-radius: 5px; background: #fff9e8; color: #765614; }
.formation-instruction-table td:first-child { min-width: 190px; }
.formation-instruction-table td:first-child small { display: block; color: var(--muted); }
.formation-instruction-table select { min-width: 145px; }

.national-team-layout { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(520px,1.35fr); gap: 18px; margin-top: 18px; }
.national-manager-card { display: grid; gap: 12px; }
.national-manager-card p { margin: 0; }

.investment-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 14px; }
.investment-card { padding: 15px; }
.investment-head { display: flex; align-items: center; gap: 12px; }
.investment-head > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #eaf4fb; font-size: 22px; }
.investment-head h2 { margin: 0; font-size: 18px; }
.investment-head strong { color: #347fba; }
.investment-card > p { min-height: 45px; color: var(--muted); }
.investment-card dl { display: grid; gap: 6px; margin: 10px 0; }
.investment-card dl div { display: flex; justify-content: space-between; gap: 8px; }
.investment-card dt { color: var(--muted); }
.investment-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.board-summary { display: grid; grid-template-columns: 145px 1fr; gap: 20px; align-items: start; }
.board-score { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(#347fba 0 70%,#e3e8ec 70%); color: #fff; font-size: 32px; font-weight: 900; box-shadow: inset 0 0 0 16px rgba(255,255,255,.18); }
.board-rating-grid { display: grid; grid-template-columns: repeat(2,minmax(190px,1fr)); gap: 10px; }
.board-rating-grid article { position: relative; overflow: hidden; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.board-rating-grid article span,.board-rating-grid article strong { position: relative; z-index: 2; }
.board-rating-grid article strong { float: right; }
.board-rating-grid article i { position: absolute; left: 0; bottom: 0; height: 4px; background: #347fba; }
.board-risk-note { color: #b32d2d; font-weight: 700; }
.finance-period-table .positive-number,.positive-number { color: #178139; font-weight: 800; }
.finance-period-table .negative-number,.negative-number { color: #c33030; font-weight: 800; }
.coach-request-list,.friendly-invitation-list,.friendly-club-grid { display: grid; gap: 9px; padding: 14px; }
.coach-request-list article,.friendly-invitation-list article,.friendly-club-grid article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.coach-request-list strong,.coach-request-list span,.friendly-invitation-list strong,.friendly-invitation-list span,.friendly-club-grid strong,.friendly-club-grid small { display: block; }
.coach-request-list span,.coach-request-list small,.friendly-invitation-list span,.friendly-club-grid small { color: var(--muted); }
.friendly-actions { display: flex; gap: 7px; }

@media (max-width: 900px) {
  .national-team-layout,.board-summary { grid-template-columns: 1fr; }
  .board-score { width: 130px; }
  .board-rating-grid { grid-template-columns: 1fr; }
}

/* Gefährdete Managerjobs */
.status-pill.status-danger { background: #fde8e8; color: #a32121; border: 1px solid #efb7b7; }
.manager-at-risk-box { border-color: #e8b0b0; background: #fff9f9; }
.job-search-table tr.manager-risk-job td { background: #fff5f5; }
.job-search-table tr.manager-risk-job:hover td { background: #ffeded; }

.release-player-form { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.button-danger-outline { color: #a32121; border-color: #d9a0a0; background: #fff7f7; }
.button-danger-outline:hover { background: #fdeaea; }

.financial-power-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;padding:16px}.financial-power-grid article{padding:16px;border:1px solid var(--line);border-radius:6px;background:#f8fbfd}.financial-power-grid span,.financial-power-grid strong{display:block}.financial-power-grid span{color:var(--muted);font-size:11px}.financial-power-grid strong{margin-top:5px;font-size:20px;color:#286f9f}@media(max-width:700px){.financial-power-grid{grid-template-columns:1fr}}

.ranking-rule-note { margin: 10px 0 14px; padding: 10px 13px; border: 1px solid #cfe0ee; border-radius: 6px; background: #f4f9fd; color: #456274; font-size: 12px; }
.manager-profile-head > .ranking-rule-note { margin: 0 18px 15px; }

.player-club-link{display:inline-flex;align-items:center;gap:6px}.player-club-link .micro-logo{margin-right:0}


/* Match report compact center stats */
.report-center-column.compact { display:grid; gap:10px; align-content:start; margin-top:-48px; }
.report-main-score-card { padding:10px 14px; border:1px solid #d8dee7; border-radius:10px; background:linear-gradient(180deg,#fbfcfe 0%,#f3f6fa 100%); box-shadow:0 1px 2px rgba(20,30,40,.05); }
.report-main-score-card .report-main-score { margin:0; font-size:36px; font-weight:700; line-height:1.05; letter-spacing:.4px; }
.report-main-score-card .motm-note { margin-top:6px; font-size:11px; color:#6b7380; }
.report-stats-table { display:grid; grid-template-columns: 1fr minmax(118px, 1.15fr) 1fr; border:1px solid #d8dee7; border-radius:10px; overflow:hidden; background:#fff; }
.report-stats-head { padding:10px 8px; background:#f3f6fa; font-size:12px; font-weight:700; color:#24303b; text-align:center; border-bottom:1px solid #d8dee7; }
.report-stats-head.center { color:#637080; text-transform:uppercase; letter-spacing:.04em; }
.report-stat-value, .report-stat-label { padding:7px 8px; border-bottom:1px solid #edf1f5; font-size:12px; }
.report-stat-value { text-align:center; font-weight:700; color:#1f2933; }
.report-stat-label { text-align:center; color:#54606d; background:#fbfcfd; }
.report-stats-table > :nth-last-child(-n+3) { border-bottom:none; }
.report-player-list { gap:2px; }
.report-player-row { min-height:22px; font-size:12px; }
.report-player-name { min-width:0; }
.report-player-name-home,
.report-player-name-away { display:flex; align-items:center; gap:4px; }
.report-player-name-home { justify-content:flex-start; }
.report-player-name-away { justify-content:flex-end; text-align:right; }
.report-event-icons { display:inline-flex; align-items:center; gap:2px; flex:0 0 auto; white-space:nowrap; color:#6c7480; font-size:11px; line-height:1; }
.report-event-icons-after { margin-left:1px; }
.report-event-icons-before { margin-right:1px; }
.report-injury-icon { display:inline-flex; align-items:center; justify-content:center; width:13px; height:13px; }
.report-injury-icon img { display:block; width:12px; height:12px; }
.report-player-name a { color:#216eaa; font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-player-row.right .report-player-name { text-align:right; }
.report-manager-line a { color:#216eaa; font-weight:650; }
@media (max-width: 1200px) {
  .match-report-layout { grid-template-columns: minmax(250px,1fr) 280px minmax(250px,1fr); gap:14px; }
}
@media (max-width: 900px) {
  .report-stats-table { grid-template-columns: 1fr 120px 1fr; }
  .report-center-column.compact { margin-top:0; }
}

.pitch-player small { letter-spacing: .02em; }
.tactics-column .panel-header + label { margin-top: 14px; }

.mail-reader .button + .button { margin-left: 0; }
.mail-body a { color: #3778bc; font-weight: 600; }

/* Simplified player profile */
.simple-player-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 10px 0 4px;
}
.simple-player-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.simple-player-title h1 { margin: 0; font-size: 30px; font-weight: 500; line-height: 1.1; }
.simple-player-title p { margin: 3px 0 0; color: #68737f; font-size: 12px; }
.simple-shirt-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 30px;
    color: #fff;
    background: #145ed6;
    clip-path: polygon(20% 0, 80% 0, 100% 22%, 86% 38%, 86% 100%, 14% 100%, 14% 38%, 0 22%);
    font-size: 11px;
    font-weight: 800;
}
.simple-player-tabs { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.simple-player-tabs a { padding: 11px 15px; border-radius: 4px 4px 0 0; color: #2f78ba; font-size: 13px; }
.simple-player-tabs a:hover { background: rgba(255,255,255,.55); }
.simple-player-tabs a.active { color: #fff; background: #347fba; }

.simple-player-info-grid { display: grid; grid-template-columns: minmax(330px, 40%) minmax(0, 60%); gap: 24px; align-items: start; }
.simple-player-left, .simple-player-right { display: grid; gap: 18px; min-width: 0; }
.simple-profile-card, .simple-player-main-panel { box-shadow: none; border: 1px solid #d8dde3; border-radius: 3px; overflow: hidden; }
.simple-profile-card .panel-header, .simple-player-main-panel .panel-header { min-height: 42px; padding: 0 14px; background: #f7f7f7; }
.simple-profile-card .panel-header h2, .simple-player-main-panel .panel-header h2 { font-size: 16px; font-weight: 500; }
.simple-profile-body { padding: 16px 18px; background: #fff; }
.simple-data-list { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 6px 12px; margin: 0; font-size: 13px; }
.simple-data-list dt { color: #303943; }
.simple-data-list dd { margin: 0; color: #202832; }
.simple-data-list.attribute-values { grid-template-columns: 105px 1fr; max-width: 270px; }
.simple-data-list.attribute-values dd { font-variant-numeric: tabular-nums; }
.simple-club-link { display: inline-flex; align-items: center; gap: 6px; }
.simple-traits p { margin: 0 0 8px; font-size: 13px; }
.simple-actions { display: grid; gap: 10px; }
.simple-action-link {
    border: 0;
    padding: 0;
    background: transparent;
    color: #2f78ba;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    text-align: left;
}
.simple-action-link:hover { text-decoration: underline; }
.simple-action-link.danger { color: #bd3131; }
.simple-market-form, .simple-offer-form { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(130px, .8fr) auto; gap: 8px; align-items: end; }
.simple-market-form select, .simple-market-form input, .simple-offer-form input { width: 100%; min-height: 34px; }
.simple-offer-form label { display: grid; gap: 4px; font-size: 11px; color: #5e6872; }
.simple-current-stats { min-width: 0; }
.simple-player-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.simple-player-table th, .simple-player-table td { padding: 8px 8px; border-bottom: 1px solid #e1e4e8; text-align: center; }
.simple-player-table th:first-child, .simple-player-table td:first-child { text-align: left; }
.simple-player-table thead th { font-weight: 700; color: #202832; background: #fff; }
.simple-player-table tfoot th { background: #f8f9fa; border-top: 2px solid #d5dae0; }
.simple-player-main-panel { margin-top: 0; }
.simple-player-main-panel .simple-profile-body { padding: 16px 14px 20px; }
.full-stats-table .season-divider th { padding: 8px; text-align: left; background: #f1f2f3; font-size: 13px; }
.full-stats-table .season-total th { background: #fffbea; font-weight: 700; }
.full-stats-table .grand-total th { background: #dff0d8; font-weight: 800; }
.history-table th:nth-child(5), .history-table td:nth-child(5) { text-align: left; }
.awards-table { max-width: 100%; }

.simple-coaching-grid { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 24px; align-items: start; }
.coaching-report-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.coaching-report-card .simple-profile-body { min-height: 92px; }
.coaching-report-card p { margin: 0 0 12px; font-size: 12px; line-height: 1.45; }
.coaching-tip { margin-top: 18px; }
.player-note-form { display: grid; gap: 12px; }
.player-note-form textarea { width: 100%; min-height: 145px; resize: vertical; padding: 12px; border: 1px solid #cbd2d9; border-radius: 3px; font: inherit; }
.note-footer { display: flex; align-items: center; justify-content: space-between; color: #68737f; font-size: 12px; }

@media (max-width: 980px) {
    .simple-player-header { align-items: flex-start; flex-direction: column; }
    .simple-player-info-grid { grid-template-columns: 1fr; }
    .simple-coaching-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .simple-player-tabs a { padding: 9px 10px; }
    .simple-player-title h1 { font-size: 24px; }
    .coaching-report-list { grid-template-columns: 1fr; }
    .simple-market-form, .simple-offer-form { grid-template-columns: 1fr; }
    .simple-player-table { font-size: 11px; }
    .simple-player-table th, .simple-player-table td { padding: 6px 4px; }
}


/* Manager-Auszeichnungen direkt am Personen-Icon */
.manager-icon-badge {
    --manager-crown: #e9a40c;
    --manager-crown-shadow: rgba(116, 74, 0, .34);
    position: relative;
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-inline: .5px;
    vertical-align: -2px;
    overflow: visible;
}
.manager-icon-badge .human-manager-icon {
    margin: 0;
}

/* Standard: grüner, schlanker Körper und mittiger orangefarbener Kopf. */
.manager-icon-badge .human-manager-icon::after {
    background: linear-gradient(180deg, #63da79 0%, #34b54d 100%);
    box-shadow: 0 0 0 .5px rgba(17,112,48,.7), inset 0 .6px 0 rgba(255,255,255,.28);
}

/* Champions League: roter Körper + rote Krone. */
.manager-icon-badge.manager-award-cl .human-manager-icon::after {
    background: linear-gradient(180deg, #f05b67 0%, #cf2636 100%);
    box-shadow: 0 0 0 .5px rgba(143,19,31,.72), inset 0 .6px 0 rgba(255,255,255,.26);
}

/* Europa League: blauer Körper + blaue Krone. */
.manager-icon-badge.manager-award-el .human-manager-icon::after {
    background: linear-gradient(180deg, #5ba8ef 0%, #2678c8 100%);
    box-shadow: 0 0 0 .5px rgba(16,78,139,.72), inset 0 .6px 0 rgba(255,255,255,.27);
}

/* Ligameister: goldener Körper + goldene Krone. */
.manager-icon-badge.manager-award-league .human-manager-icon::after {
    background: linear-gradient(180deg, #ffd86a 0%, #e7a817 100%);
    box-shadow: 0 0 0 .5px rgba(145,91,0,.72), inset 0 .6px 0 rgba(255,255,255,.3);
}

/* Weltmeister-Nationaltrainer: gelber Körper + gelbe Krone. */
.manager-icon-badge.manager-award-world .human-manager-icon::after {
    background: linear-gradient(180deg, #ffe772 0%, #e9b51d 100%);
    box-shadow: 0 0 0 .5px rgba(139,96,0,.72), inset 0 .6px 0 rgba(255,255,255,.32);
}

.manager-icon-badge.crown-gold::before,
.manager-icon-badge.crown-red::before,
.manager-icon-badge.crown-blue::before,
.manager-icon-badge.crown-yellow::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -2px;
    z-index: 3;
    transform: translateX(-50%);
    width: 8px;
    height: 5px;
    background: var(--manager-crown);
    clip-path: polygon(0 14%, 24% 47%, 50% 0, 76% 47%, 100% 14%, 87% 100%, 13% 100%);
    filter: drop-shadow(0 .55px .35px var(--manager-crown-shadow));
}
.manager-icon-badge.crown-gold::before {
    --manager-crown: #e9a40c;
    --manager-crown-shadow: rgba(116, 74, 0, .36);
}
.manager-icon-badge.crown-red::before {
    --manager-crown: #d92c3b;
    --manager-crown-shadow: rgba(116, 12, 22, .34);
}
.manager-icon-badge.crown-blue::before {
    --manager-crown: #2b80cf;
    --manager-crown-shadow: rgba(18, 77, 131, .34);
}
.manager-icon-badge.crown-yellow::before {
    --manager-crown: #e9b51d;
    --manager-crown-shadow: rgba(122, 82, 0, .36);
}


/* Coaching- und Spielerentwicklungsanzeige */
.skill-improved { color:#0878d1 !important; font-weight:800; }
.skill-declined { color:#c62828 !important; font-weight:800; }
.development-unlock { display:grid; gap:3px; margin:0 0 12px; padding:10px 11px; border-radius:5px; font-size:12px; line-height:1.4; }
.development-unlock.locked { background:#fff6e6; border:1px solid #efc67f; color:#7a4c00; }
.development-unlock.unlocked { background:#edf8ef; border:1px solid #add7b5; color:#236d35; }
.development-unlock span { font-weight:400; }
.request-all-reports { margin-top:14px; }
.coaching-report-card .simple-profile-body { min-height:112px; display:flex; flex-direction:column; align-items:flex-start; }
.coaching-report-card form { margin-top:auto; padding-top:10px; }

/* Postfach: kompakte Goal-FC-artige Meldungen */
.mail-list-item.mail-improved .mail-icon { color:#0878d1; }
.mail-list-item.mail-declined .mail-icon { color:#c62828; }
.mail-list-item.mail-medical .mail-icon { color:#2b9a4b; }
.category-chip.mail-improved { background:#e8f3ff; color:#0869b5; }
.category-chip.mail-declined { background:#fdecec; color:#b62222; }
.category-chip.mail-medical { background:#eaf7ed; color:#267a3d; }
.mail-reader-head h2 { font-size:22px; line-height:1.25; }
.mail-reader-head p { font-size:12px; }
.mail-body { max-width:760px; font-size:14px; line-height:1.65; color:#303943; }
.mail-body p { margin:0 0 12px; }
.mail-player-reference { padding-bottom:10px; border-bottom:1px solid #e3e8ed; font-weight:600; }
.mail-player-reference a { color:#2878bd; font-weight:800; }

.coach-report-meta { display:block; margin-top:6px; color:#737e89; font-size:11px; }
.mail-body { white-space:normal; }
.skill-change-legend { display:flex; align-items:center; gap:12px; font-size:11px; }
.skill-change-legend small { color:#7a838d; }


/* Ergebnisfarben: nur die Schrift signalisiert den Ausgang */
.match-result.won { color: #249447; }
.match-result.lost { color: #cf3f3f; }
.match-result.tie { color: #2375c9; }

/* Nationalteam: automatische Bestenauswahl und manuelle 23er-Kaderverwaltung */
.national-manager-panel, .national-squad-panel, .national-selection-panel { margin-bottom: 18px; }
.national-manager-card { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.national-manager-line { display:flex; align-items:center; gap:10px; }
.national-manager-line > div { display:grid; gap:2px; }
.national-manager-line small { color:var(--muted); }
.national-squad-counter { color:var(--muted); font-size:11px; }
.national-squad-table .micro-logo { vertical-align:-4px; margin-right:5px; }
.national-selection-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) 280px auto; align-items:end; gap:16px; padding:14px 16px; border-bottom:1px solid var(--line); background:#fafbfd; }
.national-selection-toolbar > div { display:grid; gap:4px; }
.national-selection-toolbar small { color:var(--muted); max-width:680px; }
.national-selection-toolbar label { display:grid; gap:5px; color:var(--muted); font-size:11px; }
.national-selection-toolbar input[type="search"] { width:100%; }
.national-selection-scroll { max-height:590px; overflow:auto; }
.national-selection-table th { position:sticky; top:0; z-index:2; background:#f5f7f8; }
.national-selection-table td:first-child, .national-selection-table th:first-child { text-align:center; width:70px; }
.national-selection-table input[type="checkbox"] { width:17px; height:17px; accent-color:#347fba; }
.national-selection-table tr:has(input:checked) { background:#edf7ff; }
.legend-removed { justify-content:flex-end; }

/* Moderneres Admin-Panel */
.admin-stat-grid-five { grid-template-columns:repeat(5,1fr); }
.modern-admin-server-panel .panel-header { min-height:50px; }
.admin-server-cards { display:grid; gap:18px; padding:16px; }
.admin-server-card { border:1px solid #dfe5eb; border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 8px 22px rgba(35,53,68,.06); }
.admin-server-card > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; background:linear-gradient(180deg,#fbfcfd,#f3f6f8); border-bottom:1px solid #e4e9ee; }
.admin-server-identity { display:flex; align-items:center; gap:10px; }
.admin-server-identity > div { display:grid; gap:2px; }
.admin-server-identity strong { font-size:16px; }
.admin-server-identity small { color:var(--muted); }
.admin-server-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-bottom:1px solid #e6ebef; }
.admin-server-metrics > div { display:grid; gap:4px; padding:14px 16px; border-right:1px solid #e6ebef; }
.admin-server-metrics > div:last-child { border-right:0; }
.admin-server-metrics span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.admin-server-metrics strong { font-size:13px; }
.admin-simulation-actions { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:14px; padding:16px; }
.admin-action-box { display:flex; flex-direction:column; gap:8px; min-height:160px; padding:14px; border:1px solid #dfe5eb; border-radius:8px; background:#fafbfd; }
.admin-action-box h3 { margin:0; font-size:14px; }
.admin-action-box p { margin:0 0 auto; color:var(--muted); font-size:11px; }
.admin-target-form { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.admin-target-form label, .admin-interval-form label { display:grid; gap:4px; color:var(--muted); font-size:10px; }
.admin-target-form button { grid-column:1/-1; }
.admin-interval-form { display:grid; gap:9px; }
@media (max-width:1100px) {
  .admin-stat-grid-five { grid-template-columns:repeat(3,1fr); }
  .admin-simulation-actions { grid-template-columns:1fr; }
  .national-selection-toolbar { grid-template-columns:1fr 1fr; }
  .national-selection-toolbar button { grid-column:1/-1; justify-self:start; }
}
@media (max-width:720px) {
  .admin-stat-grid-five, .admin-server-metrics { grid-template-columns:1fr; }
  .admin-server-metrics > div { border-right:0; border-bottom:1px solid #e6ebef; }
  .national-selection-toolbar { grid-template-columns:1fr; }
  .national-manager-card { align-items:flex-start; flex-direction:column; }
}

/* Einheitliche Karten- und Verletzungsanzeige */
.player-status-icons {
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:5px;
  vertical-align:middle;
  white-space:nowrap;
}
.status-card {
  position:relative;
  display:inline-block;
  width:9px;
  height:13px;
  border-radius:1px;
  box-shadow:0 1px 2px rgba(0,0,0,.22);
  transform:rotate(2deg);
}
.status-card small {
  position:absolute;
  right:-5px;
  bottom:-5px;
  display:grid;
  place-items:center;
  min-width:11px;
  height:11px;
  padding:0 2px;
  border-radius:7px;
  background:#263441;
  color:#fff !important;
  font-size:7px !important;
  font-weight:900;
  line-height:1;
}
.status-yellow { border:1px solid #9e7c00; background:#ffd52a; }
.status-red { border:1px solid #8d1515; background:#df2525; }
.status-icon.status-injury { color:#d92525; font-size:15px; font-weight:900; line-height:1; text-shadow:0 1px #fff; }
.pool-player-name { display:flex; align-items:center; min-width:0; gap:3px; }
.pool-player-name b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pool-player-name .player-status-icons { margin-left:2px; }
.pitch-player .player-status-icons { gap:2px; margin-left:2px; }
.pitch-player .status-card { width:6px; height:9px; }
.pitch-player .status-card small { display:none; }
.pitch-player .status-injury { font-size:10px; }

/* Formation: aufgeräumte Kaderauswahl und leere Formationsvorlagen */
.formation-workspace { grid-template-columns:270px 330px minmax(410px,1fr); gap:12px; }
.formation-workspace > .panel, .pitch-wrap { border-color:#d9e0e6; }
.tactics-column .formation-tactics-save-form { display:grid; gap:0; padding-bottom:4px; }
.tactics-column .formation-tactics-save-form > label { display:grid; gap:4px; margin:8px 14px; color:#3f4953; font-size:11px; font-weight:750; }
.tactics-column select { min-height:35px; }
.squad-column { max-height:720px; scrollbar-width:thin; scrollbar-color:#b7c0c8 #f4f6f7; }
.position-group { padding:9px 10px 0; }
.pool-player { grid-template-columns:34px minmax(0,1fr) auto; min-height:39px; padding:5px 6px; border-radius:4px; }
.pool-player small { max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.formation-unavailable-summary > span { display:flex; align-items:center; gap:3px; }
.formation-placeholder {
  position:absolute;
  z-index:3;
  width:58px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  text-align:center;
  opacity:.9;
}
.formation-placeholder > span {
  display:grid;
  place-items:center;
  width:29px;
  height:31px;
  margin:auto;
  border:1px dashed rgba(255,255,255,.9);
  background:rgba(83,91,99,.72);
  color:#f5f7f8;
  clip-path:polygon(20% 0,36% 10%,64% 10%,80% 0,100% 21%,83% 35%,80% 100%,20% 100%,17% 35%,0 21%);
  font-size:9px;
  font-weight:900;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));
}
.formation-placeholder::after {
  content:"frei";
  display:inline-block;
  margin-top:2px;
  padding:1px 4px;
  border-radius:3px;
  background:rgba(28,36,42,.52);
  color:#eef1f3;
  font-size:7px;
  letter-spacing:.04em;
}
.bench-zone { background:#fafbfc; }

/* Postfach: sehr schmale Seitenliste; beide Spalten scrollen innerhalb der UI */
.mail-shell { max-width:980px; margin-inline:auto; }
.mail-layout {
  grid-template-columns:182px minmax(0,1fr);
  height:clamp(480px,calc(100vh - 245px),640px);
  min-height:0;
}
.mail-toolbar { padding:12px 15px; }
.mail-toolbar h1 { font-size:19px; }
.mail-list { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#aeb8c1 #f3f5f7; }
.mail-list-item { grid-template-columns:25px minmax(0,1fr); gap:7px; padding:9px 7px; }
.mail-list-item.selected { border-left-width:3px; padding-left:5px; }
.mail-list-item strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.mail-list-item b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.mail-list-item small { margin-top:2px; font-size:9px; }
.mail-icon { width:24px; height:24px; font-size:12px; }
.mail-reader { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 24px 25px; scrollbar-width:thin; scrollbar-color:#aeb8c1 #f3f5f7; }
.mail-reader-head { padding-bottom:14px; }
.mail-reader-head h2 { margin:7px 0; font-size:21px; }
.mail-body { min-height:220px; max-width:700px; padding:19px 0; }
.mail-list-item.mail-healthy .mail-icon { background:#e6f7ed; color:#16834f; }
.mail-list-item.mail-medical .mail-icon { background:#fdeaea; color:#c62828; }
.mail-list-item.mail-improved .mail-icon { background:#e6f7ed; color:#16834f; }
.mail-list-item.mail-declined .mail-icon { background:#fdeaea; color:#c62828; }
.category-chip.mail-healthy { background:#e6f7ed; color:#16834f; }
.category-chip.mail-medical,
.category-chip.mail-declined { background:#fdeaea; color:#c62828; }
.category-chip.mail-improved { background:#e6f7ed; color:#16834f; }

@media (max-width:1100px) {
  .formation-workspace { grid-template-columns:245px minmax(280px,1fr); }
  .pitch-column { grid-column:1/-1; }
}
@media (max-width:800px) {
  .formation-workspace, .mail-layout { grid-template-columns:1fr; }
  .mail-list { max-height:260px; }
}

/* Vereinsstatus nach Erfolgen und wettbewerbsübergreifende Spielvorschau */
.goal-team-grid { grid-template-columns:360px minmax(0,1fr); }
.goal-status-list .club-success-row,
.goal-status-list .club-achievement-row { align-items:start; padding:5px 0; }
.club-success-status { display:grid; gap:2px; }
.club-success-stars { display:inline-flex; gap:1px; font-size:17px; line-height:1; letter-spacing:.02em; }
.club-success-stars .filled { color:#f2b520; text-shadow:0 1px 1px rgba(111,72,0,.25); }
.club-success-stars .empty { color:#d4d9de; }
.club-success-status strong { color:#28343f; font-size:12px; }
.club-success-status > small { font-size:10px; }
.club-star-overflow { width:max-content; margin-top:2px; padding:2px 6px; border-radius:999px; background:#fff4cf; color:#865f00 !important; font-weight:750; }
.status-ranking-link { display:inline-flex; align-items:center; color:#2472ad; font-weight:700; }
.inline-ranking-rank { color:#2472ad; font-size:11px; font-weight:700; white-space:nowrap; }
.goal-status-list .player-class-icon { margin-left:0; }
.club-achievement-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.club-achievement-chips > span {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  min-height:25px;
  padding:3px 7px;
  border:1px solid #dce3e9;
  border-radius:5px;
  background:#f8fafb;
  color:#53606c;
  font-size:10px;
  white-space:nowrap;
}
.club-achievement-chips strong { color:#27333f; font-size:11px; }
.goal-matches-card { overflow:hidden; }
.goal-matches-card .panel-header > span { text-align:right; }
.team-match-preview-list { padding:4px 14px 10px; }
.team-match-preview-row {
  grid-template-columns:34px minmax(300px,1fr) 86px minmax(105px,135px) 70px;
  gap:10px;
  min-height:60px;
  padding:9px 4px;
}
.team-match-preview-row .score-line {
  grid-template-columns:18px minmax(0,1fr) 54px minmax(0,1fr) 18px;
  gap:7px;
  min-width:0;
}
.team-match-preview-row .score-line a { line-height:1.25; }
.team-manager-monitor { width:18px; min-width:18px; overflow:visible; }
.team-manager-monitor .human-manager-icon.small,
.team-manager-monitor .cpu-team-icon.small { width:14px; min-width:14px; height:14px; }
.team-match-preview-row .match-result { min-width:78px; padding:5px 7px; white-space:nowrap; }
.team-match-preview-row .match-result.upcoming { border-color:#cfdae4; background:#f5f8fa; color:#536574; }
.team-match-preview-row .competition { line-height:1.25; }
.team-match-preview-row .competition small,
.match-stage-label { display:block; margin-top:2px; color:#8a949e; font-size:9px; font-weight:400; }
.team-matches-table .match-stage-label { white-space:nowrap; }
.score-report-link {
  color:#1f6fa9;
  font-weight:800;
  text-decoration:none;
  border-radius:4px;
}
.score-report-link:hover {
  color:#154f7b;
  background:#eaf3f9;
  text-decoration:none;
}
.team-match-preview-row .score-line .score-report-link {
  display:inline-flex;
  justify-content:center;
  min-width:54px;
  padding:5px 4px;
}
.team-match-score-cell .score-report-link { padding:4px 7px; }
.match-result-placeholder { display:block; min-width:78px; min-height:1px; }
.matchday-score-link {
  display:grid;
  grid-column:1 / -1;
  grid-template-columns:1fr 14px 1fr;
  align-items:center;
  width:100%;
  padding:3px 5px;
  text-align:center;
}
.national-match-row > .national-score-link {
  display:block;
  padding:5px 4px;
  background:#edf2f6;
  color:#1f6fa9;
  text-align:center;
}
.domestic-score.score-report-link,
.fixture-score.score-report-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.knockout-score-link { min-width:20px; padding:2px 4px; text-align:center; }

@media (max-width:1100px) {
  .goal-team-grid { grid-template-columns:330px minmax(0,1fr); }
  .team-match-preview-row { grid-template-columns:32px minmax(260px,1fr) 82px 104px 62px; gap:7px; }
  .team-match-preview-row .score-line { grid-template-columns:16px minmax(0,1fr) 48px minmax(0,1fr) 16px; gap:5px; }
}
@media (max-width:900px) {
  .goal-team-grid { grid-template-columns:1fr; }
  .team-match-preview-row { grid-template-columns:34px minmax(320px,1fr) 84px 120px 68px; gap:9px; }
}
@media (max-width:700px) {
  .team-match-preview-row { grid-template-columns:30px minmax(0,1fr) 82px; gap:7px; }
  .team-match-preview-row .competition { grid-column:2; }
  .team-match-preview-row .report-link { grid-column:3; }
  .team-match-preview-row .score-line { grid-template-columns:16px minmax(0,1fr) 42px minmax(0,1fr) 16px; }
}

.ranking-sort-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.ranking-sort-tabs a { padding:7px 12px; border:1px solid #d7e0e7; border-radius:5px; background:#f7f9fa; color:#347fba; font-size:12px; font-weight:700; }
.ranking-sort-tabs a.active { border-color:#347fba; background:#347fba; color:#fff; }

/* Formation im klassischen Manager-Aufbau: Kader links, Spielfeld mittig, Taktik rechts. */
.formation-reference-layout {
  --formation-panel-height: 820px;
  grid-template-columns:minmax(260px,300px) minmax(400px,1fr) minmax(250px,285px);
  grid-template-areas:"squad pitch tactics";
  gap:12px;
  align-items:start;
}
.formation-reference-layout .panel-header {
  min-height:43px;
  padding:10px 12px;
}
.formation-reference-layout .panel-header h2 { font-size:14px; }
.formation-reference-layout .panel-header span { font-size:9px; }
.formation-roster {
  display:flex;
  flex-direction:column;
  height:var(--formation-panel-height);
  max-height:var(--formation-panel-height);
  overflow:hidden;
}
.formation-roster-help {
  margin:8px 9px 3px;
  padding:8px 9px;
  border:1px solid #dce5eb;
  border-radius:5px;
  background:#f5f9fc;
  color:#62707c;
  font-size:9px;
  line-height:1.45;
}
.formation-player-groups {
  min-height:0;
  padding-bottom:10px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#aeb8c1 #f3f5f7;
}
.formation-reference-layout .position-group { padding:8px 8px 0; }
.formation-reference-layout .position-group h3 {
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:5px;
  color:#35424e;
  font-size:9px;
  letter-spacing:.08em;
}
.formation-reference-layout .position-group h3::after {
  content:"";
  flex:1;
  height:1px;
  background:#e3e8ec;
}
.formation-reference-layout .player-pool { gap:3px; }
.formation-reference-layout .pool-player {
  position:relative;
  width:100%;
  min-height:36px;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:6px;
  padding:4px 5px;
  color:#26333e;
  font-family:inherit;
  text-align:left;
  appearance:none;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.formation-reference-layout .pool-player:hover,
.formation-reference-layout .pool-player:focus-visible {
  z-index:1;
  border-color:#4e92c5;
  background:#f1f8fd;
  box-shadow:0 2px 8px rgba(42,91,128,.13);
  outline:none;
}
.formation-reference-layout .pool-player.selected {
  opacity:1;
  border-color:#a9c8dd;
  background:#edf6fb;
}
.formation-reference-layout .pool-player.selected::after {
  content:"✓";
  position:absolute;
  top:2px;
  right:3px;
  color:#2685bd;
  font-size:8px;
  font-weight:900;
}
.formation-reference-layout .pool-player.placement-selected {
  border-color:#247eb9;
  background:#dceffa;
  box-shadow:0 0 0 2px rgba(36,126,185,.18);
  transform:translateX(2px);
}
.formation-reference-layout .pool-player.unavailable {
  opacity:.72;
  border-color:#e5b8b5;
  background:#fff4f3;
}
.formation-reference-layout .role-dot {
  min-width:29px;
  width:29px;
  height:25px;
  border-radius:3px;
  font-size:8px;
}
.formation-reference-layout .pool-player-name b {
  color:#176da8;
  font-size:10px;
  font-weight:650;
}
.formation-reference-layout .pool-player-meta {
  display:grid;
  min-width:66px;
  padding-right:8px;
  text-align:right;
}
.formation-reference-layout .pool-player-meta small {
  color:#263746;
  font-size:9px;
  font-weight:850;
}
.formation-reference-layout .pool-player-meta em {
  max-width:82px;
  overflow:hidden;
  color:#73808b;
  font-size:7px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.formation-reference-layout .formation-unavailable-summary {
  flex:0 0 auto;
  max-height:105px;
  overflow:auto;
  margin:7px 8px 2px;
  padding:7px 8px;
  font-size:9px;
}
.formation-reference-layout .formation-unavailable-summary strong { font-size:10px; }

.formation-pitch-card {
  min-height:var(--formation-panel-height);
  padding:10px;
  border-color:#cfd9e1;
}
.formation-pitch-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:39px;
  margin:-2px 0 8px;
  padding:0 2px 8px;
  border-bottom:1px solid #e0e6eb;
}
.formation-pitch-heading > div { display:grid; gap:1px; }
.formation-pitch-heading strong { color:#26333f; font-size:13px; }
.formation-pitch-heading span { color:#6f7d89; font-size:8px; }
.formation-preset-chip {
  max-width:135px;
  padding:4px 7px;
  overflow:hidden;
  border:1px solid #c7dae9;
  border-radius:999px;
  background:#eef6fb;
  color:#2576ad !important;
  font-size:8px !important;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.formation-reference-layout .pitch {
  width:min(100%,438px);
  max-height:none;
  border-width:3px;
  box-shadow:inset 0 0 30px rgba(13,63,20,.13),0 3px 10px rgba(28,48,32,.18);
}
.formation-reference-layout .pitch-player {
  width:84px;
  cursor:pointer;
  outline:none;
  transition:transform .14s ease,filter .14s ease;
}
.formation-reference-layout .pitch-player:hover,
.formation-reference-layout .pitch-player:focus-visible,
.formation-reference-layout .pitch-player.placement-selected {
  z-index:9;
  transform:translate(-50%,-50%) scale(1.08);
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.65));
}
.formation-reference-layout .pitch-player.placement-selected .player-shirt {
  box-shadow:0 0 0 3px #ffdc4b,0 0 0 5px rgba(35,46,54,.52);
}
.formation-reference-layout .player-shirt {
  width:29px;
  height:31px;
  font-size:9px;
}
.formation-reference-layout .pitch-player b {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:15px;
  padding:1px 4px;
  background:rgba(16,24,29,.78);
  font-size:9px;
}
.formation-reference-layout .pitch-player small {
  margin-top:1px;
  color:#fff;
  font-size:7px;
  text-shadow:0 1px 2px #000;
}
.pitch-player-remove {
  position:absolute;
  top:-5px;
  right:12px;
  z-index:12;
  display:grid;
  place-items:center;
  width:16px;
  height:16px;
  padding:0;
  border:1px solid #fff;
  border-radius:50%;
  background:#c93631;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  opacity:0;
  transition:opacity .14s ease;
}
.pitch-player:hover .pitch-player-remove,
.pitch-player:focus-within .pitch-player-remove { opacity:1; }
.formation-reference-layout .formation-placeholder {
  width:64px;
  pointer-events:auto;
  cursor:pointer;
  outline:none;
}
.formation-reference-layout .formation-placeholder > span {
  transition:background .14s ease,transform .14s ease,box-shadow .14s ease;
}
.formation-reference-layout .formation-placeholder:hover > span,
.formation-reference-layout .formation-placeholder:focus-visible > span {
  background:rgba(47,124,172,.88);
  box-shadow:0 0 0 3px rgba(255,255,255,.52);
  transform:scale(1.08);
}
.formation-reference-layout .bench-zone {
  min-height:50px;
  margin-top:9px;
  padding:8px;
  background:#f7f9fa;
  cursor:pointer;
  transition:border-color .14s ease,background .14s ease;
}
.formation-reference-layout .bench-zone:hover,
.formation-reference-layout .bench-zone:focus-visible,
.formation-reference-layout .bench-zone.drag-over {
  border-color:#c93631;
  background:#fff1f0;
  outline:none;
}

.formation-side-tactics {
  min-height:var(--formation-panel-height);
  height:auto;
  max-height:none;
  overflow:visible;
}
.formation-side-tactics .formation-tactics-save-form {
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:0;
  padding:0;
  overflow:visible;
}
.formation-tactic-section {
  display:grid;
  gap:7px;
  padding:10px 11px;
  border-bottom:1px solid #e2e7eb;
}
.formation-tactic-section h3 {
  margin:0 0 1px;
  color:#384754;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.formation-side-tactics .formation-tactic-section label {
  display:grid;
  gap:3px;
  margin:0;
  color:#56636e;
  font-size:9px;
  font-weight:750;
}
.formation-side-tactics select {
  width:100%;
  min-height:32px;
  padding:5px 7px;
  border:1px solid #c9d2da;
  border-radius:4px;
  background:#fff;
  color:#25323d;
  font-size:10px;
}
.formation-side-tactics select:focus {
  border-color:#3384bb;
  outline:2px solid rgba(51,132,187,.14);
}
.formation-save-dock {
  position:static;
  bottom:auto;
  z-index:auto;
  margin-top:auto;
  padding:10px 11px;
  border-top:1px solid #dce3e8;
  background:#fff;
}
.formation-save-dock .button { min-height:36px; margin:0; font-size:10px; }
.formation-save-dock .save-message {
  width:auto;
  min-height:0;
  margin:6px 1px 0;
  font-size:9px;
  line-height:1.35;
}

.formation-player-tooltip {
  position:fixed;
  z-index:1000;
  top:0;
  left:0;
  width:min(372px,calc(100vw - 24px));
  overflow:hidden;
  border:1px solid #18242d;
  border-radius:5px;
  background:#fff;
  box-shadow:0 12px 30px rgba(14,28,40,.3);
  color:#1f2d38;
  font-size:9px;
  pointer-events:none;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .1s ease,transform .1s ease;
}
.formation-player-tooltip.visible {
  opacity:1;
  transform:translateY(0);
}
.formation-tooltip-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 9px;
  background:#14232e;
  color:#fff;
}
.formation-tooltip-head > div { display:grid; gap:1px; }
.formation-tooltip-head strong { font-size:11px; }
.formation-tooltip-head span { color:#bfd0dc; font-size:8px; }
.formation-tooltip-head > b {
  display:grid;
  place-items:center;
  min-width:38px;
  height:28px;
  border-radius:4px;
  background:#2c87bd;
  font-size:11px;
}
.formation-tooltip-summary {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid #dde4e9;
  background:#f4f7f9;
}
.formation-tooltip-summary > span {
  display:grid;
  gap:1px;
  padding:6px 7px;
  border-right:1px solid #dde4e9;
}
.formation-tooltip-summary > span:last-child { border-right:0; }
.formation-tooltip-summary small { color:#77838d; font-size:7px; }
.formation-tooltip-summary strong { font-size:9px; white-space:nowrap; }
.formation-tooltip-skills {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:5px;
  padding:8px;
}
.formation-tooltip-skills > span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:3px;
  min-width:0;
  padding:4px 5px;
  border:1px solid #dce3e8;
  border-radius:3px;
  background:#f8fafb;
}
.formation-tooltip-skills > span.main { border-color:#2e87bd; box-shadow:inset 0 0 0 1px rgba(46,135,189,.16); }
.formation-tooltip-skills small {
  overflow:hidden;
  color:#64717b;
  font-size:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.formation-tooltip-skills strong { font-size:9px; }
.formation-tooltip-skills .elite strong { color:#16804c; }
.formation-tooltip-skills .strong strong { color:#2478ae; }
.formation-tooltip-skills .solid strong { color:#7b6618; }
.formation-tooltip-skills .weak strong { color:#a53a34; }
.formation-tooltip-foot {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 10px;
  padding:6px 8px;
  border-top:1px solid #e0e6ea;
  background:#fafbfc;
  color:#64717c;
  font-size:8px;
}
.formation-tooltip-foot .available {
  margin-left:auto;
  color:#16804c;
  font-weight:800;
}
.formation-tooltip-foot .unavailable {
  margin-left:auto;
  color:#b32925;
  font-weight:800;
}

@media (max-width:1180px) {
  .formation-reference-layout {
    grid-template-columns:250px minmax(380px,1fr) 250px;
  }
}
@media (max-width:1000px) {
  .formation-reference-layout {
    grid-template-columns:minmax(250px,300px) minmax(390px,1fr);
    grid-template-areas:"squad pitch" "tactics tactics";
  }
  .formation-side-tactics {
    height:auto;
    max-height:none;
  }
  .formation-side-tactics .formation-tactics-save-form {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    height:auto;
    overflow:visible;
  }
  .formation-save-dock { grid-column:1/-1; }
}
@media (max-width:760px) {
  .formation-reference-layout {
    grid-template-columns:1fr;
    grid-template-areas:"pitch" "squad" "tactics";
  }
  .formation-pitch-card { min-height:0; }
  .formation-roster { height:560px; }
  .formation-side-tactics .formation-tactics-save-form { grid-template-columns:1fr; }
  .formation-player-tooltip { width:min(350px,calc(100vw - 18px)); }
}

/* Spielerprofil, Transferregeln und feste Formationsplätze */
.simple-player-title { display:block; }
.simple-player-title h1 { margin:0; font-size:30px; font-weight:500; }
.nationality-team-link,
.flag-team-link { display:inline-flex; align-items:center; color:inherit; vertical-align:middle; }
.flag-team-link { margin-right:3px; }
.flag-team-link:hover img,
.nationality-team-link:hover img { outline:2px solid rgba(52,127,186,.25); outline-offset:1px; }

.transfer-list-config {
  margin:5px 0 8px;
  overflow:hidden;
  border:1px solid #d8e0e6;
  border-radius:5px;
  background:#f9fbfc;
}
.transfer-list-config > summary {
  padding:9px 11px;
  color:#2472ad;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.transfer-list-config[open] > summary { border-bottom:1px solid #e2e7eb; background:#f2f7fa; }
.transfer-list-form { display:grid; gap:10px; padding:12px; }
.transfer-list-form > label:not(.transfer-rule-check) { display:grid; gap:5px; font-size:11px; font-weight:750; }
.transfer-list-form input[type="number"],
.transfer-list-form select { width:100%; min-height:35px; padding:7px 8px; border:1px solid #cfd7de; border-radius:4px; background:#fff; }
.transfer-list-form small { color:#7a8590; font-size:9px; font-weight:400; }
.transfer-rule-check { display:grid; grid-template-columns:16px 1fr; align-items:start; gap:7px; font-size:11px; line-height:1.35; }
.transfer-rule-check input { margin-top:1px; }
.transfer-list-form .muted { margin:0; font-size:9px; line-height:1.45; }
.transfer-blocked-notice { display:grid; gap:4px; padding:10px; border-left:3px solid #d49327; background:#fff8e8; color:#6d4a0c; }
.transfer-blocked-notice span { font-size:11px; line-height:1.45; }

.formation-workspace {
  grid-template-columns:minmax(270px,315px) minmax(420px,1fr) 270px;
  grid-template-areas:"squad pitch tactics";
  align-items:start;
}
.squad-column { grid-area:squad; }
.pitch-column { grid-area:pitch; }
.tactics-column { grid-area:tactics; max-height:none; overflow:visible; }
.pitch-player.fixed-slot-player { cursor:grab; }
.pitch-player.fixed-slot-player:active { cursor:grabbing; }
.pitch-player.fixed-slot-player small { max-width:92px; font-size:7px; white-space:nowrap; }
.formation-placeholder { pointer-events:none; }

@media (max-width:1100px) {
  .formation-workspace {
    grid-template-columns:minmax(270px,330px) minmax(410px,1fr);
    grid-template-areas:"squad pitch" "tactics tactics";
  }
  .pitch-column { grid-column:auto; }
  .tactics-column { max-height:none; }
}
@media (max-width:800px) {
  .formation-workspace {
    grid-template-columns:1fr;
    grid-template-areas:"pitch" "squad" "tactics";
  }
  .mail-layout { height:auto; min-height:560px; }
  .mail-list { max-height:220px; }
}

/* Nationalmannschaften verwenden dieselbe Informationslogik wie Vereinsseiten. */
.national-team-crest-frame {
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  flex:0 0 72px;
  border:1px solid #d2dae1;
  border-radius:50%;
  background:#fff;
  box-shadow:0 3px 10px rgba(31,48,67,.12);
}
.national-team-crest-flag {
  display:block;
  width:46px;
  height:31px;
  object-fit:cover;
  border:1px solid #d6dde3;
  border-radius:3px;
}
.national-team-overview { margin-bottom:18px; }
.national-manager-actions { display:grid; gap:9px; margin:12px 16px 16px; padding-top:12px; border-top:1px solid #e2e7eb; }
.national-manager-actions p,
.national-manager-actions small { margin:0; color:#65717c; font-size:10px; line-height:1.5; }
.national-match-list { padding:4px 14px 10px; }
.national-match-row {
  display:grid;
  grid-template-columns:34px minmax(125px,1fr) 56px minmax(125px,1fr) 82px minmax(135px,165px);
  align-items:center;
  gap:9px;
  min-height:54px;
  padding:8px 4px;
  border-bottom:1px solid #e8ecef;
  font-size:11px;
}
.national-match-row:last-child { border-bottom:0; }
.national-match-row > a { display:flex; align-items:center; gap:6px; min-width:0; overflow:hidden; color:#2472ad; text-overflow:ellipsis; white-space:nowrap; }
.national-match-row > a:first-of-type { justify-content:flex-end; text-align:right; }
.national-match-row > strong { padding:5px 4px; border-radius:4px; background:#edf2f6; color:#253b4d; text-align:center; }
.national-match-row .turn { color:#74818d; text-align:center; }
.national-match-row .competition { color:#697681; font-size:10px; line-height:1.25; }
.national-match-row.won { box-shadow:inset 3px 0 #35a362; }
.national-match-row.lost { box-shadow:inset 3px 0 #cf433e; }
.national-match-row.tie { box-shadow:inset 3px 0 #d29b2a; }
.national-normal-squad-table {
  width:100%;
  min-width:0;
  table-layout:fixed;
  font-size:10px;
}
.national-normal-squad-table th,
.national-normal-squad-table td { padding:5px 4px; }
.national-normal-squad-table th:nth-child(1),
.national-normal-squad-table td:nth-child(1) { width:285px; }
.national-normal-squad-table th:nth-child(2),
.national-normal-squad-table td:nth-child(2) { width:220px; }
.national-normal-squad-table th:nth-child(3),
.national-normal-squad-table td:nth-child(3),
.national-normal-squad-table th:nth-child(4),
.national-normal-squad-table td:nth-child(4),
.national-normal-squad-table th:nth-child(5),
.national-normal-squad-table td:nth-child(5) { width:42px; text-align:center; }
.national-normal-squad-table th:nth-child(n+6):nth-child(-n+14),
.national-normal-squad-table td:nth-child(n+6):nth-child(-n+14) { width:44px; text-align:center; }
.national-normal-squad-table th:nth-child(15),
.national-normal-squad-table td:nth-child(15) { width:125px; text-align:right; white-space:nowrap; }
.national-normal-squad-table td:nth-child(1),
.national-normal-squad-table td:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.national-normal-squad-table th:nth-child(2),
.national-normal-squad-table td:nth-child(2) { text-align:left; }
.national-club-column { text-align:left !important; }
.national-club-link {
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  gap:7px;
  width:100%;
  min-width:0;
  color:#2472ad;
  text-align:left;
}
.national-club-logo-slot {
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  min-width:24px;
}
.national-club-link .club-logo.micro-logo {
  display:block;
  width:20px !important;
  height:20px !important;
  margin:0;
  object-fit:contain;
  vertical-align:middle;
}
.national-club-name {
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.national-selection-table .national-club-link { grid-template-columns:22px minmax(0,1fr); gap:6px; }
.national-selection-table .national-club-logo-slot { width:22px; height:22px; min-width:22px; }
.national-selection-table .national-club-link .club-logo.micro-logo { width:18px !important; height:18px !important; }
.national-history-panel { margin-top:18px; }

@media (max-width:800px) {
  .national-team-crest-frame { width:58px; height:58px; flex-basis:58px; }
  .national-team-crest-flag { width:38px; height:25px; }
}

/* Nationale Pokale: chronologische Runden links, Torjäger und Sieger rechts. */
.domestic-cup-shell { overflow:hidden; border:1px solid #d5dde5; border-radius:9px; background:#fff; box-shadow:0 7px 24px rgba(25,48,72,.09); }
.domestic-cup-hero {
  display:grid;
  grid-template-columns:62px minmax(0,1fr) minmax(250px,360px);
  align-items:center;
  gap:17px;
  min-height:112px;
  padding:20px 25px;
  border-bottom:4px solid #2e82bd;
  background:linear-gradient(120deg,#f8fbfd,#e7f1f8);
}
.domestic-cup-symbol { display:grid; place-items:center; width:58px; height:58px; border:1px solid #c5d4df; border-radius:50%; background:#fff; font-size:28px; box-shadow:0 4px 12px rgba(37,72,103,.12); }
.domestic-cup-hero p { margin:0 0 4px; color:#47718f; font-size:10px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.domestic-cup-hero h1 { margin:0 0 5px; color:#1f3447; font-size:27px; }
.domestic-cup-hero > div > span { color:#6d7984; font-size:11px; }
.domestic-cup-hero label { display:grid; gap:5px; }
.domestic-cup-hero label > span { color:#657582; font-size:9px; font-weight:850; text-transform:uppercase; }
.domestic-cup-hero select { width:100%; min-height:38px; padding:8px 10px; border:1px solid #c7d2dc; border-radius:5px; background:#fff; color:#27394a; }
.domestic-cup-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); align-items:start; }
.domestic-cup-results { display:grid; gap:22px; min-width:0; padding:23px 26px 30px; background:#fafbfd; }
.domestic-cup-round { overflow:hidden; border:1px solid #dce3e9; border-radius:6px; background:#fff; }
.domestic-cup-round > header,
.domestic-cup-sidebar > section > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border-bottom:1px solid #dce3e9; background:#f5f8fa; }
.domestic-cup-round > header h2,
.domestic-cup-sidebar h3 { margin:0; font-size:13px; }
.domestic-cup-round > header span,
.domestic-cup-sidebar header span { color:#74818e; font-size:9px; font-weight:800; text-transform:uppercase; }
.domestic-cup-fixture {
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 62px;
  align-items:center;
  gap:8px;
  min-height:43px;
  padding:6px 11px;
  border-bottom:1px solid #edf0f3;
}
.domestic-cup-fixture:last-child { border-bottom:0; }
.domestic-cup-fixture.future { color:#7b8792; }
.domestic-team { display:flex; align-items:center; gap:7px; min-width:0; }
.domestic-team.home { justify-content:flex-end; text-align:right; }
.domestic-team a,
.domestic-team span { overflow:hidden; color:#2472ad; text-overflow:ellipsis; white-space:nowrap; }
.domestic-team .club-logo.tiny { width:20px; height:20px; flex:0 0 20px; }
.cup-empty-logo { width:20px; height:20px; border:1px dashed #b8c2cb; border-radius:3px; background:#f3f5f7; flex:0 0 20px; }
.domestic-versus { color:#798590; text-align:center; font-size:10px; }
.domestic-score { padding:5px 6px; border-radius:4px; background:#eaf1f6; color:#1f425f; text-align:center; font-size:11px; }
.domestic-cup-sidebar { min-width:0; padding:23px 19px; border-left:1px solid #dce3e9; background:#fff; }
.domestic-cup-sidebar > section { margin-bottom:22px; overflow:hidden; border:1px solid #dce3e9; border-radius:6px; }
.domestic-cup-sidebar > section:last-child { margin-bottom:0; }

@media (max-width:1000px) {
  .domestic-cup-layout { grid-template-columns:1fr; }
  .domestic-cup-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; border-top:1px solid #dce3e9; border-left:0; }
  .domestic-cup-sidebar > section { margin:0; }
}
@media (max-width:760px) {
  .domestic-cup-hero { grid-template-columns:52px 1fr; padding:16px; }
  .domestic-cup-symbol { width:48px; height:48px; }
  .domestic-cup-hero label { grid-column:1/-1; }
  .domestic-cup-results { padding:14px; }
  .domestic-cup-sidebar { grid-template-columns:1fr; padding:14px; }
  .domestic-cup-fixture { grid-template-columns:minmax(90px,1fr) 14px minmax(90px,1fr) 52px; gap:4px; padding-inline:6px; }
  .national-match-row { grid-template-columns:30px minmax(95px,1fr) 48px minmax(95px,1fr) 70px; gap:5px; }
  .national-match-row .competition { grid-column:2/5; padding-bottom:4px; text-align:center; }
}

/* July update: roomier five-match overview */
.team-match-preview-list { padding:8px 14px 14px; }
.team-match-preview-row {
  grid-template-columns:38px minmax(0,1fr) 92px;
  grid-template-areas:"turn score result" "turn competition report";
  column-gap:14px; row-gap:6px; min-height:76px; margin:5px 0; padding:11px 10px;
  border:1px solid #e5ebf0; border-radius:7px; background:#fff;
}
.team-match-preview-row:last-child { border-bottom:1px solid #e5ebf0; }
.team-match-preview-row:nth-child(even) { background:#fbfcfd; }
.team-match-preview-row .turn { grid-area:turn; align-self:center; text-align:center; font-size:13px; }
.team-match-preview-row .score-line { grid-area:score; grid-template-columns:20px minmax(110px,1fr) 64px minmax(110px,1fr) 20px; gap:9px; }
.team-match-preview-row .match-result,
.team-match-preview-row .match-result-placeholder { grid-area:result; justify-self:end; }
.team-match-preview-row .competition { grid-area:competition; align-self:start; font-size:11px; }
.team-match-preview-row .report-link { grid-area:report; justify-self:end; align-self:start; }
.team-match-preview-row .score-line .home-team-name,
.team-match-preview-row .score-line .away-team-name { font-size:13px; font-weight:600; }
.team-match-preview-row .match-score { font-size:14px; }

/* Dedicated transfer and loan setup pages */
.player-market-setup { max-width:960px; margin:0 auto; }
.player-market-setup .panel-header a { font-size:12px; }
.market-player-summary { display:flex; justify-content:space-between; gap:18px; padding:15px 18px; border-bottom:1px solid var(--line); background:#f7fafc; }
.market-player-summary span { color:var(--muted); }
.player-market-form { display:grid; gap:17px; padding:20px; }
.player-market-form > label { display:grid; gap:7px; font-weight:700; }
.player-market-form input[type=number],
.player-market-form select { width:100%; min-height:40px; padding:8px 10px; border:1px solid #cbd5de; border-radius:5px; background:#fff; }
.player-market-form small { color:var(--muted); font-weight:400; }
.player-market-form fieldset { display:grid; gap:10px; padding:14px; border:1px solid #d9e1e8; border-radius:6px; }
.player-market-form legend { padding:0 6px; font-weight:800; }
.player-market-form .button { justify-self:start; min-width:220px; }

/* Transfer price, value and action stay visible */
.transfer-market-table { min-width:1260px; width:100%; font-size:10.5px; }
.transfer-market-table th:nth-child(n+4):nth-child(-n+14),
.transfer-market-table td:nth-child(n+4):nth-child(-n+14) { padding-left:6px; padding-right:6px; text-align:center; }
.transfer-market-table th:nth-child(16),
.transfer-market-table td:nth-child(16) { position:sticky; right:196px; z-index:6; min-width:104px; width:104px; background:#f8fbfd; box-shadow:-1px 0 0 #d9e1e8; }
.transfer-market-table th:nth-child(17),
.transfer-market-table td:nth-child(17) { position:sticky; right:86px; z-index:6; min-width:110px; width:110px; background:#eef6fb; box-shadow:-1px 0 0 #d9e1e8; }
.transfer-market-table th:nth-child(18),
.transfer-market-table td:nth-child(18) { position:sticky; right:0; z-index:6; min-width:86px; width:86px; background:#fff; box-shadow:-2px 0 0 #d9e1e8; }
.transfer-market-table thead th:nth-child(16),
.transfer-market-table thead th:nth-child(17),
.transfer-market-table thead th:nth-child(18) { z-index:9; background:#eaf2f7; }
.transfer-market-table tbody tr:hover td:nth-child(16),
.transfer-market-table tbody tr:hover td:nth-child(17),
.transfer-market-table tbody tr:hover td:nth-child(18) { background:#e9f4fb; }
.market-status.loan { white-space:nowrap; }

/* Current ranking target */
.ranking-highlight-row { scroll-margin-top:150px; }
.ranking-highlight-row td {
  background:#eef4f8 !important;
  font-weight:700;
  border-top:1px solid #ccdbe7;
  border-bottom:1px solid #ccdbe7;
}
.ranking-highlight-row td:first-child {
  border-left:4px solid #5f88a8;
}
.ranking-highlight-row:hover td {
  background:#e8f0f5 !important;
}

/* Professional manager avatar */
.manager-avatar-pro { position:relative; width:80px; height:80px; flex:0 0 80px; overflow:hidden; border-radius:50%; border:2px solid rgba(255,255,255,.96); background:radial-gradient(circle at 36% 25%,#6eadd7 0,#397fac 43%,#173f65 100%); box-shadow:0 6px 16px rgba(24,66,103,.22),0 0 0 1px rgba(28,73,108,.16); }
.manager-avatar-head { position:absolute; left:29px; top:14px; width:18px; height:20px; border-radius:48% 48% 46% 46%; background:radial-gradient(circle at 37% 27%,#f6dcc6 0 18%,#e7b58f 54%,#ca815b 100%); box-shadow:0 0 0 1px rgba(116,64,40,.24); }
.manager-avatar-head { z-index:2; }
.manager-avatar-body { position:absolute; left:18px; bottom:-10px; width:40px; height:58px; z-index:1; border-radius:52% 52% 18% 18% / 44% 44% 12% 12%; background:linear-gradient(145deg,#f1f7fb 0%,#c9ddea 62%,#9dbdd2 100%); box-shadow:0 0 0 1px rgba(73,112,139,.22),inset 0 1px 0 rgba(255,255,255,.65); }
.manager-avatar-pro b { position:absolute; right:3px; bottom:5px; min-width:25px; height:20px; padding:0 5px; z-index:3; display:grid; place-items:center; border-radius:10px; background:rgba(13,43,68,.9); color:#fff; font-size:8px; letter-spacing:.05em; box-shadow:0 1px 3px rgba(0,0,0,.18); }
.manager-avatar-pro i { position:absolute; right:7px; top:7px; width:8px; height:8px; z-index:3; border-radius:50%; border:1.5px solid #fff; background:#35c77a; box-shadow:0 1px 3px rgba(14,72,43,.25); }
.manager-club-logo-small { margin-left:-18px; align-self:flex-end; }
.manager-club-logo-small .club-logo { width:38px; height:38px; padding:3px; border-radius:50%; background:#fff; box-shadow:0 3px 10px rgba(0,0,0,.2); }
.avatar { background:linear-gradient(145deg,#173f65,#4f9bd0); box-shadow:inset 0 0 0 2px rgba(255,255,255,.55); }

/* Gmail-like compact mailbox */
.mail-shell { max-width:900px; }
.mail-toolbar { padding:10px 14px; }
.mail-toolbar h1 { font-size:18px; }
.mail-layout { grid-template-columns:158px minmax(0,1fr); }
.mail-list-item { grid-template-columns:24px minmax(0,1fr); gap:7px; padding:8px 7px; }
.mail-list-item.selected { border-left-width:3px; }
.mail-icon { width:22px; height:22px; font-size:11px; }
.mail-list-item strong,
.mail-list-item b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mail-list-item b { font-size:10px; }
.mail-list-item small { margin-top:3px; font-size:8px; }
.mail-reader { padding:20px 24px; }
.mail-reader-head h2 { font-size:21px; }
.mail-body { min-height:210px; padding:20px 0; }
.mail-result-meta { display:grid; grid-template-columns:58px 1fr; gap:5px 12px; max-width:420px; margin-bottom:18px; color:#637181; font-size:12px; }
.mail-result-meta strong { color:#1e2c38; }
.mail-match-result { display:grid; grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr); align-items:center; gap:14px; padding:18px; border:1px solid #dce5ec; border-radius:8px; background:#f8fbfd; text-align:center; }
.mail-match-result > a:first-child { text-align:right; }
.mail-match-result > a:last-child { text-align:left; }
.mail-score-link { padding:9px; border-radius:6px; background:#1f74ad; color:#fff !important; font-size:17px; font-weight:900; }
.mail-pulse { animation:mailIconPulse 1.25s ease-in-out infinite; }
@keyframes mailIconPulse { 0%,100% { filter:none; transform:translateY(0); } 50% { filter:drop-shadow(0 0 5px #ffd65a); transform:translateY(-1px) scale(1.08); } }

/* National team split into real team tabs */
.national-tab-page:not(.national-tab-info) #national-status,
.national-tab-page:not(.national-tab-matches) #national-matches,
.national-tab-page:not(.national-tab-squad) #national-squad,
.national-tab-page:not(.national-tab-squad) .national-selection-panel,
.national-tab-page:not(.national-tab-formation) #national-formation,
.national-tab-page:not(.national-tab-history) #national-history { display:none; }
.national-tab-info .national-team-overview,
.national-tab-matches .national-team-overview { grid-template-columns:minmax(0,1fr); }
.national-tab-info #national-status { max-width:520px; }
.national-tab-matches #national-matches { width:100%; }
.national-formation-panel form { padding:18px; }
.national-tactics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.national-tactics-grid label { display:grid; gap:6px; font-weight:800; }
.national-tactics-grid select { min-height:39px; padding:7px 9px; border:1px solid #ccd7df; border-radius:5px; background:#fff; }
.national-starter-head { display:flex; justify-content:space-between; gap:20px; margin:18px 0 10px; padding:10px 12px; border-radius:5px; background:#eef6fb; }
.national-starter-head span { color:var(--muted); font-size:11px; }
.national-starter-scroll { max-height:470px; }
.national-starter-table td:first-child,
.national-starter-table th:first-child { text-align:center; }
.unavailable-player-row { background:#fff2f0; }
.unavailable-player-row td { color:#9b4b43; }
.national-formation-save { margin-top:16px; }
@media (max-width:800px) {
  .national-tactics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mail-shell { max-width:100%; }
}
@media (max-width:700px) {
  .team-match-preview-row { grid-template-columns:30px minmax(0,1fr) 76px; grid-template-areas:"turn score result" "turn competition report"; }
  .team-match-preview-row .score-line { grid-template-columns:16px minmax(0,1fr) 44px minmax(0,1fr) 16px; gap:5px; }
}

/* Abschließende Spezifität für die interaktive Formationsseite. */
.formation-reference-layout .formation-side-tactics {
  max-height:none;
  overflow:visible;
}
@media (max-width:1100px) {
  .formation-reference-layout {
    --formation-panel-height: auto;
  }
  .formation-reference-layout .formation-side-tactics {
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  .formation-roster,
  .formation-pitch-card {
    height:auto;
    max-height:none;
    min-height:0;
  }
}


/* Kompakteres und klareres Postfach */
.mail-layout {
  grid-template-columns: 248px minmax(0,1fr);
}
.mail-list {
  padding: 6px;
  background: #f6f8fa;
}
.mail-list-item {
  position: relative;
  grid-template-columns: 22px minmax(0,1fr);
  gap: 7px;
  margin-bottom: 6px;
  padding: 8px 8px 8px 10px;
  border: 1px solid #e2e8ee;
  border-left: 4px solid transparent;
  border-radius: 6px;
  background: #fff;
}
.mail-list-item:last-child { margin-bottom: 0; }
.mail-item-copy { min-width: 0; display: block; }
.mail-list-item strong,
.mail-list-item b,
.mail-list-item small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mail-list-item strong { font-size: 10px; }
.mail-list-item b { margin-top: 2px; font-size: 10px; }
.mail-list-item small { margin-top: 2px; font-size: 8px; }
.mail-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 11px;
}
.mail-list-item.selected {
  border-left-width: 4px;
  padding-left: 10px;
  background: #eef5fb;
  border-color: #cfe0ee;
  border-left-color: #347fba;
}
.mail-list-item.unread {
  font-weight: 700;
  background: #f3f8fe;
  border-left-color: #347fba;
  box-shadow: inset 0 0 0 1px #dbe8f4;
}
.mail-list-item.unread.mail-medical,
.mail-list-item.unread.mail-declined {
  background: #fff3f3;
  border-left-color: #cf433e;
  box-shadow: inset 0 0 0 1px #f0d0cf;
}
.mail-list-item.unread::after {
  content: "NEU";
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 2px 5px;
  border-radius: 10px;
  background: #347fba;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .04em;
}
.mail-list-item.unread.mail-medical::after,
.mail-list-item.unread.mail-declined::after {
  background: #cf433e;
}
.mail-reader {
  padding: 24px;
}
@media (max-width: 800px) {
  .mail-layout { grid-template-columns: 1fr; }
  .mail-list { max-height: 240px; }
}


/* ServerOne Auswahl im GoalFC-Stil */
.server-login-page {
  display: grid;
  gap: 18px;
}
.server-dimension-panel,
.server-updates-panel {
  overflow: hidden;
}
.server-dimension-table-wrap {
  overflow-x: auto;
}
.server-dimension-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.server-dimension-table thead th {
  padding: 12px 10px;
  border-bottom: 1px solid #d7dee5;
  color: #4e5963;
  text-align: left;
  background: #fafbfd;
}
.server-dimension-table tbody td {
  padding: 12px 10px;
  border-bottom: 1px solid #e7edf2;
  vertical-align: middle;
}
.server-dimension-table tbody tr:last-child td { border-bottom: 0; }
.server-dimension-table tbody tr.is-online { box-shadow: inset 3px 0 0 #2b8d57; }
.server-dimension-table tbody tr.is-offline { box-shadow: inset 3px 0 0 #8d96a0; }
.server-dimension-table tbody tr.is-simulating {
  box-shadow: inset 4px 0 0 #ee8b17;
  background: #fff7ea;
}
.server-dimension-table tbody tr.is-simulating td {
  background: transparent;
}
.dimension-server-name {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-width: 160px;
}
.dimension-server-ball {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fce8e7;
  color: #c73d38;
  font-size: 14px;
}
.dimension-server-name strong,
.dimension-description strong {
  display: block;
}
.dimension-server-name small,
.dimension-description span,
.dimension-tick small {
  color: var(--muted);
}
.dimension-description {
  min-width: 280px;
}
.community-dimension-description {
  min-width: 360px;
}
.community-dimension-copy {
  display: block;
  margin-top: 3px;
  line-height: 1.35;
}
.community-dimension-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.community-dimension-stats > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border: 1px solid #d7e0e6;
  border-radius: 3px;
  background: #f5f8fa;
  color: #44515c;
  white-space: nowrap;
}
.community-dimension-stats b {
  color: #226f9f;
  font-size: 11px;
}
.community-dimension-stats em {
  color: #5d6973;
  font-size: 9px;
  font-style: normal;
}
.community-dimension-description small {
  display: block;
  margin-top: 6px;
  max-width: 430px;
  color: #74808a;
  font-size: 9px;
  line-height: 1.35;
}
.dimension-tick strong {
  display: block;
  color: #1d2c38;
}
.dimension-progress-state {
  min-width: 180px;
}
.dimension-progress-state strong {
  display: block;
  color: #8f4f04;
  margin-bottom: 6px;
}
.dimension-progress-track {
  position: relative;
  overflow: hidden;
  height: 18px;
  border-radius: 4px;
  border: 1px solid #d9b17c;
  background: #f5e2c7;
}
.dimension-progress-track span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: linear-gradient(90deg, #e1992d 0%, #d97819 100%);
  transition: width .22s linear;
}
.dimension-progress-track b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  height: 100%;
  color: #4d2b05;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.simulation-enter-button:disabled,
.server-dimension-table tbody tr.is-simulating .simulation-enter-button {
  opacity: 1;
  border-color: #929aa3;
  background: #929aa3;
  color: #fff;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
.dimension-action-cell {
  white-space: nowrap;
}
.server-updates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  padding: 16px;
}
.server-update-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 210px;
  padding: 16px;
  border: 1px solid #dfe6ec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(28,46,60,.05);
}
.server-update-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.server-update-card time {
  color: #7f8a95;
  font-size: 11px;
  white-space: nowrap;
}
.server-update-card h3 {
  margin: 0;
  color: #1d2c38;
  font-size: 22px;
  line-height: 1.15;
}
.server-update-card p {
  margin: 0;
  color: #3e4a55;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-line;
}
@media (max-width: 900px) {
  .server-updates-grid {
    grid-template-columns: 1fr;
  }
}


/* Spielerprofil: frühere Vereine und Coaching-Berichte */
.simple-data-list dd .player-class-icon {
  margin-left: 3px;
  vertical-align: middle;
}
.simple-data-list dd:has(.player-class-icon) {
  display: flex;
  align-items: center;
  min-height: 20px;
}
.coach-report-text {
  margin: 0;
  white-space: pre-line;
  line-height: 1.55;
}
.coaching-report-card .simple-profile-body {
  gap: 8px;
}

.player-class-inline { display:inline-flex; align-items:center; min-height:20px; }

/* Nationalmannschaften als vollständige Teams und WM-Turnier */
.national-tab-page:not(.national-tab-worldcup) #national-worldcup { display:none; }
.national-tab-worldcup .national-team-overview { display:none; }
.national-tab-worldcup #national-worldcup { width:100%; }

.national-selection-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.national-quick-action { min-width:132px; text-align:right; }
.national-quick-action .button { white-space:nowrap; }
.national-quick-action .button.danger { color:#aa2d2a; border-color:#dfb2b0; }
.national-quick-action .button.danger:hover { background:#fff0ef; }

.national-worldcup-bracket,
.worldcup-bracket {
  display:flex;
  align-items:flex-start;
  gap:18px;
  overflow-x:auto;
  padding:18px;
  background:#f5f7f9;
}
.national-worldcup-round,
.worldcup-round-column {
  flex:0 0 230px;
  display:grid;
  align-content:start;
  gap:10px;
}
.national-worldcup-round h3,
.worldcup-round-column h3 {
  margin:0;
  color:#344654;
  font-size:12px;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.national-worldcup-tie,
.worldcup-tie-card {
  display:grid;
  gap:3px;
  padding:8px;
  border:1px solid #d8e0e7;
  border-radius:6px;
  background:#fff;
  box-shadow:0 2px 7px rgba(26,47,64,.05);
}
.national-worldcup-tie.current-country { border-left:4px solid #5687aa; }
.national-worldcup-tie > small,
.worldcup-tie-card > small {
  color:#7b8792;
  font-size:8px;
}
.national-worldcup-tie > a,
.worldcup-tie-card > a {
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 20px;
  align-items:center;
  gap:6px;
  min-height:27px;
  color:#263744;
}
.national-worldcup-tie > a + a,
.worldcup-tie-card > a + a { border-top:1px solid #edf1f4; }
.national-worldcup-tie img,
.worldcup-tie-card img { width:20px; height:14px; object-fit:cover; border:1px solid #d7dde2; }
.national-worldcup-tie a span,
.worldcup-tie-card a span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.national-worldcup-tie a b,
.worldcup-tie-card a b { text-align:right; }
.national-worldcup-tie a.winner,
.worldcup-tie-card a.winner { color:#176b43; font-weight:850; }
.national-worldcup-tie em { color:#6e7b86; font-size:8px; font-style:normal; text-align:right; }

.national-title-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:#dde4e9;
}
.national-title-summary article {
  display:grid;
  gap:4px;
  padding:20px;
  background:#fff;
  text-align:center;
}
.national-title-summary strong { font-size:24px; color:#243746; }
.national-title-summary span { color:#71808c; font-size:10px; }

.worldcup-hero {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
  padding:22px 26px;
  border:1px solid #d9e1e7;
  border-radius:9px;
  background:linear-gradient(135deg,#f8fbfd,#eef4f8);
  box-shadow:0 7px 20px rgba(31,52,68,.06);
}
.worldcup-hero h1 { margin:3px 0 6px; font-size:30px; }
.worldcup-hero p:last-child { margin:0; color:#657480; }
.worldcup-trophy { font-size:48px; }
.worldcup-champion {
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  gap:3px 9px;
  min-width:190px;
  padding:10px 13px;
  border:1px solid #bfd3e2;
  border-radius:7px;
  background:#fff;
}
.worldcup-champion img { grid-row:1/3; width:38px; height:26px; object-fit:cover; }
.worldcup-champion span { color:#74818c; font-size:9px; text-transform:uppercase; }
.worldcup-champion strong { color:#1e5f8e; }
.worldcup-round-turn { color:#7e8993; font-size:9px; text-align:center; }
.worldcup-round-ties { display:grid; gap:9px; }
.worldcup-country-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:8px;
  padding:14px;
}
.worldcup-country-grid > a {
  display:grid;
  grid-template-columns:24px 30px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:9px;
  border:1px solid #e0e6eb;
  border-radius:6px;
  background:#fff;
}
.worldcup-country-grid > a > span { color:#87929c; text-align:center; }
.worldcup-country-grid img { width:28px; height:19px; object-fit:cover; border:1px solid #d6dde2; }
.worldcup-country-grid strong,
.worldcup-country-grid small { grid-column:3; }
.worldcup-country-grid strong { display:flex; align-items:center; gap:6px; }
.worldcup-country-grid strong .player-class-icon { width:20px; height:20px; border:0; object-fit:contain; }
.worldcup-country-grid small { color:#77838e; font-size:9px; }

.national-profile-squad-action {
  display:grid;
  gap:7px;
  width:100%;
  margin-bottom:8px;
  padding:10px;
  border:1px solid #cddde8;
  border-radius:5px;
  background:#f2f7fa;
}
.national-profile-squad-action strong { color:#2b617f; font-size:11px; }

@media (max-width:800px) {
  .worldcup-hero { grid-template-columns:auto 1fr; }
  .worldcup-champion { grid-column:1/-1; }
  .national-title-summary { grid-template-columns:1fr; }
}

/* Profilansicht zeigt – wie bei einem Verein – Status und aktuelle Matches gemeinsam. */
.national-tab-info #national-matches { display:block; }
.national-tab-info .national-team-overview { grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); }
@media (max-width:900px) {
  .national-tab-info .national-team-overview { grid-template-columns:1fr; }
}
.squad-national-action-cell { min-width:92px; text-align:center; }
.squad-national-action-cell form { margin:0; }
.squad-national-action-cell .button { min-width:78px; white-space:nowrap; }
.squad-national-action-cell .button.danger { color:#a92f2c; border-color:#dfb4b1; }
.national-final-history { margin-top:14px; }
.national-final-history .title-won { color:#187247; }
.national-final-history .title-runner-up { color:#6b7781; }


/* Nationalmannschaft Matches wie Pokalansicht */
.national-matches-shell {
  overflow: hidden;
  padding: 0;
}
.national-matches-hero {
  border-bottom: 3px solid #3a80b7;
}
.national-matches-symbol {
  padding: 0;
  overflow: hidden;
}
.national-matches-symbol img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.national-cup-results {
  gap: 18px;
}
.national-cup-fixture.current-win {
  border-left: 3px solid #2e8b57;
}
.national-cup-fixture.current-loss {
  border-left: 3px solid #bd4a43;
}
.national-cup-fixture.current-draw {
  border-left: 3px solid #8b98a3;
}
.national-team-flagline img {
  width: 20px;
  height: 14px;
  object-fit: cover;
  border: 1px solid #d5dce2;
}
.national-recent-win a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.national-recent-win img {
  width: 18px;
  height: 13px;
  object-fit: cover;
  border: 1px solid #d5dce2;
}

.national-bye-fixture {
  background: #fbfcfd;
}
.national-bye-fixture .bye-label {
  color: #6c7985;
  font-style: italic;
}
.national-bye-fixture .domestic-score {
  text-transform: uppercase;
}

.national-placeholder-fixture {
  opacity: .92;
}
.national-placeholder-fixture .placeholder-side {
  color: #7c8893;
}
.national-placeholder-fixture .cup-empty-logo {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px dashed #c8d0d8;
  border-radius: 4px;
  background: #f8fafb;
}


/* National team info page like club info */
.national-team-overview {
  align-items: start;
}
.national-compact-matches {
  display: grid;
  gap: 0;
}
.national-compact-match-row {
  display: grid;
  grid-template-columns: 42px minmax(140px, 1fr) 70px minmax(140px, 1fr) 140px;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #e7edf3;
  font-size: 14px;
}
.national-compact-match-row:last-child {
  border-bottom: 0;
}
.national-compact-match-row .match-home,
.national-compact-match-row .match-away {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.national-compact-match-row .match-away {
  justify-content: flex-end;
}
.national-compact-match-row .match-home.is-self a,
.national-compact-match-row .match-away.is-self a {
  font-weight: 700;
}
.national-compact-match-row .match-score {
  justify-self: center;
  font-weight: 700;
  color: #22384a;
}
.national-compact-match-row .match-turn,
.national-compact-match-row .match-competition {
  color: #71808c;
  font-size: 12px;
}
.national-compact-match-row .match-competition {
  text-align: right;
}
.national-title-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 18px;
}
.national-title-split article {
  min-height: 110px;
  border-top: 1px solid #eef2f6;
  padding-top: 12px;
}
.national-title-split h3 {
  margin: 0 0 12px;
  font-size: 18px;
}
.national-title-split p {
  margin: 0;
  color: #758391;
}
@media (max-width: 1100px) {
  .national-compact-match-row {
    grid-template-columns: 38px minmax(110px, 1fr) 60px minmax(110px, 1fr) 110px;
    font-size: 13px;
  }
}
@media (max-width: 860px) {
  .national-compact-match-row {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .national-compact-match-row .match-away,
  .national-compact-match-row .match-competition,
  .national-compact-match-row .match-score {
    justify-self: start;
    text-align: left;
  }
  .national-title-split {
    grid-template-columns: 1fr;
  }
}

.player-club-shirt {
  box-shadow: 0 1px 4px rgba(0,0,0,.18);
}
.simple-player-heading-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.simple-player-heading-copy h1 {
  margin: 0;
}
.simple-player-heading-copy p {
  margin: 0;
  color: #6c7681;
  font-size: 12px;
}

.simple-player-name-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.simple-player-name-row h1 {
  margin: 0;
}

/* Nur Positionierung der bestehenden Topbar: links weiter links, Kontrollen weiter rechts */
.topbar-inner {
  width: calc(100% - 24px);
  max-width: none;
  margin-left: 12px;
  margin-right: 12px;
}
.main-nav {
  margin-left: 0;
}
.account-area {
  margin-left: auto;
  margin-right: 0;
}

/* Langsame Spielerentwicklung und Coach-Bericht-Fortschritt */
.player-development-progress {
  display: grid;
  gap: 7px;
  margin: 0 0 14px;
  padding: 11px;
  border: 1px solid #d7e0e7;
  border-radius: 5px;
  background: #f8fafc;
}
.player-development-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #34424e;
  font-size: 11px;
  font-weight: 750;
}
.player-development-progress-head strong {
  color: #2f78ba;
  font-size: 12px;
}
.player-development-progress-track,
.coach-report-progress-track {
  position: relative;
  height: 18px;
  overflow: hidden;
  border: 1px solid #d6dde4;
  border-radius: 3px;
  background: #eef1f4;
}
.player-development-progress-track > span,
.coach-report-progress-track > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 100%;
  background: #347fba;
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  transition: width .25s ease;
}
.player-development-progress small {
  color: #6e7b87;
  font-size: 9px;
  line-height: 1.45;
}
.coach-report-progress-status {
  display: grid;
  gap: 7px;
  width: 100%;
}
.coach-report-progress-status > span {
  color: #3f4c57;
  font-size: 11px;
}
.coach-report-progress-track {
  width: 100%;
}
.coach-report-cancel-form {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-top: 4px !important;
  padding-top: 0 !important;
}


/* Vertraulich ermitteltes Main-Skill-Potenzial im eigenen Spielerprofil */
.attribute-values dd.reported-main-skill-value {
  color: #237fbd;
  font-weight: 850;
  cursor: help;
  text-decoration: underline dotted rgba(35,127,189,.55);
  text-underline-offset: 3px;
}
.attribute-values dd.reported-main-skill-value:hover {
  color: #145f93;
}

/* Goal FC inspired pre-game lobby, user settings, news administration and forum */
body.lobby-mode .page-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 16px auto 40px;
}
body.lobby-mode {
  background-position: center 86px;
}
.lobby-topbar .topbar-inner {
  height: 44px;
  width: 100%;
  margin: 0;
  padding: 0 14px 0 8px;
  gap: 8px;
}
.lobby-topbar .brand {
  min-width: 42px;
}
.lobby-topbar .brand-ball {
  width: 34px;
  height: 34px;
  font-size: 21px;
  border-radius: 4px;
}
.lobby-main-nav {
  display: flex;
  align-items: stretch;
  height: 44px;
}
.lobby-main-nav a {
  display: flex;
  align-items: center;
  padding: 0 15px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  border-left: 1px solid rgba(255,255,255,.06);
}
.lobby-main-nav a:hover {
  background: rgba(0,0,0,.1);
  color: #fff;
}
.lobby-account-area {
  height: 44px;
  gap: 10px;
}
.lobby-user-menu {
  position: relative;
  align-self: stretch;
}
.lobby-user-menu > summary {
  height: 44px;
  min-width: 44px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  list-style: none;
  cursor: pointer;
  border-left: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.08);
}
.lobby-user-menu > summary::-webkit-details-marker { display: none; }
.lobby-user-icon { font-size: 17px; }
.lobby-user-caret { font-size: 10px; }
.lobby-user-dropdown {
  right: 0;
  left: auto;
  top: 44px;
  width: 190px;
  padding: 5px 0;
}
.lobby-user-dropdown form,
.lobby-user-dropdown form button {
  width: 100%;
}
.lobby-user-dropdown form button {
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px 14px;
  color: #3c4650;
  cursor: pointer;
  font: inherit;
}
.lobby-user-dropdown form button:hover { background: #f2f5f7; }
.lobby-content-shell { width: 100%; }
body.lobby-mode .footer { margin-top: auto; }

.server-dimension-panel .panel-header,
.server-updates-panel .panel-header,
.goalfc-settings-panel .panel-header,
.forum-panel .panel-header,
.forum-editor-panel .panel-header {
  min-height: 38px;
  padding: 9px 14px;
  background: #f7f7f7;
  border-bottom: 1px solid #d7dce0;
}
.server-dimension-panel .panel-header h2,
.server-updates-panel .panel-header h2,
.goalfc-settings-panel .panel-header h2,
.forum-panel .panel-header h2,
.forum-editor-panel .panel-header h2 {
  font-size: 14px;
  color: #333;
}
.server-dimension-table thead th {
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
  color: #2e3740;
  background: #fff;
}
.server-dimension-table tbody tr.is-online { box-shadow: inset 3px 0 0 #2b9b55; }
.server-dimension-table tbody tr.is-simulating { box-shadow: inset 3px 0 0 #e18a22; }
.server-dimension-table tbody tr.is-simulating td { background: #fffaf1; }
.dimension-help-list {
  margin: 10px 18px 14px 36px;
  padding: 0;
  color: #4d5964;
  font-size: 11px;
  line-height: 1.6;
}
.server-updates-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 12px;
}
.server-update-card {
  position: relative;
  min-height: 170px;
  padding: 14px;
  border: 1px solid #d7dfe5;
  border-radius: 3px;
  box-shadow: none;
}
.server-update-card h3 { font-size: 17px; }
.server-update-card p { font-size: 12px; line-height: 1.5; }
.news-header-actions,
.admin-news-actions,
.admin-inline-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.admin-news-actions {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf0f2;
}
.admin-news-actions form,
.admin-inline-actions form { margin: 0; }
.button-danger {
  background: #b94c4c;
  border-color: #a94242;
  color: #fff;
}
.button-danger:hover { background: #a94242; color: #fff; }
.archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.archived-news-card { opacity: .94; }
.archived-news-card > small { color: #7a838b; }

.goalfc-settings-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  padding: 14px;
}
.settings-column {
  display: grid;
  align-content: start;
  gap: 7px;
}
.settings-column label {
  margin-top: 5px;
  font-size: 11px;
  font-weight: 800;
  color: #252c32;
}
.settings-column input,
.settings-column select,
.forum-editor-form input,
.forum-editor-form textarea,
.forum-reply-form textarea {
  width: 100%;
  border: 1px solid #cbd2d8;
  border-radius: 2px;
  background: #fff;
  padding: 8px 10px;
  color: #303840;
  font: inherit;
}
.settings-column .locked-setting {
  background: #eceff1;
  color: #6a737b;
  cursor: not-allowed;
}
.settings-column small,
.registration-lock-note {
  color: #737d86;
  font-size: 10px;
  line-height: 1.45;
}
.settings-save-button { justify-self: start; margin-top: 14px; }
.register-name-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.register-name-grid > div { display: grid; gap: 5px; }

.forum-page { display: grid; gap: 12px; }
.forum-breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #66717b;
  font-size: 11px;
}
.forum-heading-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.forum-heading-actions > div:first-child { display: grid; gap: 2px; }
.forum-category-list,
.forum-topic-list { display: grid; }
.forum-category-row,
.forum-topic-row {
  display: grid;
  grid-template-columns: 40px minmax(240px, 1fr) 72px 72px minmax(180px, .65fr);
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 10px 14px;
  color: #303a43;
  border-bottom: 1px solid #e0e5e9;
}
.forum-topic-row { grid-template-columns: 36px minmax(260px, 1fr) 80px minmax(180px, .45fr); }
.forum-category-row:last-child,
.forum-topic-row:last-child { border-bottom: 0; }
.forum-category-row:hover,
.forum-topic-row:hover { background: #f6f9fb; color: #2674ad; }
.forum-category-icon,
.forum-topic-state { font-size: 22px; text-align: center; }
.forum-category-main,
.forum-topic-main,
.forum-latest,
.forum-category-stats { display: grid; gap: 3px; }
.forum-category-main strong,
.forum-topic-main strong { font-size: 13px; }
.forum-category-main small,
.forum-topic-main small,
.forum-latest small,
.forum-category-stats small { color: #7a858e; font-size: 10px; }
.forum-category-stats { text-align: center; }
.forum-category-stats b { font-size: 14px; }
.forum-latest strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-post-list { display: grid; }
.forum-post {
  display: grid;
  grid-template-columns: 170px 1fr;
  min-height: 130px;
  border-bottom: 1px solid #dde3e7;
}
.forum-post:last-child { border-bottom: 0; }
.forum-post aside {
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 14px;
  background: #f5f7f8;
  border-right: 1px solid #dde3e7;
}
.forum-post aside strong { font-size: 13px; color: #2474ad; }
.forum-post aside span,
.forum-post aside small { color: #6d7780; font-size: 10px; }
.forum-post-content { padding: 12px 16px; }
.forum-post-content header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #edf0f2;
  color: #78828b;
  font-size: 10px;
}
.forum-post-content p { white-space: pre-wrap; line-height: 1.55; font-size: 12px; color: #303941; }
.forum-delete-link { border: 0; background: transparent; color: #ad3c3c; cursor: pointer; font-size: 10px; }
.forum-reply-panel,
.forum-editor-panel { margin-top: 0; }
.forum-reply-form,
.forum-editor-form { display: grid; gap: 8px; padding: 14px; }
.forum-editor-form label { font-size: 11px; font-weight: 800; }
.forum-reply-form .button,
.forum-editor-form .button { justify-self: start; }
.news-editor-note {
  padding: 10px;
  border-left: 3px solid #e18a22;
  background: #fff8eb;
  color: #66563c;
  font-size: 11px;
}

@media (max-width: 900px) {
  .server-updates-grid,
  .archive-grid { grid-template-columns: 1fr; }
  .goalfc-settings-form { grid-template-columns: 1fr; }
  .forum-category-row { grid-template-columns: 36px 1fr 55px 55px; }
  .forum-category-row .forum-latest { grid-column: 2 / -1; }
  .forum-topic-row { grid-template-columns: 32px 1fr 60px; }
  .forum-topic-row .forum-latest { grid-column: 2 / -1; }
}
@media (max-width: 640px) {
  .lobby-main-nav a { padding: 0 8px; font-size: 10px; }
  .lobby-account-area .nav-counter-icon { display: none; }
  .register-name-grid { grid-template-columns: 1fr; }
  .forum-post { grid-template-columns: 1fr; }
  .forum-post aside { border-right: 0; border-bottom: 1px solid #dde3e7; }
}
.lobby-section-strip {
  min-height: 20px;
  display: flex;
  align-items: center;
  padding: 0 8px;
  background: #050505;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1px;
}
.password-settings-panel { margin-top: 14px; }
.password-settings-form {
  display: grid;
  grid-template-columns: 170px minmax(240px, 420px);
  align-items: center;
  gap: 9px 14px;
  padding: 14px;
}
.password-settings-form label { font-size: 11px; font-weight: 800; }
.password-settings-form input {
  width: 100%;
  border: 1px solid #cbd2d8;
  border-radius: 2px;
  padding: 8px 10px;
}
.password-settings-form small,
.password-settings-form .button { grid-column: 2; }
.password-settings-form small { color: #737d86; font-size: 10px; }
.password-settings-form .button { justify-self: start; }
@media (max-width: 640px) {
  .password-settings-form { grid-template-columns: 1fr; }
  .password-settings-form small,
  .password-settings-form .button { grid-column: 1; }
}
.goalfc-settings-form > .validation-summary { grid-column: 1 / -1; }


/* Dimension room: fixed chrome and no page scrolling */
html.dimension-room-root,
body.dimension-room-mode {
  height: 100%;
  overflow: hidden;
}
body.dimension-room-mode {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
body.dimension-room-mode .topbar {
  position: sticky;
  top: 0;
  flex: 0 0 auto;
}
body.dimension-room-mode .lobby-section-strip {
  position: sticky;
  top: 44px;
  z-index: 49;
  flex: 0 0 auto;
}
body.dimension-room-mode .page-shell {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  margin: 12px auto;
  padding: 0;
  overflow: hidden;
}
body.dimension-room-mode .server-login-page {
  height: 100%;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
}
body.dimension-room-mode .server-dimension-table-wrap {
  overflow: hidden;
}
body.dimension-room-mode .server-updates-panel {
  min-height: 0;
  display: flex;
  flex-direction: column;
}
body.dimension-room-mode .server-updates-grid {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
body.dimension-room-mode .server-update-card {
  min-height: 0;
}
body.dimension-room-mode .footer {
  flex: 0 0 auto;
  margin-top: 0;
}
body.dimension-room-mode .footer-inner {
  padding: 8px 0 10px;
}
@media (max-height: 760px) {
  body.dimension-room-mode .server-update-card p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  body.dimension-room-mode .dimension-help-list {
    margin-top: 6px;
    margin-bottom: 7px;
    line-height: 1.35;
  }
}

/* Game status ticker: fixed directly below the topbar and aligned to screen edges */
body.game-mode .topbar {
  position: sticky;
  top: 0;
  z-index: 60;
}
body.game-mode .ticker {
  position: sticky;
  top: 52px;
  left: 0;
  right: 0;
  z-index: 59;
  width: 100%;
  overflow: hidden;
}
body.game-mode .ticker-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: 12px;
  gap: 18px;
  overflow: hidden;
  white-space: nowrap;
}
body.game-mode .ticker-inner > strong,
body.game-mode .ticker-inner > span:not(.ticker-countdown) {
  flex: 0 0 auto;
}
body.game-mode .ticker-countdown {
  flex: 0 0 auto;
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 800px) {
  body.game-mode .ticker-inner {
    padding-inline: 8px;
    gap: 10px;
  }
}

/* Compact tournament pairings: only turns, never calendar-date pills */
.match-date-turn,
.match-date-compact,
.match-turn,
.match-turn-plain,
.matchday-group h3 small,
.fixture-group small,
.paired-score-item small,
.worldcup-round-turn {
  color: #78848f;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
.match-date-turn,
.match-date-compact,
.match-turn,
.match-turn-plain {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.team-matches-table td:first-child { min-width: 64px; }
.matchday-group h3 small { display: block; margin-top: 2px; }
.national-compact-match-row .match-turn { white-space: nowrap; }
.fixture-group { display: grid; gap: 2px; align-content: center; }
.fixture-group small { display: block; }
.international-fixture { grid-template-columns: 76px minmax(0,1fr) 55px minmax(0,1fr); }

.compact-cup-pairing {
  grid-template-columns: minmax(120px,1fr) 18px minmax(120px,1fr) minmax(132px,170px);
  min-height: 56px;
  gap: 7px;
}
.paired-score-area {
  display: grid;
  justify-items: stretch;
  gap: 3px;
  min-width: 0;
}
.paired-score-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(58px, 1fr));
  gap: 5px;
  width: 100%;
}
.paired-score-list.single-leg {
  grid-template-columns: minmax(58px, 74px);
  justify-content: center;
}
.paired-score-item {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: center;
}
.paired-score-item small {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.paired-score-item .domestic-score,
.paired-score-item > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 6px;
  border: 1px solid #d7e0e7;
  border-radius: 4px;
  background: #eef3f7;
  color: #243d52;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.pairing-decision {
  display: block;
  overflow: hidden;
  color: #75818b;
  font-size: 8px;
  line-height: 1.25;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compact-international-pairing {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(132px,170px);
  align-items: center;
  gap: 12px;
  padding: 9px 11px;
}
.international-pairing-teams {
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr);
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.international-pairing-teams > a {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: #263744;
}
.international-pairing-teams > a:first-child { justify-content: flex-end; text-align: right; }
.international-pairing-teams > a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.international-pairing-teams > span { color: #7a8792; text-align: center; font-size: 10px; }

.worldcup-compact-bracket { gap: 14px; }
.worldcup-compact-bracket .worldcup-round-column { flex-basis: 300px; }
.compact-worldcup-tie {
  display: grid;
  gap: 7px;
  padding: 9px;
}
.worldcup-pairing-teams {
  display: grid;
  grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr);
  align-items: center;
  gap: 5px;
}
.worldcup-pairing-teams > a {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: #263744;
}
.worldcup-pairing-teams > a:first-child { justify-content: flex-end; text-align: right; }
.worldcup-pairing-teams > a:last-child { justify-content: flex-start; }
.worldcup-pairing-teams > a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.worldcup-pairing-teams > a.winner { color: #176b43; font-weight: 850; }
.pairing-separator { color: #7a8792; font-size: 9px; text-align: center; text-transform: uppercase; }
.compact-worldcup-tie .paired-score-list { max-width: 150px; margin: 0 auto; }
.compact-worldcup-tie .pairing-decision { text-align: center; }

/* Second divisions are visible but intentionally locked for the current beta. */
.button-disabled,
.league-two-disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: .72;
  background: #a6afb7;
  border-color: #a6afb7;
  color: #fff;
  box-shadow: none;
  transform: none;
}
.league-select-label option:disabled { color: #9ba4ad; }

/* Clickable manager account menus in the lobby and inside a dimension. */
.lobby-user-name,
.game-user-name {
  display: block;
  max-width: 165px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
}
.game-user-menu {
  position: relative;
  height: 58px;
  align-self: stretch;
}
.game-user-menu > summary {
  height: 58px;
  max-width: 205px;
  padding: 0 11px;
}
.game-user-dropdown,
.lobby-user-dropdown {
  right: 0;
  left: auto;
}
.game-user-dropdown form,
.game-user-dropdown form button,
.lobby-user-dropdown form,
.lobby-user-dropdown form button { width: 100%; }
.game-user-dropdown form button,
.lobby-user-dropdown form button {
  display: block;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  padding: 9px 11px;
  text-align: left;
}
.game-user-dropdown form button:hover,
.lobby-user-dropdown form button:hover { background: var(--red-soft); color: var(--red); }

/* Admin account management */
.admin-user-table td { vertical-align: middle; }
.admin-user-banned { background: #fff6f5; }
.admin-user-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 315px;
}
.admin-user-actions form { margin: 0; }
.admin-user-actions .button { min-height: 28px; padding: 4px 8px; font-size: 10px; }
.status-pill.status-online { background: #e6f7ed; color: #177245; border-color: #b8e4c9; }
.status-pill.status-offline { background: #eef1f4; color: #65717c; border-color: #d8dde2; }
.status-pill.status-banned { background: #fff0ef; color: #a02c27; border-color: #efc5c2; }
.admin-ban-reason { max-width: 190px; color: #9b3934; }
.admin-ban-button { background: #a53a35; border-color: #a53a35; }
.admin-unban-button { background: #278153; border-color: #278153; }
.admin-delete-button { background: #54272a; border-color: #54272a; }
.admin-self-label { color: #77828d; font-size: 10px; font-weight: 700; }
.admin-edit-user-panel { max-width: 830px; }
.admin-edit-user-form { padding: 18px; }
.admin-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.admin-edit-grid label { display: grid; gap: 5px; color: #44515d; font-size: 11px; font-weight: 750; }
.admin-edit-grid input,
.admin-edit-grid select {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #cbd2d8;
  border-radius: 4px;
  background: #fff;
  color: #283642;
  font: inherit;
}
.admin-edit-wide { grid-column: 1 / -1; }
.admin-edit-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }

@media (max-width: 760px) {
  .compact-cup-pairing {
    grid-template-columns: minmax(86px,1fr) 14px minmax(86px,1fr);
  }
  .compact-cup-pairing > .paired-score-area {
    grid-column: 1 / -1;
    width: min(170px, 100%);
    justify-self: center;
  }
  .compact-international-pairing { grid-template-columns: 1fr; }
  .compact-international-pairing .paired-score-area { width: min(170px,100%); justify-self: center; }
  .international-fixture { grid-template-columns: 65px minmax(70px,1fr) 44px minmax(70px,1fr); }
  .game-user-name { max-width: 90px; }
  .admin-user-actions { min-width: 220px; }
  .admin-edit-grid { grid-template-columns: 1fr; }
  .admin-edit-wide { grid-column: 1; }
}

/* Email confirmation management */
.admin-email-config {
  min-width: 190px;
  max-width: 245px;
}
.admin-email-config > summary {
  list-style: none;
}
.admin-email-config > summary::-webkit-details-marker { display: none; }
.admin-email-config-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid;
  border-radius: 6px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  user-select: none;
}
.admin-email-config-summary.is-confirmed {
  background: #e8f6ee;
  border-color: #b8dfc8;
  color: #17683f;
}
.admin-email-config-summary.is-pending {
  background: #fff4e8;
  border-color: #edc89d;
  color: #95530d;
}
.admin-email-config-chevron {
  font-size: 14px;
  line-height: 1;
  transition: transform .16s ease;
}
.admin-email-config[open] .admin-email-config-chevron { transform: rotate(180deg); }
.admin-email-config-menu {
  display: grid;
  gap: 8px;
  margin-top: 6px;
  padding: 10px;
  border: 1px solid #d9e0e6;
  border-radius: 7px;
  background: #fff;
}
.admin-email-config-menu > strong {
  color: #273542;
  font-size: 11px;
}
.admin-email-config-menu > small {
  color: #6c7883;
  font-size: 9px;
  line-height: 1.4;
}
.admin-email-config-menu form { margin: 0; }
.admin-email-action {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 7px 8px;
  border: 1px solid #ccd5dc;
  border-radius: 6px;
  background: #f8fafb;
  color: #2f3e49;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.admin-email-action:hover {
  border-color: #9db4c4;
  background: #f1f6f9;
}
.admin-email-action > span:first-child {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #e7eef3;
  font-size: 14px;
  font-weight: 900;
}
.admin-email-action > span:last-child { display: grid; gap: 1px; }
.admin-email-action b { font-size: 10px; }
.admin-email-action small { color: #73808a; font-size: 8px; }
.admin-email-confirm-action {
  border-color: #b8ddc6;
  background: #f1faf5;
  color: #17683f;
}
.admin-email-confirm-action:hover {
  border-color: #78bd94;
  background: #e8f6ee;
}
.admin-email-confirm-action > span:first-child { background: #d9f0e2; }

/* Registration one-account rule */
.single-account-policy {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid #e4c48f;
  border-left: 4px solid #c78a2a;
  border-radius: 6px;
  background: #fff8ec;
  color: #5f481f;
}
.single-account-policy > strong {
  color: #6b4711;
  font-size: 12px;
}
.single-account-policy > p {
  margin: 0;
  font-size: 10px;
  line-height: 1.5;
}
.single-account-policy-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #3f3525;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
.single-account-policy-check input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 1px;
}

/* Compact country directory */
.country-directory-panel {
    margin-top: 16px;
    overflow: hidden;
}
.country-directory-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 16px;
}
.country-directory-header h2 {
    margin: 0 0 2px;
    font-size: 17px;
}
.country-directory-header > div:first-child > span {
    color: var(--muted);
    font-size: 10px;
}
.country-directory-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px 13px;
    color: #68737d;
    font-size: 9px;
}
.country-directory-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}
.country-region-stack {
    display: grid;
    gap: 12px;
    padding: 12px;
    border-top: 1px solid var(--line);
    background: #f4f6f8;
}
.country-region-section {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe4e8;
    border-radius: 7px;
    background: #fff;
}
.country-region-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 8px 12px;
    border-bottom: 1px solid #e5e9ec;
    background: #fafbfc;
}
.country-region-heading h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.15;
}
.country-region-heading > strong {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    border: 1px solid #dce2e7;
    border-radius: 12px;
    color: #68737d;
    background: #fff;
    font-size: 8px;
    white-space: nowrap;
}
.country-region-kicker {
    display: block;
    margin-bottom: 1px;
    color: #8b959e;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.country-compact-table {
    width: 100%;
    min-width: 0;
}
.country-compact-head,
.country-compact-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.35fr) 55px 64px 72px minmax(145px, 1fr) minmax(145px, 1fr);
    align-items: center;
    min-width: 0;
}
.country-compact-head {
    min-height: 29px;
    padding: 0 11px;
    border-bottom: 1px solid #e7ebee;
    color: #7d8790;
    background: #f7f9fa;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.country-compact-row {
    min-height: 42px;
    padding: 5px 11px;
    color: var(--ink);
    border-bottom: 1px solid #edf0f2;
    transition: background .15s ease;
}
.country-compact-row:last-child {
    border-bottom: 0;
}
.country-compact-row:hover {
    background: #f7fbfe;
}
.country-compact-name {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 9px;
}
.country-compact-name img {
    flex: 0 0 auto;
    width: 30px;
    height: 20px;
    object-fit: cover;
    border: 1px solid #d7dde2;
    border-radius: 3px;
}
.country-compact-name strong {
    overflow: hidden;
    color: #2d5f91;
    font-size: 10px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.country-compact-clubs,
.country-compact-managers {
    color: #5f6a73;
    font-size: 9px;
    font-weight: 700;
}
.country-compact-class {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #59646d;
    font-size: 9px;
}
.country-compact-class img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}
.country-compact-class b {
    font-size: 9px;
}
.country-compact-managers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    min-width: 34px;
    min-height: 21px;
    padding: 2px 6px;
    border: 1px solid #dce2e6;
    border-radius: 11px;
    background: #f7f9fa;
}
.country-compact-league {
    overflow: hidden;
    padding-right: 10px;
    color: #3f4952;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .country-compact-head,
    .country-compact-row {
        grid-template-columns: minmax(160px, 1.2fr) 48px 58px 66px minmax(120px, 1fr) minmax(120px, 1fr);
    }
}

@media (max-width: 760px) {
    .country-directory-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
    .country-directory-legend {
        justify-content: flex-start;
    }
    .country-region-stack {
        padding: 8px;
        gap: 8px;
    }
    .country-compact-head {
        display: none;
    }
    .country-compact-row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 5px 9px;
        min-height: 0;
        padding: 8px 10px;
    }
    .country-compact-name {
        grid-column: 1 / 2;
    }
    .country-compact-clubs {
        grid-column: 2 / 3;
    }
    .country-compact-clubs::after {
        content: " clubs";
        color: #8a949d;
        font-weight: 400;
    }
    .country-compact-class {
        grid-column: 3 / 4;
    }
    .country-compact-managers {
        grid-column: 3 / 4;
        grid-row: 2 / 4;
        align-self: center;
    }
    .country-compact-league {
        grid-column: 1 / 3;
        padding: 0;
        font-size: 8px;
    }
    .country-compact-league::before {
        content: attr(data-label) ": ";
        color: #88929b;
        font-weight: 700;
    }
}

/* Custom UI status icons */
.player-status-icons {
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:5px;
  vertical-align:middle;
  white-space:nowrap;
}
.status-image-wrap,
.status-card-icon {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.status-icon-image {
  display:block;
  width:14px;
  height:14px;
  object-fit:contain;
}
.status-card-icon .card-icon {
  width:10px;
  height:14px;
}
.status-card-icon small {
  position:absolute;
  right:-5px;
  bottom:-5px;
  display:grid;
  place-items:center;
  min-width:11px;
  height:11px;
  padding:0 2px;
  border-radius:7px;
  background:#263441;
  color:#fff !important;
  font-size:7px !important;
  font-weight:900;
  line-height:1;
}
.pitch-player .status-icon-image {
  width:10px;
  height:10px;
}
.pitch-player .status-card-icon .card-icon {
  width:7px;
  height:10px;
}
.pitch-player .status-card-icon small {
  display:none;
}
.retirement-marker {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  height:15px;
  margin-left:3px;
  vertical-align:middle;
}
.retirement-marker img {
  display:block;
  width:15px;
  height:15px;
  object-fit:contain;
}
.inline-status-icon {
  display:inline-block;
  width:14px;
  height:14px;
  object-fit:contain;
  vertical-align:-2px;
  margin-right:4px;
}
.tab-inline-icon {
  display:inline-block;
  width:14px;
  height:14px;
  object-fit:contain;
  vertical-align:-2px;
  margin-right:5px;
}
.market-status.loan {
  display:inline-flex;
  align-items:center;
  gap:3px;
}

/* Transfer negotiation page */
.transfer-negotiation-panel { max-width:980px; margin:16px auto 30px; }
.transfer-offer-header { align-items:center; }
.transfer-offer-header > div { display:grid; gap:2px; }
.transfer-offer-header h2 { margin:0; }
.transfer-offer-header span { color:#65727e; font-size:12px; }
.transfer-player-strip { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; padding:14px; border-bottom:1px solid #e1e6ea; background:#f8fafb; }
.transfer-player-strip > div { min-width:0; display:grid; gap:3px; }
.transfer-player-strip strong { font-size:15px; }
.transfer-player-strip small { color:#66727d; }
.transfer-player-value { text-align:right; }
.transfer-player-value strong { font-size:16px; color:#1d4f7a; }
.transfer-advice { margin:14px; padding:12px 14px; border:1px solid #ecdba9; background:#fff9e8; color:#7a5c1b; line-height:1.45; }
.transfer-notice { margin:14px; padding:12px 14px; border:1px solid #d7e0e7; display:grid; gap:4px; }
.transfer-notice.pending { background:#eef6ff; border-color:#bfd9f2; color:#245f91; }
.transfer-notice.counter { background:#fff7e8; border-color:#efcf91; color:#76521a; }
.counter-values { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:5px; }
.transfer-offer-form { padding:0 14px 16px; }
.offer-field-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.offer-field { display:grid; align-content:start; gap:6px; }
.offer-field > span { font-weight:800; color:#263746; }
.offer-field input,.offer-field select { width:100%; min-height:38px; border:1px solid #bcc8d2; border-radius:3px; padding:7px 10px; background:#fff; color:#1d2b36; }
.offer-field small { color:#65727e; }
.offer-summary-bar { display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; border:1px solid #dce3e8; background:#f7f9fa; }
.offer-summary-bar > div { display:grid; gap:2px; padding:10px 12px; border-right:1px solid #dce3e8; }
.offer-summary-bar > div:last-child { border-right:0; }
.offer-summary-bar small { color:#687580; }
.transfer-submit-button { margin-top:14px; min-width:150px; }
.existing-offer-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:0 14px 14px; background:#dde4e9; border:1px solid #dde4e9; }
.existing-offer-summary > div { display:grid; gap:3px; padding:12px; background:#fff; }
.existing-offer-summary small { color:#66727d; }
.transfer-withdraw-form { padding:0 14px 16px; }
.market-offer-action { display:inline-flex; align-items:center; justify-content:center; min-width:76px; padding:5px 9px; border-radius:3px; background:#2f7fba; color:#fff !important; text-decoration:none; font-weight:700; }
.market-offer-action:hover { background:#256c9f; }
.market-offer-action.counter { background:#d8891a; }
.market-pending-link { text-decoration:none; }
@media (max-width:760px) {
  .offer-field-grid { grid-template-columns:1fr; }
  .transfer-player-strip { grid-template-columns:auto minmax(0,1fr); }
  .transfer-player-value { grid-column:1/-1; text-align:left; }
  .offer-summary-bar,.existing-offer-summary { grid-template-columns:1fr; }
  .offer-summary-bar > div { border-right:0; border-bottom:1px solid #dce3e8; }
  .offer-summary-bar > div:last-child { border-bottom:0; }
}

/* Friendly-match center */
.friendly-page-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:14px;
  align-items:start;
}
.friendly-create-panel,
.friendly-inbox-panel { min-width:0; }
.friendly-create-panel .panel-header,
.friendly-inbox-panel .panel-header { align-items:flex-start; }
.friendly-create-panel .panel-header > div,
.friendly-inbox-panel .panel-header > div { display:grid; gap:3px; }
.friendly-create-panel .panel-header h2,
.friendly-inbox-panel .panel-header h2 { margin:0; }
.friendly-create-panel .panel-header span,
.friendly-inbox-panel .panel-header span { font-size:11px; color:#667481; }
.friendly-club-pill {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid #cbd8e2;
  border-radius:14px;
  background:#f7fafc;
  color:#304657 !important;
  font-weight:800;
  white-space:nowrap;
}
.friendly-create-form {
  display:grid;
  gap:13px;
  padding:14px;
}
.friendly-create-form > label,
.friendly-form-row > label {
  display:grid;
  gap:5px;
  color:#263847;
  font-size:12px;
  font-weight:800;
}
.friendly-create-form input[type="search"],
.friendly-create-form select,
.friendly-response-box select {
  width:100%;
  min-height:36px;
  border:1px solid #c9d3db;
  border-radius:4px;
  background:#fff;
  padding:7px 9px;
  color:#263847;
  font:inherit;
}
.friendly-opponent-search { margin-bottom:2px; }
.friendly-form-row {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:10px;
}
.friendly-venue-choice {
  display:flex;
  align-items:center;
  gap:18px;
  margin:0;
  padding:9px 11px;
  border:1px solid #d8e0e6;
  border-radius:4px;
  background:#fafcfd;
}
.friendly-venue-choice legend {
  padding:0 5px;
  color:#34495a;
  font-size:11px;
  font-weight:850;
}
.friendly-venue-choice label {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  font-weight:750;
}
.friendly-development-note {
  display:grid;
  gap:3px;
  padding:10px 11px;
  border-left:4px solid #3b8ac4;
  background:#edf6fc;
  color:#345366;
}
.friendly-development-note strong { color:#1f4e6c; }
.friendly-development-note span { font-size:11px; line-height:1.45; }
.friendly-primary-button { justify-self:start; min-width:145px; }
.friendly-invitation-list.enhanced {
  display:grid;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding:12px;
}
.friendly-invitation-card {
  display:grid;
  gap:9px;
  padding:10px 11px;
  border:1px solid #dce3e8;
  border-left:4px solid #9aa8b3;
  border-radius:4px;
  background:#fff;
}
.friendly-invitation-card.accepted { border-left-color:#2f9b62; }
.friendly-invitation-card.pending { border-left-color:#d79b27; }
.friendly-invitation-card.rejected,
.friendly-invitation-card.expired { border-left-color:#bd4e4e; opacity:.86; }
.friendly-invitation-main { display:grid; gap:5px; min-width:0; }
.friendly-match-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.friendly-match-line strong:first-child { text-align:right; }
.friendly-match-line strong:last-child { text-align:left; }
.friendly-match-line > span { color:#82909b; font-size:10px; font-weight:850; }
.friendly-meta-line {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px 10px;
  color:#667481;
  font-size:10px;
}
.friendly-status-badge {
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:0 7px;
  border-radius:10px;
  background:#eef1f3;
  color:#52616d !important;
  font-size:9px !important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.friendly-status-badge.accepted { background:#e4f5eb; color:#277c50 !important; }
.friendly-status-badge.pending { background:#fff3d8; color:#966817 !important; }
.friendly-status-badge.rejected,
.friendly-status-badge.expired { background:#f9e5e5; color:#9e3d3d !important; }
.friendly-response-box {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:end;
}
.friendly-response-box form:first-child {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
.friendly-response-box form:last-child { display:flex; }
.friendly-response-box select { min-height:31px; padding:4px 7px; font-size:11px; }
.friendly-waiting {
  display:inline-flex;
  justify-self:center;
  color:#7b8791;
  font-size:10px;
  font-weight:750;
}
.friendly-fixtures-panel { margin-top:14px; }
.friendly-stat-row { background:#f3f9fd; }
.friendly-stat-row td:first-child { color:#25658c; font-weight:800; }
@media (max-width:900px) {
  .friendly-page-grid { grid-template-columns:1fr; }
  .friendly-invitation-list.enhanced { max-height:none; }
}
@media (max-width:620px) {
  .friendly-form-row,
  .friendly-response-box,
  .friendly-response-box form:first-child { grid-template-columns:1fr; }
  .friendly-match-line { grid-template-columns:1fr; text-align:center; }
  .friendly-match-line strong:first-child,
  .friendly-match-line strong:last-child { text-align:center; }
}

/* Wide, compact transfer market: every skill remains visible on desktop */
.page-shell.wide-page-shell {
  width: min(1510px, calc(100% - 24px));
}
.compact-transfer-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 10px;
}
.compact-transfer-table col.col-player { width: 15.5%; }
.compact-transfer-table col.col-club { width: 13.5%; }
.compact-transfer-table col.col-pos { width: 3.2%; }
.compact-transfer-table col.col-side { width: 3.6%; }
.compact-transfer-table col.col-age { width: 3.4%; }
.compact-transfer-table col.col-skill { width: 3.55%; }
.compact-transfer-table col.col-money { width: 7.2%; }
.compact-transfer-table col.col-price { width: 8.6%; }
.compact-transfer-table col.col-action { width: 7.2%; }
.transfer-table-wrap {
  max-height: 650px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
.compact-transfer-table th,
.compact-transfer-table td,
.compact-transfer-table th:nth-child(n),
.compact-transfer-table td:nth-child(n) {
  position: static;
  min-width: 0;
  width: auto;
  padding: 7px 5px;
  white-space: nowrap;
  box-shadow: none;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #fff;
}
.compact-transfer-table thead th,
.compact-transfer-table thead th:nth-child(n) {
  position: sticky;
  top: 0;
  z-index: 6;
  padding-top: 8px;
  padding-bottom: 8px;
  background: #edf3f7;
  color: #334553;
  font-size: 9px;
  text-align: center;
  text-transform: none;
}
.compact-transfer-table thead th:first-child,
.compact-transfer-table thead th:nth-child(2) { text-align: left; }
.compact-transfer-table td:nth-child(n+3):nth-child(-n+13) { text-align: center; }
.compact-transfer-table tbody tr:hover td,
.compact-transfer-table tbody tr:hover td:nth-child(n) { background: #f0f7fc; }
.transfer-player-cell,
.transfer-club-cell { overflow: hidden !important; }
.transfer-player-cell {
  display: flex;
  align-items: center;
  gap: 4px;
}
.transfer-player-flag {
  flex: 0 0 auto;
  width: 15px;
  height: 10px;
  object-fit: cover;
}
.transfer-ellipsis-link {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transfer-player-cell .player-status-icons {
  flex: 0 0 auto;
  margin-left: 1px;
  gap: 2px;
}
.transfer-player-cell .status-icon-image {
  width: 11px;
  height: 11px;
}
.transfer-club-link {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 4px;
}
.transfer-club-link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transfer-club-logo,
.compact-transfer-table .club-logo.transfer-club-logo {
  flex: 0 0 auto;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  object-fit: contain;
}
.compact-transfer-table .money-cell,
.compact-transfer-table .transfer-price-cell {
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.transfer-price-with-icon {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  max-width: 100%;
}
.transfer-price-with-icon img {
  width: 13px;
  height: 13px;
  image-rendering: auto;
}
.transfer-action-cell { text-align: center; }
.compact-transfer-table .market-offer-action,
.compact-transfer-table .market-pending-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  padding: 5px 7px;
  font-size: 9px;
  line-height: 1;
}
.transfer-market-toolbar { padding: 11px 13px; }
.transfer-filter-form select { min-width: 128px; }
.transfer-filter-form input { min-width: 205px; }
.transfer-budget-strip { padding: 8px 13px; font-size: 10px; }

/* Exact transfer icon on sell/list actions */
.icon-action-link,
.icon-button,
.market-setup-heading {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.icon-action-link img,
.icon-button img,
.market-setup-heading img {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.transfer-status-icon { image-rendering: auto; }

/* Email configuration as a professional floating dropdown, without moving table rows */
.admin-email-config {
  position: relative;
  min-width: 150px;
  max-width: 175px;
}
.admin-email-config-summary {
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 15px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.admin-email-config-summary::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .75;
}
.admin-email-config-summary > span:first-of-type { margin-right: auto; }
.admin-email-config-chevron { font-size: 12px; }
.admin-email-config-menu {
  position: fixed;
  z-index: 3000;
  display: none;
  width: min(300px, calc(100vw - 20px));
  max-height: min(360px, calc(100vh - 20px));
  overflow: auto;
  margin: 0;
  padding: 12px;
  border: 1px solid #cfd9e1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(28,45,60,.22), 0 2px 6px rgba(28,45,60,.10);
}
.admin-email-config[open] .admin-email-config-menu { display: grid; }
.admin-email-config-menu::before {
  content: "Email configuration";
  display: block;
  padding-bottom: 7px;
  border-bottom: 1px solid #e7edf1;
  color: #30414f;
  font-size: 11px;
  font-weight: 900;
}
.admin-email-action {
  min-height: 46px;
  border-radius: 8px;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.admin-email-action:hover { transform: translateY(-1px); }

@media (max-width: 1180px) {
  .transfer-table-wrap { overflow-x: auto; }
  .compact-transfer-table { min-width: 1120px !important; }
}

/* Final transfer-table alignment corrections */
.compact-transfer-table th:nth-child(n),
.compact-transfer-table td:nth-child(n) {
  left: auto;
  right: auto;
}
.transfer-player-cell {
  display: table-cell;
  vertical-align: middle;
}
.transfer-player-cell > * { vertical-align: middle; }
.transfer-player-cell .transfer-ellipsis-link {
  display: inline-block;
  max-width: calc(100% - 62px);
  vertical-align: middle;
}

/* Friendly match entry points and invitation badge */
.team-contact-actions {
  display:grid;
  gap:8px;
  margin-top:12px;
}
.friendly-team-action {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.nav-friendly-count {
  display:inline-grid;
  place-items:center;
  min-width:17px;
  height:17px;
  margin-left:5px;
  padding:0 5px;
  border-radius:10px;
  background:#e6503d;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1;
}
.team-friendly-quick-action {
  display:grid;
  gap:5px;
  margin:12px 0;
}
.team-friendly-quick-action small {
  color:#687784;
  line-height:1.35;
}

/* Loan ownership and academy-player UI */
.youth-status-wrap {
  min-width:10px;
}
.youth-status-icon {
  width:10px !important;
  height:16px !important;
  image-rendering:auto;
}
.loan-status-icon {
  width:14px;
  height:14px;
}
.loaned-out-section-header {
  margin-top:22px;
  border-top:1px solid #dce3e9;
  padding-top:16px;
}
.loaned-out-section-header h3 {
  display:flex;
  align-items:center;
  gap:7px;
}
.loaned-out-section-header h3::before {
  content:"";
  width:17px;
  height:17px;
  background:url('../img/status/loan-arrows.svg') center/contain no-repeat;
}
.loaned-out-count {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border:1px solid #cdd9e5;
  border-radius:999px;
  background:#f3f7fb;
  color:#315b83;
  font-size:11px;
  font-weight:700;
}
.loaned-out-table td,
.loaned-out-table th {
  white-space:nowrap;
}
.loan-club-link {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
}
.simple-player-name-row .player-status-icons {
  margin-left:2px;
}
.friendly-youth-selection {
  margin:12px 10px 14px;
  border:1px solid #d5e2ed;
  border-radius:6px;
  background:#f8fbfd;
  overflow:hidden;
}
.friendly-youth-selection-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  padding:10px 11px;
  border-bottom:1px solid #dce6ee;
  background:#eef5fa;
}
.friendly-youth-selection-head h3 {
  margin:0 0 3px;
  font-size:12px;
}
.friendly-youth-selection-head p {
  margin:0;
  color:#60717f;
  font-size:10px;
  line-height:1.35;
}
.friendly-youth-selection-head > span {
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:999px;
  background:#fff;
  color:#2d587b;
  font-size:10px;
  font-weight:800;
}
.friendly-youth-list {
  display:grid;
}
.friendly-youth-row {
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:6px 8px;
  border-bottom:1px solid #e4ebf0;
}
.friendly-youth-row:last-child {
  border-bottom:0;
}
.friendly-youth-row.selected {
  background:#edf8ef;
}
.role-dot.youth {
  background:#e8f5eb;
  color:#24713a;
  border-color:#bcdcc4;
}
.friendly-youth-copy {
  min-width:0;
}
.friendly-youth-copy strong {
  display:flex;
  align-items:center;
  gap:3px;
  min-width:0;
  font-size:11px;
}
.friendly-youth-copy strong a {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-youth-copy small {
  display:block;
  margin-top:2px;
  color:#6a7782;
  font-size:9px;
}
.friendly-youth-toggle-form {
  margin:0;
}
.friendly-youth-toggle {
  min-width:58px;
  padding:5px 8px;
  border:1px solid #aebfce;
  border-radius:4px;
  background:#fff;
  color:#315b7b;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.friendly-youth-toggle.active {
  border-color:#5da06c;
  background:#e7f5ea;
  color:#216b31;
}
.friendly-development-note a {
  margin-left:auto;
  white-space:nowrap;
  font-weight:800;
}
@media (max-width:720px) {
  .friendly-youth-selection-head {
    flex-direction:column;
  }
  .friendly-youth-row {
    grid-template-columns:28px minmax(0,1fr);
  }
  .friendly-youth-toggle-form {
    grid-column:2;
  }
  .friendly-development-note a {
    margin-left:0;
  }
}
.loan-profile-action-lock {
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px;
  border:1px solid #cbd9e5;
  border-radius:5px;
  background:#f3f7fa;
  color:#355a78;
}
.loan-profile-action-lock strong {
  display:block;
  margin-bottom:3px;
}
.loan-profile-action-lock p {
  margin:0;
  color:#637788;
  font-size:11px;
  line-height:1.4;
}

/* Refined friendly-match controls */
.friendly-team-action-compact {
  display:inline-flex;
  width:auto;
  min-width:0;
  max-width:260px;
  justify-self:start;
  padding:7px 12px;
  border-radius:4px;
  font-size:12px;
  white-space:nowrap;
}
.team-friendly-quick-action {
  align-items:start;
}
.friendly-selected-opponent {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #d5e0e8;
  border-radius:5px;
  background:#f7fafc;
}
.friendly-selected-opponent > div {
  display:grid;
  gap:2px;
  min-width:0;
}
.friendly-selected-opponent span,
.friendly-selected-opponent small {
  color:#6a7884;
  font-size:10px;
}
.friendly-selected-opponent strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#243746;
}
.friendly-change-opponent {
  font-size:11px;
  font-weight:800;
}
.friendly-no-turns {
  display:grid;
  gap:3px;
  padding:11px;
  border:1px solid #ead5aa;
  border-radius:4px;
  background:#fff8e9;
  color:#73551d;
}
.friendly-no-turns span { font-size:11px; }
.friendly-venue-choice {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.friendly-venue-choice legend { grid-column:1/-1; }
.friendly-venue-choice label {
  display:flex;
  align-items:flex-start;
  gap:7px;
  padding:8px 9px;
  border:1px solid #dbe3e9;
  border-radius:4px;
  background:#fff;
}
.friendly-venue-choice label > span {
  display:grid;
  gap:2px;
}
.friendly-venue-choice label small {
  color:#6b7883;
  font-size:10px;
  font-weight:600;
  line-height:1.35;
}
.friendly-priority-note {
  padding:8px 10px;
  border:1px solid #e1e6ea;
  border-radius:4px;
  background:#fafbfc;
  color:#66737e;
  font-size:10px;
  line-height:1.45;
}
.friendly-primary-button {
  display:inline-flex;
  width:auto;
  min-width:0;
  padding:7px 13px;
  gap:6px;
  border-radius:4px;
  justify-self:start;
}
.friendly-invitation-card.cancelled { border-left-color:#6f7d88; opacity:.88; }
.friendly-status-badge.cancelled { background:#e9edf0; color:#52616d !important; }
@media (max-width:620px) {
  .friendly-selected-opponent { grid-template-columns:auto minmax(0,1fr); }
  .friendly-change-opponent { grid-column:1/-1; }
  .friendly-venue-choice { grid-template-columns:1fr; }
}

/* Transfer-list restrictions: centered, compact and aligned */
.player-market-form .transfer-restriction-box {
  display:block;
  padding:16px 18px 18px;
  text-align:center;
}
.player-market-form .transfer-restriction-box legend {
  margin-inline:auto;
  padding-inline:9px;
}
.transfer-rule-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-width:620px;
  margin:4px auto 0;
}
.player-market-form .transfer-rule-check {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #d8e0e7;
  border-radius:6px;
  background:#f8fafb;
  color:#33414d;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  text-align:left;
}
.player-market-form .transfer-rule-check input[type="checkbox"] {
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
}
.vacation-action-form {
  width:100%;
  margin:0;
}
.vacation-action-form .button {
  width:100%;
}
.friendly-development-note.compact {
  grid-template-columns:auto minmax(0,1fr);
}
@media (max-width:680px) {
  .transfer-rule-grid { grid-template-columns:1fr; }
}

/* Friendly invitation polish: centered entry button, static lineup card and head-to-head history */
.friendly-form-row-compact {
  grid-template-columns:minmax(210px,.95fr) minmax(0,1.05fr);
}
.friendly-lineup-static {
  display:grid;
  gap:4px;
  padding:10px 11px;
  border:1px solid #d7e1e8;
  border-radius:6px;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f8fb 100%);
}
.friendly-lineup-static > span {
  color:#2d4558;
  font-size:12px;
  font-weight:850;
}
.friendly-lineup-static > strong {
  color:#223746;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
.friendly-lineup-static > small {
  color:#6a7884;
  font-size:10px;
  line-height:1.45;
}
.friendly-button-row {
  display:flex;
  justify-content:center;
}
.friendly-primary-button {
  justify-self:center;
  align-self:center;
  min-width:220px;
  justify-content:center;
  padding:9px 18px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(39,106,156,.15);
}
.friendly-opponent-history {
  display:grid;
  gap:9px;
  padding:11px 12px;
  border:1px solid #d9e3ea;
  border-radius:6px;
  background:#fbfcfd;
}
.friendly-opponent-history-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.friendly-opponent-history-head strong {
  color:#243746;
}
.friendly-opponent-history-head span,
.friendly-opponent-history-empty {
  color:#697782;
  font-size:11px;
}
.friendly-opponent-history-list {
  display:grid;
  gap:7px;
}
.friendly-history-row {
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid #e1e7ec;
  border-left:4px solid #8ba0b0;
  border-radius:5px;
  background:#fff;
}
.friendly-history-row > div {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.friendly-history-row > div strong:first-child { text-align:right; }
.friendly-history-row > div strong:last-child { text-align:left; }
.friendly-history-row > div span {
  min-width:52px;
  text-align:center;
  color:#223746;
  font-weight:900;
}
.friendly-history-row small {
  color:#6d7983;
  font-size:10px;
}
.friendly-history-outcome {
  justify-self:start;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.friendly-history-row.won { border-left-color:#2f9b62; }
.friendly-history-row.lost { border-left-color:#d65d5d; }
.friendly-history-row.draw { border-left-color:#d2a13a; }
.friendly-history-outcome.won { color:#237347; }
.friendly-history-outcome.lost { color:#b34646; }
.friendly-history-outcome.draw { color:#9b6c18; }
.friendly-response-box {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.friendly-response-box form:first-child,
.friendly-response-box form:last-child {
  display:flex;
}
.friendly-team-action,
.friendly-team-action-compact {
  justify-content:center;
  margin-inline:auto;
}
.team-friendly-quick-action {
  align-items:center;
  justify-items:center;
  text-align:center;
}
.team-contact-actions {
  justify-items:center;
}
@media (max-width: 760px) {
  .friendly-form-row-compact,
  .friendly-history-row > div {
    grid-template-columns:1fr;
  }
  .friendly-history-row > div strong:first-child,
  .friendly-history-row > div strong:last-child {
    text-align:center;
  }
  .friendly-opponent-history-head {
    flex-direction:column;
    align-items:flex-start;
  }
  .friendly-primary-button {
    min-width:0;
    width:100%;
  }
}

/* Club press centre: compact vertical feed with the 10 most relevant real events */
.club-press-panel .panel-header {
  align-items:flex-start;
}
.club-press-panel .panel-header > div {
  display:grid;
  gap:3px;
}
.club-press-panel .panel-header h2 {
  margin:0;
}
.club-press-panel .panel-header span {
  color:#6d7a85;
  font-size:10px;
}
.club-press-count {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  min-height:25px;
  padding:0 9px;
  border:1px solid #cad8e2;
  border-radius:14px;
  background:#f4f8fb;
  color:#36566d !important;
  font-weight:850;
}
.club-press-list {
  display:grid;
}
.club-press-item {
  position:relative;
  display:grid;
  grid-template-columns:5px minmax(0,1fr);
  gap:13px;
  min-height:92px;
  padding:14px 16px;
  border-bottom:1px solid #e4e9ed;
  background:#fff;
}
.club-press-item:last-child {
  border-bottom:0;
}
.club-press-item:hover {
  background:#f8fbfd;
}
.club-press-marker {
  width:5px;
  height:100%;
  min-height:58px;
  border-radius:4px;
  background:#8fa2b1;
}
.club-press-item.positive .club-press-marker { background:#39a766; }
.club-press-item.negative .club-press-marker { background:#cf5757; }
.club-press-item.neutral .club-press-marker { background:#d2a139; }
.club-press-content {
  display:grid;
  gap:5px;
  min-width:0;
}
.club-press-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:7px 12px;
}
.club-press-meta > span:last-child {
  color:#7b8791;
  font-size:10px;
  font-weight:750;
}
.club-press-content h3 {
  margin:0;
  color:#1f3444;
  font-size:15px;
  line-height:1.25;
}
.club-press-content p {
  margin:0;
  max-width:1120px;
  color:#5d6c78;
  font-size:11px;
  line-height:1.55;
}
.club-press-empty {
  display:grid;
  gap:4px;
  padding:24px 18px;
  text-align:center;
  color:#65747f;
}
.club-press-empty strong {
  color:#2f4658;
  font-size:14px;
}
.club-press-empty span {
  font-size:11px;
}
@media (max-width:620px) {
  .club-press-item {
    padding:12px 11px;
  }
  .club-press-meta {
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Per-opponent friendly history and compact invitation activity */
.friendly-history-summary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.friendly-history-summary {
  min-width:0;
  overflow:hidden;
  border:1px solid #dce5eb;
  border-radius:6px;
  background:#fff;
}
.friendly-history-summary-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border-bottom:1px solid #e6ebef;
  background:#f7fafc;
}
.friendly-history-summary-head > div {
  display:grid;
  gap:2px;
  min-width:0;
}
.friendly-history-summary-head strong {
  overflow:hidden;
  color:#263a49;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-history-summary-head span {
  color:#6d7a85;
  font-size:9px;
  line-height:1.35;
}
.friendly-history-summary-head > a,
.friendly-history-more {
  flex:0 0 auto;
  color:#2877ae;
  font-size:9px;
  font-weight:850;
  text-decoration:none;
}
.friendly-history-summary-head > a:hover,
.friendly-history-more:hover { text-decoration:underline; }
.friendly-history-empty {
  padding:12px 9px;
  color:#71808b;
  font-size:10px;
  text-align:center;
}
.friendly-history-compact-list { display:grid; }
.friendly-history-compact-row {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 36px minmax(0,1fr) 34px;
  gap:5px;
  align-items:center;
  min-height:31px;
  padding:5px 7px;
  border-bottom:1px solid #edf1f4;
  color:#314654;
  text-decoration:none;
}
.friendly-history-compact-row:last-child { border-bottom:0; }
.friendly-history-compact-row:hover { background:#f2f8fc; }
.friendly-history-compact-row > span {
  color:#75818b;
  font-size:8px;
  white-space:nowrap;
}
.friendly-history-compact-row > strong {
  min-width:0;
  overflow:hidden;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-history-compact-row > strong:first-of-type { text-align:right; }
.friendly-history-compact-row > b {
  color:#203644;
  font-size:10px;
  text-align:center;
  white-space:nowrap;
}
.friendly-history-compact-row > em {
  justify-self:end;
  font-size:8px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}
.friendly-history-compact-row.won { border-left:3px solid #2f9b62; }
.friendly-history-compact-row.lost { border-left:3px solid #c95757; }
.friendly-history-compact-row.draw { border-left:3px solid #d0a03a; }
.friendly-history-compact-row.won > em { color:#26784d; }
.friendly-history-compact-row.lost > em { color:#ad4343; }
.friendly-history-compact-row.draw > em { color:#946818; }
.friendly-history-more {
  display:block;
  padding:7px 9px;
  border-top:1px solid #e8edf1;
  background:#fbfcfd;
  text-align:center;
}
.friendly-inbox-header { padding-block:9px; }
.friendly-inbox-header > div { max-width:82%; }
.friendly-invitation-list.enhanced {
  gap:6px;
  max-height:365px;
  padding:8px;
}
.friendly-invitation-card-compact {
  gap:6px;
  padding:7px 8px;
  border-radius:3px;
}
.friendly-invitation-card-compact .friendly-match-line { gap:5px; }
.friendly-invitation-card-compact .friendly-match-line strong { font-size:10px; }
.friendly-invitation-card-compact .friendly-meta-line { gap:5px 8px; font-size:9px; }
.friendly-invitation-card-compact .friendly-invitation-main > small {
  display:block;
  overflow:visible;
  color:#687681;
  font-size:9px;
  line-height:1.35;
  white-space:normal;
}
.friendly-invitation-card-compact .friendly-waiting {
  justify-self:stretch;
  padding-top:4px;
  border-top:1px solid #edf1f4;
  text-align:center;
  white-space:normal;
}

/* Full friendly-history page */
.friendly-history-page-heading { margin-bottom:10px; }
.friendly-history-tabs { margin-bottom:12px; }
.friendly-full-history-panel .panel-header > div { display:grid; gap:2px; }
.friendly-full-history-list { display:grid; }
.friendly-full-history-row {
  display:grid;
  grid-template-columns:125px minmax(0,1fr) 58px minmax(0,1fr) 48px 72px;
  gap:9px;
  align-items:center;
  min-height:45px;
  padding:7px 11px;
  border-bottom:1px solid #e7ecef;
  border-left:4px solid #8999a5;
  color:#2b414f;
  text-decoration:none;
}
.friendly-full-history-row:hover { background:#f3f8fb; }
.friendly-full-history-row.won { border-left-color:#2f9b62; }
.friendly-full-history-row.lost { border-left-color:#c95757; }
.friendly-full-history-row.draw { border-left-color:#d0a03a; }
.friendly-history-turn { color:#6d7a85; font-size:10px; white-space:nowrap; }
.friendly-history-club {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.friendly-history-club.home { justify-content:flex-end; text-align:right; }
.friendly-history-club strong {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-history-score { text-align:center; font-size:13px; white-space:nowrap; }
.friendly-history-result {
  font-size:9px;
  font-style:normal;
  font-weight:900;
  text-transform:uppercase;
}
.friendly-history-result.won { color:#26784d; }
.friendly-history-result.lost { color:#ad4343; }
.friendly-history-result.draw { color:#946818; }
.friendly-history-report { color:#2877ae; font-size:9px; font-weight:800; text-align:right; }

@media (max-width: 980px) {
  .friendly-history-summary-grid { grid-template-columns:1fr; }
  .friendly-full-history-row {
    grid-template-columns:90px minmax(0,1fr) 52px minmax(0,1fr) 42px;
  }
  .friendly-history-report { display:none; }
}
@media (max-width: 650px) {
  .friendly-history-compact-row {
    grid-template-columns:38px minmax(0,1fr) 34px minmax(0,1fr);
  }
  .friendly-history-compact-row > em { display:none; }
  .friendly-full-history-row {
    grid-template-columns:1fr 45px 1fr;
    gap:5px;
    padding:8px;
  }
  .friendly-history-turn,
  .friendly-history-result { grid-column:1/-1; }
  .friendly-history-turn { text-align:center; }
  .friendly-history-result { justify-self:center; }
}

/* Free formation drag & drop */
#pitch .pitch-player {
  cursor:grab;
  touch-action:none;
  user-select:none;
}
#pitch .pitch-player.is-pointer-moving,
#pitch .pitch-player.is-dragging {
  cursor:grabbing;
  z-index:30;
  opacity:.92;
}
.pool-player.is-dragging { opacity:.55; }
#pitch.drag-over { outline:2px solid rgba(43,126,184,.55); outline-offset:-3px; }

/* Friendly page: history belongs to the invitations panel */
.friendly-inbox-panel > .friendly-history-summary-grid {
  grid-template-columns:1fr;
  gap:7px;
  padding:8px 8px 0;
}
.friendly-turn-only {
  display:grid;
  gap:5px;
  width:100%;
  color:#263847;
  font-size:12px;
  font-weight:800;
}
.friendly-turn-only select {
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #c9d3db;
  border-radius:4px;
  background:#fff;
  color:#263847;
  font:inherit;
}
.friendly-inbox-header > h2 { margin:0; }

/* Friendly matches displayed as compact cup-style ties */
.friendly-cup-match-list {
  display:grid;
  gap:7px;
  padding:8px;
  background:#f5f7f9;
}
.friendly-cup-match-card {
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid #d8e0e6;
  border-left:4px solid #7f93a2;
  border-radius:6px;
  background:#fff;
  color:#263a49;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(37,54,68,.06);
  transition:border-color .14s ease, background .14s ease, transform .14s ease;
}
.friendly-cup-match-card:hover {
  border-color:#9fb9cb;
  background:#fbfdff;
  transform:translateY(-1px);
}
.friendly-cup-match-card.won { border-left-color:#2f9b62; }
.friendly-cup-match-card.lost { border-left-color:#c95757; }
.friendly-cup-match-card.draw { border-left-color:#d0a03a; }
.friendly-cup-match-card > header,
.friendly-cup-match-card > footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:5px 8px;
  background:#f7fafc;
  color:#6b7883;
  font-size:8px;
}
.friendly-cup-match-card > header {
  border-bottom:1px solid #e8edf1;
}
.friendly-cup-match-card > header em {
  color:#367cae;
  font-style:normal;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.friendly-cup-team-row {
  display:grid;
  grid-template-columns:21px minmax(0,1fr) 25px;
  gap:7px;
  align-items:center;
  min-height:29px;
  padding:4px 8px;
  border-bottom:1px solid #eef2f4;
}
.friendly-cup-team-row img,
.friendly-cup-team-row .club-logo.tiny {
  width:19px !important;
  height:19px !important;
  object-fit:contain;
}
.friendly-cup-team-row strong {
  min-width:0;
  overflow:hidden;
  color:#253846;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-cup-team-row b {
  color:#172d3b;
  font-size:12px;
  text-align:right;
}
.friendly-cup-match-card > footer {
  background:#fff;
}
.friendly-cup-result {
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.friendly-cup-result.won { color:#26784d; }
.friendly-cup-result.lost { color:#ad4343; }
.friendly-cup-result.draw { color:#946818; }
.friendly-full-cup-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:12px;
  background:#f5f7f9;
}
.friendly-cup-match-card-full > header,
.friendly-cup-match-card-full > footer {
  font-size:9px;
  padding:6px 9px;
}
.friendly-cup-match-card-full .friendly-cup-team-row {
  min-height:34px;
  padding:6px 9px;
}
.friendly-cup-match-card-full .friendly-cup-team-row strong { font-size:11px; }
.friendly-cup-match-card-full .friendly-cup-team-row b { font-size:13px; }
@media (max-width:760px) {
  .friendly-full-cup-grid { grid-template-columns:1fr; }
}

/* Friendly invitations: keep the right panel within Arrange a friendly and use compact rows */
.friendly-inbox-panel {
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.friendly-inbox-panel .friendly-inbox-header {
  flex:0 0 auto;
}
.friendly-inbox-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#aebdca #f2f5f7;
}
.friendly-inbox-scroll::-webkit-scrollbar { width:8px; }
.friendly-inbox-scroll::-webkit-scrollbar-track { background:#f2f5f7; }
.friendly-inbox-scroll::-webkit-scrollbar-thumb {
  border:2px solid #f2f5f7;
  border-radius:8px;
  background:#aebdca;
}
.friendly-inbox-scroll > .friendly-history-summary-grid {
  padding:7px 7px 0;
}
.friendly-inbox-scroll > .friendly-invitation-list.enhanced {
  max-height:none;
  overflow:visible;
  padding:7px;
}
.friendly-invitation-card.friendly-invitation-card-compact {
  display:grid;
  gap:5px;
  padding:6px 7px;
  border-radius:5px;
  min-width:0;
}
.friendly-invitation-topline {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
}
.friendly-invitation-match-compact {
  display:grid;
  grid-template-columns:18px minmax(52px,1fr) auto 18px minmax(52px,1fr);
  gap:5px;
  align-items:center;
  min-width:0;
}
.friendly-invitation-match-compact .club-logo.tiny,
.friendly-invitation-match-compact img {
  width:17px !important;
  height:17px !important;
  object-fit:contain;
}
.friendly-invitation-match-compact strong {
  min-width:0;
  overflow:hidden;
  color:#263a49;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-invitation-match-compact > span {
  color:#89949d;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
}
.friendly-invitation-chips {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  white-space:nowrap;
}
.friendly-invitation-turn,
.friendly-invitation-type {
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:0 6px;
  border:1px solid #dce4e9;
  border-radius:999px;
  background:#f7f9fb;
  color:#62717d !important;
  font-size:8px !important;
  font-weight:800;
}
.friendly-invitation-type {
  max-width:105px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.friendly-invitation-card-compact .friendly-status-badge {
  min-height:18px;
  padding:0 6px;
  font-size:8px !important;
}
.friendly-invitation-message {
  display:block;
  min-width:0;
  overflow:hidden;
  padding-top:4px;
  border-top:1px solid #edf1f4;
  color:#6b7883;
  font-size:9px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-response-box-compact {
  display:flex;
  justify-content:flex-end;
  gap:5px;
  padding-top:2px;
}
.friendly-response-box-compact form { display:flex; }
.friendly-response-box-compact .button {
  min-height:26px;
  padding:4px 9px;
  font-size:9px;
}
.friendly-invitation-list .empty-state.compact {
  padding:16px 10px;
}
.friendly-history-summary {
  overflow:hidden;
}
@media (max-width:900px) {
  .friendly-inbox-panel {
    max-height:none !important;
    overflow:visible;
  }
  .friendly-inbox-scroll {
    overflow:visible;
  }
}
@media (max-width:620px) {
  .friendly-invitation-topline {
    grid-template-columns:1fr;
  }
  .friendly-invitation-chips {
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .friendly-invitation-match-compact {
    grid-template-columns:17px minmax(0,1fr) auto 17px minmax(0,1fr);
  }
}

/* Transfer-listed player status icon */
.transfer-list-status-icon {
  width:15px !important;
  height:15px !important;
  object-fit:contain;
  image-rendering:auto;
}
.pitch-player .transfer-list-status-icon {
  width:10px !important;
  height:10px !important;
}

/* Friendly invitations per selected club: compact cup layout and last five club friendlies */
.friendly-invitation-count-link {
  color:#2877ae;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.friendly-invitation-count-link:hover { text-decoration:underline; }
.friendly-invitation-cup-list {
  display:grid;
  gap:7px;
  padding:7px;
  border-bottom:1px solid #e4eaf0;
  background:#f5f7f9;
}
.friendly-invitation-empty {
  margin:0;
  border:1px dashed #d7e0e7;
  border-radius:6px;
  background:#fff;
}
.friendly-invite-cup-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #d7e0e6;
  border-left:4px solid #d39b32;
  border-radius:6px;
  background:#fff;
  box-shadow:0 2px 7px rgba(37,54,68,.05);
}
.friendly-invite-cup-card.accepted { border-left-color:#2f9b62; }
.friendly-invite-cup-card.rejected,
.friendly-invite-cup-card.expired,
.friendly-invite-cup-card.cancelled { border-left-color:#bf5555; }
.friendly-invite-cup-card > header {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  min-height:25px;
  padding:4px 7px;
  border-bottom:1px solid #e7edf1;
  background:#f7fafc;
}
.friendly-invite-cup-card > header > span {
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:0 6px;
  border:1px solid #dce4e9;
  border-radius:999px;
  background:#fff;
  color:#61717d;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.friendly-invite-cup-card > header .friendly-status-badge {
  margin-left:auto;
  min-height:17px;
  padding:0 6px;
  font-size:8px !important;
}
.friendly-invite-team-row {
  display:grid;
  grid-template-columns:21px minmax(0,1fr);
  gap:7px;
  align-items:center;
  min-height:28px;
  padding:4px 8px;
}
.friendly-invite-team-row img,
.friendly-invite-team-row .club-logo.tiny {
  width:19px !important;
  height:19px !important;
  object-fit:contain;
}
.friendly-invite-team-row strong {
  min-width:0;
  overflow:hidden;
  color:#253846;
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-invite-versus {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:16px;
  margin:0 8px;
  border-top:1px solid #edf1f4;
  border-bottom:1px solid #edf1f4;
  color:#84919b;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.friendly-invite-cup-card > footer {
  display:flex;
  justify-content:flex-end;
  gap:6px;
  padding:5px 7px;
  border-top:1px solid #e8edf1;
  background:#fbfcfd;
}
.friendly-selected-club-recent {
  margin:7px;
  overflow:hidden;
  border:1px solid #dce5eb;
  border-radius:6px;
  background:#fff;
}
.friendly-selected-club-recent-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  border-bottom:1px solid #e6ebef;
  background:#f7fafc;
}
.friendly-selected-club-recent-head > div {
  display:grid;
  gap:2px;
  min-width:0;
}
.friendly-selected-club-recent-head strong {
  overflow:hidden;
  color:#263a49;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.friendly-selected-club-recent-head span {
  color:#6d7a85;
  font-size:9px;
}
.friendly-selected-club-recent-head > a {
  flex:0 0 auto;
  color:#2877ae;
  font-size:9px;
  font-weight:850;
  text-decoration:none;
}
.friendly-selected-club-recent-head > a:hover { text-decoration:underline; }
.friendly-cup-match-list-five {
  gap:5px;
  padding:6px;
}
.friendly-cup-match-list-five .friendly-cup-match-card {
  border-radius:5px;
  box-shadow:none;
}
.friendly-cup-match-list-five .friendly-cup-match-card > header,
.friendly-cup-match-list-five .friendly-cup-match-card > footer {
  padding:4px 7px;
}
.friendly-cup-match-list-five .friendly-cup-team-row {
  min-height:26px;
  padding:3px 7px;
}
.friendly-invitation-history-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:12px;
  background:#f5f7f9;
}
.friendly-invite-cup-card-history {
  align-self:start;
}
@media (max-width:760px) {
  .friendly-invitation-history-grid { grid-template-columns:1fr; }
  .friendly-selected-club-recent-head { flex-direction:column; }
}

/* Team matches page refresh: clean match cards for every club */
.team-matches-page-cards .compact-matches-body {
  padding: 12px 16px 20px;
}
.team-matches-card-list {
  display: grid;
  gap: 10px;
}
.team-match-card-modern {
  display: grid;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid #dfe7ed;
  border-left: 4px solid #b4c0ca;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(20, 33, 52, .04);
}
.team-match-card-modern.won { border-left-color: #2f9b62; }
.team-match-card-modern.lost { border-left-color: #c95757; }
.team-match-card-modern.draw { border-left-color: #d0a03a; }
.team-match-card-modern.upcoming { border-left-color: #5a83b7; }
.team-match-card-modern > header,
.team-match-card-modern > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.team-match-card-modern > header span {
  color: #233647;
  font-size: 12px;
  font-weight: 800;
}
.team-match-card-modern > header em {
  color: #5b6d7d;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
}
.team-match-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.team-match-side {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.team-match-side.home strong {
  text-align: right;
}
.team-match-side.away strong {
  text-align: left;
}
.team-match-side strong {
  color: #243746;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}
.team-match-side.current-team strong {
  color: #1c5ea6;
}
.team-match-side.home {
  grid-template-columns: minmax(0, 1fr) 24px;
}
.team-match-side.home img {
  order: 2;
}
.team-match-side.home strong {
  order: 1;
}
.team-match-score-block {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-width: 74px;
}
.team-match-score-block b,
.team-match-score-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid #dce4ea;
  background: #f8fbfd;
  color: #223746;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}
.team-match-score-link:hover {
  background: #eef5fb;
  border-color: #c8d7e6;
}
.team-match-score-block small {
  color: #748290;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.team-match-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.team-match-stage-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #f3f7fa;
  border: 1px solid #dce4ea;
  color: #5d6c79;
  font-size: 10px;
  font-weight: 800;
}
.team-match-card-action {
  color: #2268b2;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}
.team-match-card-action:hover {
  text-decoration: underline;
}
@media (max-width: 860px) {
  .team-match-card-body {
    grid-template-columns: 1fr;
  }
  .team-match-side,
  .team-match-side.home {
    grid-template-columns: 24px minmax(0, 1fr);
  }
  .team-match-side.home img,
  .team-match-side.home strong {
    order: initial;
  }
  .team-match-side strong,
  .team-match-side.home strong,
  .team-match-side.away strong {
    text-align: left;
  }
  .team-match-card-modern > footer,
  .team-match-card-modern > header {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Team matches: same clean row language as the domestic cup, one match per row */
.team-matches-cup-style .compact-matches-body {
  padding: 12px 16px 20px;
}
.team-match-round-list {
  margin-top: 4px;
}
.team-match-cup-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr) minmax(125px, 180px);
  align-items: center;
  gap: 9px;
  min-height: 47px;
  padding: 6px 11px;
  border-bottom: 1px solid #edf0f3;
  background: #fff;
}
.team-match-cup-row:last-child {
  border-bottom: 0;
}
.team-match-cup-row.future {
  color: #7b8792;
}
.team-match-single-score {
  display: grid;
  justify-items: center;
  gap: 3px;
}
.team-match-single-score small {
  color: #74818e;
  font-size: 9px;
  font-weight: 700;
}
.team-match-single-score .domestic-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  padding: 5px 7px;
  text-decoration: none;
}
.team-match-competition-cell {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-left: 10px;
  border-left: 1px solid #edf0f3;
}
.team-match-competition-cell strong,
.team-match-competition-cell small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.team-match-competition-cell strong {
  color: #263847;
  font-size: 11px;
}
.team-match-competition-cell small {
  color: #7b8792;
  font-size: 9px;
}
.team-match-list-empty {
  padding: 28px 14px;
  color: #73808b;
  text-align: center;
}
@media (max-width: 820px) {
  .team-match-cup-row {
    grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr);
  }
  .team-match-competition-cell {
    grid-column: 1 / -1;
    padding: 5px 0 0;
    border-top: 1px solid #edf0f3;
    border-left: 0;
    text-align: center;
  }
}
@media (max-width: 560px) {
  .team-match-cup-row {
    grid-template-columns: 1fr;
    gap: 5px;
    padding-block: 10px;
  }
  .team-match-cup-row .domestic-team,
  .team-match-cup-row .domestic-team.home {
    justify-content: center;
    text-align: center;
  }
  .team-match-single-score {
    order: 2;
  }
  .team-match-cup-row .domestic-team.home {
    order: 1;
  }
  .team-match-cup-row .domestic-team.away {
    order: 3;
  }
  .team-match-competition-cell {
    order: 4;
  }
}

/* Postfach-Feinschliff: etwas schmaler, etwas höher und klare Sammelberichte. */
.mail-shell {
  max-width: 860px;
}
.mail-layout {
  grid-template-columns: 230px minmax(0,1fr);
  height: clamp(560px, calc(100vh - 205px), 720px);
  min-height: 0;
}
.mail-body {
  max-width: 650px;
}
.mail-result-intro {
  margin: 0 0 12px;
  color: #4d5b66;
}
.mail-development-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.mail-development-entry {
  display: grid;
  grid-template-columns: minmax(145px, .65fr) minmax(0, 1.35fr);
  gap: 12px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid #dfe7ed;
  border-radius: 6px;
  background: #f8fafc;
}
.mail-development-entry a {
  font-weight: 800;
}
.mail-development-entry span {
  color: #45525d;
}
@media (max-width: 800px) {
  .mail-shell { max-width: 100%; }
  .mail-layout { grid-template-columns: 1fr; height: auto; min-height: 560px; }
  .mail-development-entry { grid-template-columns: 1fr; gap: 4px; }
}


/* S-Tier: eine Diamond-Kennzeichnung ersetzt bei außergewöhnlichen Spielern die Sterne. */
.player-diamond-group {
  display:inline-flex;
  align-items:center;
  margin:0 5px 0 2px;
  vertical-align:-2px;
}
.player-diamond-shape {
  display:inline-block;
  width:14px;
  height:14px;
  clip-path:polygon(50% 0, 92% 28%, 76% 100%, 24% 100%, 8% 28%);
  background:linear-gradient(135deg,#f5fdff 0%,#8fd9f1 34%,#2e91c5 66%,#d9f7ff 100%);
  border:1px solid rgba(32,111,151,.55);
  filter:drop-shadow(0 1px 1px rgba(28,88,119,.45));
}

/* Professionelles Soccersim-Postfach. Nur der Mailbereich wird verändert. */
.mail-shell {
  max-width:1040px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 34px rgba(34,57,74,.10);
}
.mail-toolbar {
  min-height:60px;
  padding:12px 18px;
  background:linear-gradient(180deg,#fbfcfd 0%,#f3f6f8 100%);
}
.mail-toolbar > div { display:grid; gap:2px; }
.mail-toolbar h1 { margin:0; color:#243441; font-size:20px; }
.mail-toolbar small { color:#7a8791; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.mail-toolbar > span { padding:5px 9px; border:1px solid #d8e2e9; border-radius:999px; background:#fff; font-size:10px; }
.mail-layout {
  grid-template-columns:280px minmax(0,1fr);
  height:clamp(590px,calc(100vh - 190px),760px);
}
.mail-list { overflow-y:auto; background:#f7f9fb; scrollbar-width:thin; }
.mail-list-item {
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  min-height:68px;
  padding:10px 11px;
  border-left:3px solid transparent;
  background:transparent;
  transition:background .15s ease,border-color .15s ease;
}
.mail-list-item:hover { background:#eef4f8; }
.mail-list-item.selected { border-left-color:#2f7dad; background:#e7f1f8; }
.mail-list-item.unread:not(.selected) { background:#fff; }
.mail-list-item .mail-icon {
  width:30px;
  height:30px;
  border:1px solid #d9e2e8;
  background:#fff;
  color:#3b6078;
  font-size:12px;
  font-weight:900;
  box-shadow:0 2px 5px rgba(30,58,77,.06);
}
.mail-list-item.mail-warning .mail-icon { border-color:#e5b5ad; background:#fff1ef; color:#b43e31; }
.mail-list-item.mail-preparation .mail-icon { border-color:#bdd8ea; background:#eef8fe; color:#2477aa; }
.mail-item-copy strong { color:#547083; font-size:9px; letter-spacing:.03em; }
.mail-item-copy b { margin-top:2px; color:#24323d; font-size:11px; line-height:1.25; }
.mail-item-copy small { color:#8b969e; font-size:8px; }
.mail-reader {
  padding:0;
  background:#edf2f5;
}
.mail-reader-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:19px 24px 16px;
  border-bottom:1px solid #d7e0e6;
  background:#fff;
}
.mail-reader-title { min-width:0; }
.mail-reader-head h2 { margin:7px 0 5px; color:#1f303c; font-size:22px; line-height:1.22; }
.mail-reader-head p { margin:0; color:#77848e; font-size:10px; }
.mail-reader-tools { display:flex; align-items:flex-start; gap:8px; flex:0 0 auto; }
.mail-reader-tools a,
.mail-reader-tools button {
  padding:5px 8px;
  border:1px solid #d7e0e6;
  border-radius:5px;
  background:#fff;
  color:#5f707d;
  font:inherit;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.mail-reader-tools a:hover,
.mail-reader-tools button:hover { border-color:#9fb9ca; color:#256f9e; background:#f4f9fc; }
.mail-letter {
  width:min(100% - 40px,680px);
  min-height:410px;
  margin:22px auto 30px;
  padding:30px 36px 28px;
  border:1px solid #d9e2e8;
  border-radius:8px;
  background:#fff;
  color:#33424d;
  font-size:13px;
  line-height:1.75;
  box-shadow:0 8px 22px rgba(40,62,78,.08);
}
.mail-letter p { margin:0 0 17px; }
.mail-letter a { color:#1f75aa; font-weight:750; text-decoration:none; }
.mail-letter a:hover { text-decoration:underline; }
.mail-greeting { color:#263742; font-weight:700; }
.mail-inline-score {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  margin:0 3px;
  padding:2px 7px;
  border-radius:5px;
  background:#2376aa;
  color:#fff !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.mail-reference-list { display:grid; gap:7px; margin:14px 0 19px; }
.mail-reference-list > a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:9px 11px;
  border:1px solid #dce5eb;
  border-radius:6px;
  background:#f8fafb;
}
.mail-reference-list > a span { font-weight:800; }
.mail-reference-list > a small { color:#7c8993; font-size:9px; font-weight:600; }
.mail-reference-list.warning-list > a { border-color:#ead2cd; background:#fff7f5; }
.mail-development-list { gap:7px; margin:11px 0 18px; }
.mail-development-entry {
  grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);
  padding:9px 11px;
  border-radius:6px;
  background:#f8fafb;
}
.mail-text-link { margin-top:8px !important; }
.mail-signature {
  display:grid;
  gap:2px;
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid #e2e8ec;
  color:#5e6d78;
}
.mail-signature strong { color:#263946; font-size:13px; }
.mail-signature small { margin-top:5px; color:#98a1a8; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
.category-chip.mail-warning { background:#fff0ed; color:#b13d31; }
.category-chip.mail-preparation { background:#e9f5fc; color:#2477aa; }
@media (max-width:800px) {
  .mail-layout { grid-template-columns:1fr; height:auto; min-height:620px; }
  .mail-list { max-height:260px; }
  .mail-reader-head { padding:16px; }
  .mail-letter { width:calc(100% - 22px); margin:12px auto 18px; padding:23px 20px; }
  .mail-development-entry { grid-template-columns:1fr; }
}

/* Admin backup and release-maintenance tools */
.admin-backup-panel { margin-bottom:18px; }
.admin-maintenance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:18px; }
.admin-maintenance-card { border:1px solid #d9dde4; border-radius:10px; padding:16px; background:#fff; }
.admin-maintenance-card h3 { margin:0 0 7px; font-size:17px; }
.admin-maintenance-card p { margin:0 0 14px; color:#667085; line-height:1.5; }
.admin-maintenance-danger { border-color:#efc6c6; background:#fffafa; }
.admin-maintenance-form { display:grid; gap:10px; }
.admin-maintenance-form + .admin-maintenance-form { margin-top:14px; padding-top:14px; border-top:1px solid #e4e7ec; }
.admin-maintenance-form label,
.admin-restore-form label { display:grid; gap:5px; font-size:12px; color:#475467; }
.admin-maintenance-form input,
.admin-restore-form input { width:100%; min-height:38px; }
.admin-backup-list-header { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-top:1px solid #e4e7ec; }
.admin-backup-list-header h3 { margin:0; font-size:16px; }
.admin-backup-list-header small { color:#667085; }
.admin-backup-table td { vertical-align:top; }
.admin-backup-table td:nth-child(5) { min-width:190px; max-width:320px; }
.admin-backup-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:7px; }
.admin-backup-restore { position:relative; }
.admin-backup-restore summary { list-style:none; cursor:pointer; }
.admin-backup-restore summary::-webkit-details-marker { display:none; }
.admin-restore-form { position:absolute; z-index:30; right:0; top:calc(100% + 7px); width:290px; display:grid; gap:9px; padding:13px; border:1px solid #cfd4dc; border-radius:9px; background:#fff; box-shadow:0 12px 28px rgba(16,24,40,.18); }
.admin-maintenance-scheduled { max-width:980px; margin:0 auto; }
.admin-maintenance-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:20px; }
.admin-maintenance-status > div { display:grid; grid-template-columns:38px 1fr; gap:2px 10px; align-items:center; padding:14px; border:1px solid #d9dde4; border-radius:9px; }
.admin-maintenance-status span { grid-row:1 / span 2; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#111827; color:#fff; font-weight:800; }
.admin-maintenance-status strong { font-size:14px; }
.admin-maintenance-status small { color:#667085; line-height:1.4; }
.admin-maintenance-scheduled .alert { margin:0 20px 20px; }
@media (max-width:900px) {
    .admin-maintenance-grid,
    .admin-maintenance-status { grid-template-columns:1fr; }
    .admin-restore-form { position:fixed; left:12px; right:12px; top:18%; width:auto; }
}

.auth-local-admin-link {
    display: block;
    margin-top: 14px;
    text-align: center;
    font-size: 0.9rem;
    color: inherit;
    opacity: 0.78;
}
.auth-local-admin-link:hover { opacity: 1; }


/* Ranking, press history and persistent mailbox navigation */
.club-press-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.club-press-head-actions { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.club-press-history-link,
.club-press-pager a {
  display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:5px 10px;
  border:1px solid #cbd9e3; border-radius:5px; background:#fff; color:#276f9f; font-size:10px; font-weight:800;
}
.club-press-history-link:hover,
.club-press-pager a:hover { border-color:#82abc6; background:#f2f8fc; text-decoration:none; }
.club-press-pager { display:flex; align-items:center; justify-content:center; gap:12px; padding:13px 16px; border-top:1px solid #e1e8ed; }
.club-press-pager span { color:#71808b; font-size:10px; font-weight:700; }
.developer-mail-link { color:inherit; font-weight:700; text-decoration:none; }
.developer-mail-link:hover { color:#2879ad; text-decoration:underline; }
.mail-list, .mail-reader { scrollbar-gutter:stable; }
.mail-list::-webkit-scrollbar, .mail-reader::-webkit-scrollbar { width:8px; }
.mail-list::-webkit-scrollbar-track, .mail-reader::-webkit-scrollbar-track { background:#f1f4f6; }
.mail-list::-webkit-scrollbar-thumb, .mail-reader::-webkit-scrollbar-thumb { background:#aebbc4; border-radius:999px; }
.mail-list-item { scroll-margin-block:10px; }
@media (max-width:700px) {
  .club-press-header { align-items:stretch; flex-direction:column; }
  .club-press-head-actions { justify-content:space-between; }
}

/* Formation R19: direct replacement and swap drop target */
#pitch .pitch-player.drop-target {
  outline:3px solid rgba(255,255,255,.96);
  outline-offset:3px;
  filter:drop-shadow(0 0 5px rgba(25,92,145,.85));
}
#pitch .pitch-player.is-dragging {
  opacity:.68;
}

/* National players show the crest of their current club directly before the name. */
.national-player-club-crest {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  margin:0 4px 0 0;
  vertical-align:middle;
  text-decoration:none;
}
.national-player-club-crest .club-logo.micro-logo {
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  object-fit:contain;
}
.morale-grid .national-player-club-crest {
  width:18px;
  height:18px;
  margin-right:4px;
}

/* Professional club finances dashboard R39 */
.finance-dashboard {
  display: grid;
  gap: 18px;
}
.finance-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.finance-summary-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 94px;
  padding: 15px 16px;
  overflow: hidden;
  border: 1px solid #d9e2e8;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: 0 4px 14px rgba(24, 48, 68, .06);
}
.finance-summary-card::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #3c84b8;
}
.finance-summary-card.healthy::after { background: #24945e; }
.finance-summary-card.warning::after { background: #d59a28; }
.finance-summary-card.danger::after { background: #c44b4b; }
.finance-summary-card.value::after { background: #6e63b8; }
.finance-summary-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #c9dbe7;
  border-radius: 50%;
  background: #eaf4fb;
  color: #2f77aa;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -.02em;
}
.finance-summary-card.healthy .finance-summary-icon { border-color: #c8e4d5; background: #edf8f2; color: #207c50; }
.finance-summary-card.warning .finance-summary-icon { border-color: #ead8ad; background: #fff8e9; color: #a97417; }
.finance-summary-card.danger .finance-summary-icon { border-color: #e6c0c0; background: #fff0f0; color: #aa3636; }
.finance-summary-card.value .finance-summary-icon { border-color: #d7d2ee; background: #f3f1fb; color: #5e53a6; }
.finance-summary-copy { min-width: 0; }
.finance-summary-copy > span,
.finance-summary-copy > strong,
.finance-summary-copy > small { display: block; }
.finance-summary-copy > span {
  margin-bottom: 4px;
  color: #72808b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.finance-summary-copy > strong {
  overflow: hidden;
  color: #1d2b35;
  font-size: clamp(15px, 1.45vw, 21px);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.finance-summary-copy > small {
  margin-top: 6px;
  color: #7c8993;
  font-size: 10px;
}
.finance-summary-copy > small i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 5px;
  border-radius: 50%;
  background: #3c84b8;
  vertical-align: 1px;
}
.finance-summary-card.healthy small i { background: #24945e; }
.finance-summary-card.warning small i { background: #d59a28; }
.finance-summary-card.danger small i { background: #c44b4b; }

.finance-overview-panel,
.finance-power-panel,
.finance-history-panel {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(25, 48, 66, .055);
}
.finance-panel-heading {
  min-height: 58px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #fbfdfe 0%, #f5f8fa 100%);
}
.finance-panel-heading > div { min-width: 0; }
.finance-panel-heading h2 { margin: 0; font-size: 15px; }
.finance-panel-heading > div > span {
  display: block;
  margin-top: 3px;
  color: #7b8790;
  font-size: 10px;
  font-weight: 500;
}
.finance-period-chip,
.finance-period-count {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid #c8dce9;
  border-radius: 999px;
  background: #eef6fb;
  color: #3477a6;
  font-size: 9px;
  font-weight: 800;
}
.finance-overview-body {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(265px, .55fr);
  gap: 16px;
  padding: 16px;
  background: #fff;
}
.finance-health-column { display: grid; gap: 12px; }
.finance-progress-card {
  padding: 13px 14px;
  border: 1px solid #e0e7ec;
  border-radius: 7px;
  background: #fbfcfd;
}
.finance-progress-head > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.finance-progress-head span { color: #263845; font-size: 11px; font-weight: 800; }
.finance-progress-head strong { color: #2f75a4; font-size: 13px; }
.finance-progress-head small { display: block; margin-top: 2px; color: #89949c; font-size: 9px; }
.finance-progress-track {
  height: 8px;
  margin: 11px 0 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef2;
  box-shadow: inset 0 1px 2px rgba(20, 43, 61, .08);
}
.finance-progress-track i {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #3d8bc0, #66a9d4);
}
.finance-progress-track i.healthy { background: linear-gradient(90deg, #258b5b, #59b887); }
.finance-progress-track i.warning { background: linear-gradient(90deg, #c88c20, #e0b24e); }
.finance-progress-track i.danger { background: linear-gradient(90deg, #b94242, #dc7474); }
.finance-progress-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #7d8992;
  font-size: 9px;
}
.finance-progress-card footer b { color: #344651; font-size: 10px; }
.finance-latest-period {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 14px;
  border: 1px solid #d9e5ec;
  border-radius: 7px;
  background: linear-gradient(145deg, #f5fafe 0%, #eef5f9 100%);
}
.finance-latest-title > span,
.finance-latest-title > strong { display: block; }
.finance-latest-title > span {
  color: #78858f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.finance-latest-title > strong { margin-top: 5px; color: #246d9e; font-size: 15px; }
.finance-latest-breakdown { display: grid; gap: 0; margin: 12px 0 0; }
.finance-latest-breakdown > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #d8e3e9;
}
.finance-latest-breakdown > div.result { margin-top: 3px; border-bottom: 0; }
.finance-latest-breakdown dt { color: #65737d; font-size: 10px; }
.finance-latest-breakdown dd { margin: 0; font-size: 11px; font-weight: 850; }
.finance-latest-breakdown .result dt,
.finance-latest-breakdown .result dd { font-size: 12px; }

.financial-power-grid.professional { padding: 16px; background: #fff; }
.financial-power-grid.professional article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 15px;
  border-color: #dce5eb;
  border-radius: 7px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.finance-power-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #c6dbe8;
  border-radius: 50%;
  background: #edf6fb;
  color: #2c78aa;
  font-size: 14px;
  font-weight: 900;
}
.financial-power-grid.professional article > div:last-child span,
.financial-power-grid.professional article > div:last-child strong,
.financial-power-grid.professional article > div:last-child small { display: block; }
.financial-power-grid.professional article > div:last-child span {
  color: #7b8790;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.financial-power-grid.professional article > div:last-child strong { margin-top: 3px; color: #246f9f; font-size: 17px; }
.financial-power-grid.professional article > div:last-child small { margin-top: 4px; color: #8a959d; font-size: 9px; line-height: 1.4; }

.finance-table-scroll { background: #fff; }
.finance-period-table.professional { min-width: 1240px; font-size: 10px; }
.finance-period-table.professional thead th {
  padding: 8px 9px;
  border-right: 1px solid #dce4e9;
  background: #f4f7f9;
  color: #455560;
  font-size: 9px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}
.finance-period-table.professional thead th:first-child { text-align: left; }
.finance-period-table.professional thead tr.finance-table-groups th {
  padding-block: 7px;
  background: #eaf1f5;
  color: #2f617e;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.finance-period-table.professional thead tr.finance-table-groups th:first-child { text-align: left; }
.finance-period-table.professional tbody td {
  padding: 9px;
  border-right: 1px solid #edf1f3;
  text-align: right;
  white-space: nowrap;
}
.finance-period-table.professional tbody tr:nth-child(even) td { background: #fbfcfd; }
.finance-period-table.professional tbody tr:hover td { background: #f2f7fa; }
.finance-period-cell { text-align: left !important; }
.finance-period-cell strong,
.finance-period-cell span { display: block; }
.finance-period-cell strong { color: #253743; font-size: 11px; }
.finance-period-cell span { margin-top: 2px; color: #87929a; font-size: 9px; }
.finance-period-table .income-number { color: #356f55; }
.finance-period-table .expense-number { color: #725858; }
.finance-result-cell {
  border-left: 2px solid #dce4e9;
  font-size: 11px;
  font-weight: 900 !important;
}
.finance-period-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 130px;
  padding: 22px;
  background: #fff;
  color: #7a8790;
  text-align: left;
}
.finance-period-empty.compact {
  display: block;
  min-height: 0;
  padding: 15px 0 0;
  background: transparent;
}
.finance-period-empty b,
.finance-period-empty span { display: block; }
.finance-period-empty b { color: #344752; font-size: 11px; }
.finance-period-empty span { margin-top: 4px; font-size: 9px; line-height: 1.5; }
.finance-empty-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 1px solid #cbdde8;
  border-radius: 50%;
  background: #edf6fb;
  color: #3479a8;
  font-size: 18px;
  font-weight: 900;
}

@media (max-width: 1050px) {
  .finance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-overview-body { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .nav-section-tabs { display: flex; overflow-x: auto; padding-inline: 4px; white-space: nowrap; }
  .finance-summary-grid { grid-template-columns: 1fr; }
  .finance-summary-card { min-height: 82px; }
  .finance-panel-heading { align-items: flex-start; gap: 8px; }
  .finance-period-chip,
  .finance-period-count { margin-left: auto; }
  .financial-power-grid.professional { grid-template-columns: 1fr; }
}

/* Club management tabs: cleaner finance-navigation treatment */
.nav-section-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px;
  overflow-x: auto;
  border-color: #d8e2e8;
  border-radius: 8px;
  background: #f4f7f9;
  box-shadow: 0 2px 8px rgba(24, 48, 68, .04);
  white-space: nowrap;
}
.nav-section-tabs a {
  min-height: 34px;
  padding: 9px 13px;
  border: 0;
  border-radius: 5px;
  color: #64737e;
  font-size: 10px;
  font-weight: 750;
}
.nav-section-tabs a:hover { background: #e8f0f5; color: #2c6f9e; }
.nav-section-tabs a.active {
  border: 0;
  background: #347fba;
  color: #fff;
  box-shadow: 0 2px 6px rgba(32, 91, 132, .2);
}

/* Unified professional club management centre R40 */
.club-management-breadcrumb {
  margin-bottom: 10px;
  color: #7b8790;
  font-size: 10px;
}
.club-management-breadcrumb strong { color: #334955; }
.club-management-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 18px;
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid #d4e0e7;
  border-radius: 10px;
  background: linear-gradient(135deg, #ffffff 0%, #f6fafc 62%, #edf5fa 100%);
  box-shadow: 0 6px 20px rgba(24, 50, 70, .07);
}
.club-management-identity {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
  padding: 17px 19px;
}
.club-management-crest {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  border: 1px solid #cfdae1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 12px rgba(28, 52, 70, .1);
}
.club-management-crest img { width: 45px; height: 45px; object-fit: contain; }
.club-management-identity > div { min-width: 0; }
.club-management-identity span {
  display: block;
  color: #4481a8;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.club-management-identity h1 {
  margin: 3px 0 2px;
  overflow: hidden;
  color: #1e303c;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-management-identity p { margin: 0; color: #77858f; font-size: 10px; }
.club-management-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(135px, 1fr));
  border-left: 1px solid #dae4ea;
  background: rgba(255,255,255,.58);
}
.club-management-hero-metrics > div {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 15px 17px;
  border-left: 1px solid #e2e8ec;
}
.club-management-hero-metrics > div:first-child { border-left: 0; }
.club-management-hero-metrics span {
  color: #7c8992;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.club-management-hero-metrics strong {
  margin-top: 5px;
  overflow: hidden;
  color: #293c48;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.club-management-hero-metrics .status::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #77858f;
}
.club-management-hero-metrics .status.healthy::after { background: #26915d; }
.club-management-hero-metrics .status.warning::after { background: #d29a2d; }
.club-management-hero-metrics .status.danger::after { background: #c54a4a; }

.club-management-tabs { margin-bottom: 18px; }
.club-management-tabs a { gap: 7px; }
.club-management-tabs a i {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid #cedbe4;
  border-radius: 5px;
  background: #fff;
  color: #527488;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .03em;
}
.club-management-tabs a.active i {
  border-color: rgba(255,255,255,.36);
  background: rgba(255,255,255,.15);
  color: #fff;
}

.management-section-dashboard { display: grid; gap: 16px; }
.management-kpi-grid { display: grid; gap: 12px; }
.management-kpi-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.management-kpi-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.management-kpi-card {
  position: relative;
  min-height: 102px;
  padding: 15px 16px 14px;
  overflow: hidden;
  border: 1px solid #d9e3e9;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #f8fafb 100%);
  box-shadow: 0 4px 13px rgba(25, 50, 68, .045);
}
.management-kpi-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: #8094a2;
}
.management-kpi-card.blue::before { background: #3781b5; }
.management-kpi-card.healthy::before { background: #26915d; }
.management-kpi-card.warning::before { background: #ce9225; }
.management-kpi-card.danger::before { background: #bf4747; }
.management-kpi-card.neutral::before { background: #6e7f8b; }
.management-kpi-card span,
.management-kpi-card strong,
.management-kpi-card small { display: block; }
.management-kpi-card span {
  color: #7a8790;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.management-kpi-card strong { margin-top: 7px; color: #233743; font-size: 18px; line-height: 1.15; }
.management-kpi-card small { margin-top: 8px; color: #82909a; font-size: 9px; line-height: 1.45; }
.management-main-panel {
  overflow: hidden;
  border-radius: 9px;
  box-shadow: 0 5px 17px rgba(24, 48, 66, .055);
}
.management-panel-heading {
  min-height: 61px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #fbfdfe 0%, #f4f8fa 100%);
}
.management-panel-heading h2 { margin: 0; color: #253943; font-size: 15px; }
.management-panel-heading > div > span { display: block; margin-top: 3px; color: #7d8992; font-size: 9px; }
.management-level-chip {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid #cbdde8;
  border-radius: 999px;
  background: #eef6fb;
  color: #3476a4;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}

.negotiation-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 14px;
  background: #e1e8ec;
}
.negotiation-intelligence-grid article { min-height: 108px; padding: 14px; background: #fff; }
.negotiation-intelligence-grid span {
  display: block;
  color: #7c8992;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.negotiation-intelligence-grid strong { display: block; margin-top: 6px; color: #2e78a7; font-size: 21px; }
.negotiation-intelligence-grid p { margin: 7px 0 0; color: #7b8992; font-size: 9px; line-height: 1.5; }
.management-table-scroll { border-top: 1px solid #e2e8ec; background: #fff; }
.management-table { min-width: 950px; }
.management-table thead th {
  padding: 9px 11px;
  background: #f2f6f8;
  color: #52636e;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}
.management-table tbody td { padding: 10px 11px; vertical-align: middle; }
.management-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.management-table tbody tr:hover td { background: #f1f7fa; }
.management-table td strong,
.management-table td small { display: block; }
.management-table td strong { color: #344752; font-size: 10px; }
.management-table td small { margin-top: 2px; color: #8a959c; font-size: 8px; }
.management-player-link { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; }
.management-player-link span { margin-left: 2px; }
.management-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 4px 8px;
  border: 1px solid #d2dde4;
  border-radius: 999px;
  background: #f4f7f9;
  color: #62717b;
  font-size: 8px;
  font-weight: 850;
  white-space: nowrap;
}
.management-status-pill.healthy { border-color: #c7e2d4; background: #edf8f2; color: #237c50; }
.management-status-pill.warning { border-color: #e8d5aa; background: #fff8e8; color: #a67319; }
.management-status-pill.danger { border-color: #e7c0c0; background: #fff0f0; color: #ab3737; }
.money-cell { color: #344752; font-weight: 800; white-space: nowrap; }
.table-action-link { color: #3479aa; font-size: 9px; font-weight: 850; white-space: nowrap; }

.investment-portfolio-panel { background: #fff; }
.professional-investment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 15px;
}
.professional-investment-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 15px;
  border: 1px solid #dbe4e9;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #f8fafb 100%);
  box-shadow: 0 3px 11px rgba(28, 49, 64, .04);
}
.professional-investment-card.ready { border-color: #c7dce9; }
.professional-investment-card > header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
}
.investment-code {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #c8dce8;
  border-radius: 7px;
  background: #edf6fb;
  color: #3178a8;
  font-size: 10px;
  font-weight: 900;
}
.professional-investment-card header span {
  display: block;
  color: #89949c;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.professional-investment-card h2 { margin: 2px 0 0; color: #283b46; font-size: 14px; }
.professional-investment-card header > strong {
  padding: 5px 8px;
  border-radius: 999px;
  background: #eaf3f8;
  color: #3477a4;
  font-size: 9px;
  white-space: nowrap;
}
.investment-level-track {
  height: 7px;
  margin: 13px 0 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7edf1;
}
.investment-level-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #317fb3, #65aad3); }
.professional-investment-card > p { min-height: 38px; margin: 0; color: #76848e; font-size: 9px; line-height: 1.5; }
.investment-benefit {
  margin-top: 11px;
  padding: 10px;
  border: 1px solid #e0e7eb;
  border-radius: 6px;
  background: #fff;
}
.investment-benefit span,
.investment-benefit strong { display: block; }
.investment-benefit span { color: #89949c; font-size: 7px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.investment-benefit strong { margin-top: 4px; color: #40535e; font-size: 9px; line-height: 1.45; }
.professional-investment-card dl { display: grid; gap: 0; margin: 11px 0 0; }
.professional-investment-card dl div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #e8edef; }
.professional-investment-card dt { color: #7d8991; font-size: 8px; }
.professional-investment-card dd { margin: 0; color: #354853; font-size: 9px; font-weight: 850; text-align: right; }
.professional-investment-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
}
.investment-limitation { color: #a45a43; font-size: 8px; font-weight: 750; }
.investment-limitation.ok { color: #247c51; }
.investment-actions.professional { justify-content: flex-end; flex-wrap: nowrap; }
.investment-actions.professional form { margin: 0; }

.board-command-panel {
  display: grid;
  grid-template-columns: 155px minmax(0, 1fr) minmax(225px, .52fr);
  align-items: center;
  gap: 20px;
  padding: 18px;
  border-radius: 9px;
  background: linear-gradient(135deg, #fff 0%, #f7fafc 100%);
  box-shadow: 0 5px 17px rgba(24, 48, 66, .055);
}
.board-command-score {
  display: grid;
  place-items: center;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  box-shadow: 0 5px 16px rgba(28, 61, 83, .12);
}
.board-command-score > div {
  display: grid;
  place-items: center;
  width: 105px;
  height: 105px;
  padding: 10px;
  border-radius: 50%;
  background: #fff;
  text-align: center;
}
.board-command-score strong { color: #2d719e; font-size: 27px; line-height: 1; }
.board-command-score span { margin-top: 6px; color: #81909a; font-size: 8px; line-height: 1.3; }
.board-command-summary h2 { margin: 10px 0 5px; color: #263a45; font-size: 19px; }
.board-command-summary > p { margin: 0; color: #788690; font-size: 9px; line-height: 1.55; }
.board-command-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
.board-command-highlights div { padding: 10px; border: 1px solid #dce5ea; border-radius: 6px; background: #fff; }
.board-command-highlights span,
.board-command-highlights strong { display: block; }
.board-command-highlights span { color: #89949c; font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.board-command-highlights strong { margin-top: 4px; color: #3a4d58; font-size: 10px; }
.board-recommendation {
  padding: 14px;
  border: 1px solid #ccdde7;
  border-radius: 7px;
  background: #eef6fb;
}
.board-recommendation span,
.board-recommendation strong,
.board-recommendation small { display: block; }
.board-recommendation span { color: #3778a3; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.board-recommendation strong { margin-top: 7px; color: #2e4553; font-size: 11px; line-height: 1.5; }
.board-recommendation small { margin-top: 8px; color: #7b8992; font-size: 8px; line-height: 1.45; }
.professional-board-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 15px;
}
.professional-board-card {
  position: relative;
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid #dce5ea;
  border-radius: 7px;
  background: #fff;
}
.professional-board-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #6f8491; }
.professional-board-card.healthy::before { background: #26915d; }
.professional-board-card.warning::before { background: #cd9225; }
.professional-board-card.danger::before { background: #bf4747; }
.professional-board-card header { display: flex; justify-content: space-between; gap: 10px; }
.professional-board-card header span { color: #89949c; font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.professional-board-card h3 { margin: 3px 0 0; color: #314650; font-size: 13px; }
.professional-board-card header > strong { color: #2c6f9d; font-size: 17px; }
.professional-board-card p { min-height: 34px; margin: 9px 0; color: #7b8891; font-size: 8px; line-height: 1.45; }
.board-area-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e8edf0; }
.board-area-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #367fb2, #69a9d0); }
.professional-board-card.healthy .board-area-track i { background: linear-gradient(90deg, #25875a, #5bb688); }
.professional-board-card.warning .board-area-track i { background: linear-gradient(90deg, #c58a21, #dfb255); }
.professional-board-card.danger .board-area-track i { background: linear-gradient(90deg, #b83f3f, #dc7575); }
.professional-board-card footer { margin-top: 9px; color: #75838c; font-size: 8px; font-weight: 750; }
.board-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.board-rules-grid article { position: relative; padding: 15px; overflow: hidden; border-radius: 8px; }
.board-rules-grid article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #d1982b; }
.board-rules-grid article.danger::before { background: #bd4646; }
.board-rules-grid span,
.board-rules-grid strong { display: block; }
.board-rules-grid span { color: #7f8b94; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.board-rules-grid strong { margin-top: 5px; color: #334852; font-size: 15px; }
.board-rules-grid p { margin: 7px 0 0; color: #7a8790; font-size: 8px; line-height: 1.5; }

@media (max-width: 1120px) {
  .club-management-hero { grid-template-columns: 1fr; }
  .club-management-hero-metrics { border-top: 1px solid #dae4ea; border-left: 0; }
  .management-kpi-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .professional-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .board-command-panel { grid-template-columns: 145px minmax(0, 1fr); }
  .board-recommendation { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .club-management-hero-metrics { grid-template-columns: 1fr; }
  .club-management-hero-metrics > div { border-top: 1px solid #e2e8ec; border-left: 0; }
  .club-management-hero-metrics > div:first-child { border-top: 0; }
  .management-kpi-grid.three,
  .management-kpi-grid.four,
  .negotiation-intelligence-grid,
  .professional-investment-grid,
  .professional-board-grid,
  .board-rules-grid { grid-template-columns: 1fr; }
  .board-command-panel { grid-template-columns: 1fr; }
  .board-command-score { width: 122px; height: 122px; }
  .board-command-score > div { width: 93px; height: 93px; }
  .board-command-highlights { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .club-management-identity { padding: 14px; }
  .club-management-crest { width: 52px; height: 52px; flex-basis: 52px; }
  .club-management-crest img { width: 38px; height: 38px; }
  .professional-investment-card > header { grid-template-columns: 38px minmax(0, 1fr); }
  .professional-investment-card header > strong { grid-column: 2; justify-self: start; }
  .professional-investment-card > footer { align-items: flex-start; flex-direction: column; }
}


/* Premium club-management background and visual atmosphere R41 */
body.club-management-mode {
  position: relative;
  background-color: #eef2f4;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(240,244,246,.84) 38%, rgba(232,238,241,.90) 100%),
    url('../img/main-project-background.png');
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center top;
  background-size: cover, cover;
  background-attachment: fixed, fixed;
}
body.club-management-mode::before {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 85px 0 0;
  pointer-events: none;
  opacity: .24;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,.08) 48%, rgba(255,255,255,.16) 100%),
    radial-gradient(ellipse at 50% -8%, transparent 0 27rem, rgba(255,255,255,.26) 27.1rem 27.24rem, transparent 27.34rem),
    linear-gradient(90deg, transparent 0 49.92%, rgba(255,255,255,.24) 50%, transparent 50.08%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.58) 64%, transparent 100%);
}
body.club-management-mode .footer,
body.club-management-mode .club-management-page-shell {
  position: relative;
  z-index: 1;
}
body.club-management-mode .topbar {
  position: sticky;
  top: 0;
  z-index: 60;
}
body.club-management-mode .ticker {
  position: sticky;
  top: 52px;
  z-index: 59;
  margin: 0;
}
body.club-management-mode .club-management-page-shell {
  padding-top: 22px;
}
body.club-management-mode .club-management-breadcrumb {
  border-color: rgba(112, 139, 155, .34);
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 24px rgba(23, 47, 62, .06);
  backdrop-filter: blur(10px);
}
body.club-management-mode .club-management-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(128, 164, 185, .42);
  background:
    radial-gradient(circle at 84% 20%, rgba(114, 185, 225, .26), transparent 28%),
    linear-gradient(115deg, #173545 0%, #224f67 48%, #2d6e91 100%);
  box-shadow: 0 18px 42px rgba(19, 48, 66, .18);
}
body.club-management-mode .club-management-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .38;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.25) 50%, transparent 50.2%),
    radial-gradient(circle at 50% 118%, transparent 0 72px, rgba(255,255,255,.2) 73px 74px, transparent 75px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 12px);
}
body.club-management-mode .club-management-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -75px;
  top: -95px;
  width: 260px;
  height: 260px;
  border: 46px solid rgba(255,255,255,.055);
  border-radius: 50%;
}
body.club-management-mode .club-management-identity span,
body.club-management-mode .club-management-identity p,
body.club-management-mode .club-management-hero-metrics span {
  color: rgba(233, 244, 250, .72);
}
body.club-management-mode .club-management-identity h1,
body.club-management-mode .club-management-hero-metrics strong {
  color: #fff;
}
body.club-management-mode .club-management-crest {
  border-color: rgba(255,255,255,.32);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(4, 25, 37, .25);
}
body.club-management-mode .club-management-hero-metrics {
  border-left-color: rgba(255,255,255,.17);
  background: rgba(3, 28, 42, .11);
}
body.club-management-mode .club-management-hero-metrics > div {
  border-left-color: rgba(255,255,255,.13);
}
body.club-management-mode .club-management-tabs {
  padding: 5px;
  border: 1px solid rgba(116, 145, 162, .34);
  border-radius: 9px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 28px rgba(24, 48, 62, .075);
  backdrop-filter: blur(10px);
}
body.club-management-mode .club-management-tabs a {
  border-radius: 6px;
}
body.club-management-mode .club-management-tabs a.active {
  box-shadow: 0 7px 18px rgba(43, 104, 142, .18);
}
body.club-management-mode .management-section-dashboard,
body.club-management-mode .finance-dashboard {
  position: relative;
}
body.club-management-mode .management-kpi-card,
body.club-management-mode .finance-summary-card,
body.club-management-mode .management-main-panel,
body.club-management-mode .investment-portfolio-panel,
body.club-management-mode .professional-investment-card,
body.club-management-mode .professional-board-card,
body.club-management-mode .board-command-panel,
body.club-management-mode .board-rules-grid article,
body.club-management-mode .finance-overview-panel {
  border-color: rgba(128, 151, 164, .28);
  box-shadow: 0 10px 27px rgba(24, 48, 62, .075);
}
body.club-management-mode .management-main-panel,
body.club-management-mode .investment-portfolio-panel,
body.club-management-mode .finance-overview-panel {
  background: rgba(255,255,255,.96);
}
body.club-management-mode .management-kpi-card:hover,
body.club-management-mode .finance-summary-card:hover,
body.club-management-mode .professional-investment-card:hover,
body.club-management-mode .professional-board-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 34px rgba(23, 49, 65, .12);
}
body.club-management-mode .management-kpi-card,
body.club-management-mode .finance-summary-card,
body.club-management-mode .professional-investment-card,
body.club-management-mode .professional-board-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.club-management-mode .footer-inner {
  border-top-color: rgba(104, 128, 142, .28);
}

@media (max-width: 800px) {
  body.club-management-mode::before { opacity: .22; }
  body.club-management-mode .club-management-hero-metrics {
    border-top-color: rgba(255,255,255,.17);
  }
  body.club-management-mode .club-management-hero-metrics > div {
    border-top-color: rgba(255,255,255,.13);
  }
}

/* Professional beta registration and administration center R44 */
.beta-register-page,
.beta-pending-page {
  max-width: 1180px;
  border: 1px solid rgba(112, 139, 158, .24);
  border-radius: 18px;
  box-shadow: 0 28px 70px rgba(28, 55, 73, .18);
}
.beta-register-hero,
.beta-pending-hero {
  min-height: 720px;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.15), transparent 25%),
    radial-gradient(circle at 88% 80%, rgba(103,183,231,.20), transparent 32%),
    linear-gradient(145deg, #122f40 0%, #1d5877 55%, #347fba 100%);
}
.beta-pending-hero { min-height: 610px; }
.beta-register-hero::before,
.beta-pending-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background:
    linear-gradient(90deg, transparent 49.85%, rgba(255,255,255,.42) 50%, transparent 50.15%),
    radial-gradient(circle at 50% 112%, transparent 0 92px, rgba(255,255,255,.36) 93px 94px, transparent 95px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 15px);
}
.beta-register-hero > *,
.beta-pending-hero > * { position: relative; z-index: 1; }
.beta-hero-badge {
  width: 82px;
  height: 82px;
  border: 1px solid rgba(255,255,255,.48);
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.06), 0 14px 32px rgba(1,23,35,.22);
  font-size: 24px;
  letter-spacing: -.08em;
}
.beta-registration-steps {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}
.beta-registration-steps > div {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  column-gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(4,27,40,.20);
  backdrop-filter: blur(7px);
}
.beta-registration-steps span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.beta-registration-steps strong { color: #fff; font-size: 13px; }
.beta-registration-steps small { color: rgba(235,247,253,.72); font-size: 10px; }
.beta-register-card { align-self: stretch; padding: 38px 42px; }
.beta-pending-card { padding: 48px 44px; }
.beta-approval-notice {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 12px;
  margin-bottom: 22px;
  padding: 15px 16px;
  border: 1px solid #b9d7e8;
  border-left: 4px solid #347fba;
  border-radius: 9px;
  background: linear-gradient(135deg, #f4faff, #edf6fb);
  color: #294759;
}
.beta-approval-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #347fba;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
.beta-approval-notice strong { display: block; margin-bottom: 4px; color: #183b50; font-size: 12px; }
.beta-approval-notice p { margin: 0; color: #557080; font-size: 10px; line-height: 1.55; }
.professional-register-form { gap: 12px; }
.register-form-section {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 14px 15px 16px;
  border: 1px solid #dfe7ec;
  border-radius: 9px;
  background: #fbfcfd;
}
.register-form-section legend {
  padding: 0 7px;
  color: #3a5263;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.register-form-section label { margin-top: 4px; }
.register-form-section input,
.register-form-section select {
  width: 100%;
  border-color: #cbd7df;
  background: #fff;
}
.beta-register-submit {
  min-height: 52px;
  display: grid;
  gap: 1px;
  border-radius: 8px;
  box-shadow: 0 9px 20px rgba(52,127,186,.20);
}
.beta-register-submit span { font-size: 13px; }
.beta-register-submit small { color: rgba(255,255,255,.74); font-size: 9px; font-weight: 600; }
.pending-status-card {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
  padding: 16px;
  border: 1px solid #b8dfc8;
  border-radius: 10px;
  background: linear-gradient(135deg, #f3fbf6, #eaf7ef);
}
.pending-status-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #278153;
  color: #fff;
  font-size: 19px;
  font-weight: 900;
}
.pending-status-card span { display: block; color: #4f7561; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.pending-status-card strong { display: block; margin-top: 2px; color: #194b31; font-size: 13px; overflow-wrap: anywhere; }
.pending-status-card p { margin: 3px 0 0; color: #628071; font-size: 10px; }
.beta-review-timeline {
  position: relative;
  display: grid;
  gap: 0;
  margin: 20px 0;
  padding: 4px 0;
}
.beta-review-timeline::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 26px;
  bottom: 26px;
  width: 2px;
  background: #d9e2e8;
}
.beta-review-timeline > div {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  padding: 10px 0;
}
.beta-review-timeline > div > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid #d7e0e6;
  border-radius: 50%;
  background: #fff;
  color: #84929d;
  font-size: 11px;
  font-weight: 900;
}
.beta-review-timeline .is-complete > span { border-color: #74bd92; background: #278153; color: #fff; }
.beta-review-timeline .is-current > span { border-color: #5da0cf; background: #347fba; color: #fff; box-shadow: 0 0 0 5px rgba(52,127,186,.10); }
.beta-review-timeline strong { display: block; color: #2d3e4a; font-size: 12px; }
.beta-review-timeline small { display: block; margin-top: 2px; color: #74818b; font-size: 9px; }
.beta-patience-message {
  margin: 20px 0;
  padding: 14px 15px;
  border: 1px solid #ead2a9;
  border-radius: 9px;
  background: #fff9ee;
}
.beta-patience-message strong { color: #704b14; font-size: 12px; }
.beta-patience-message p { margin: 4px 0 0; color: #806a47; font-size: 10px; line-height: 1.55; }
.login-approval-pending {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #e8cf9e;
  border-radius: 8px;
  background: #fff8eb;
}
.login-approval-pending > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #d58a00;
  color: #fff;
}
.login-approval-pending strong { display: block; color: #67450e; font-size: 11px; }
.login-approval-pending small { display: block; margin-top: 2px; color: #806c4a; font-size: 9px; line-height: 1.45; }

.admin-command-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) 230px;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 26px 28px;
  border: 1px solid rgba(112,156,182,.45);
  border-radius: 13px;
  background:
    radial-gradient(circle at 85% 12%, rgba(125,197,236,.25), transparent 28%),
    linear-gradient(120deg, #132f3f 0%, #1d506a 58%, #2e7399 100%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(23,54,73,.18);
}
.admin-command-kicker,
.admin-section-kicker {
  display: block;
  margin-bottom: 5px;
  color: #8fd0f3;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
.admin-command-hero h1 { margin-bottom: 8px; color: #fff; font-size: 30px; }
.admin-command-hero p { max-width: 760px; margin-bottom: 18px; color: rgba(232,245,252,.75); font-size: 12px; }
.admin-command-nav { display: flex; flex-wrap: wrap; gap: 7px; }
.admin-command-nav a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px;
  background: rgba(5,29,42,.24);
  color: #edf8fd;
  font-size: 10px;
  font-weight: 750;
}
.admin-command-nav a:hover { background: rgba(255,255,255,.12); color: #fff; }
.admin-command-nav b {
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #d58a00;
  color: #fff;
  font-size: 9px;
}
.admin-command-status {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 10px;
  background: rgba(5,29,42,.25);
  text-align: center;
}
.admin-command-status span { color: rgba(232,245,252,.62); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.admin-command-status strong { margin: 5px 0; color: #8ee1ad; font-size: 21px; }
.admin-command-status small { color: rgba(232,245,252,.68); font-size: 9px; }
.admin-stat-grid-six { grid-template-columns: repeat(6, minmax(0,1fr)); }
.admin-stat-grid-six > div {
  align-items: center;
  min-width: 0;
  padding: 14px;
  border-color: #d6e1e7;
  box-shadow: 0 7px 18px rgba(35,63,80,.07);
}
.admin-stat-grid-six > div > span { width: 39px; height: 39px; font-size: 17px; }
.admin-stat-grid-six strong { font-size: 20px; }
.admin-stat-grid-six small { font-size: 9px; }
.admin-stat-grid-six .admin-stat-pending > span { background: #fff2dd; color: #a96300; }
.admin-stat-grid-six .admin-stat-danger > span { background: #fff0ef; color: #a53a35; }
.admin-registration-center { margin-bottom: 18px; overflow: hidden; border-color: #cfdde5; }
.admin-registration-header,
.admin-users-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #dfe7ec;
  background: linear-gradient(180deg,#fff,#f8fafb);
}
.admin-registration-header h2,
.admin-users-header h2 { margin: 0; color: #243b4a; font-size: 18px; }
.admin-registration-header p,
.admin-users-header p { margin: 3px 0 0; color: #71808a; font-size: 10px; }
.admin-registration-count {
  min-width: 112px;
  padding: 10px 13px;
  border: 1px solid #e6ca97;
  border-radius: 8px;
  background: #fff8eb;
  text-align: center;
}
.admin-registration-count strong { display: block; color: #a96300; font-size: 23px; line-height: 1; }
.admin-registration-count span { color: #8a6b38; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.admin-registration-policy {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  margin: 14px 16px 0;
  padding: 11px 13px;
  border: 1px solid #c8dfea;
  border-radius: 8px;
  background: #f3f9fc;
}
.admin-registration-policy > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #347fba;
  color: #fff;
  font-weight: 900;
}
.admin-registration-policy p { margin: 0; color: #58707f; font-size: 9px; line-height: 1.5; }
.admin-registration-list { display: grid; gap: 8px; padding: 14px 16px 17px; }
.admin-registration-card {
  display: grid;
  grid-template-columns: 46px minmax(190px,1fr) minmax(130px,.42fr) auto;
  align-items: center;
  gap: 13px;
  padding: 13px;
  border: 1px solid #dbe4e9;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(35,61,76,.05);
}
.admin-registration-avatar {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: linear-gradient(145deg,#2c6f96,#3d91c0);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.17);
}
.admin-registration-identity > strong { display: block; color: #263b48; font-size: 12px; }
.admin-registration-identity > a { display: block; margin-top: 1px; color: #347fba; font-size: 10px; }
.admin-registration-identity > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 5px; }
.admin-registration-identity > div span {
  padding: 2px 6px;
  border-radius: 4px;
  background: #edf4f8;
  color: #41667b;
  font-size: 8px;
  font-weight: 900;
}
.admin-registration-identity > div small { color: #81909a; font-size: 8px; }
.admin-registration-state { display: grid; justify-items: start; gap: 4px; }
.admin-registration-state small { color: #87939c; font-size: 8px; }
.status-pill.status-awaiting { background: #fff4e4; border-color: #e8c691; color: #91530b; }
.status-pill.status-approved { background: #e9f7ef; border-color: #b8dfc8; color: #17683f; }
.admin-registration-actions {
  display: grid;
  grid-template-columns: auto auto;
  gap: 6px;
  justify-items: stretch;
}
.admin-registration-actions form { margin: 0; }
.admin-registration-actions .button { min-height: 32px; padding: 6px 10px; font-size: 9px; }
.admin-registration-actions form:first-child { grid-column: 1 / -1; }
.admin-registration-actions form:first-child .button { width: 100%; }
.admin-approve-registration { background: #278153; border-color: #278153; }
.admin-approve-registration:hover { background: #1e6e45; border-color: #1e6e45; }
.admin-reject-registration {
  width: 100%;
  min-height: 28px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #9b3934;
  font-size: 8px;
  font-weight: 800;
}
.admin-reject-registration:hover { background: #fff0ef; }
.admin-registration-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 105px;
  margin: 14px 16px 17px;
  border: 1px dashed #b9d9c6;
  border-radius: 9px;
  background: #f5fbf7;
}
.admin-registration-empty > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #278153;
  color: #fff;
  font-weight: 900;
}
.admin-registration-empty strong { display: block; color: #23573b; font-size: 12px; }
.admin-registration-empty small { display: block; color: #6e8a79; font-size: 9px; }
.professional-admin-users { margin-bottom: 18px; }
.admin-users-summary { display: flex; gap: 7px; }
.admin-users-summary span {
  display: grid;
  min-width: 62px;
  padding: 7px 9px;
  border: 1px solid #dae3e8;
  border-radius: 7px;
  background: #fff;
  color: #76848d;
  font-size: 8px;
  text-align: center;
}
.admin-users-summary b { color: #2a4454; font-size: 14px; }
.professional-admin-user-table thead th {
  background: #f3f6f8;
  color: #526875;
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.professional-admin-user-table tbody tr { transition: background .14s ease; }
.professional-admin-user-table tbody tr:hover { background: #f8fbfc; }
.admin-user-pending { background: #fffaf2; }
.professional-admin-user-actions { min-width: 270px; }
.professional-admin-user-actions .button { border-radius: 5px; }

@media (max-width: 1180px) {
  .admin-stat-grid-six { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .admin-registration-card { grid-template-columns: 46px minmax(180px,1fr) minmax(120px,.5fr); }
  .admin-registration-actions { grid-column: 2 / -1; display: flex; }
  .admin-registration-actions form:first-child { grid-column: auto; }
}
@media (max-width: 820px) {
  .beta-register-card,
  .beta-pending-card { padding: 30px 24px; }
  .beta-register-hero,
  .beta-pending-hero { min-height: 440px; padding: 42px 30px; }
  .admin-command-hero { grid-template-columns: 1fr; padding: 22px; }
  .admin-command-status { text-align: left; }
  .admin-registration-header,
  .admin-users-header { align-items: flex-start; flex-direction: column; }
  .admin-registration-card { grid-template-columns: 42px minmax(0,1fr); }
  .admin-registration-state,
  .admin-registration-actions { grid-column: 2; }
  .admin-registration-actions { display: flex; flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .register-name-grid { grid-template-columns: 1fr; }
  .admin-stat-grid-six { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-command-nav { display: grid; }
  .admin-command-nav a { width: 100%; }
  .admin-users-summary { width: 100%; }
  .admin-users-summary span { flex: 1; }
  .admin-registration-card { grid-template-columns: 1fr; }
  .admin-registration-avatar { display: none; }
  .admin-registration-state,
  .admin-registration-actions { grid-column: 1; }
}


/* Automatic mobile layout R46 - desktop design remains unchanged */
.mobile-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  margin-left: 4px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  color: #fff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
}
.mobile-nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 10px;
  background: currentColor;
}

@media (max-width: 900px) {
  body.device-mobile { padding-bottom: 0; }
  body.device-mobile .topbar { position: sticky; top: 0; z-index: 90; }
  body.device-mobile .topbar-inner {
    width: min(100% - 14px, 1320px);
    height: 58px;
    gap: 9px;
  }
  body.device-mobile .mobile-nav-toggle { display: inline-flex; }
  body.device-mobile .brand > span:last-child { font-size: 16px; white-space: nowrap; }

  body.device-mobile .main-nav,
  body.device-mobile .lobby-main-nav {
    display: none;
    position: fixed;
    z-index: 95;
    left: 10px;
    right: 10px;
    top: 68px;
    bottom: auto;
    height: auto;
    max-height: calc(100vh - 84px);
    overflow-y: auto;
    padding: 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    border: 1px solid #d8e2ea;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbfd, #edf4f8);
    box-shadow: 0 20px 45px rgba(18,48,69,.24);
  }
  body.device-mobile.mobile-nav-open .main-nav,
  body.device-mobile.mobile-nav-open .lobby-main-nav { display: flex; }

  body.device-mobile .main-nav > a,
  body.device-mobile .lobby-main-nav > a,
  body.device-mobile .main-nav > details > summary,
  body.device-mobile .lobby-main-nav > details > summary {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 11px 14px;
    border: 1px solid #dbe5ed;
    border-radius: 10px;
    background: #fff;
    color: #18384e;
    font-size: 13px;
    font-weight: 800;
  }
  body.device-mobile .main-nav > details,
  body.device-mobile .lobby-main-nav > details { width: 100%; }
  body.device-mobile .main-nav .nav-menu,
  body.device-mobile .lobby-main-nav .nav-menu {
    position: static;
    display: grid;
    min-width: 0;
    margin-top: 6px;
    border: 1px solid #dbe5ed;
    border-radius: 10px;
    box-shadow: none;
    overflow: hidden;
  }
  body.device-mobile .main-nav .nav-menu a,
  body.device-mobile .lobby-main-nav .nav-menu a,
  body.device-mobile .main-nav .nav-menu button,
  body.device-mobile .lobby-main-nav .nav-menu button {
    min-height: 42px;
    padding: 10px 12px;
    font-size: 12px;
  }

  body.device-mobile .account-area,
  body.device-mobile .lobby-account-area { margin-left: auto; gap: 7px; }
  body.device-mobile .game-user-name,
  body.device-mobile .lobby-user-name,
  body.device-mobile .online-label { display: none; }
  body.device-mobile .account-area .nav-counter-icon,
  body.device-mobile .lobby-account-area .nav-counter-icon,
  body.device-mobile .game-user-menu > summary,
  body.device-mobile .lobby-user-menu > summary {
    min-width: 34px;
    min-height: 34px;
    padding: 0 8px;
    border-radius: 9px;
    background: rgba(255,255,255,.12);
  }

  body.device-mobile .shell,
  body.device-mobile .page-shell { width: min(100% - 14px, 1180px); }
  body.device-mobile .page-shell { padding: 12px 0 25px; }
  body.device-mobile .panel-body { padding: 14px; }
  body.device-mobile .panel-header { padding: 9px 12px; }

  body.device-mobile .ticker-inner {
    gap: 10px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body.device-mobile .ticker-inner::-webkit-scrollbar { display: none; }

  body.device-mobile .table-scroll,
  body.device-mobile .transfer-table-wrap,
  body.device-mobile .cup-bracket,
  body.device-mobile .entity-tabs,
  body.device-mobile .section-tabs,
  body.device-mobile .history-mode-tabs,
  body.device-mobile .league-competition-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.device-mobile .mail-layout,
  body.device-mobile .manager-profile-grid { grid-template-columns: 1fr; }
  body.device-mobile .mail-list {
    max-height: 260px;
    overflow-y: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  body.device-mobile .manager-profile-stats { grid-template-columns: repeat(2,1fr); }

  body.device-mobile input,
  body.device-mobile select,
  body.device-mobile textarea,
  body.device-mobile button,
  body.device-mobile .button { min-height: 40px; }

  body.device-mobile .pitch { max-height: 560px; }
  body.device-mobile .squad-column { max-height: none; }
}


/* Mobile polish: formation remove control, manager icons and friendly form R47 */
@media (max-width: 900px) {
  /* The generic mobile button rule must not enlarge the small formation remove control. */
  body.device-mobile .formation-reference-layout .pitch-player-remove,
  body.device-mobile .pitch-player .pitch-player-remove {
    display: grid !important;
    place-items: center !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    top: -4px;
    right: 15px;
    border: 1px solid rgba(255,255,255,.92);
    border-radius: 50%;
    background: #c83e39;
    box-shadow: 0 1px 3px rgba(38,18,18,.28);
    color: #fff;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 18px !important;
    opacity: 1;
  }
  body.device-mobile .formation-reference-layout .pitch-player-remove:hover,
  body.device-mobile .formation-reference-layout .pitch-player-remove:focus {
    background: #ad302c;
    transform: none;
  }

  /* Human-managed clubs stay clearly visible in compact mobile tables. */
  body.device-mobile .goal-standings-table .manager-icon-badge,
  body.device-mobile .ruby-standings .manager-icon-badge,
  body.device-mobile .team-link .manager-icon-badge,
  body.device-mobile .team-manager-monitor .manager-icon-badge {
    display: inline-grid !important;
    place-items: center;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 1px 0 0;
    overflow: visible;
    border: 1px solid #9fd4ae;
    border-radius: 50%;
    background: #e7f7ec;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.76);
  }
  body.device-mobile .goal-standings-table .manager-icon-badge .human-manager-icon,
  body.device-mobile .ruby-standings .manager-icon-badge .human-manager-icon,
  body.device-mobile .team-link .manager-icon-badge .human-manager-icon,
  body.device-mobile .team-manager-monitor .manager-icon-badge .human-manager-icon {
    display: inline-block !important;
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.device-mobile .goal-standings-table .manager-icon-badge .human-manager-icon::before,
  body.device-mobile .ruby-standings .manager-icon-badge .human-manager-icon::before,
  body.device-mobile .team-link .manager-icon-badge .human-manager-icon::before {
    width: 5px;
    height: 5px;
    top: .4px;
  }
  body.device-mobile .goal-standings-table .manager-icon-badge .human-manager-icon::after,
  body.device-mobile .ruby-standings .manager-icon-badge .human-manager-icon::after,
  body.device-mobile .team-link .manager-icon-badge .human-manager-icon::after {
    width: 8px;
    height: 8px;
    bottom: .5px;
    background: linear-gradient(180deg, #60d878 0%, #26a94b 100%);
  }

  /* Friendly page: compact phone form instead of oversized native controls. */
  body.device-mobile .friendly-page-grid {
    gap: 10px;
  }
  body.device-mobile .friendly-create-panel .panel-header {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
  }
  body.device-mobile .friendly-create-panel .panel-header h2 {
    font-size: 17px;
  }
  body.device-mobile .friendly-create-panel .panel-header span {
    line-height: 1.35;
  }
  body.device-mobile .friendly-club-pill {
    min-height: 28px;
    padding: 4px 9px;
    font-size: 11px;
  }
  body.device-mobile .friendly-create-form {
    gap: 10px;
    padding: 12px;
  }
  body.device-mobile .friendly-create-form > label,
  body.device-mobile .friendly-form-row > label {
    gap: 4px;
    font-size: 12px;
  }
  body.device-mobile .friendly-create-form input[type="search"],
  body.device-mobile .friendly-create-form select,
  body.device-mobile .friendly-response-box select {
    width: 100%;
    min-height: 43px !important;
    height: 43px;
    padding: 7px 11px;
    border-radius: 7px;
    font-size: 14px !important;
    line-height: 1.2;
  }
  body.device-mobile .friendly-venue-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 7px;
    padding: 8px;
    border-radius: 8px;
  }
  body.device-mobile .friendly-venue-choice legend {
    grid-column: 1 / -1;
    padding: 0 4px;
    font-size: 11px;
  }
  body.device-mobile .friendly-venue-choice label {
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    align-items: start;
    gap: 7px;
    min-width: 0;
    min-height: 68px;
    padding: 9px;
    border-radius: 7px;
    background: #fff;
  }
  body.device-mobile .friendly-venue-choice input[type="radio"] {
    appearance: auto;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border-radius: 50%;
    accent-color: #347fba;
    box-shadow: none !important;
  }
  body.device-mobile .friendly-venue-choice label > span {
    display: block;
    min-width: 0;
  }
  body.device-mobile .friendly-venue-choice label strong {
    display: block;
    color: #263947;
    font-size: 13px;
    line-height: 1.2;
  }
  body.device-mobile .friendly-venue-choice label small {
    display: block;
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: #6d7a84;
    font-size: 9px;
    line-height: 1.3;
  }
  body.device-mobile .friendly-development-note {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 9px 10px;
    border-left-width: 3px;
  }
  body.device-mobile .friendly-development-note strong {
    font-size: 12px;
  }
  body.device-mobile .friendly-development-note span,
  body.device-mobile .friendly-priority-note {
    font-size: 10px;
    line-height: 1.4;
  }
  body.device-mobile .friendly-button-row {
    display: flex;
  }
  body.device-mobile .friendly-primary-button {
    width: 100%;
    min-height: 42px !important;
    padding: 8px 12px;
    border-radius: 7px;
    font-size: 13px !important;
  }
}

@media (max-width: 370px) {
  body.device-mobile .friendly-venue-choice {
    grid-template-columns: 1fr !important;
  }
  body.device-mobile .friendly-venue-choice label {
    min-height: 58px;
  }
}
