/* /Components/Account/Pages/Manage/DeleteAccount.razor.rz.scp.css */
.delete-account-page[b-uzlsqhl4ss] {
    padding: 10px 0;
}

.delete-intro[b-uzlsqhl4ss] {
    margin-bottom: 16px;
    line-height: 1.6;
}

.delete-confirm-label[b-uzlsqhl4ss] {
    margin-top: 24px;
}

.delete-confirm-input[b-uzlsqhl4ss] {
    max-width: 220px;
}

.delete-validation-error[b-uzlsqhl4ss] {
    color: #ff8a80;
    font-size: .85rem;
    margin-top: 10px;
}

.delete-submit-button[b-uzlsqhl4ss] {
    width: auto;
    margin-top: 24px;
    padding: 12px 28px;
    background: #b23c34 !important;
}

.delete-submit-button:hover[b-uzlsqhl4ss] {
    background: #c94a41 !important;
}

.delete-submit-button:disabled[b-uzlsqhl4ss] {
    opacity: .5;
    cursor: not-allowed;
}

.delete-success[b-uzlsqhl4ss] {
    text-align: center;
    padding: 30px 24px;
}

.delete-success-note[b-uzlsqhl4ss] {
    margin-top: 12px;
    font-size: .85rem;
    color: rgba(255, 255, 255, .6);
}

.delete-logout-form[b-uzlsqhl4ss] {
    margin: 0;
    padding: 0;
    display: inline-block;
}

.delete-logout-button[b-uzlsqhl4ss] {
    width: auto;
    margin-top: 20px;
    padding: 12px 28px;
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
.reg-closed-panel[b-ssupjaoixf] {
    max-width: 560px;
    margin: 60px auto;
    padding: 40px 32px;
    text-align: center;

    background:
        radial-gradient(140% 120% at 15% -10%, rgba(212, 175, 55, 0.1), transparent 55%),
        rgba(15, 15, 15, 0.88);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 16px;

    box-shadow:
        0 0 0 1px rgba(212, 175, 55, 0.06),
        0 12px 32px rgba(0, 0, 0, 0.5);
}

.reg-closed-icon[b-ssupjaoixf] {
    font-size: 2.6rem;
    margin-bottom: 16px;
}

.reg-closed-title[b-ssupjaoixf] {
    color: white;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.reg-closed-text[b-ssupjaoixf] {
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin-bottom: 20px;
}

.reg-closed-date[b-ssupjaoixf] {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid rgba(212, 175, 55, 0.35);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.9rem;
}

.reg-waitlist[b-ssupjaoixf] {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.reg-waitlist-label[b-ssupjaoixf] {
    display: block;
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.9rem;
    margin-bottom: 12px;
}

.reg-waitlist-row[b-ssupjaoixf] {
    display: flex;
    gap: 10px;
    max-width: 420px;
    margin: 0 auto;
}

.reg-waitlist-input[b-ssupjaoixf] {
    flex: 1;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.05);
    color: white;
    font-size: 0.9rem;
}

.reg-waitlist-input:focus[b-ssupjaoixf] {
    outline: none;
    border-color: #d4af37;
}

.reg-waitlist-btn[b-ssupjaoixf] {
    padding: 10px 20px;
    border-radius: 8px;
    border: none;
    background: #d4af37;
    color: #1a1a1a;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s ease;
}

.reg-waitlist-btn:hover[b-ssupjaoixf] {
    background: #e0bd4f;
}

.reg-waitlist-error[b-ssupjaoixf] {
    display: block;
    color: #e05353;
    font-size: 0.82rem;
    margin-top: 8px;
}

.reg-waitlist-message[b-ssupjaoixf] {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.85rem;
    margin-top: 10px;
}

.reg-waitlist-success[b-ssupjaoixf] {
    color: #4caf50;
    font-weight: 600;
}

@media (max-width: 500px) {
    .reg-waitlist-row[b-ssupjaoixf] {
        flex-direction: column;
    }
}
/* /Components/Authentication/AuthenticationCard.razor.rz.scp.css */
.authentication-card[b-7jjjr82r4z] {

    width: 100%;
    max-width: 680px;

    padding: 45px;

    border-radius: 22px;

    background: rgba(18,22,30,.68);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    border: 1px solid rgba(255,255,255,.12);

    box-shadow:
        0 20px 60px rgba(0,0,0,.45),
        inset 0 1px 0 rgba(255,255,255,.08);

    color: white;

    box-sizing: border-box;
}

.authentication-card h2[b-7jjjr82r4z] {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 10px;
}

.subtitle[b-7jjjr82r4z] {
    color: #BFC8D6;
    margin-bottom: 35px;
}

.esm-button[b-7jjjr82r4z] {
    display: block;
    width: 100%;
    text-align: center;
    padding: 16px;
    border-radius: 10px;
    border: none;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    cursor: pointer;
    transition: .2s;
}

.login[b-7jjjr82r4z] {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(#d7b24a,#bf9125);
    color: black;
    font-size: 22px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 20px;
}

.login:hover[b-7jjjr82r4z] { filter: brightness(1.05); }

.register[b-7jjjr82r4z] {
    width: 100%;
    padding: 16px;
    border: 2px solid #c79a33;
    background: transparent;
    color: #d7b24a;
    border-radius: 8px;
    font-size: 22px;
    font-weight: 600;
    cursor: pointer;
}

.register:hover[b-7jjjr82r4z] { background: rgba(215,178,74,.10); }

/* Tablet */
@media (max-width: 768px) {
    .authentication-card[b-7jjjr82r4z] {
        padding: 32px;
    }
    .authentication-card h2[b-7jjjr82r4z] {
        font-size: 28px;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .authentication-card[b-7jjjr82r4z] {
        padding: 20px;
        border-radius: 16px;
    }
    .authentication-card h2[b-7jjjr82r4z] {
        font-size: 24px;
    }
    .login[b-7jjjr82r4z],
    .register[b-7jjjr82r4z] {
        font-size: 18px;
        padding: 14px;
    }
}
/* /Components/Authentication/LoginCard.razor.rz.scp.css */
.esm-input[b-ojnkayhkc5] {

    width: 100%;

    box-sizing: border-box;

    padding: 14px 18px;

    margin-bottom: 12px;

    background: #f5f7fb;

    color: #222;

    border: none;

    border-radius: 8px;

    font-size: 16px;

    outline: none;
}

label[b-ojnkayhkc5] {

    display: block;

    margin-top: 12px;

    margin-bottom: 8px;

    font-size: 18px;

    font-weight: 600;

    color: white;
}

.separator[b-ojnkayhkc5] {

    display: flex;

    align-items: center;

    gap: 20px;

    margin: 20px 0;
}

.line[b-ojnkayhkc5] {

    flex: 1;

    height: 1px;

    background: rgba(255,255,255,.20);
}

.separator span[b-ojnkayhkc5] {

    color: rgba(255,255,255,.65);

    font-size: 20px;
}

.remember-me[b-ojnkayhkc5] {

    display: flex;

    align-items: center;

    gap: 10px;

    margin: 14px 0;
}

.validation-message[b-ojnkayhkc5] {

    color: #ff7373;

    font-size: 13px;

    display: block;

    margin-top: 5px;
}
/* /Components/Authentication/RegisterCard.razor.rz.scp.css */
.esm-input[b-j04ps4xw43] {

    width: 100%;

    margin-bottom: 18px;

    padding: 14px 18px;

    border-radius: 10px;

    border: none;

    background: #232937;

    color: white;

    font-size: 16px;
}

label[b-j04ps4xw43] {

    display: block;

    margin-top: 18px;

    margin-bottom: 8px;

    font-weight: 600;
}

.separator[b-j04ps4xw43] {

    display: flex;

    justify-content: center;

    margin: 25px 0;

    color: #999;
}

.remember-me[b-j04ps4xw43] {

    display: flex;

    align-items: center;

    gap: 10px;

    margin: 20px 0;
}

.validation-message[b-j04ps4xw43] {

    color: #ff7373;

    font-size: 13px;

    display: block;

    margin-top: 5px;
}

.field-hint[b-j04ps4xw43] {

    color: #999;

    font-size: 13px;

    margin-top: -12px;

    margin-bottom: 18px;
}
/* /Components/Dashboard/ClubNamingWelcomeModal.razor.rz.scp.css */
.cnw-header[b-1cakkd4nd4] {
    text-align: center;
    margin-bottom: 24px;
}

.cnw-kicker[b-1cakkd4nd4] {
    color: #d4af37;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
}

.cnw-title[b-1cakkd4nd4] {
    color: white;
    font-size: 1.6rem;
    font-weight: 800;
    margin: 0 0 10px;
}

.cnw-subtitle[b-1cakkd4nd4] {
    color: rgba(255, 255, 255, .55);
    font-size: 0.85rem;
    line-height: 1.5;
    max-width: 480px;
    margin: 0 auto;
}

.cnw-field[b-1cakkd4nd4] {
    margin-bottom: 18px;
}

.cnw-field label[b-1cakkd4nd4] {
    display: block;
    margin-bottom: 8px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
}

.cnw-field .esm-input[b-1cakkd4nd4] {
    width: 100%;
}

.cnw-error[b-1cakkd4nd4] {
    color: #ff8a80;
    font-size: 0.85rem;
    margin: -6px 0 16px;
}

.cnw-footer[b-1cakkd4nd4] {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 24px;
}
/* /Components/Dashboard/DashboardOnboardingModal.razor.rz.scp.css */
.dob-header[b-htv22b9xx1] {
    text-align: center;
    margin-bottom: 24px;
}

.dob-kicker[b-htv22b9xx1] {
    color: #d4af37;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
}

.dob-title[b-htv22b9xx1] {
    color: white;
    font-size: 1.6rem;
    font-weight: 800;
    margin: 0 0 10px;
}

.dob-subtitle[b-htv22b9xx1] {
    color: rgba(255,255,255,.55);
    font-size: 0.85rem;
    line-height: 1.5;
    max-width: 520px;
    margin: 0 auto;
}

.dob-grid[b-htv22b9xx1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 4px 2px;
}

.dob-tile[b-htv22b9xx1] {
    position: relative;
    cursor: pointer;
    user-select: none;

    display: flex;
    flex-direction: column;
    gap: 4px;

    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    padding: 14px;

    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.dob-tile:hover[b-htv22b9xx1] {
    border-color: rgba(212,175,55,.4);
    transform: translateY(-1px);
}

.dob-tile-selected[b-htv22b9xx1] {
    background:
        radial-gradient(140% 140% at 15% -10%, rgba(212,175,55,.12), transparent 55%),
        rgba(212,175,55,.06);
    border-color: #d4af37;
}

.dob-tile-check[b-htv22b9xx1] {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);

    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    color: transparent;
    background: transparent;
    transition: .15s ease;
}

.dob-tile-selected .dob-tile-check[b-htv22b9xx1] {
    color: black;
    background: #d4af37;
    border-color: #d4af37;
}

.dob-tile-icon[b-htv22b9xx1] {
    font-size: 1.3rem;
}

.dob-tile-name[b-htv22b9xx1] {
    color: white;
    font-weight: 700;
    font-size: 0.85rem;
    padding-right: 20px;
}

.dob-tile-desc[b-htv22b9xx1] {
    color: rgba(255,255,255,.45);
    font-size: 0.72rem;
    line-height: 1.4;
}

.dob-footer[b-htv22b9xx1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08);
    flex-wrap: wrap;
}

.dob-footer-links[b-htv22b9xx1] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dob-link-btn[b-htv22b9xx1] {
    background: none;
    border: none;
    padding: 0;
    color: rgba(255,255,255,.5);
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.dob-link-btn:hover[b-htv22b9xx1] {
    color: #d4af37;
}

.dob-link-sep[b-htv22b9xx1] {
    color: rgba(255,255,255,.25);
}

.dob-confirm-btn[b-htv22b9xx1] {
    width: auto;
    margin-top: 0;
    padding: 12px 28px;
}

.dob-confirm-btn:disabled[b-htv22b9xx1] {
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.35);
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .dob-grid[b-htv22b9xx1] {
        grid-template-columns: repeat(2, 1fr);
    }

    .dob-footer[b-htv22b9xx1] {
        flex-direction: column;
        align-items: stretch;
    }

    .dob-confirm-btn[b-htv22b9xx1] {
        width: 100%;
    }
}
/* /Components/Layout/LandingLayout.razor.rz.scp.css */
.landing-layout[b-lu97pfmkqk] {
    width: 100%;
    min-height: 100vh;
    overflow-y: auto;   /* allow scrolling instead of clipping content */
    overflow-x: hidden;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
[b-hhp3g29s6a] .mud-appbar {
    background: rgba(0, 0, 0, 0.3) !important;

    /* Explicit height (not just min-height) — MudAppBar's own default
       styling can otherwise win out over a min-height rule if it sets
       an explicit height with equal-or-higher specificity later in the
       cascade, which is exactly what was silently clipping the logo. */
    height: 96px !important;
    min-height: 96px !important;
    overflow: visible;

    border-bottom: none;
    position: relative;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

/* A fading gold light-beam instead of a flat solid border — brighter
   toward the center, fading out at the edges, reading as a lot more
   premium than a plain 2px line. */
[b-hhp3g29s6a] .mud-appbar::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(212, 175, 55, 0.5) 15%,
        #f5d576 50%,
        rgba(212, 175, 55, 0.5) 85%,
        transparent
    );
}

[b-hhp3g29s6a] .mud-appbar .mud-icon-button,
[b-hhp3g29s6a] .mud-appbar .mud-typography,
[b-hhp3g29s6a] .mud-appbar .mud-icon-root {
    color: white !important;
}

/* ==========================================
   PERSISTENT CLUB / MANAGER HEADER
   Reference: onlinesoccermanager.nl's top bar —
   club identity pinned left (clickable), brand
   centered, manager identity pinned right. Built
   entirely from flexbox + text/icons rather than a
   photo, so it scales cleanly at ANY screen width
   with nothing to crop, unlike an image banner.
   ========================================== */

.esm-header-club[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    transition: background 0.15s ease;
}

.esm-header-club:hover[b-hhp3g29s6a] {
    background: rgba(212, 175, 55, 0.12);
}

.esm-header-gl-coins[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.10);
    border: 1px solid rgba(212, 175, 55, 0.3);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
}

.esm-header-gl-icon[b-hhp3g29s6a] {
    font-size: 0.9rem;
    line-height: 1;
}

.esm-header-mail[b-hhp3g29s6a] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: white;
    text-decoration: none;
    transition: background 0.15s ease;
}

.esm-header-mail:hover[b-hhp3g29s6a] {
    background: rgba(212, 175, 55, 0.12);
}

.esm-header-mail-badge[b-hhp3g29s6a] {
    position: absolute;
    top: 2px;
    right: 2px;

    min-width: 18px;
    height: 18px;
    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ff3b3b;
    border: 2px solid #0a0a0f;
    border-radius: 999px;

    font-size: 0.68rem;
    font-weight: 700;
    color: white;

    pointer-events: none;
}

/* ==========================================
   HEADER USER MENU (Profile / Manage / Logout)
   ========================================== */

/* Manager-block styling (avatar, name, hover, layout) now lives in
   UserAccountMenu.razor.css — that markup moved into its own
   component (see MainLayout.razor's <UserAccountMenu> usage), and
   Blazor's scoped CSS only reaches elements literally authored in
   the SAME .razor file, so this file's rules stopped matching the
   moment that div moved out. */

.esm-header-menu-logout-form[b-hhp3g29s6a] {
    margin: 0;
    padding: 0;
}

.esm-header-menu-logout-btn[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    width: 100%;

    border: none;
    cursor: pointer;

    padding: 8px 16px;
    font-size: 0.875rem;
    font-family: inherit;
    text-align: left;
}

/* Colors/hover/icon styling for this button live in the GLOBAL
   stylesheet, not here — MudMenu's popover renders through a portal
   that scoped CSS (even ::deep) doesn't reliably reach, since ::deep
   compiles to a scope-attribute selector that depends on real DOM
   ancestry, which portaling breaks. This file keeps only the layout
   properties that don't depend on being inside the popover. */

.esm-header-crest[b-hhp3g29s6a] {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow:
        0 0 0 2px rgba(212, 175, 55, 0.5),
        0 2px 6px rgba(0, 0, 0, 0.45);
}

.esm-header-club-info[b-hhp3g29s6a] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0; /* allows text-overflow ellipsis to actually work inside a flex child */
}

.esm-header-club-name[b-hhp3g29s6a] {
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esm-header-club-country[b-hhp3g29s6a] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
    white-space: nowrap;
}

.esm-header-brand[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    padding: 4px 18px;
}

/* A soft radial glow behind the logo lockup — subtle enough not to
   wash out neighboring content, but gives the center of the bar a
   bit of visual weight and warmth instead of sitting completely flat. */
.esm-header-brand[b-hhp3g29s6a]::before {
    content: "";
    position: absolute;
    inset: -12px -24px;
    background: radial-gradient(ellipse at center, rgba(212, 175, 55, 0.16), transparent 70%);
    z-index: -1;
    pointer-events: none;
}

.esm-header-logo[b-hhp3g29s6a] {
    height: 68px;
    width: auto;
    filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.5));
}

.esm-header-logo-fallback[b-hhp3g29s6a] {
    height: 44px;
    width: auto;
    filter: drop-shadow(0 0 6px rgba(212, 175, 55, 0.45));
}

/* Medium screens — the centered logo is the first thing to drop; the
   browser tab and sidebar already say what app this is, so club and
   manager identity earn the space more than a repeated logo. */
@media (max-width: 900px) {
    .esm-header-brand[b-hhp3g29s6a] {
        display: none;
    }
}

/* Mobile phones — the bar grows taller here to give the logo real
   room to breathe (rather than squeezing it into the same slim bar
   used everywhere else), and drops secondary text (country), shrinking
   club/manager labels — mirroring how the reference compresses down
   to mostly icons at this width. */
@media (max-width: 600px) {
    [b-hhp3g29s6a] .mud-appbar {
        height: 96px !important;
        min-height: 96px !important;
        overflow: visible;
    }

    /* The centered logo (re-shown here on an earlier pass, since it was
       the only branding visible at this width) now has to go again —
       adding the GL coins pill to this same row left no room left for
       it alongside club identity, GL coins, mail, and the account menu
       all still needing to fit on a ~360-414px screen. The drawer still
       carries the brand logo (esm-drawer-brand), so this isn't a total
       branding loss, just not repeated in the cramped app bar too. */
    .esm-header-brand[b-hhp3g29s6a] {
        display: none !important;
    }

    .esm-header-club-country[b-hhp3g29s6a] {
        display: none;
    }

    .esm-header-club-name[b-hhp3g29s6a] {
        font-size: 0.8rem;
        max-width: 90px;
    }

    .esm-header-crest[b-hhp3g29s6a] {
        width: 40px;
        height: 40px;
    }

    .esm-header-club[b-hhp3g29s6a] {
        padding: 4px 8px;
        gap: 6px;
    }

    /* Compact GL coins — the full padded/bordered pill (fine on desktop,
       where there's room to spare) was the piece that finally pushed the
       account menu off-screen on phones. Icon + number only, no pill
       chrome, so it costs the row as little width as possible. */
    .esm-header-gl-coins[b-hhp3g29s6a] {
        padding: 0;
        gap: 3px;
        background: none;
        border: none;
        font-size: 0.75rem;
    }

    .esm-header-gl-icon[b-hhp3g29s6a] {
        font-size: 0.8rem;
    }
}

/* ==========================================
   SIDEBAR / DRAWER
   ========================================== */

[b-hhp3g29s6a] .mud-drawer {
    background: #111113 !important;
    border-right: 1px solid rgba(212, 175, 55, 0.15);

    /* Matches .content's own footer-clearance value below — without
       this, the fixed .esm-footer (z-index: 1300, deliberately above
       the drawer's own layering) permanently covers whatever's last in
       a fully-expanded nav group, since the drawer itself never had any
       bottom clearance of its own, only the main page content did. */
    padding-bottom: 64px;
    box-sizing: border-box;
}

/* Backup for the theme's Background/Surface palette values above —
   guarantees true black regardless of exactly how those resolve,
   rather than trusting the palette alone to produce it everywhere.
   background-color (not just the background shorthand) + explicitly
   killing background-image, in case a decorative texture is being
   applied by a more specific rule elsewhere (a global stylesheet this
   component can't see) that only the shorthand wouldn't override.
   Deliberately NOT touching .mud-appbar here — its own gradient
   background (further up this file) is already correct; stripping
   background-image here would have deleted that gradient too. */
[b-hhp3g29s6a] .mud-main-content,
[b-hhp3g29s6a] .mud-layout {
    background-color: #0a0a0c !important;
    background-image: none !important;
}

[b-hhp3g29s6a] .mud-layout {
    min-height: 100vh;
}

.esm-drawer-brand[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 18px 20px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.15);
    margin-bottom: 8px;
}

.esm-drawer-brand-logo[b-hhp3g29s6a] {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.esm-drawer-brand-text[b-hhp3g29s6a] {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.esm-drawer-brand-line1[b-hhp3g29s6a] {
    color: white;
    font-weight: 700;
    font-size: 0.92rem;
    letter-spacing: 0.04em;
}

.esm-drawer-brand-line2[b-hhp3g29s6a] {
    color: #d4af37;
    font-weight: 800;
    font-size: 1.02rem;
    letter-spacing: 0.04em;
}

.content[b-hhp3g29s6a] {
    flex: 1;
    padding: 0;
    padding-bottom: 64px; /* clears the fixed footer below */
}

.banner-ad-slot[b-hhp3g29s6a] {
    width: 100%;
    max-width: 1700px;
    margin: 16px auto 0;
    padding: 0 20px;
    box-sizing: border-box;

    /* Reserves space before the ad actually loads in, so surrounding
       content doesn't visibly jump/reflow once it does. */
    min-height: 90px;

    /* Defensive guard — Google's responsive ad format is designed to
       size itself to fit the container's actual width, so this
       shouldn't normally trigger. But overflow:hidden here means even
       if something unexpected happened on Google's end, the ad
       visually gets clipped rather than ever being able to push the
       page wider or introduce a horizontal scrollbar. */
    overflow: hidden;
}

/* Extra safety net directly on the ad element itself — AdSense
   sometimes sets its own inline width/height styles on this tag once
   the ad loads; this ensures those can never exceed the slot's own
   width regardless. */
.banner-ad-slot ins.adsbygoogle[b-hhp3g29s6a] {
    max-width: 100% !important;
    width: 100% !important;
}

/* ==========================================
   STICKY FOOTER
   ========================================== */

.esm-footer[b-hhp3g29s6a] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1300; /* above MudDrawer/MudAppBar's own layering */

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    height: 56px;
    padding: 0 20px;

    background: #0a0a0f;
    border-top: 1px solid rgba(212, 175, 55, 0.2);

    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.6);
}

.esm-footer-brand[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.esm-footer-logo[b-hhp3g29s6a] {
    height: 32px;
    width: auto;
}

.esm-footer-studio-name[b-hhp3g29s6a] {
    color: white;
    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
}

.esm-footer-copyright[b-hhp3g29s6a] {
    flex: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esm-footer-actions[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.esm-footer-social[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: filter 0.15s ease, transform 0.15s ease;
}

.esm-footer-social:hover[b-hhp3g29s6a] {
    filter: brightness(1.2);
    transform: scale(1.08);
}

.esm-footer-social-facebook[b-hhp3g29s6a] {
    color: #1877F2;
}

.esm-footer-social-instagram[b-hhp3g29s6a] {
    filter: brightness(1.35) saturate(1.15);
}

.esm-footer-social-instagram:hover[b-hhp3g29s6a] {
    filter: brightness(1.55) saturate(1.15);
}

.esm-footer-social-discord[b-hhp3g29s6a] {
    color: #5865F2;
}

.esm-footer-social-reddit[b-hhp3g29s6a] {
    color: #FF4500;
}

.esm-footer-store-badge[b-hhp3g29s6a] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
}

/* Mobile — the three sections stack awkwardly at this width otherwise;
   drop the copyright line (it's the least essential piece) and shrink
   what's left rather than letting things wrap and collide. */
@media (max-width: 700px) {
    .esm-footer[b-hhp3g29s6a] {
        height: 48px;
        padding: 0 12px;
        gap: 10px;
    }

    .esm-footer-copyright[b-hhp3g29s6a] {
        display: none;
    }

    .esm-footer-studio-name[b-hhp3g29s6a] {
        display: none;
    }

    .esm-footer-store-badge span[b-hhp3g29s6a],
    .esm-footer-store-badge[b-hhp3g29s6a] {
        font-size: 0.68rem;
    }

    .content[b-hhp3g29s6a] {
        padding-bottom: 56px;
    }

    [b-hhp3g29s6a] .mud-drawer {
        padding-bottom: 56px;
    }
}

#blazor-error-ui[b-hhp3g29s6a] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-hhp3g29s6a] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
[b-unpkahvbqh] .mud-nav-link,
[b-unpkahvbqh] .mud-nav-group .mud-nav-link,
[b-unpkahvbqh] .mud-nav-group-title {
    color: white;
}

[b-unpkahvbqh] .mud-icon-root {
    color: white;
}

/* =========================
   GOLD ACTIVE STATE
   ========================= */
/* MudBlazor's exact "active" class name has shifted across versions —
   targeting both known candidates (mud-selected, and the raw Blazor
   NavLink default "active" MudNavLink may forward) so this works
   regardless of which one 9.6.0 actually applies. If NEITHER of these
   is landing when you check devtools, the real class name is
   something else entirely and this whole block needs the correct
   selector swapped in — tell me what you see and it's a one-line fix. */

[b-unpkahvbqh] .mud-nav-link.mud-selected,
[b-unpkahvbqh] .mud-nav-link.active {
    background: linear-gradient(135deg, #d4af37, #f0cf6b);
    border-radius: 10px;

    color: #1a1a1a !important;
    font-weight: 700;
}

[b-unpkahvbqh] .mud-nav-link.mud-selected:not(.mud-nav-group-title) .mud-icon-root,
[b-unpkahvbqh] .mud-nav-link.active:not(.mud-nav-group-title) .mud-icon-root {
    color: #1a1a1a !important;
}

/* The group title (e.g. "League" with its expand arrow) can apparently
   pick up the same .mud-selected/.active class MudBlazor uses for
   "you're on this page" — WHEN EXPANDED, not when collapsed. Without
   this, the :not() above only prevents the black background/text on
   the title itself; the arrow icon nested inside it still inherited
   black from the broader rule and disappeared against the dark
   background the moment a group was opened, while a collapsed group
   (no .mud-selected) kept the default white icon and stayed visible.
   That's exactly the "arrow vanishes when maximized" bug. */
[b-unpkahvbqh] .mud-nav-group-title .mud-icon-root {
    color: white !important;
    opacity: 1 !important;
}

/* Broader net in case the dimming turns out to be applied to some
   wrapper around the icon rather than the icon element itself — forcing
   full opacity on the whole title row (text included) is harmless
   either way, since we want everything in it fully visible regardless. */
[b-unpkahvbqh] .mud-nav-group-title,
[b-unpkahvbqh] .mud-nav-group-title * {
    opacity: 1 !important;
}

[b-unpkahvbqh] .mud-nav-link:not(.mud-selected):not(.active):hover {
    background: rgba(212, 175, 55, .1);
    border-radius: 10px;
}

[b-unpkahvbqh] .mud-nav-link {
    margin: 2px 8px;
    padding: 8px 12px;
    transition: background .15s ease, color .15s ease;
}

/* =========================
   GROUP TITLES + DIVIDERS
   ========================= */

[b-unpkahvbqh] .mud-nav-group-title {
    font-weight: 600;
    letter-spacing: .02em;
    margin: 2px 8px;
    border-radius: 10px;
}

[b-unpkahvbqh] .mud-nav-group-title:hover {
    background: rgba(212, 175, 55, .1);
}

[b-unpkahvbqh] .mud-divider {
    border-color: rgba(212, 175, 55, .18) !important;
}
/* /Components/Layout/NavMenu_old.razor.rz.scp.css */
.navbar-toggler[b-92u8eqggbf] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-92u8eqggbf] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-92u8eqggbf] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-92u8eqggbf] {
    font-size: 1.1rem;
}

.bi[b-92u8eqggbf] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.nav-item[b-92u8eqggbf] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

.nav-item:first-of-type[b-92u8eqggbf] {
    padding-top: 1rem;
}

.nav-item:last-of-type[b-92u8eqggbf] {
    padding-bottom: 1rem;
}

.nav-item[b-92u8eqggbf]  .nav-link {
    color: #d7d7d7;
    background: none;
    border: none;
    border-radius: 4px;
    height: 3rem;
    display: flex;
    align-items: center;
    line-height: 3rem;
    width: 100%;
    box-sizing: border-box;
}

.nav-item[b-92u8eqggbf]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-92u8eqggbf]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

/* Mobile */

.nav-scrollable[b-92u8eqggbf] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-92u8eqggbf] {
    display: block;
}

/* League submenu */

.submenu-link[b-92u8eqggbf] {
    padding-left: 3rem !important;
    font-size: 0.95rem;
}

/* Desktop */

@media (min-width: 641px) {

    .navbar-toggler[b-92u8eqggbf] {
        display: none;
    }

    .nav-scrollable[b-92u8eqggbf] {
        display: block;
        height: auto;
        overflow: visible;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-8df8napycs],
.components-reconnect-repeated-attempt-visible[b-8df8napycs],
.components-reconnect-failed-visible[b-8df8napycs],
.components-pause-visible[b-8df8napycs],
.components-resume-failed-visible[b-8df8napycs],
.components-rejoining-animation[b-8df8napycs] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-8df8napycs],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-8df8napycs],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-8df8napycs],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-8df8napycs],
#components-reconnect-modal.components-reconnect-retrying[b-8df8napycs],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-8df8napycs],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-8df8napycs],
#components-reconnect-modal.components-reconnect-failed[b-8df8napycs],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-8df8napycs] {
    display: block;
}


#components-reconnect-modal[b-8df8napycs] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-8df8napycs 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-8df8napycs 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-8df8napycs 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-8df8napycs]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-8df8napycs 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-8df8napycs {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-8df8napycs {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-8df8napycs {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-8df8napycs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-8df8napycs] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-8df8napycs] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-8df8napycs] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-8df8napycs] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-8df8napycs] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-8df8napycs] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-8df8napycs 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-8df8napycs] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-8df8napycs {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/UserAccountMenu.razor.rz.scp.css */
/* Mirrors the club block's look (see MainLayout.razor.css's
   .esm-header-club rules) but reversed — avatar sits on the outer
   (right) edge, name text runs toward the center — and lives here,
   in its own scoped file, because this markup is now authored in its
   own component (UserAccountMenu.razor) rather than directly inside
   MainLayout.razor. Blazor's CSS isolation only reaches elements
   literally declared in the SAME .razor file, so these rules have to
   travel with the component that owns the markup. */

.esm-header-manager[b-gc38zm4f84] {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 10px;

    padding: 6px 12px;
    border-radius: 8px;

    cursor: pointer;
    transition: background 0.15s ease;
}

.esm-header-manager:hover[b-gc38zm4f84] {
    background: rgba(212, 175, 55, 0.12);
}

.esm-header-manager-avatar[b-gc38zm4f84] {
    width: 52px;
    height: 52px;
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;

    background: rgba(212, 175, 55, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.45);
    color: #d4af37;

    box-shadow:
        0 0 0 2px rgba(212, 175, 55, 0.5),
        0 2px 6px rgba(0, 0, 0, 0.45);
}

/* Was a hardcoded inline style (height:68px) — moved here so it can
   actually be shrunk on mobile below. That inline style had no mobile
   sizing at all, unlike the plain avatar above it, which is exactly
   why a VIP account's account menu was still getting pushed off-screen
   on phones even after the GL coins/logo fixes. */
.esm-header-vip-badge[b-gc38zm4f84] {
    height: 68px;
    width: auto;
    flex: 0 0 auto;
}

.esm-header-manager-name[b-gc38zm4f84] {
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.esm-header-menu-logout-form[b-gc38zm4f84] {
    margin: 0;
    padding: 0;
}

.esm-header-menu-logout-btn[b-gc38zm4f84] {
    display: flex;
    align-items: center;
    width: 100%;

    border: none;
    cursor: pointer;

    padding: 8px 16px;
    font-size: 0.875rem;
    font-family: inherit;
    text-align: left;
}

/* Colors/hover/icon styling for MudMenuItem rows and this logout
   button both live in the GLOBAL stylesheet, not here — MudMenu's
   popover renders through a portal that scoped CSS (even ::deep)
   doesn't reliably reach, since ::deep compiles to a scope-attribute
   selector that depends on real DOM ancestry, which portaling
   breaks. This file keeps only the layout properties that don't
   depend on being inside the popover. */

@media (max-width: 600px) {
    .esm-header-manager-name[b-gc38zm4f84] {
        font-size: 0.8rem;
        max-width: 90px;
    }

    .esm-header-manager-avatar[b-gc38zm4f84] {
        width: 40px;
        height: 40px;
    }

    /* Same 40px footprint as the plain avatar above, for a consistent
       size regardless of VIP status — the 68px desktop size left
       nowhere near enough room for the manager name next to it. */
    .esm-header-vip-badge[b-gc38zm4f84] {
        height: 40px;
    }

    .esm-header-manager[b-gc38zm4f84] {
        padding: 4px 8px;
        gap: 6px;
    }
}
/* /Components/Pages/About.razor.rz.scp.css */
/* Scoped styling for /about.
   Layout classes come from the global wwwroot/css/design-system.css;
   this only adds what a long-form article needs. */

.abt-logo[b-785h05hrng] {
    height: 48px;
    width: auto;
}

.abt-article[b-785h05hrng] {
    max-width: 72ch;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1rem;
}

.abt-lede[b-785h05hrng] {
    margin-bottom: 2.5rem;
}

.abt-article h2[b-785h05hrng] {
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.abt-cta[b-785h05hrng] {
    margin-top: 3rem;
}

/* See the matching note in HowToPlay.razor.css. */
.esm-landing-footer[b-785h05hrng] {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 640px) {
    .abt-article[b-785h05hrng] {
        padding: 1.75rem 1rem 1rem;
    }

    .abt-article h2[b-785h05hrng] {
        margin-top: 2rem;
    }
}
/* /Components/Pages/Admin/ManageGrants.razor.rz.scp.css */
.manage-grants-page[b-05994yadow] {
    padding: 10px 0 30px;
}

.manage-grants-intro[b-05994yadow] {
    margin-bottom: 18px;
}

.manage-grants-search[b-05994yadow] {
    max-width: 400px;
}

.manage-grants-count[b-05994yadow] {
    margin: 6px 0 16px;
    font-size: .85rem;
    color: rgba(255, 255, 255, .6);
}

.manage-grants-table[b-05994yadow] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.manage-grants-row[b-05994yadow] {
    display: grid;
    grid-template-columns: 1.1fr 1.5fr 1fr 1fr 1.4fr;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    font-size: .88rem;
}

.manage-grants-header[b-05994yadow] {
    background: transparent;
    border: none;
    font-weight: 700;
    color: rgba(255, 255, 255, .5);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 0 14px;
}

.manage-grants-email[b-05994yadow] {
    color: rgba(255, 255, 255, .7);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.manage-grants-vip-cell[b-05994yadow],
.manage-grants-gl-cell[b-05994yadow] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.manage-grants-badge[b-05994yadow] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .6);
    flex-shrink: 0;
}

.manage-grants-badge-active[b-05994yadow] {
    background: rgba(212, 175, 55, .18);
    color: #d4af37;
}

.manage-grants-gl-balance[b-05994yadow] {
    color: #d4af37;
    flex-shrink: 0;
    white-space: nowrap;
}

.manage-grants-gl-amount-input[b-05994yadow] {
    width: 70px;
    padding: 6px 10px;
    font-size: .82rem;
    flex-shrink: 0;
}

.manage-grants-toggle-btn[b-05994yadow] {
    width: auto;
    margin-top: 0;
    padding: 6px 14px;
    font-size: .8rem;
    flex-shrink: 0;
}

.manage-grants-revoke[b-05994yadow] {
    border-color: rgba(244, 67, 54, .4) !important;
    color: #ff8a80 !important;
}

.manage-grants-revoke:hover[b-05994yadow] {
    background: rgba(244, 67, 54, .12) !important;
}

.manage-grants-empty[b-05994yadow] {
    text-align: center;
    padding: 20px;
}

@media (max-width: 900px) {
    .manage-grants-row[b-05994yadow] {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "name vip"
            "email team"
            "gl gl";
        row-gap: 8px;
    }

    .manage-grants-row > span:nth-child(1)[b-05994yadow] { grid-area: name; }
    .manage-grants-row > span:nth-child(2)[b-05994yadow] { grid-area: email; }
    .manage-grants-row > span:nth-child(3)[b-05994yadow] { grid-area: team; }
    .manage-grants-vip-cell[b-05994yadow] { grid-area: vip; justify-content: flex-end; }
    .manage-grants-gl-cell[b-05994yadow] { grid-area: gl; }

    .manage-grants-header[b-05994yadow] {
        display: none;
    }
}
/* /Components/Pages/Awards.razor.rz.scp.css */
.awards-page[b-9bcr9oocvs] {
    padding-bottom: 40px;
}

.awards-title[b-9bcr9oocvs] {
    text-align: center;
    margin-bottom: 6px;
}

.awards-season-note[b-9bcr9oocvs] {
    text-align: center;
    margin-bottom: 24px;
}

.awards-tabs[b-9bcr9oocvs] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 8px;
}

.awards-tab[b-9bcr9oocvs] {
    padding: 10px 18px;
    border-radius: 8px;
    border: 1px solid rgba(212, 175, 55, 0.35);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.75);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: 0.15s;
}

.awards-tab:hover[b-9bcr9oocvs] {
    background: rgba(212, 175, 55, 0.1);
    color: #fff;
}

.awards-tab.active[b-9bcr9oocvs] {
    background: linear-gradient(135deg, #f6e6a8, #d4af37);
    color: #14161c;
    border-color: #d4af37;
}

.award-section[b-9bcr9oocvs] {
    margin-top: 20px;
}

.award-hero[b-9bcr9oocvs] {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 28px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
}

.award-trophy[b-9bcr9oocvs] {
    width: 130px;
    height: 130px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 12px;
}

.award-hero-text[b-9bcr9oocvs] {
    flex: 1;
}

.award-hero-title[b-9bcr9oocvs] {
    color: #d4af37;
    font-size: 1.4rem;
    font-weight: 800;
    margin: 0 0 8px;
    text-shadow: 0 0 12px rgba(212, 175, 55, 0.3);
}

.award-history-title[b-9bcr9oocvs] {
    text-align: center;
    margin-bottom: 20px;
}

.award-hero-desc[b-9bcr9oocvs] {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.85rem;
    line-height: 1.6;
    margin: 0;
    max-width: 600px;
}

/* ================================
   AWARD STANDINGS TABLE — PREMIUM OVERRIDE
   Overrides the dim/muted default text color that .squad-table
   applies elsewhere in the app — award rankings need to stay legible
   at every position, not just the very top, since who's chasing the
   leader (and by how much) is still meaningful context for 2nd-15th.
   Scoped specifically to .award-standings-table so nothing here leaks
   into other pages that also use .squad-table.
================================ */

.award-standings-scroll[b-9bcr9oocvs] {
    overflow-x: auto;
}

.award-standings-table[b-9bcr9oocvs] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.02);
}

.award-standings-table th[b-9bcr9oocvs] {
    background: rgba(212, 175, 55, 0.12);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.award-standings-table td[b-9bcr9oocvs] {
    /* Explicit, solid, high-contrast color — this is the actual fix.
       Without it, every row inherits .squad-table's much dimmer
       default, which is what made 2nd place onward nearly unreadable. */
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 500;
    padding: 13px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.92rem;
}

.award-standings-table tbody tr:last-child td[b-9bcr9oocvs] {
    border-bottom: none;
}

.award-standings-table tbody tr:nth-child(even) td[b-9bcr9oocvs] {
    background: rgba(255, 255, 255, 0.02);
}

.award-standings-table tbody tr:hover td[b-9bcr9oocvs] {
    background: rgba(212, 175, 55, 0.07);
    color: #fff !important;
}

.award-standings-table a[b-9bcr9oocvs] {
    color: inherit;
    text-decoration: none;
}

.award-standings-table a:hover[b-9bcr9oocvs] {
    color: #d4af37;
    text-decoration: underline;
}

.award-standings-table strong[b-9bcr9oocvs] {
    color: #ffd54f;
    font-weight: 800;
}

/* Rank badge — a small circular number instead of plain text, with
   medal coloring for the top 3 specifically. */
.award-standings-table td:first-child[b-9bcr9oocvs] {
    width: 44px;
}

.award-rank-badge[b-9bcr9oocvs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.65);
}

.award-rank-1 .award-rank-badge[b-9bcr9oocvs] {
    background: linear-gradient(135deg, #fff3c4, #d4af37);
    color: #1a1a1a;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
}

.award-rank-2 .award-rank-badge[b-9bcr9oocvs] {
    background: linear-gradient(135deg, #f0f0f0, #b0b0b0);
    color: #1a1a1a;
    box-shadow: 0 0 8px rgba(200, 200, 200, 0.45);
}

.award-rank-3 .award-rank-badge[b-9bcr9oocvs] {
    background: linear-gradient(135deg, #e3a877, #b06a34);
    color: #1a1a1a;
    box-shadow: 0 0 8px rgba(176, 106, 52, 0.45);
}

/* Podium rows get a subtle tinted background + left accent stripe
   beyond just the badge — extends real visual distinction to 2nd/3rd
   too, not just 1st like the old design did. */
.award-rank-1 td[b-9bcr9oocvs] {
    background: rgba(212, 175, 55, 0.09) !important;
}

.award-rank-2 td[b-9bcr9oocvs] {
    background: rgba(200, 200, 200, 0.06) !important;
}

.award-rank-3 td[b-9bcr9oocvs] {
    background: rgba(205, 127, 50, 0.07) !important;
}

.award-rank-1 td:first-child[b-9bcr9oocvs] {
    border-left: 3px solid #d4af37;
}

.award-rank-2 td:first-child[b-9bcr9oocvs] {
    border-left: 3px solid #b0b0b0;
}

.award-rank-3 td:first-child[b-9bcr9oocvs] {
    border-left: 3px solid #b06a34;
}

@media (max-width: 700px) {
    .award-hero[b-9bcr9oocvs] {
        flex-direction: column;
        text-align: center;
    }

    .award-trophy[b-9bcr9oocvs] {
        width: 100px;
        height: 100px;
    }

    .awards-tab[b-9bcr9oocvs] {
        flex: 1;
        min-width: 130px;
        font-size: 0.75rem;
        padding: 8px 10px;
    }
}
/* /Components/Pages/CheckEmail.razor.rz.scp.css */
/* This page uses design-system.css's confirmed-GLOBAL .esm-panel /
   .esm-title / .esm-help-text / .esm-button-primary classes (the same
   ones used successfully across Squad Numbers, Pending Youth Prospects,
   etc. all session) rather than RegisterCard's .register-form/.subtitle
   classes — those turned out to be Blazor CSS-isolated (scoped to
   RegisterCard's own render tree), which is exactly why reusing them
   here produced unstyled black-on-black text with no card/background
   at all. Only the handful of things genuinely specific to this page
   live here. */

.check-email-page[b-vswejm91rv] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.check-email-card[b-vswejm91rv] {
    text-align: center;
}

.check-email-icon[b-vswejm91rv] {
    font-size: 3rem;
    margin-bottom: 4px;
}

.check-email-alpha-note[b-vswejm91rv] {
    margin-top: 18px;
    color: rgba(255, 255, 255, .5);
    font-size: .82rem;
    line-height: 1.5;
}

/* .esm-button-primary was designed for a real <button> (inline-block by
   default, so width:100% already works) — a plain <a> defaults to
   `display: inline`, which ignores width entirely. These three lines
   are what make it actually render full-width and centered like the
   button version does, rather than just being a small inline link. */
.check-email-back-link[b-vswejm91rv] {
    display: block;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
}
/* /Components/Pages/ClaimClub.razor.rz.scp.css */
.claim-layout[b-anrcy0c3ho] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
    align-items: start;
}

@media (max-width: 900px) {
    .claim-layout[b-anrcy0c3ho] {
        grid-template-columns: 1fr;
    }
}

/* ---------- Side panel (country/division selector) ---------- */

.claim-panel[b-anrcy0c3ho] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    backdrop-filter: blur(12px);
    padding: 28px;
    min-height: 220px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.claim-panel-empty[b-anrcy0c3ho] {
    text-align: center;
    padding: 24px 8px;
    color: rgba(255, 255, 255, 0.55);
}

.claim-panel-empty-icon[b-anrcy0c3ho] {
    font-size: 2rem;
    margin-bottom: 8px;
}

.claim-panel-empty h3[b-anrcy0c3ho] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 6px 0;
    font-size: 1.2rem;
}

.claim-panel-empty p[b-anrcy0c3ho] {
    margin: 0;
    font-size: 0.9rem;
}

.claim-panel-header[b-anrcy0c3ho] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.claim-panel-flag[b-anrcy0c3ho] {
    font-size: 1.4rem;
    display: inline-flex;
}

.claim-panel-country[b-anrcy0c3ho] {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
}

.claim-division-list[b-anrcy0c3ho] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.claim-division-btn[b-anrcy0c3ho] {
    display: block;
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 14px 16px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.claim-division-btn:hover[b-anrcy0c3ho] {
    background: rgba(64, 156, 255, 0.12);
    border-color: rgba(64, 156, 255, 0.4);
    color: #fff;
}

/* ---------- Popup ---------- */

.claim-popup-overlay[b-anrcy0c3ho] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 24px;
}

.claim-popup[b-anrcy0c3ho] {
    background: #14161c;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    padding: 28px;
    max-width: 900px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.claim-popup-header[b-anrcy0c3ho] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.claim-popup-header h3[b-anrcy0c3ho] {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.3rem;
}

.claim-popup-close[b-anrcy0c3ho] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.7);
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.15s ease;
}

.claim-popup-close:hover[b-anrcy0c3ho] {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.claim-club-grid[b-anrcy0c3ho] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
/* /Components/Pages/ClubCrest.razor.rz.scp.css */
.cc-layout[b-aq3psnayfa] {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
    align-items: start;
}

@media (max-width: 800px) {
    .cc-layout[b-aq3psnayfa] {
        grid-template-columns: 1fr;
    }
}

/* ---------- Preview column ---------- */

.cc-preview-col[b-aq3psnayfa] {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 24px;
}

.cc-preview-box[b-aq3psnayfa] {
    width: 160px;
    height: 160px;
    padding: 40px;
    box-sizing: border-box;
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.4));
}

.cc-color-pickers[b-aq3psnayfa] {
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: center;
}

.cc-color-label[b-aq3psnayfa] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.65);
}

.cc-color-label input[type="color"][b-aq3psnayfa] {
    width: 48px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

.cc-save-btn[b-aq3psnayfa] {
    width: 100%;
    background: linear-gradient(135deg, #d4af37, #b8952c);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 12px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
}

.cc-save-btn:disabled[b-aq3psnayfa] {
    opacity: 0.6;
    cursor: not-allowed;
}

.cc-saved-message[b-aq3psnayfa] {
    color: #4caf50;
    font-weight: 600;
    font-size: 0.85rem;
}

/* ---------- Gallery column ---------- */

.cc-emblem-heading[b-aq3psnayfa] {
    margin-top: 28px;
}

.cc-gallery-grid[b-aq3psnayfa] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 16px;
}

.cc-gallery-item[b-aq3psnayfa] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.cc-gallery-item:hover[b-aq3psnayfa] {
    border-color: rgba(212, 175, 55, 0.4);
    background: rgba(212, 175, 55, 0.05);
}

.cc-gallery-item-selected[b-aq3psnayfa] {
    border-color: #d4af37;
    box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.4), 0 0 16px rgba(212, 175, 55, 0.25);
    background: rgba(212, 175, 55, 0.08);
}

.cc-gallery-crest[b-aq3psnayfa] {
    width: 64px;
    height: 64px;
    padding: 16px;
    box-sizing: border-box;
}

.cc-gallery-name[b-aq3psnayfa] {
    font-size: 0.72rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
}
/* /Components/Pages/ClubFacilities.razor.rz.scp.css */

.facility-grid[b-g5x1uekdna] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 24px;
    margin-top: 30px;
}

.facility-card[b-g5x1uekdna] {
    background: #1c1f24;
    border: 1px solid #333;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 18px rgba(0,0,0,.35);
    transition: .2s;
}

.facility-card:hover[b-g5x1uekdna] {
    transform: translateY(-4px);
    border-color: #4caf50;
}

.facility-image[b-g5x1uekdna] {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
}

.facility-content[b-g5x1uekdna] {
    padding: 18px;
}

.facility-content h3[b-g5x1uekdna] {
    margin: 0;
    color: white;
    font-size: 1.35rem;
    font-weight: 700;
}

.facility-level[b-g5x1uekdna] {
    color: #7ad67a;
    font-weight: bold;
    margin-top: 6px;
    margin-bottom: 18px;
}

.facility-row[b-g5x1uekdna] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.facility-row span[b-g5x1uekdna] {
    color: #bdbdbd;
}

.facility-row strong[b-g5x1uekdna] {
    color: white;
}

.facility-content button[b-g5x1uekdna] {
    margin-top: 20px;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 900px) {

    /* .facility-grid's minmax(340px, 1fr) is wider than most phone
       viewports once esm-panel-wide's padding is subtracted, which
       forces a track wider than the container and pushes the whole
       page into horizontal scroll — force a single column instead. */
    .esm-panel-wide[b-g5x1uekdna] {
        padding: 16px;
    }

    .esm-title[b-g5x1uekdna] {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .esm-card[b-g5x1uekdna] {
        padding: 16px;
    }

    .facility-grid[b-g5x1uekdna] {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
    }

    .facility-image[b-g5x1uekdna] {
        height: 150px;
    }

    .facility-content[b-g5x1uekdna] {
        padding: 14px;
    }

    .facility-content h3[b-g5x1uekdna] {
        font-size: 1.1rem;
    }

    .facility-level[b-g5x1uekdna] {
        margin-bottom: 12px;
    }

    .facility-row[b-g5x1uekdna] {
        padding: 6px 0;
        font-size: .88rem;
    }
}
/* /Components/Pages/ClubSettings.razor.rz.scp.css */
.club-settings-page[b-cah6ydzumm] {
    max-width: 700px;
    margin: 0 auto;
    padding: 35px;
}

.club-settings-balance[b-cah6ydzumm] {
    text-align: center;
    margin: -10px 0 25px;
}

.club-settings-logo-preview[b-cah6ydzumm] {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}

.club-settings-logo-preview img[b-cah6ydzumm] {
    width: 128px;
    height: 128px;
    object-fit: contain;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}

.club-settings-section[b-cah6ydzumm] {
    margin-bottom: 20px;
    padding: 25px;
}

.club-settings-form-row[b-cah6ydzumm] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.club-settings-input[b-cah6ydzumm] {
    flex: 1 1 260px;
}

.club-settings-logo-btn[b-cah6ydzumm] {
    display: block;
    margin-top: 14px;
}

.club-settings-error[b-cah6ydzumm] {
    color: #e05353;
    margin-top: 10px;
}

.club-settings-success[b-cah6ydzumm] {
    color: #4caf50;
    font-weight: 600;
    margin-top: 10px;
}

.club-settings-kit-layout[b-cah6ydzumm] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 16px;
}

.club-settings-kit-preview[b-cah6ydzumm] {
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 10px;
}

.club-settings-kit-controls[b-cah6ydzumm] {
    flex: 1 1 280px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.club-settings-kit-colors[b-cah6ydzumm] {
    display: flex;
    gap: 20px;
}

.club-settings-kit-color-label[b-cah6ydzumm] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.65);
}

.club-settings-kit-color-label input[type="color"][b-cah6ydzumm] {
    width: 48px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
}

.club-settings-kit-patterns[b-cah6ydzumm] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.club-settings-kit-pattern-item[b-cah6ydzumm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.65);
    text-transform: capitalize;
}

.club-settings-kit-pattern-item:hover[b-cah6ydzumm] {
    background: rgba(255, 255, 255, 0.05);
}

.club-settings-kit-pattern-selected[b-cah6ydzumm] {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.1);
    color: #fff;
}

.club-settings-kit-pattern-swatch[b-cah6ydzumm] {
    width: 52px;
    height: 52px;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.home-container[b-db8g1t664p] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px;
}

.home-dashboard[b-db8g1t664p] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    width: 100%;
    margin: 30px auto;
}

.home-dashboard .esm-dashboard-tile[b-db8g1t664p] {
    padding: clamp(14px, 2vw, 22px) clamp(8px, 1.5vw, 16px);
    min-height: 110px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-dashboard .esm-dashboard-title[b-db8g1t664p] {
    font-size: clamp(0.8rem, 1.8vw, 1rem);
    margin-bottom: 8px;
    line-height: 1.2;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.home-dashboard .esm-dashboard-value[b-db8g1t664p] {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
}

.home-dashboard .esm-help-text[b-db8g1t664p] {
    font-size: clamp(0.65rem, 1.5vw, 0.8rem);
    line-height: 1.2;
}

.home-dashboard .club-link[b-db8g1t664p] {
    font-size: clamp(0.7rem, 1.6vw, 0.9rem);
    margin: 4px 0;
}

.club-link[b-db8g1t664p] {
    display: block;
    color: #d4af37;
    text-decoration: none;
    margin: 12px 0;
    font-weight: bold;
}

.club-link:hover[b-db8g1t664p] {
    text-decoration: underline;
}

.fixtures-title[b-db8g1t664p] {
    text-align: center;
    color: white;
    letter-spacing: .25rem;
    text-transform: uppercase;
    margin: 50px 0 35px;
    font-size: clamp(1rem, 3vw, 1.3rem);
}

.matchday-label[b-db8g1t664p] {
    color: #d4af37;
    font-size: .85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08rem;
    text-align: center;
    margin-bottom: 12px;
}

.dashboard-link[b-db8g1t664p] {
    display: block;
    text-decoration: none;
    color: inherit;
}

.esm-dashboard-tile[b-db8g1t664p] {
    transition: all .2s ease;
}

.esm-dashboard-tile:hover[b-db8g1t664p] {
    transform: translateY(-2px);
}

.dashboard-alert[b-db8g1t664p] {
    border: 1px solid rgba(212,175,55,.6);
    box-shadow:
        0 0 15px rgba(212,175,55,.35),
        0 0 35px rgba(212,175,55,.15);
}

.watch-link[b-db8g1t664p] {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(255,26,26,.12);
    border: 1px solid rgba(255,26,26,.45);
    color: #ff1a1a;
    font-size: 0.7rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.watch-link:hover[b-db8g1t664p] {
    background: rgba(255,26,26,.25);
}

/* Tablet */
@media (max-width: 768px) {
    .home-container[b-db8g1t664p] {
        padding: 24px;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .home-container[b-db8g1t664p] {
        padding: 12px;
    }

    .home-dashboard[b-db8g1t664p] {
        margin: 16px auto;
        gap: 6px;
    }

    .home-dashboard .esm-dashboard-tile[b-db8g1t664p] {
        min-height: 80px;
    }

    .fixtures-title[b-db8g1t664p] {
        margin: 30px 0 20px;
    }

    .match-line[b-db8g1t664p] {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .watch-link[b-db8g1t664p] {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}
/* /Components/Pages/DashboardV2.razor.rz.scp.css */
/* The rules below marked ::deep are shared "card/table/etc." styling that
   now needs to reach into the widget components under
   Components/Dashboard/ (LeagueTableWidget, PreviousMatchWidget, etc.).
   Blazor's CSS isolation only auto-scopes elements a component renders
   directly — it does NOT cascade into child components' own markup — so
   without ::deep these rules would silently stop matching once the card
   markup moved out of this file's component. */

[b-s4yp4aoedn] .dv2-help-text {
    color: rgba(255,255,255,.5);
    font-size: 0.9rem;
}

[b-s4yp4aoedn] .dv2-card-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease;
}

[b-s4yp4aoedn] .dv2-card-link:hover {
    transform: translateY(-2px);
}

[b-s4yp4aoedn] .dv2-card-link:hover .dv2-card {
    border-color: rgba(212,175,55,.35);
}

[b-s4yp4aoedn] .dv2-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;

    background:
        radial-gradient(140% 120% at 15% -10%, rgba(212,175,55,.09), transparent 55%),
        rgba(10,10,12,.88);
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 12px;
    padding: 20px;

    box-shadow:
        0 0 0 1px rgba(212,175,55,.05),
        0 0 22px rgba(212,175,55,.08);
}

[b-s4yp4aoedn] .dv2-card-title {
    color: white;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 16px;
    flex-shrink: 0;
}

[b-s4yp4aoedn] .dv2-nt-flag {
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid rgba(255,255,255,.2);
    vertical-align: -2px;
    margin-right: 6px;
}

/* Corner ribbon on every national-team card, on the dashboard itself —
   not just in the "Customize Dashboard" picker (see .dv2-hidden-tray-badge,
   same visual language deliberately). Several of these cards (Previous
   Match, Next Match, Unavailable Players) would otherwise look
   indistinguishable from an ordinary club card once actually on the
   grid — a manager glancing at their dashboard has no other cue that a
   given card is national-team-specific. .dv2-card already has
   position: relative + overflow: hidden, so this sits cleanly in the
   corner without any extra wrapper. */
[b-s4yp4aoedn] .dv2-nt-badge {
    position: absolute;
    top: 15px;
    right: 12px;
    padding: 1px 6px;
    border-radius: 999px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-size: 0.56rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

/* Being position: absolute, the badge takes no space in normal flow, so
   a title long enough to reach the corner (or a card resized narrower
   by the user, via the width handle every widget has in edit mode)
   would otherwise render underneath it. Reserves room instead — targets
   only the title immediately after a badge, i.e. every national-team
   card, since that's the markup order all 5 of them use. */
[b-s4yp4aoedn] .dv2-nt-badge + .dv2-card-title {
    padding-right: 58px;
}

[b-s4yp4aoedn] .dv2-nt-ranking {
    margin-top: auto;
    padding-top: 8px;
}

[b-s4yp4aoedn] .dv2-card-subtitle {
    color: rgba(255,255,255,.4);
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.75rem;
}

/* =========================
   SHARED STAT-STYLE TEXT
   (still used inside SquadOverviewWidget/FinancesOverviewWidget —
   the fixed top stat-card row itself was removed; Bank Balance became
   a widget instead, see .dv2-balance-* below)
   ========================= */

[b-s4yp4aoedn] .dv2-stat-label {
    color: rgba(255,255,255,.5);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

[b-s4yp4aoedn] .dv2-stat-value-small {
    font-size: 1.15rem;
    font-weight: 700;
    color: white;
}

/* =========================
   BANK BALANCE WIDGET
   ========================= */

[b-s4yp4aoedn] .dv2-balance-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

[b-s4yp4aoedn] .dv2-balance-icon {
    font-size: 1.6rem;
}

[b-s4yp4aoedn] .dv2-balance-value {
    font-size: 1.7rem;
    font-weight: 800;
    color: #d4af37;
}

[b-s4yp4aoedn] .dv2-balance-sub {
    color: rgba(255,255,255,.5);
    font-size: 0.8rem;
}

/* =========================
   WIDGET GRID (customizable)
   ========================= */

.dv2-widget-toolbar[b-s4yp4aoedn] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.dv2-customize-btn[b-s4yp4aoedn] {
    background: rgba(212,175,55,.12);
    color: #d4af37;
    border: 1px solid rgba(212,175,55,.4);
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
}

.dv2-customize-btn:hover[b-s4yp4aoedn] {
    background: rgba(212,175,55,.2);
}

.dv2-widget-grid[b-s4yp4aoedn] {
    display: grid;
    /* Halved from 300px (and MinColumnSpan/MaxColumnSpan doubled to
       2-6 in DashboardWidgetCatalog) so each resize step is half the
       width jump it used to be, while the smallest (2 cols) and
       largest (6 cols) card sizes stay exactly the same as before. */
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
    /* stretch (grid's default) makes every card in a row match the row's
       tallest card, so bottoms line up cleanly — the explicitly chosen
       tradeoff over independent per-card sizing (align-items: start),
       which left short/empty cards visually floating above a large gap
       next to a taller neighbor. The consequence: dragging one card's
       resize handle taller also visually grows its row-mates, since
       they're stretched to match. */
    align-items: stretch;
}

.dv2-widget[b-s4yp4aoedn] {
    position: relative;
    display: flex;
    flex-direction: column;
}

.dv2-widget-span-2[b-s4yp4aoedn] {
    grid-column: span 2;
}

.dv2-widget-span-3[b-s4yp4aoedn] {
    grid-column: span 3;
}

.dv2-widget-span-4[b-s4yp4aoedn] {
    grid-column: span 4;
}

.dv2-widget-span-5[b-s4yp4aoedn] {
    grid-column: span 5;
}

.dv2-widget-span-6[b-s4yp4aoedn] {
    grid-column: span 6;
}

/* Tier 1 (RowSpan omitted/1) is natural content height — no rule needed.
   Tiers 2-5 replace the old 2-tier 420px/600px jump with 4 smaller steps
   over the same overall range, matching heightPxForSpan in
   dashboardResize.js. Old span 2 (420px) and span 3 (600px) land exactly
   on the new tier 3 and tier 5 so already-saved layouts render unchanged
   after the AddDashboardSpanGranularity migration rescales their stored
   RowSpan. */
.dv2-widget-height-2[b-s4yp4aoedn] {
    min-height: 350px;
}

.dv2-widget-height-3[b-s4yp4aoedn] {
    min-height: 420px;
}

.dv2-widget-height-4[b-s4yp4aoedn] {
    min-height: 510px;
}

.dv2-widget-height-5[b-s4yp4aoedn] {
    min-height: 600px;
}

.dv2-widget-resize-handle-x[b-s4yp4aoedn] {
    position: absolute;
    top: 0;
    right: -8px;
    bottom: 16px;
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: ew-resize;
    touch-action: none;
    z-index: 5;
}

.dv2-widget-resize-handle-x[b-s4yp4aoedn]::after {
    content: "";
    width: 4px;
    height: 40px;
    border-radius: 2px;
    background: rgba(212,175,55,.5);
    transition: background 0.15s ease;
}

.dv2-widget-resize-handle-x:hover[b-s4yp4aoedn]::after {
    background: #d4af37;
}

.dv2-widget-resize-handle-y[b-s4yp4aoedn] {
    position: absolute;
    left: 0;
    bottom: -8px;
    right: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: ns-resize;
    touch-action: none;
    z-index: 5;
}

.dv2-widget-resize-handle-y[b-s4yp4aoedn]::after {
    content: "";
    width: 40px;
    height: 4px;
    border-radius: 2px;
    background: rgba(212,175,55,.5);
    transition: background 0.15s ease;
}

.dv2-widget-resize-handle-y:hover[b-s4yp4aoedn]::after {
    background: #d4af37;
}

.dv2-widget-chrome[b-s4yp4aoedn] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    padding: 6px 10px;
    background: rgba(212,175,55,.12);
    border: 1px dashed rgba(212,175,55,.4);
    border-radius: 8px;
}

.dv2-widget-chrome-title[b-s4yp4aoedn] {
    color: #d4af37;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dv2-widget-chrome-actions[b-s4yp4aoedn] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dv2-chrome-group[b-s4yp4aoedn] {
    display: flex;
    gap: 4px;
    padding-left: 10px;
    border-left: 1px solid rgba(255,255,255,.15);
}

.dv2-chrome-group:first-child[b-s4yp4aoedn] {
    padding-left: 0;
    border-left: none;
}

.dv2-widget-chrome-actions button[b-s4yp4aoedn] {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.85);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 6px;
    width: 26px;
    height: 26px;
    font-size: 0.75rem;
    line-height: 1;
    cursor: pointer;
}

.dv2-widget-chrome-actions button:hover:not(:disabled)[b-s4yp4aoedn] {
    background: rgba(255,255,255,.16);
}

.dv2-widget-chrome-actions button:disabled[b-s4yp4aoedn] {
    opacity: 0.3;
    cursor: default;
}

.dv2-hidden-tray[b-s4yp4aoedn] {
    background: rgba(10,10,12,.88);
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 20px;
}

.dv2-hidden-tray-title[b-s4yp4aoedn] {
    color: white;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 12px;
}

.dv2-hidden-tray-item[b-s4yp4aoedn] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid rgba(255,255,255,.06);
    color: rgba(255,255,255,.7);
    font-size: 0.85rem;
}

.dv2-hidden-tray-badge[b-s4yp4aoedn] {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    vertical-align: 1px;
    cursor: help;
}

.dv2-hidden-tray-item button[b-s4yp4aoedn] {
    background: rgba(212,175,55,.15);
    color: #d4af37;
    border: 1px solid rgba(212,175,55,.4);
    border-radius: 6px;
    width: 26px;
    height: 26px;
    font-size: 0.9rem;
    line-height: 1;
    cursor: pointer;
}

.dv2-hidden-tray-item button:hover[b-s4yp4aoedn] {
    background: rgba(212,175,55,.25);
}

[b-s4yp4aoedn] .dv2-cup-table {
    font-size: 0.78rem;
}

[b-s4yp4aoedn] .dv2-cup-table th,
[b-s4yp4aoedn] .dv2-cup-table td {
    padding: 5px 4px;
}

[b-s4yp4aoedn] .dv2-cup-caption {
    margin-top: 10px;
    text-align: center;
    font-size: 0.72rem;
}

[b-s4yp4aoedn] .dv2-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

[b-s4yp4aoedn] .dv2-table th {
    text-align: left;
    color: rgba(255,255,255,.4);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding-bottom: 8px;
}

[b-s4yp4aoedn] .dv2-table td {
    padding: 6px 4px;
    color: rgba(255,255,255,.85);
    border-top: 1px solid rgba(255,255,255,.06);
}

[b-s4yp4aoedn] .dv2-table-club {
    font-weight: 600;
}

[b-s4yp4aoedn] .dv2-table-highlight td {
    background: rgba(212,175,55,.08);
    color: #d4af37;
    font-weight: 700;
}

[b-s4yp4aoedn] .dv2-view-all {
    display: block;
    text-align: center;
    margin-top: 14px;
    color: #d4af37;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
}

[b-s4yp4aoedn] .dv2-view-all:hover {
    text-decoration: underline;
}

[b-s4yp4aoedn] .dv2-vs-score {
    font-size: 1.3rem;
    font-weight: 800;
    color: white;
    font-variant-numeric: tabular-nums;
}

[b-s4yp4aoedn] .dv2-cta-button.dv2-cta-button-secondary {
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.85);
    border: 1px solid rgba(255,255,255,.15);
}

[b-s4yp4aoedn] .dv2-cta-button.dv2-cta-button-secondary:hover {
    background: rgba(255,255,255,.1);
}

[b-s4yp4aoedn] .dv2-vs-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 14px;
}

[b-s4yp4aoedn] .dv2-vs-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
}

[b-s4yp4aoedn] .dv2-vs-crest {
    width: 44px;
    height: 44px;
    object-fit: contain;
}

[b-s4yp4aoedn] .dv2-vs-flag {
    width: 44px;
    height: 30px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,.2);
}

[b-s4yp4aoedn] .dv2-vs-label {
    color: #d4af37;
    font-weight: 800;
    font-size: 1.1rem;
}

[b-s4yp4aoedn] .dv2-next-match-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: rgba(255,255,255,.6);
    font-size: 0.8rem;
    margin-bottom: 14px;
}

[b-s4yp4aoedn] .dv2-cta-button {
    display: block;
    text-align: center;
    padding: 10px;
    background: #d4af37;
    color: #1a1a1a;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
}

[b-s4yp4aoedn] .dv2-cta-button:hover {
    background: #e0bd4f;
}

/* =========================
   TEAM FORM + TOP PERFORMER
   ========================= */

[b-s4yp4aoedn] .dv2-form-row {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}

[b-s4yp4aoedn] .dv2-form-badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.8rem;
    color: white;
}

[b-s4yp4aoedn] .dv2-form-w { background: #2ecc71; }
[b-s4yp4aoedn] .dv2-form-d { background: rgba(255,255,255,.25); }
[b-s4yp4aoedn] .dv2-form-l { background: #e74c3c; }

[b-s4yp4aoedn] .dv2-top-performer-title {
    margin-top: 4px;
}

[b-s4yp4aoedn] .dv2-performer-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

[b-s4yp4aoedn] .dv2-performer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4af37, #f0cf6b);
    color: #1a1a1a;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-s4yp4aoedn] .dv2-performer-info {
    flex: 1;
    min-width: 0;
}

[b-s4yp4aoedn] .dv2-performer-name {
    font-weight: 700;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-s4yp4aoedn] .dv2-performer-sub {
    color: rgba(255,255,255,.5);
    font-size: 0.75rem;
}

[b-s4yp4aoedn] .dv2-performer-stats {
    display: flex;
    align-items: center;
    gap: 12px;
}

[b-s4yp4aoedn] .dv2-performer-stats > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

[b-s4yp4aoedn] .dv2-performer-num {
    font-weight: 800;
    font-size: 1.1rem;
}

[b-s4yp4aoedn] .dv2-performer-label {
    font-size: 0.65rem;
    color: rgba(255,255,255,.45);
    text-transform: uppercase;
}

[b-s4yp4aoedn] .dv2-performer-rating {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #d4af37;
    color: #d4af37;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
}

[b-s4yp4aoedn] .dv2-squad-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

[b-s4yp4aoedn] .dv2-squad-donut {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 8px solid #d4af37;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.3rem;
    flex-shrink: 0;
}

[b-s4yp4aoedn] .dv2-squad-donut span {
    font-size: 0.6rem;
    font-weight: 500;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
}

[b-s4yp4aoedn] .dv2-squad-legend {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.8rem;
    color: rgba(255,255,255,.7);
}

[b-s4yp4aoedn] .dv2-squad-legend b {
    color: white;
    margin-left: 4px;
}

[b-s4yp4aoedn] .dv2-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
}

[b-s4yp4aoedn] .dv2-dot-gk  { background: #ffd700; }
[b-s4yp4aoedn] .dv2-dot-def { background: #3498db; }
[b-s4yp4aoedn] .dv2-dot-mid { background: #2ecc71; }
[b-s4yp4aoedn] .dv2-dot-fwd { background: #e74c3c; }

[b-s4yp4aoedn] .dv2-squad-footer {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 12px;
    flex-shrink: 0;
}

[b-s4yp4aoedn] .dv2-text-green { color: #2ecc71; }
[b-s4yp4aoedn] .dv2-text-red { color: #e74c3c; }

/* Lets the finance chart grow into any extra height the card gets from
   the height-resize tiers, instead of staying pinned at its old fixed
   120px regardless of how tall the card is. */
[b-s4yp4aoedn] .dv2-finance-chart-area {
    flex: 1;
    min-height: 120px;
    display: flex;
    flex-direction: column;
}

/* Fills the chart area's full height (rather than leaving a large empty
   void below a single line of top-pinned text) with a centered icon +
   message — matters most for a brand-new club, where Finances Overview
   defaults taller (DashboardWidgetCatalog) for its line chart but has no
   transaction history yet to show one. */
[b-s4yp4aoedn] .dv2-finance-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
}

[b-s4yp4aoedn] .dv2-finance-empty-icon {
    font-size: 2rem;
    opacity: 0.35;
    margin-bottom: 4px;
}

[b-s4yp4aoedn] .dv2-finance-empty-sub {
    color: rgba(255,255,255,.32);
    font-size: 0.78rem;
    max-width: 260px;
}

[b-s4yp4aoedn] .dv2-news-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[b-s4yp4aoedn] .dv2-news-item {
    border-bottom: 1px solid rgba(255,255,255,.06);
    padding-bottom: 8px;
}

[b-s4yp4aoedn] .dv2-news-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(255,255,255,.9);
}

[b-s4yp4aoedn] .dv2-news-date {
    font-size: 0.7rem;
    color: rgba(255,255,255,.4);
}

/* =========================
   SEASON CALENDAR
   ========================= */

[b-s4yp4aoedn] .dv2-calendar-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 360px;
    overflow-y: auto;
}

[b-s4yp4aoedn] .dv2-calendar-day {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
    flex-wrap: wrap;
}

[b-s4yp4aoedn] .dv2-calendar-day-today {
    background: rgba(212,175,55,.06);
    border-radius: 6px;
    padding-left: 8px;
    padding-right: 8px;
    margin-left: -8px;
    margin-right: -8px;
}

[b-s4yp4aoedn] .dv2-calendar-day-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,255,255,.55);
    white-space: nowrap;
    flex-shrink: 0;
}

[b-s4yp4aoedn] .dv2-calendar-day-today .dv2-calendar-day-label {
    color: #d4af37;
}

[b-s4yp4aoedn] .dv2-calendar-day-empty {
    font-size: 0.75rem;
    color: rgba(255,255,255,.3);
    font-style: italic;
}

[b-s4yp4aoedn] .dv2-calendar-match {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

[b-s4yp4aoedn] .dv2-calendar-match-opponent {
    font-size: 0.8rem;
    font-weight: 600;
    color: rgba(255,255,255,.9);
}

[b-s4yp4aoedn] .dv2-calendar-match-meta {
    font-size: 0.68rem;
    color: rgba(255,255,255,.4);
}

[b-s4yp4aoedn] .dv2-calendar-more {
    margin-top: 10px;
    font-size: 0.72rem;
    color: rgba(255,255,255,.4);
    text-align: center;
}

[b-s4yp4aoedn] .dv2-calendar-offseason {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    padding: 24px 8px;
    flex: 1;
}

[b-s4yp4aoedn] .dv2-calendar-offseason-title {
    color: #d4af37;
    font-weight: 700;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

[b-s4yp4aoedn] .dv2-calendar-offseason-text {
    color: rgba(255,255,255,.5);
    font-size: 0.78rem;
    max-width: 320px;
}

/* =========================
   TICKER
   ========================= */

.dv2-ticker[b-s4yp4aoedn] {
    position: relative;
    overflow: hidden;

    display: flex;
    align-items: center;
    gap: 12px;

    background:
        radial-gradient(140% 200% at 10% -40%, rgba(212,175,55,.08), transparent 55%),
        #111113;
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 10px;
    padding: 12px 20px;

    box-shadow:
        0 0 0 1px rgba(212,175,55,.05),
        0 0 22px rgba(212,175,55,.08);

    font-size: 0.85rem;
    color: rgba(255,255,255,.8);
}

.dv2-ticker-tag[b-s4yp4aoedn] {
    color: #d4af37;
    font-weight: 800;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
}

@media (max-width: 1100px) {
    .dv2-widget-grid[b-s4yp4aoedn] {
        grid-template-columns: repeat(2, 1fr);
    }

    .dv2-widget-span-3[b-s4yp4aoedn],
    .dv2-widget-span-4[b-s4yp4aoedn],
    .dv2-widget-span-5[b-s4yp4aoedn],
    .dv2-widget-span-6[b-s4yp4aoedn] {
        grid-column: span 2;
    }
}

@media (max-width: 600px) {
    .dv2-widget-grid[b-s4yp4aoedn] {
        grid-template-columns: 1fr;
    }

    .dv2-widget-span-2[b-s4yp4aoedn],
    .dv2-widget-span-3[b-s4yp4aoedn],
    .dv2-widget-span-4[b-s4yp4aoedn],
    .dv2-widget-span-5[b-s4yp4aoedn],
    .dv2-widget-span-6[b-s4yp4aoedn] {
        grid-column: span 1;
    }

    /* A height resize (or Finances Overview's default RowSpan=3) makes
       sense on desktop, where a taller card fills space that would
       otherwise sit empty next to its neighbors. On a single-column
       mobile layout every card is already full width with nothing
       beside it, so that same fixed min-height just becomes wasted
       empty space and extra scrolling — reset to natural content
       height here regardless of what's saved, on every card. */
    .dv2-widget-height-2[b-s4yp4aoedn],
    .dv2-widget-height-3[b-s4yp4aoedn],
    .dv2-widget-height-4[b-s4yp4aoedn],
    .dv2-widget-height-5[b-s4yp4aoedn] {
        min-height: auto;
    }
}
/* /Components/Pages/Developer/PitchLab.razor.rz.scp.css */
.pitch-lab-controls[b-myz6vksvln] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.pitch-lab-controls label[b-myz6vksvln] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    font-size: .85rem;
}

.pitch-lab-stage[b-myz6vksvln] {
    margin: 1rem 0;
    max-width: 1000px;
}

.pitch-lab-check[b-myz6vksvln] {
    flex-direction: row;
    align-items: center;
    gap: .4rem;
}

.pitch-lab-diagnostics[b-myz6vksvln] {
    margin: .75rem 0 1rem;
    padding: .6rem .8rem;
    border-radius: 6px;
    background: rgba(11, 15, 13, .55);
    border: 1px solid rgba(201, 242, 76, .18);
    font-size: .82rem;
    line-height: 1.6;
}

.pl-ok[b-myz6vksvln] { color: #9ee34f; }
.pl-bad[b-myz6vksvln] { color: #ff7a6b; font-weight: 600; }

.pl-replay[b-myz6vksvln] {
    margin-top: .35rem;
    color: #8ea18f;
}
/* /Components/Pages/Developer/ResolutionTester.razor.rz.scp.css */
/* /Components/Pages/Devlog.razor.rz.scp.css */
/* Scoped styling for the /devlog index.
   Layout classes come from the global wwwroot/css/design-system.css;
   this only adds what the post list needs. */

.dvl-logo[b-k3luly3z7w] {
    height: 48px;
    width: auto;
}

.dvl-article[b-k3luly3z7w] {
    max-width: 72ch;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1rem;
}

.dvl-lede[b-k3luly3z7w] {
    margin-bottom: 2.5rem;
}

.dvl-list[b-k3luly3z7w] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.dvl-post-card[b-k3luly3z7w] {
    display: block;
    text-decoration: none;
    transition: border-color .15s, transform .15s;
}

.dvl-post-card:hover[b-k3luly3z7w] {
    border-color: rgba(255,255,255,.28);
    transform: translateY(-2px);
}

.dvl-post-date[b-k3luly3z7w] {
    display: block;
    margin-bottom: 0.35rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.dvl-post-title[b-k3luly3z7w] {
    margin: 0 0 0.5rem;
    text-align: left;
}

.dvl-builds[b-k3luly3z7w] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.dvl-build[b-k3luly3z7w] {
    padding: 0;
    overflow: hidden;
}

.dvl-build-summary[b-k3luly3z7w] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.1rem 1.5rem;
    cursor: pointer;
    list-style: none;
}

.dvl-build-summary[b-k3luly3z7w]::-webkit-details-marker {
    display: none;
}

.dvl-build-summary[b-k3luly3z7w]::before {
    content: "▸";
    color: #d4af37;
    font-size: 0.85rem;
    transition: transform .15s;
    margin-right: 0.25rem;
}

.dvl-build[open] > .dvl-build-summary[b-k3luly3z7w]::before {
    transform: rotate(90deg);
}

.dvl-build-version[b-k3luly3z7w] {
    color: #d4af37;
    font-weight: 700;
    font-size: 1.1rem;
}

.dvl-build-date[b-k3luly3z7w] {
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 0.8rem;
}

.dvl-build-count[b-k3luly3z7w] {
    margin-left: auto;
    font-size: 0.8rem;
}

.dvl-change-list[b-k3luly3z7w] {
    list-style: none;
    margin: 0;
    padding: 1.1rem 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-top: 1px solid rgba(255,255,255,.10);
}

.dvl-change-head[b-k3luly3z7w] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.dvl-change-title[b-k3luly3z7w] {
    display: inline-block;
    color: white;
    font-weight: 600;
    text-decoration: none;
}

a.dvl-change-title:hover[b-k3luly3z7w] {
    color: #d4af37;
    text-decoration: underline;
}

/* Same red tint used elsewhere for "remove/danger" affordances (see
   Squad.razor.css .transfer-button-listed) — reused here so a Bug Fix
   badge reads consistently with that language rather than inventing a
   new color for "this was a problem". */
.dvl-fix-badge[b-k3luly3z7w] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(224, 83, 83, .12);
    border: 1px solid rgba(224, 83, 83, .4);
    color: #ff8a80;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dvl-change-desc[b-k3luly3z7w] {
    margin: 0.25rem 0 0;
}

@media (max-width: 640px) {
    .dvl-build-count[b-k3luly3z7w] {
        margin-left: 0;
    }
}

/* See the matching note in HowToPlay.razor.css — the stretch alignment
   on esm-landing-surface runs the footer's link row and its
   copyright line together on one line without this. */
.esm-landing-footer[b-k3luly3z7w] {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 640px) {
    .dvl-article[b-k3luly3z7w] {
        padding: 1.75rem 1rem 1rem;
    }
}
/* /Components/Pages/DevlogPostPage.razor.rz.scp.css */
/* Scoped styling for /devlog/{slug}.
   Layout classes come from the global wwwroot/css/design-system.css.
   The post body itself is injected via MarkupString (raw HTML from
   Data/DevlogPosts.cs), so it never receives this component's normal
   scope attribute — every selector targeting it has to go through
   ::deep, or it silently does nothing. */

.dvl-logo[b-rr1he1ky87] {
    height: 48px;
    width: auto;
}

.dvl-article[b-rr1he1ky87] {
    max-width: 72ch;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1rem;
}

.dvl-post-date[b-rr1he1ky87] {
    display: block;
    margin-bottom: 0.5rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    font-size: 0.8rem;
}

/* The post body is raw HTML with no esm-* classes on its own tags (see
   the ::deep note above), so it inherits no color at all from the
   design system — without this it renders as near-invisible dark text
   on this page's dark background. Matches .esm-help-text's values. */
.dvl-post-body[b-rr1he1ky87] {
    color: rgba(255,255,255,.75);
    font-size: .9rem;
    line-height: 1.5;
}

.dvl-post-body[b-rr1he1ky87]  h2 {
    margin-top: 2.25rem;
    margin-bottom: 0.75rem;
    text-align: left;
    color: white;
}

.dvl-post-body[b-rr1he1ky87]  p {
    margin: 0 0 1rem;
}

.dvl-post-body[b-rr1he1ky87]  ul {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.dvl-post-body[b-rr1he1ky87]  li {
    margin-bottom: 0.6rem;
}

.dvl-post-body[b-rr1he1ky87]  strong {
    color: white;
}

.dvl-post-body[b-rr1he1ky87]  code {
    background: rgba(255,255,255,.08);
    border-radius: 4px;
    padding: 0.1em 0.35em;
    font-size: 0.9em;
}

.dvl-further[b-rr1he1ky87] {
    margin-top: 2.5rem;
}

/* See the matching note in HowToPlay.razor.css. */
.esm-landing-footer[b-rr1he1ky87] {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 640px) {
    .dvl-article[b-rr1he1ky87] {
        padding: 1.75rem 1rem 1rem;
    }
}
/* /Components/Pages/DomesticCup.razor.rz.scp.css */
.dc-subtitle[b-6v1mc7lg2m] {
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.65);
}

.dc-champion-banner[b-6v1mc7lg2m] {
    background: linear-gradient(135deg, rgba(212,175,55,.18), rgba(212,175,55,.06));
    border: 1px solid rgba(212,175,55,.4);
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 1.1rem;
    font-weight: 700;
    color: #FFD54F;
    text-shadow: 0 0 10px rgba(255,213,79,.3);
}

.dc-champion-name[b-6v1mc7lg2m] {
    color: #fff;
}

/* Rounds laid out as columns, left to right — Round 1 first, Final
   last. Scrolls horizontally on narrower screens rather than wrapping,
   since a bracket only reads correctly left-to-right. */
.dc-bracket[b-6v1mc7lg2m] {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 12px;
}

.dc-bracket-round[b-6v1mc7lg2m] {
    flex: 0 0 260px;
    display: flex;
    flex-direction: column;
}

.dc-round-title[b-6v1mc7lg2m] {
    margin-top: 0;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.15rem;
    font-weight: 600;
}

.dc-round-grid[b-6v1mc7lg2m] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dc-match-card[b-6v1mc7lg2m] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
}

/* A future round's match whose sides aren't decided yet — dimmed and
   dashed so it visually reads as "not real yet", distinct from a real
   scheduled fixture. */
.dc-match-tbd[b-6v1mc7lg2m] {
    border-style: dashed;
    opacity: 0.55;
}

.dc-match-team[b-6v1mc7lg2m] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.85);
}

.dc-match-winner[b-6v1mc7lg2m] {
    background: rgba(64, 156, 255, 0.15);
    border: 1px solid rgba(64, 156, 255, 0.4);
    color: #fff;
    font-weight: 600;
}

.dc-match-score[b-6v1mc7lg2m] {
    font-weight: 700;
}

.dc-match-status[b-6v1mc7lg2m] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.45);
    text-align: center;
    padding-top: 2px;
}

.dc-match-pens[b-6v1mc7lg2m] {
    color: #FFD54F;
    font-weight: 600;
}

.dc-bye-card[b-6v1mc7lg2m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(212, 175, 55, 0.06);
    border: 1px dashed rgba(212, 175, 55, 0.3);
}

.dc-bye-label[b-6v1mc7lg2m] {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #FFD54F;
    background: rgba(212, 175, 55, 0.15);
    padding: 3px 8px;
    border-radius: 6px;
}

.dc-bye-team[b-6v1mc7lg2m] {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.8);
}

/* ---------- Mobile round tabs ----------
   Same gold-pill visual language as EliteChampionsCup.razor.css's
   .ecc-stage-toggle, but a plain scrollable chip row rather than a
   fixed 2-option sliding-thumb toggle — a domestic cup can have up to
   6 rounds (Round of 64 down to the Final), so a fixed-width thumb
   sized for exactly 2 options doesn't generalize here. */

.dc-round-tabs[b-6v1mc7lg2m] {
    display: none; /* shown only ≤700px, see below */
    gap: 8px;
    overflow-x: auto;
    padding: 4px 4px 12px;
    margin-bottom: 8px;
}

.dc-round-tab[b-6v1mc7lg2m] {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 999px;
    padding: 9px 18px;

    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.dc-round-tab.active[b-6v1mc7lg2m] {
    background: linear-gradient(135deg, #f6e6a8, #d4af37);
    border-color: transparent;
    color: #1a1a1a;
}

.dc-mobile-round[b-6v1mc7lg2m] {
    display: none; /* shown only ≤700px, see below */
}

@media (max-width: 700px) {
    .dc-round-tabs[b-6v1mc7lg2m],
    .dc-mobile-round[b-6v1mc7lg2m] {
        display: flex;
    }

    .dc-mobile-round[b-6v1mc7lg2m] {
        flex-direction: column;
    }

    /* The desktop side-by-side bracket is replaced by the tabs + single
       round above at this width, not shown alongside it. */
    .dc-bracket[b-6v1mc7lg2m] {
        display: none;
    }
}
/* /Components/Pages/EliteChampionsCup.razor.rz.scp.css */
.ecc-subtitle[b-rvmokh0mjb] {
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.65);
}

/* ---------- Group / Knockout stage toggle ---------- */

.ecc-stage-toggle[b-rvmokh0mjb] {
    position: relative;
    display: flex;
    width: fit-content;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 999px;
    padding: 4px;
    margin-bottom: 28px;
    gap: 4px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* The sliding gold indicator — this is what makes the toggle feel
   premium rather than just two plain buttons; it glides between the
   two options instead of the active state just flipping instantly. */
.ecc-stage-toggle-thumb[b-rvmokh0mjb] {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);

    background: linear-gradient(135deg, #f6e6a8, #d4af37);
    border-radius: 999px;

    box-shadow: 0 2px 12px rgba(212, 175, 55, 0.45);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

.ecc-stage-toggle-thumb.is-knockout[b-rvmokh0mjb] {
    transform: translateX(100%);
}

.ecc-stage-toggle-btn[b-rvmokh0mjb] {
    position: relative;
    z-index: 1;
    flex: 1;

    background: transparent;
    border: none;
    padding: 11px 26px;

    font-weight: 700;
    font-size: 0.9rem;
    white-space: nowrap;
    text-align: center;

    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    border-radius: 999px;
    transition: color 0.25s ease;
}

.ecc-stage-toggle-btn:hover:not(.active)[b-rvmokh0mjb] {
    color: white;
}

.ecc-stage-toggle-btn.active[b-rvmokh0mjb] {
    color: #1a1a1a;
}

/* ---------- Group stage ---------- */

.ecc-groups-scroll[b-rvmokh0mjb] {
    /* On a narrow screen (or a sidebar eating into available width),
       two full-size group cards side by side may need more room than
       the viewport actually has. Rather than letting that overflow
       silently clip content with no way to reach it, this scrolls
       horizontally instead — the grid below keeps a sensible minimum
       width so it scrolls cleanly rather than squishing illegibly. */
    overflow-x: auto;
    padding-bottom: 8px;
}

.ecc-groups-grid[b-rvmokh0mjb] {
    display: grid;
    /* Was auto-fill/minmax(320px, 1fr), which packed 4 narrow columns
       across a wide panel. Pinned to exactly 2 columns so each group
       card gets roughly double the width — 4 rows of 2 groups instead
       of 2 rows of 4. */
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    min-width: 700px;
}

.ecc-group-card[b-rvmokh0mjb] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    /* Explicit padding (rather than relying on .esm-card's default
       24px) so this card can be a bit more generous now that it has
       twice the width to work with. */
    padding: 32px;
}

.ecc-group-card .esm-section-title[b-rvmokh0mjb] {
    font-size: 1.5rem;
}

.ecc-standings-table[b-rvmokh0mjb] {
    width: 100%;
    font-size: 1.05rem;
}

.ecc-standings-table th[b-rvmokh0mjb],
.ecc-standings-table td[b-rvmokh0mjb] {
    padding: 14px 16px;
}

.ecc-standings-table th.ecc-team-col[b-rvmokh0mjb],
.ecc-standings-table td.ecc-team-col[b-rvmokh0mjb] {
    text-align: left;
}

.ecc-pos-advance td[b-rvmokh0mjb] {
    background: rgba(64, 156, 255, 0.1);
}

.ecc-upcoming-header[b-rvmokh0mjb] {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 12px;
}

.ecc-upcoming-list[b-rvmokh0mjb] {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.ecc-upcoming-row[b-rvmokh0mjb] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
}

.ecc-upcoming-vs[b-rvmokh0mjb] {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.85rem;
}

.ecc-upcoming-score[b-rvmokh0mjb] {
    font-weight: 700;
    color: #7fc0ff;
    min-width: 44px;
    text-align: center;
    font-size: 0.95rem;
}

.ecc-upcoming-row-played span:first-child[b-rvmokh0mjb],
.ecc-upcoming-row-played span:nth-child(3)[b-rvmokh0mjb] {
    color: rgba(255, 255, 255, 0.65);
}

.ecc-upcoming-date[b-rvmokh0mjb] {
    margin-left: auto;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.85rem;
}

/* ---------- Knockout bracket ---------- */

.ecc-round-title[b-rvmokh0mjb] {
    margin-top: 28px;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.2rem;
    font-weight: 600;
}

.ecc-bracket-scroll[b-rvmokh0mjb] {
    /* Same reasoning as .ecc-groups-scroll above — auto-fill/minmax
       already wraps nicely in normal conditions, but a narrow viewport
       combined with a wide sidebar can still leave less room than even
       one 260px column needs. Scroll instead of silently clipping. */
    overflow-x: auto;
    padding-bottom: 8px;
}

.ecc-bracket-grid[b-rvmokh0mjb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}

.ecc-tie-card[b-rvmokh0mjb] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ecc-tie-team[b-rvmokh0mjb] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
}

.ecc-tie-winner[b-rvmokh0mjb] {
    background: rgba(64, 156, 255, 0.15);
    border: 1px solid rgba(64, 156, 255, 0.4);
}

.ecc-tie-team-name[b-rvmokh0mjb] {
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
}

.ecc-tie-agg[b-rvmokh0mjb] {
    font-weight: 700;
    color: #7fc0ff;
}

.ecc-tie-legs[b-rvmokh0mjb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.ecc-tie-pens[b-rvmokh0mjb] {
    color: #FFD54F;
    font-weight: 600;
}
/* /Components/Pages/Finance.razor.rz.scp.css */
.manager-settings-page[b-aafw2disla] {
    max-width: 1750px;
    margin: 0 auto;
    padding: 30px;
}

.finance-page[b-aafw2disla] {
    padding: 35px;
}

/* Compact stat strip — a single slim row instead of four large
   dashboard-style tiles. */

.finance-stats-bar[b-aafw2disla] {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-bottom: 30px;
}

/* flex:1 1 0 + min-width:0 makes the four stats share the row equally
   and shrink together instead of overflowing/wrapping onto a second
   line on narrower (e.g. 14" laptop) screens. Label on top, value
   below, so the width stays fixed but there's enough height for both
   to display in full without truncating. */
.finance-stat[b-aafw2disla] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 0;
    min-width: 0;
    padding: 14px 10px;
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    text-align: center;
}

.finance-stat-value[b-aafw2disla] {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
}

.finance-stat-label[b-aafw2disla] {
    font-size: .72rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .01em;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Transactions */

.finance-page .position-section[b-aafw2disla] {

    margin-top: 10px;
}

/* ===================================
   DASHBOARD VALUES
=================================== */

.balance-value[b-aafw2disla] {

    color: #64d66a;

}

.squad-value[b-aafw2disla] {

    color: #d4af37;

}

.wages-value[b-aafw2disla] {

    color: #ff7272;

}

.networth-value[b-aafw2disla] {

    color: #72b7ff;

}

/* ===================================
   CHARTS
=================================== */

.finance-charts-grid[b-aafw2disla] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 30px;
}

.finance-chart-wide[b-aafw2disla] {
    grid-column: 1 / -1;
}

.finance-chart-card[b-aafw2disla] {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(140% 120% at 15% -10%, rgba(212,175,55,.08), transparent 55%),
        rgba(255,255,255,.03);
    border: 1px solid rgba(212,175,55,.25);
    border-radius: 14px;
    padding: 26px;

    box-shadow:
        0 0 0 1px rgba(212,175,55,.04),
        0 0 20px rgba(212,175,55,.07);
}

.finance-chart-card .position-title[b-aafw2disla] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 18px;
    color: #d4af37;
    border-bottom: 2px solid rgba(212,175,55,.2);
    padding-bottom: 10px;
}

.finance-chart-subtitle[b-aafw2disla] {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(255,255,255,.4);
}

.finance-chart-empty[b-aafw2disla] {
    text-align: center;
    padding: 60px 20px;
}

@media (max-width: 900px) {
    .finance-charts-grid[b-aafw2disla] {
        grid-template-columns: 1fr;
    }
}

/* ===================================
   TRANSACTIONS
=================================== */

.finance-page .position-title[b-aafw2disla] {

    margin-bottom: 25px;

}

.finance-page .squad-table th[b-aafw2disla] {

    text-align: left;

}

.finance-page .squad-table td[b-aafw2disla] {

    padding: 14px 10px;

}

.finance-page .squad-table td:last-child[b-aafw2disla],
.finance-page .squad-table th:last-child[b-aafw2disla] {

    text-align: right;

}

.finance-page .squad-table td:nth-last-child(2)[b-aafw2disla],
.finance-page .squad-table th:nth-last-child(2)[b-aafw2disla] {

    text-align: right;

}

.no-transactions[b-aafw2disla] {

    padding: 60px;

    text-align: center;

    color: rgba(255,255,255,.55);

    font-style: italic;

}

.finance-transactions[b-aafw2disla] {

    margin-top: 30px;

    padding: 30px;

}

.finance-transactions .position-title[b-aafw2disla] {

    margin-bottom: 25px;

    color: #d4af37;

    border-bottom: 2px solid rgba(212,175,55,.25);

    padding-bottom: 12px;

}

.finance-transactions .squad-table[b-aafw2disla] {

    width: 100%;

}

.finance-transactions .squad-table th[b-aafw2disla] {

    color: #d4af37;

    font-size: .9rem;

    text-transform: uppercase;

}

.finance-transactions .squad-table td[b-aafw2disla] {

    padding: 16px 10px;

}

.no-transactions[b-aafw2disla] {

    padding: 45px !important;

    color: rgba(255,255,255,.60);

    font-style: italic;

    text-align: center;

}
/* ===========================
   Empty transaction history
   =========================== */

.empty-finance-state[b-aafw2disla] {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 70px 20px;

}

.empty-finance-icon[b-aafw2disla] {

    font-size: 3.5rem;

    margin-bottom: 18px;

    opacity: .9;

}

.empty-finance-title[b-aafw2disla] {

    color: white;

    font-size: 1.35rem;

    font-weight: 700;

    margin-bottom: 12px;

}

.empty-finance-text[b-aafw2disla] {

    max-width: 520px;

    color: rgba(255,255,255,.65);

    text-align: center;

    line-height: 1.7;

    font-size: .95rem;

}

.no-transactions[b-aafw2disla] {

    padding: 0 !important;

    border-bottom: none !important;

}

/* ===================================
   RESPONSIVE
=================================== */

/* Tablet */
@media (max-width: 900px) {

    .manager-settings-page[b-aafw2disla] {
        padding: 16px;
    }

    .finance-page[b-aafw2disla] {
        padding: 20px;
    }

    .finance-stats-bar[b-aafw2disla] {
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    .finance-stat[b-aafw2disla] {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
        padding: 7px 10px;
    }

    .finance-transactions[b-aafw2disla] {
        padding: 18px;
        margin-top: 20px;
    }

    .finance-page .squad-table[b-aafw2disla] {
        font-size: 0.85rem;
    }

    .finance-page .squad-table td[b-aafw2disla] {
        padding: 10px 8px;
    }
}

/* Small phones */
@media (max-width: 480px) {

    .manager-settings-page[b-aafw2disla] {
        padding: 12px;
    }

    .finance-page[b-aafw2disla] {
        padding: 14px;
    }

    .finance-stats-bar[b-aafw2disla] {
        gap: 6px;
        margin-bottom: 16px;
    }

    .finance-stat[b-aafw2disla] {
        flex: 1 1 calc(50% - 6px);
        flex-direction: column;
        align-items: center;
        gap: 2px;
        padding: 8px 6px;
    }

    .finance-stat-value[b-aafw2disla] {
        font-size: 1rem;
    }

    .finance-stat-label[b-aafw2disla] {
        font-size: .65rem;
    }

    .finance-transactions[b-aafw2disla] {
        padding: 12px;
    }

    .finance-transactions .position-title[b-aafw2disla] {
        font-size: 1rem;
        margin-bottom: 16px;
        padding-bottom: 8px;
    }

    .finance-page .squad-table[b-aafw2disla] {
        font-size: 0.75rem;
    }

    .finance-page .squad-table th[b-aafw2disla] {
        font-size: 0.65rem;
    }

    .finance-page .squad-table td[b-aafw2disla] {
        padding: 8px 6px;
    }

    .empty-finance-state[b-aafw2disla] {
        padding: 40px 10px;
    }

    .empty-finance-icon[b-aafw2disla] {
        font-size: 2.5rem;
        margin-bottom: 12px;
    }

    .empty-finance-title[b-aafw2disla] {
        font-size: 1.1rem;
    }

    .empty-finance-text[b-aafw2disla] {
        font-size: 0.85rem;
        line-height: 1.5;
    }
}
.finance-table[b-aafw2disla] {
    font-size: 0.85rem;
}

.transaction-description[b-aafw2disla] {
    color: rgba(255,255,255,.8);
}

.transaction-type-pill[b-aafw2disla] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.type-income[b-aafw2disla] {
    background: rgba(60,200,100,.15);
    color: #4caf50;
}

.type-expense[b-aafw2disla] {
    background: rgba(220,60,60,.15);
    color: #e05353;
}

.amount-positive[b-aafw2disla] {
    color: #4caf50;
    font-weight: 700;
}

.amount-negative[b-aafw2disla] {
    color: #e05353;
    font-weight: 700;
}

.finance-th-filter[b-aafw2disla] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.finance-filter-arrow[b-aafw2disla] {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.75rem;
    cursor: pointer;
    padding: 2px 4px;
    line-height: 1;
    transition: color 0.15s ease;
}

.finance-filter-arrow:hover[b-aafw2disla] {
    color: rgba(255, 255, 255, 0.9);
}

.finance-filter-arrow.active[b-aafw2disla] {
    color: #d4af37;
}

.finance-filter-dropdown[b-aafw2disla] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 20;
    min-width: 180px;
    max-height: 280px;
    overflow-y: auto;
    background: #14161c;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    padding: 6px;
    text-transform: none;
    font-weight: 400;
}

.finance-filter-option[b-aafw2disla] {
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    white-space: nowrap;
}

.finance-filter-option:hover[b-aafw2disla] {
    background: rgba(255, 255, 255, 0.08);
}

.finance-filter-option.selected[b-aafw2disla] {
    color: #d4af37;
    font-weight: 700;
}

.finance-load-more[b-aafw2disla] {
    text-align: center;
    margin-top: 16px;
}

.btn-plain-small[b-aafw2disla] {
    padding: 6px 16px;
    border-radius: 6px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    font-size: 0.85rem;
    cursor: pointer;
}

.btn-plain-small:hover[b-aafw2disla] {
    background: rgba(255,255,255,.12);
}
/* /Components/Pages/Fixtures.razor.rz.scp.css */
.fixtures-page[b-e8kd4y306r] {
    width: 100%;
    padding: 40px 16px;

    display: flex;
    justify-content: center;
}

/* =========================
   HEADER + VIEW TOGGLE
   ========================= */

.fixtures-header[b-e8kd4y306r] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.fixtures-view-toggle[b-e8kd4y306r] {
    display: flex;
    gap: 6px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    padding: 4px;
}

.view-toggle-btn[b-e8kd4y306r] {
    border: none;
    background: transparent;
    color: rgba(255,255,255,.6);
    font-size: 0.82rem;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
    transition: .15s;
    white-space: nowrap;
}

.view-toggle-btn:hover[b-e8kd4y306r] {
    color: white;
}

.view-toggle-btn.active[b-e8kd4y306r] {
    background: #d4af37;
    color: #1a1a1a;
}

/* =========================
   MATCHDAY NAVIGATOR
   ========================= */

.matchday-nav[b-e8kd4y306r] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
}

.matchday-nav-arrow[b-e8kd4y306r] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;

    background: rgba(212,175,55,.1);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;

    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    transition: .15s;
}

.matchday-nav-arrow:hover:not(:disabled)[b-e8kd4y306r] {
    background: rgba(212,175,55,.25);
}

.matchday-nav-arrow:disabled[b-e8kd4y306r] {
    opacity: 0.3;
    cursor: not-allowed;
}

.matchday-chip-strip[b-e8kd4y306r] {
    flex: 1;
    min-width: 0;

    display: flex;
    gap: 8px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 4px 2px;

    /* Hide the scrollbar itself while keeping the strip scrollable —
       the chips ARE the visible navigation, a scrollbar underneath
       them would just be visual noise. */
    scrollbar-width: none;
}

.matchday-chip-strip[b-e8kd4y306r]::-webkit-scrollbar {
    display: none;
}

.matchday-chip[b-e8kd4y306r] {
    flex-shrink: 0;
    scroll-snap-align: center;

    min-width: 40px;
    height: 40px;
    padding: 0 4px;
    border-radius: 50%;

    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.6);

    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    transition: .15s;

    position: relative;
}

.matchday-chip:hover[b-e8kd4y306r] {
    background: rgba(255,255,255,.1);
    color: white;
}

.matchday-chip.is-played[b-e8kd4y306r] {
    color: rgba(255,255,255,.35);
}

/* A subtle ring marking the CURRENT (real) matchday, distinct from
   whichever one the user has manually navigated to — so it's never
   lost track of even when browsing elsewhere in the season. */
.matchday-chip.is-current[b-e8kd4y306r] {
    box-shadow: 0 0 0 2px rgba(212,175,55,.5);
}

.matchday-chip.active[b-e8kd4y306r] {
    background: #d4af37;
    border-color: #d4af37;
    color: #1a1a1a;
}

.jump-to-current-wrapper[b-e8kd4y306r] {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.jump-to-current-btn[b-e8kd4y306r] {
    background: rgba(212,175,55,.1);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 999px;
    cursor: pointer;
    transition: .15s;
}

.jump-to-current-btn:hover[b-e8kd4y306r] {
    background: rgba(212,175,55,.22);
}

/* =========================
   SINGLE MATCHDAY CARD
   ========================= */

.gameweek-tile[b-e8kd4y306r] {
    background: #1c1f26;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    overflow: hidden;
}

.gameweek-tile-single[b-e8kd4y306r] {
    margin-top: 20px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.gameweek-tile-header[b-e8kd4y306r] {
    background: rgba(212,175,55,.10);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(212,175,55,.18);

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gameweek-tile-header-count[b-e8kd4y306r] {
    color: rgba(255,255,255,.5);
    font-weight: 600;
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.75rem;
}

.gameweek-tile-body[b-e8kd4y306r] {
    padding: 8px 16px 12px;
}

.fixture-row-wrapper:last-child .fixture-row[b-e8kd4y306r] {
    border-bottom: none;
}

.fixture-row[b-e8kd4y306r] {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

/* =========================
   INLINE STATS PANEL — expands within the same gameweek tile,
   pushing the rows below it down, instead of a separate popup.
   Deliberately no distinct background of its own so it reads as
   part of the surrounding block (same #1c1f26 tile background).
   ========================= */

.fixture-stats-inline[b-e8kd4y306r],
.my-match-stats-inline[b-e8kd4y306r] {
    padding: 14px 4px 18px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    animation: fixture-stats-expand-b-e8kd4y306r .15s ease;
}

.fixture-row-wrapper:last-child .fixture-stats-inline[b-e8kd4y306r] {
    border-bottom: none;
}

@keyframes fixture-stats-expand-b-e8kd4y306r {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.fixture-stats-grid[b-e8kd4y306r] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255,255,255,.03);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

.fixture-stats-row[b-e8kd4y306r] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
}

.fixture-stats-value[b-e8kd4y306r] {
    color: white;
    font-weight: 700;
    font-size: 0.85rem;
}

.fixture-stats-row .fixture-stats-value:first-child[b-e8kd4y306r] {
    text-align: right;
}

.fixture-stats-row .fixture-stats-value:last-child[b-e8kd4y306r] {
    text-align: left;
}

.fixture-stats-label[b-e8kd4y306r] {
    text-align: center;
    color: rgba(255,255,255,.5);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.fixture-stats-timeline-title[b-e8kd4y306r] {
    color: #d4af37;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 10px;
}

.fixture-stats-timeline[b-e8kd4y306r] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fixture-stats-timeline-row[b-e8kd4y306r] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    border-left: 3px solid transparent;
    font-size: 0.82rem;
}

.fixture-stats-timeline-row.is-home[b-e8kd4y306r] {
    border-left-color: #d4af37;
}

.fixture-stats-timeline-row.is-away[b-e8kd4y306r] {
    border-left-color: rgba(255,255,255,.3);
}

.fixture-stats-timeline-minute[b-e8kd4y306r] {
    color: rgba(255,255,255,.5);
    font-size: 0.72rem;
    min-width: 28px;
}

.fixture-stats-timeline-player[b-e8kd4y306r] {
    color: white;
    font-weight: 600;
}

.fixture-stats-timeline-assist[b-e8kd4y306r] {
    color: rgba(255,255,255,.45);
    font-size: 0.75rem;
}

.fixture-stats-empty[b-e8kd4y306r] {
    color: rgba(255,255,255,.45);
    font-size: 0.8rem;
    margin: 0;
}

.fixture-date[b-e8kd4y306r] {
    font-size: 0.7rem;
    color: rgba(255,255,255,.45);
    margin-bottom: 6px;
}

.fixture-teams[b-e8kd4y306r] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fixture-team-link[b-e8kd4y306r] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;

    color: rgba(255,255,255,.9);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.88rem;

    transition: .15s;
}

.fixture-team-home[b-e8kd4y306r] {
    justify-content: flex-end;
    text-align: right;
}

.fixture-team-away[b-e8kd4y306r] {
    justify-content: flex-start;
    text-align: left;
}

.fixture-team-link:hover[b-e8kd4y306r] {
    color: #d4af37;
}

.fixture-logo[b-e8kd4y306r] {
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}

.fixture-score[b-e8kd4y306r] {
    flex-shrink: 0;
    min-width: 56px;
    text-align: center;
    font-size: 0.95rem;
    color: white;
}

.fixtures-vs[b-e8kd4y306r] {
    color: rgba(255,255,255,.35);
    font-weight: 400;
    font-size: 0.8rem;
}

.fixture-status[b-e8kd4y306r] {
    margin-top: 8px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.fixtures-status[b-e8kd4y306r] {
    font-size: 0.68rem;
    padding: 3px 10px;
    border-radius: 999px;
    display: inline-block;
}

.status-played[b-e8kd4y306r] {
    background: rgba(76,175,80,.14);
    color: #7ed88b;
    border: 1px solid rgba(76,175,80,.3);
}

.status-scheduled[b-e8kd4y306r] {
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.6);
    border: 1px solid rgba(255,255,255,.12);
}

.fixtures-watch-link[b-e8kd4y306r] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-size: 0.7rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.fixtures-watch-link:hover[b-e8kd4y306r] {
    background: rgba(212,175,55,.3);
}

.fixtures-stats-link[b-e8kd4y306r] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.75);
    font-size: 0.7rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
}

.fixtures-stats-link:hover[b-e8kd4y306r] {
    background: rgba(255,255,255,.16);
    color: white;
}

.my-team[b-e8kd4y306r] {
    color: #d4af37 !important;
    font-weight: 800;
    text-shadow: 0 0 8px rgba(212,175,55,.3);
}

/* =========================
   MY MATCHES LIST
   ========================= */

.my-matches-list[b-e8kd4y306r] {
    margin-top: 20px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;

    display: flex;
    flex-direction: column;
    gap: 8px;
}

.my-match-row-wrapper[b-e8kd4y306r] {
    background: #1c1f26;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    overflow: hidden;
}

.my-match-row[b-e8kd4y306r] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
}

/* Marks the next upcoming fixture on your own calendar — the one
   piece of context "My Matches" adds beyond what the matchday view
   already shows, since scanning your own run-in for "what's next" is
   exactly why this view exists. */
.my-match-row.is-next[b-e8kd4y306r] {
    box-shadow: inset 0 0 0 1px rgba(212,175,55,.5);
}

.my-match-row-wrapper .fixture-stats-inline[b-e8kd4y306r] {
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: none;
    padding: 14px 16px 16px;
}

.my-match-matchday[b-e8kd4y306r] {
    flex-shrink: 0;
    width: 48px;
    font-size: 0.7rem;
    font-weight: 700;
    color: rgba(255,255,255,.4);
}

.my-match-date[b-e8kd4y306r] {
    flex-shrink: 0;
    width: 60px;
    font-size: 0.78rem;
    color: rgba(255,255,255,.55);
}

.my-match-opponent[b-e8kd4y306r] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.my-match-venue[b-e8kd4y306r] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.6);
    font-size: 0.68rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.my-match-opponent-link[b-e8kd4y306r] {
    color: rgba(255,255,255,.9);
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.my-match-opponent-link:hover[b-e8kd4y306r] {
    color: #d4af37;
}

.my-match-result[b-e8kd4y306r] {
    flex-shrink: 0;
    min-width: 56px;
    text-align: center;
}

.my-match-score[b-e8kd4y306r] {
    font-weight: 800;
    font-size: 0.92rem;
}

.result-win[b-e8kd4y306r] {
    color: #7ed88b;
}

.result-draw[b-e8kd4y306r] {
    color: rgba(255,255,255,.65);
}

.result-loss[b-e8kd4y306r] {
    color: #ff6b6b;
}

.my-match-status[b-e8kd4y306r] {
    flex-shrink: 0;
    min-width: 70px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

/* Mobile */
@media (max-width: 700px) {
    .fixtures-page[b-e8kd4y306r] {
        padding: 20px 12px;
    }

    .fixtures-header[b-e8kd4y306r] {
        align-items: stretch;
    }

    .fixtures-view-toggle[b-e8kd4y306r] {
        align-self: flex-start;
    }

    .fixture-team-link span[b-e8kd4y306r] {
        font-size: 0.82rem;
    }

    .fixture-score[b-e8kd4y306r] {
        min-width: 44px;
        font-size: 0.85rem;
    }

    .my-match-matchday[b-e8kd4y306r],
    .my-match-date[b-e8kd4y306r] {
        display: none;
    }

    .my-match-status[b-e8kd4y306r] {
        min-width: auto;
    }
}
/* /Components/Pages/Forum/ForumCategoryView.razor.rz.scp.css */
.forum-category-header[b-42xv7ygdhi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.btn-new-thread[b-42xv7ygdhi] {
    padding: 8px 18px;
    border-radius: 8px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
}

.btn-new-thread:hover[b-42xv7ygdhi] {
    background: rgba(212,175,55,.3);
}

.forum-thread-table[b-42xv7ygdhi] {
    margin-top: 20px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    overflow: hidden;
}

.forum-thread-table-header[b-42xv7ygdhi] {
    display: flex;
    background: rgba(212,175,55,.1);
    font-size: 0.75rem;
    font-weight: 700;
    color: #d4af37;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.forum-thread-table-header > div[b-42xv7ygdhi],
.forum-thread-table-row > div[b-42xv7ygdhi] {
    padding: 12px 16px;
}

.forum-thread-table-row[b-42xv7ygdhi] {
    display: flex;
    background: rgba(15,15,15,.55);
    border-top: 1px solid rgba(255,255,255,.06);
    align-items: center;
}

.forum-thread-table-row:hover[b-42xv7ygdhi] {
    background: rgba(212,175,55,.05);
}

.forum-thread-col-topic[b-42xv7ygdhi] {
    flex: 1 1 auto;
    min-width: 0;
}

.forum-thread-col-replies[b-42xv7ygdhi],
.forum-thread-col-views[b-42xv7ygdhi] {
    flex: 0 0 80px;
    text-align: center;
    color: rgba(255,255,255,.75);
}

.forum-thread-col-last[b-42xv7ygdhi] {
    flex: 0 0 200px;
    font-size: 0.8rem;
}

.forum-thread-title-line[b-42xv7ygdhi] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.forum-thread-title-link[b-42xv7ygdhi] {
    color: white;
    text-decoration: none;
    font-weight: 600;
}

.forum-thread-title-link:hover[b-42xv7ygdhi] {
    color: #d4af37;
}

.forum-pin-icon[b-42xv7ygdhi],
.forum-lock-icon[b-42xv7ygdhi] {
    font-size: 0.85rem;
}

.forum-thread-sub[b-42xv7ygdhi] {
    font-size: 0.75rem;
    color: rgba(255,255,255,.45);
    margin-top: 4px;
}

.forum-last-by[b-42xv7ygdhi] {
    font-weight: 700;
    color: #d4af37;
}

.forum-last-time[b-42xv7ygdhi] {
    color: rgba(255,255,255,.5);
    margin-top: 2px;
}

@media (max-width: 700px) {
    .forum-thread-table-header[b-42xv7ygdhi] {
        display: none;
    }

    .forum-thread-table-row[b-42xv7ygdhi] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .forum-thread-col-replies[b-42xv7ygdhi]::before {
        content: "Replies: ";
        color: rgba(255,255,255,.4);
    }

    .forum-thread-col-views[b-42xv7ygdhi]::before {
        content: "Views: ";
        color: rgba(255,255,255,.4);
    }

    .forum-thread-col-last[b-42xv7ygdhi] {
        flex: none;
    }
}
/* /Components/Pages/Forum/ForumIndex.razor.rz.scp.css */
.forum-page[b-zrdfxvtxbp] {
    width: 100%;
    padding: 40px 16px;

    display: flex;
    justify-content: center;
}

.forum-group[b-zrdfxvtxbp] {
    margin-top: 20px;
}

.forum-group-header[b-zrdfxvtxbp] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.forum-group-title[b-zrdfxvtxbp] {
    color: #d4af37;
    font-weight: 700;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.forum-group-divider[b-zrdfxvtxbp] {
    flex-grow: 1;
    height: 1px;
    background: rgba(212,175,55,.25);
}

.forum-table[b-zrdfxvtxbp] {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
}

.forum-table-header[b-zrdfxvtxbp] {
    display: flex;

    background: #14161c;
    color: #d4af37;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: .05em;

    padding: 12px 20px;
    border-bottom: 2px solid rgba(212,175,55,.25);
}

.forum-table-row[b-zrdfxvtxbp] {
    display: flex;

    padding: 16px 20px;
    background: #101216;
    border-bottom: 1px solid rgba(255,255,255,.06);

    transition: .15s;
}

.forum-table-row:hover[b-zrdfxvtxbp] {
    background: #16181e;
}

.forum-table-row:last-child[b-zrdfxvtxbp] {
    border-bottom: none;
}

.forum-col-name[b-zrdfxvtxbp] {
    flex: 2;
    min-width: 0;
    padding-right: 20px;
}

.forum-col-last[b-zrdfxvtxbp] {
    flex: 1;
    min-width: 0;
}

.forum-cat-name[b-zrdfxvtxbp] {
    color: #d4af37;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.05rem;

    display: inline-flex;
    align-items: center;
}

.forum-cat-name:hover[b-zrdfxvtxbp] {
    text-decoration: underline;
}

.forum-cat-flag[b-zrdfxvtxbp] {
    width: 18px;
    height: 13px;
    object-fit: cover;
    border-radius: 2px;
    margin-right: 6px;
    flex-shrink: 0;
}

.forum-cat-description[b-zrdfxvtxbp] {
    color: rgba(255,255,255,.6);
    font-size: 0.85rem;
    margin-top: 4px;
}

.forum-no-posts[b-zrdfxvtxbp] {
    color: rgba(255,255,255,.35);
    font-style: italic;
    font-size: 0.85rem;
}

.forum-last-thread-title[b-zrdfxvtxbp] {
    display: block;
    color: white;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.forum-last-thread-title:hover[b-zrdfxvtxbp] {
    color: #d4af37;
}

.forum-last-meta[b-zrdfxvtxbp] {
    font-size: 0.8rem;
    color: rgba(255,255,255,.55);
    margin-top: 4px;
}

.forum-last-author[b-zrdfxvtxbp] {
    color: #d4af37;
    font-weight: 600;
}

.forum-last-time[b-zrdfxvtxbp] {
    font-size: 0.75rem;
    color: rgba(255,255,255,.4);
    margin-top: 2px;
}

@media (max-width: 700px) {
    .forum-page[b-zrdfxvtxbp] {
        padding: 20px 12px;
    }

    .forum-table-header[b-zrdfxvtxbp] {
        display: none;
    }

    .forum-table-row[b-zrdfxvtxbp] {
        flex-direction: column;
        gap: 10px;
        padding: 14px 16px;
    }

    .forum-col-name[b-zrdfxvtxbp],
    .forum-col-last[b-zrdfxvtxbp] {
        flex: none;
        padding-right: 0;
    }
}
/* /Components/Pages/Forum/ForumThreadView.razor.rz.scp.css */
.forum-thread-header[b-aro6plbfh2] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.forum-back-link[b-aro6plbfh2] {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    font-size: 0.8rem;
    width: fit-content;
}

.forum-back-link:hover[b-aro6plbfh2] {
    color: #d4af37;
}

.forum-thread-title-row[b-aro6plbfh2] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.forum-pinned-tag[b-aro6plbfh2] {
    font-size: 0.65rem;
    font-weight: 800;
    color: #d4af37;
    border: 1px solid rgba(212,175,55,.4);
    border-radius: 4px;
    padding: 2px 6px;
}

.forum-locked-tag[b-aro6plbfh2] {
    font-size: 0.9rem;
}

.forum-mod-bar[b-aro6plbfh2] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.mod-btn[b-aro6plbfh2] {
    padding: 6px 14px;
    border-radius: 6px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.15);
    color: white;
    font-size: 0.8rem;
    cursor: pointer;
}

.mod-btn:hover[b-aro6plbfh2] {
    background: rgba(255,255,255,.12);
}

.mod-btn-danger[b-aro6plbfh2] {
    background: rgba(200,60,60,.15);
    border-color: rgba(200,60,60,.4);
    color: #e08080;
}

.mod-btn-danger:hover[b-aro6plbfh2] {
    background: rgba(200,60,60,.3);
}

.mod-btn-small[b-aro6plbfh2] {
    padding: 4px 10px;
    font-size: 0.7rem;
}

.forum-pagination[b-aro6plbfh2] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.page-btn[b-aro6plbfh2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 6px;
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.12);
    color: white;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
}

.page-btn:hover[b-aro6plbfh2] {
    border-color: rgba(212,175,55,.4);
}

.page-btn-active[b-aro6plbfh2] {
    background: rgba(212,175,55,.2);
    border-color: rgba(212,175,55,.6);
    color: #d4af37;
}

.page-btn-disabled[b-aro6plbfh2] {
    opacity: 0.35;
    pointer-events: none;
}

.forum-post-row[b-aro6plbfh2] {
    display: flex;
    flex-direction: row-reverse;
    gap: 0;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
}

.forum-post-sidebar[b-aro6plbfh2] {
    flex: 0 0 160px;
    background: rgba(212,175,55,.05);
    border-left: 1px solid rgba(255,255,255,.08);
    padding: 14px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.forum-author-name[b-aro6plbfh2] {
    font-weight: 700;
    color: #d4af37;
    font-size: 0.9rem;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.forum-author-name:hover[b-aro6plbfh2] {
    text-decoration: underline;
}

/* VIP status — same shimmering-pill treatment as the supporter tag
   below, just in silver, so the two read as siblings in the same
   "flair" family. A user can hold both at once (VIP status + a bought
   supporter tag), so both render side by side when applicable. */
.forum-vip-tag[b-aro6plbfh2] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #1a1a1a;
    background: linear-gradient(
        110deg,
        #a9adb3 0%,
        #f5f7fa 35%,
        #a9adb3 50%,
        #f5f7fa 65%,
        #a9adb3 100%
    );
    background-size: 250% 100%;
    animation: forum-vip-shine-b-aro6plbfh2 3s linear infinite;
    box-shadow: 0 0 8px rgba(180, 184, 190, 0.55);
    flex-shrink: 0;
}

@keyframes forum-vip-shine-b-aro6plbfh2 {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 250% 50%;
    }
}

/* A one-time GL-Coin purchase (Manage/Index.razor) — a continuously
   shimmering gold pill next to the name, distinct in color from the
   VIP tag above so a bought flair never reads as an earned achievement. */
.forum-supporter-tag[b-aro6plbfh2] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #1a1300;
    background: linear-gradient(
        110deg,
        #d4af37 0%,
        #fff6d0 35%,
        #d4af37 50%,
        #fff6d0 65%,
        #d4af37 100%
    );
    background-size: 250% 100%;
    animation: forum-supporter-shine-b-aro6plbfh2 3s linear infinite;
    box-shadow: 0 0 8px rgba(212, 175, 55, 0.55);
    flex-shrink: 0;
}

@keyframes forum-supporter-shine-b-aro6plbfh2 {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 250% 50%;
    }
}

/* Admin — same shimmering-pill family as VIP/Supporter, in red, with a
   brighter/wider glow so it reads as the most "blingy" of the three
   (site authority, not a purchase or perk). Driven directly off the
   existing AuthorRole string, no separate flag needed. */
.forum-admin-tag[b-aro6plbfh2] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #2a0000;
    background: linear-gradient(
        110deg,
        #b81c1c 0%,
        #ff8a8a 35%,
        #b81c1c 50%,
        #ff8a8a 65%,
        #b81c1c 100%
    );
    background-size: 250% 100%;
    animation: forum-admin-shine-b-aro6plbfh2 2.4s linear infinite;
    box-shadow: 0 0 12px rgba(255, 50, 50, 0.75);
    flex-shrink: 0;
}

@keyframes forum-admin-shine-b-aro6plbfh2 {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 250% 50%;
    }
}

/* Forum Moderator — same shimmering-pill family, in blue, driven off
   IsAuthorModerator (a dedicated Moderator role, separate from Admin —
   see the moderatorUserIds lookup in ForumThreadView.razor's @code). */
.forum-moderator-tag[b-aro6plbfh2] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #00152a;
    background: linear-gradient(
        110deg,
        #1c5cb8 0%,
        #8ac4ff 35%,
        #1c5cb8 50%,
        #8ac4ff 65%,
        #1c5cb8 100%
    );
    background-size: 250% 100%;
    animation: forum-moderator-shine-b-aro6plbfh2 2.4s linear infinite;
    box-shadow: 0 0 12px rgba(50, 130, 255, 0.75);
    flex-shrink: 0;
}

@keyframes forum-moderator-shine-b-aro6plbfh2 {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 250% 50%;
    }
}

.forum-author-role[b-aro6plbfh2] {
    font-size: 0.7rem;
    color: rgba(255,255,255,.5);
}

.forum-author-registered[b-aro6plbfh2] {
    font-size: 0.65rem;
    color: rgba(255,255,255,.4);
    margin-top: 6px;
}

.forum-author-team[b-aro6plbfh2] {
    font-size: 0.7rem;
    color: #8fb3d9;
    text-decoration: none;
    margin-top: 4px;
}

.forum-author-team:hover[b-aro6plbfh2] {
    text-decoration: underline;
}

.forum-post-main[b-aro6plbfh2] {
    flex: 1 1 auto;
    min-width: 0;
    background: #e9e6de;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Alternating tint by DISPLAY position (1st/3rd/5th... vs 2nd/4th/6th...,
   see postDisplayIndex in ForumThreadView.razor) rather than a raw CSS
   nth-child on .forum-post-row — the pagination bar sits as a sibling
   before the post list, which would throw off nth-child's count. Subtle
   on purpose: both are the same light "paper" family, just a small step
   apart, so consecutive posts read as visually distinct without looking
   like two different card styles. */
.forum-post-row-even .forum-post-main[b-aro6plbfh2] {
    background: #d4cfc0;
}

.forum-post-meta[b-aro6plbfh2] {
    font-size: 0.9rem;
    color: rgba(0,0,0,.55);
}

.forum-post-author-inline[b-aro6plbfh2] {
    color: #8a6416;
    font-weight: 700;
    font-size: 1.05rem;
}

.forum-edited[b-aro6plbfh2] {
    font-style: italic;
}

.forum-post-content[b-aro6plbfh2] {
    white-space: pre-wrap;
    line-height: 1.55;
    color: #262421;
}

.forum-post-footer[b-aro6plbfh2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.forum-vote-buttons[b-aro6plbfh2] {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.vote-btn[b-aro6plbfh2] {
    padding: 5px 12px;
    border-radius: 6px;
    background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.15);
    color: rgba(0,0,0,.75);
    font-size: 0.8rem;
    cursor: pointer;
}

.vote-btn:hover:not(:disabled)[b-aro6plbfh2] {
    border-color: rgba(212,175,55,.6);
}

.vote-btn:disabled[b-aro6plbfh2] {
    opacity: 0.4;
    cursor: not-allowed;
}

.vote-btn.vote-active.vote-like[b-aro6plbfh2] {
    background: rgba(60,150,60,.2);
    border-color: rgba(60,150,60,.5);
    color: #2f7d2f;
}

.vote-btn.vote-active.vote-dislike[b-aro6plbfh2] {
    background: rgba(200,60,60,.15);
    border-color: rgba(200,60,60,.4);
    color: #b03030;
}

.forum-reply-box[b-aro6plbfh2] {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.forum-reply-input[b-aro6plbfh2] {
    background: #e9e6de;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    color: #262421;
    padding: 12px;
    font-family: inherit;
    resize: vertical;
}

.forum-reply-input:focus[b-aro6plbfh2] {
    outline: none;
    border-color: rgba(212,175,55,.6);
}

.forum-error[b-aro6plbfh2] {
    color: #e08080;
    font-size: 0.85rem;
}

.btn-new-thread[b-aro6plbfh2] {
    width: fit-content;
    padding: 10px 24px;
    border-radius: 8px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
}

.btn-new-thread:hover[b-aro6plbfh2] {
    background: rgba(212,175,55,.3);
}

.btn-new-thread:disabled[b-aro6plbfh2] {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 700px) {
    .forum-post-row[b-aro6plbfh2] {
        flex-direction: column;
    }

    .forum-post-sidebar[b-aro6plbfh2] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        border-left: none;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }
}
/* /Components/Pages/Forum/NewThread.razor.rz.scp.css */
.forum-back-link[b-14lsnsohvu] {
    color: rgba(255,255,255,.5);
    text-decoration: none;
    font-size: 0.8rem;
    display: block;
    margin-bottom: 10px;
    width: fit-content;
}

.forum-back-link:hover[b-14lsnsohvu] {
    color: #d4af37;
}

.new-thread-form[b-14lsnsohvu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 20px;
}

.forum-form-label[b-14lsnsohvu] {
    font-size: 0.8rem;
    color: rgba(255,255,255,.6);
    margin-top: 10px;
}

.forum-form-input[b-14lsnsohvu] {
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    color: white;
    padding: 12px;
    font-family: inherit;
}

.forum-form-input:focus[b-14lsnsohvu] {
    outline: none;
    border-color: rgba(212,175,55,.5);
}

.forum-reply-input[b-14lsnsohvu] {
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    color: white;
    padding: 12px;
    font-family: inherit;
    resize: vertical;
}

.forum-reply-input:focus[b-14lsnsohvu] {
    outline: none;
    border-color: rgba(212,175,55,.5);
}

.forum-error[b-14lsnsohvu] {
    color: #e08080;
    font-size: 0.85rem;
}

.btn-new-thread[b-14lsnsohvu] {
    margin-top: 12px;
    width: fit-content;
    padding: 10px 24px;
    border-radius: 8px;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
}

.btn-new-thread:hover[b-14lsnsohvu] {
    background: rgba(212,175,55,.3);
}

.btn-new-thread:disabled[b-14lsnsohvu] {
    opacity: 0.6;
    cursor: not-allowed;
}
/* /Components/Pages/Friendlies.razor.rz.scp.css */
.fr-page[b-ow1nmzzkrp] {
    width: 100%;
    padding: 40px 16px;
}

.fr-section-title[b-ow1nmzzkrp] {
    color: #d4af37;
    font-family: 'Rajdhani', Arial, sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 12px;
}

.fr-open-title[b-ow1nmzzkrp] {
    margin-top: 28px;
}

.fr-post-card[b-ow1nmzzkrp] {
    margin-top: 16px;
}

.fr-form-row[b-ow1nmzzkrp] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
}

.fr-label[b-ow1nmzzkrp] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: rgba(255,255,255,.7);
    font-size: 0.85rem;
    flex: 0 0 auto;
}

.fr-label-wide[b-ow1nmzzkrp] {
    flex: 1 1 260px;
}

.fr-kickoff-hint[b-ow1nmzzkrp] {
    margin: 0;
}

.fr-label input[type="datetime-local"][b-ow1nmzzkrp]::-webkit-calendar-picker-indicator {
    filter: invert(70%) sepia(46%) saturate(700%) hue-rotate(358deg) brightness(95%) contrast(94%);
    cursor: pointer;
}

.fr-post-btn[b-ow1nmzzkrp] {
    width: auto;
    padding: 10px 28px;
}

.fr-accept-btn[b-ow1nmzzkrp] {
    padding: 8px 18px;
}

.fr-error[b-ow1nmzzkrp] {
    color: #ff6b6b;
    font-size: 0.9rem;
    margin: 10px 0 0;
}

@media (max-width: 700px) {
    .fr-form-row[b-ow1nmzzkrp] {
        flex-direction: column;
        align-items: stretch;
    }

    .fr-post-btn[b-ow1nmzzkrp] {
        width: 100%;
    }
}
/* /Components/Pages/Help/Faq.razor.rz.scp.css */
.faq-page[b-57rn30pnah] {
    padding: 10px 0 20px;
}

.faq-admin-bar[b-57rn30pnah] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.faq-add-button[b-57rn30pnah] {
    width: auto;
    margin-top: 0;
    padding: 12px 22px;
}

.faq-edit-card[b-57rn30pnah] {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(212, 175, 55, .25);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
}

.faq-edit-card-inline[b-57rn30pnah] {
    margin-bottom: 0;
    margin-top: 6px;
}

.faq-field-spacing[b-57rn30pnah] {
    margin-top: 14px;
}

.faq-textarea[b-57rn30pnah] {
    resize: vertical;
    font-family: inherit;
}

.faq-edit-actions[b-57rn30pnah] {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}

.faq-inline-button[b-57rn30pnah] {
    width: auto;
    margin-top: 0;
    padding: 10px 20px;
}

/* MudExpansionPanels already picks up the app's dark/gold Mud theme
   (see MainLayout.razor's _theme), so no color overrides needed here —
   just spacing between panels and rounding to match the rest of the
   esm-* design system's card language. ::deep is Blazor CSS isolation's
   combinator for reaching into a child component's rendered markup —
   MudExpansionPanel's internal DOM isn't part of THIS component's own
   scope, so a plain selector here wouldn't match anything at all. */
.faq-panels[b-57rn30pnah]  .mud-expand-panel {
    background: rgba(15, 15, 15, .88) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 12px !important;
    margin-bottom: 12px;
    overflow: hidden;
}

/* Question color — rendered via TitleContent now instead of the plain
   Text parameter, specifically so it can be styled independently from
   the answer below it. */
.faq-category-header[b-57rn30pnah] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 32px 0 12px;
    gap: 16px;
}

.faq-category-header:first-child[b-57rn30pnah] {
    margin-top: 0;
}

.faq-category-title[b-57rn30pnah] {
    margin-bottom: 0;
    color: #d4af37;
}

.faq-category-admin-actions[b-57rn30pnah] {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.faq-category-edit-input[b-57rn30pnah] {
    max-width: 320px;
    margin-bottom: 0;
}

.faq-question-text[b-57rn30pnah] {
    color: #d4af37;
    font-weight: 600;
}

.faq-answer-text[b-57rn30pnah] {
    padding-top: 4px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .92);
}

/* Answers now render via MarkupString, so any <a> tags an admin types
   into the Answer field (e.g. social links) come through as real,
   clickable links. */
.faq-answer-text a[b-57rn30pnah] {
    color: #4da3ff;
    text-decoration: underline;
}

.faq-answer-text a:hover[b-57rn30pnah] {
    color: #7dbcff;
}

.faq-item-admin-actions[b-57rn30pnah] {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.faq-icon-button[b-57rn30pnah] {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .8);
    border-radius: 8px;
    width: 34px;
    height: 34px;
    cursor: pointer;
    font-size: .85rem;
    transition: .15s;
}

.faq-icon-button:hover[b-57rn30pnah] {
    background: rgba(212, 175, 55, .15);
    border-color: rgba(212, 175, 55, .4);
    color: #d4af37;
}

.faq-delete-button:hover[b-57rn30pnah] {
    background: rgba(244, 67, 54, .15);
    border-color: rgba(244, 67, 54, .4);
    color: #ff8a80;
}
/* /Components/Pages/Help/ReportIssue.razor.rz.scp.css */
.report-page[b-v5hd8ijxhl] {
    padding: 10px 0;
}

.report-intro[b-v5hd8ijxhl] {
    margin-bottom: 20px;
}

.report-field-spacing[b-v5hd8ijxhl] {
    margin-top: 16px;
}

/* The global .esm-input class (design-system.css) only sets color,
   background, and border-radius — no border, padding, or width at all.
   Every other page that's used it (Squad Numbers, etc.) added that
   missing polish in its own scoped CSS; this page was missing it
   entirely, which is exactly why the dropdowns fell back to the
   browser's raw default appearance (that black oval outline) and
   everything felt cramped with no spacing between fields. */
.report-page input.esm-input[b-v5hd8ijxhl],
.report-page select.esm-input[b-v5hd8ijxhl],
.report-page textarea.esm-input[b-v5hd8ijxhl] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 6px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 8px;
    font-size: .85rem;
    font-family: inherit;
}

.report-page input.esm-input:focus[b-v5hd8ijxhl],
.report-page select.esm-input:focus[b-v5hd8ijxhl],
.report-page textarea.esm-input:focus[b-v5hd8ijxhl] {
    outline: none;
    border-color: #d4af37;
    box-shadow: 0 0 0 3px rgba(212, 175, 55, .15);
}

/* Custom gold chevron replacing the browser's native dropdown arrow
   (appearance:none strips the native one, including that odd black
   outline some browsers render around unstyled <select> elements) —
   a small but genuinely "premium" touch matching the site's gold accent
   rather than a plain grey system arrow. */
.report-select[b-v5hd8ijxhl] {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23d4af37' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px !important;
}

.report-textarea[b-v5hd8ijxhl] {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}

.report-validation-error[b-v5hd8ijxhl] {
    color: #ff8a80;
    font-size: .85rem;
    margin-top: 10px;
}

.report-submit-button[b-v5hd8ijxhl] {
    display: block;
    width: auto;
    margin-top: 20px;
    padding: 11px 30px;
    font-size: .9rem;
}

.report-submit-button:disabled[b-v5hd8ijxhl] {
    opacity: .5;
    cursor: not-allowed;
}

.report-success[b-v5hd8ijxhl] {
    text-align: center;
    padding: 40px 24px;
}

.report-success-icon[b-v5hd8ijxhl] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.report-again-button[b-v5hd8ijxhl] {
    width: auto;
    margin-top: 20px;
    padding: 12px 24px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.landing-page[b-exv61dwhvl] {

    width: 100%;
    min-height: 100vh;

    background-image: url('/images/landingpagenologo.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;

    display: flex;
    flex-direction: column;

    justify-content: flex-start;
    align-items: center;

    padding-top: 40px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 40px;

    position: relative;
    overflow-x: hidden;
}

.landing-page[b-exv61dwhvl]::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .20);
    pointer-events: none;
}

.landing-logo[b-exv61dwhvl],
.esm-landing-logo[b-exv61dwhvl] {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 480px;
    height: auto;
    margin-bottom: 30px;
}

.authentication-card[b-exv61dwhvl] {
    position: relative;
    z-index: 5;
}

/* Tablet */
@media (max-width: 768px) {
    .landing-logo[b-exv61dwhvl],
    .esm-landing-logo[b-exv61dwhvl] {
        max-width: 340px;
        margin-bottom: 20px;
    }
}

/* Small phones */
@media (max-width: 480px) {
    .landing-page[b-exv61dwhvl] {
        padding-top: 24px;
    }
    .landing-logo[b-exv61dwhvl],
    .esm-landing-logo[b-exv61dwhvl] {
        max-width: 240px;
        margin-bottom: 16px;
    }

    /* The long descriptive paragraph between the subtitle and the CTA
       buttons is ~240px tall on its own — enough on its own to push
       "Play Free Now"/"Login" below the fold on a real phone. Reorder
       visually only (DOM order stays title -> subtitle -> paragraph ->
       buttons, so reading order/SEO/screen readers are unaffected) so
       the buttons land right under the subtitle and the paragraph
       drops below them instead of above. */
    .esm-hero-content[b-exv61dwhvl] {
        display: flex;
        flex-direction: column;
    }

    .esm-title[b-exv61dwhvl] {
        order: 1;
    }

    .esm-hero-subtitle[b-exv61dwhvl] {
        order: 2;
    }

    .esm-hero-buttons[b-exv61dwhvl] {
        order: 3;
    }

    .esm-hero-text[b-exv61dwhvl] {
        order: 4;
    }
}

.esm-how-it-works-intro[b-exv61dwhvl] {
    max-width: 60ch;
    margin: 0 auto 32px;
}

.esm-how-it-works-grid[b-exv61dwhvl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    margin-top: 32px;
    text-align: left;
}

.esm-how-it-works-step[b-exv61dwhvl] {
    position: relative;
}

.esm-how-it-works-number[b-exv61dwhvl] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: rgba(212,175,55,.15);
    border: 1px solid rgba(212,175,55,.4);
    color: #d4af37;
    font-weight: 700;
}

.esm-how-it-works-step h3[b-exv61dwhvl] {
    color: white;
    margin-bottom: 8px;
}

.landing-leaderboard-intro[b-exv61dwhvl] {
    max-width: 60ch;
    margin: 0 auto 32px;
}

/* .landing-page is a flex column with align-items: center, which sizes
   each flex item (including this section) to its own "fit-content"
   cross size rather than the viewport's width — normally harmless, but
   the table's un-wrappable content (ellipsis-truncated names, the
   one-word "Reputation" header) has a real min-content width the
   fit-content calculation won't shrink below, so on a narrow phone this
   section silently grows past the viewport instead of the table's own
   overflow-x: auto wrapper scrolling internally like it's supposed to
   — and .landing-page's overflow-x: hidden then clips the excess
   asymmetrically rather than reflowing it, which is what actually
   looked "off-center". A plain min-width: 0 does NOT fix this (verified
   — it only clamps the final used width, it doesn't change what
   min-content means for the fit-content formula); an explicit width
   forces the flex algorithm to use it directly instead of computing a
   content-based size at all. */
.landing-leaderboard[b-exv61dwhvl] {
    width: 100%;
}

.landing-leaderboard-card[b-exv61dwhvl] {
    max-width: 720px;
    margin: 0 auto;
    text-align: left;
}

.landing-leaderboard-table-wrapper[b-exv61dwhvl] {
    overflow-x: auto;
}

.landing-leaderboard-flag[b-exv61dwhvl] {
    width: 28px;
    height: 20px;
    object-fit: cover;
    border-radius: 3px;
    display: block;
}

.landing-leaderboard-club-link[b-exv61dwhvl] {
    color: white;
    text-decoration: none;
}

.landing-leaderboard-club-link:hover[b-exv61dwhvl] {
    color: #d4af37;
    text-decoration: underline;
}

/* Swapped by the mobile media query below — same full/short text-toggle
   pattern already used elsewhere in this codebase for tight mobile
   tables (see NationalTeamSelectionPage's position/button labels). */
.landing-leaderboard-rep-short[b-exv61dwhvl] {
    display: none;
}

/* The 5-column table (#, flag, club, manager, reputation) doesn't fit a
   phone width at full size even after the trim below — drop the rank
   column entirely (redundant with row order) and shrink everything else
   so the whole table actually fits without needing its own internal
   horizontal scroll. Only applied below 480px — there's plenty of room
   for a full name and the rank column on desktop, where truncating
   "Screenshot Manager" down to "Screenshot Ma..." would just be
   needless. */
@media (max-width: 480px) {
    .landing-leaderboard-rank[b-exv61dwhvl] {
        display: none;
    }

    .landing-leaderboard-rep-full[b-exv61dwhvl] {
        display: none;
    }

    .landing-leaderboard-rep-short[b-exv61dwhvl] {
        display: inline;
    }

    .landing-leaderboard-card .esm-table th[b-exv61dwhvl],
    .landing-leaderboard-card .esm-table td[b-exv61dwhvl] {
        padding: 6px 4px;
        font-size: 0.76rem;
    }

    .landing-leaderboard-club-link[b-exv61dwhvl],
    .landing-leaderboard-manager[b-exv61dwhvl] {
        display: inline-block;
        max-width: 62px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
    }
}
/* /Components/Pages/HowToPlay.razor.rz.scp.css */
/* Scoped styling for the /how-to-play guide.
   Layout classes come from the global wwwroot/css/design-system.css;
   this only adds what a long-form article needs. */

.htp-logo[b-c72v20yh7h] {
    height: 48px;
    width: auto;
}

/* An article is read left-to-right in a single column, so it gets a real
   measure limit rather than the centred marketing treatment used on
   /soccer-manager-game. */
.htp-article[b-c72v20yh7h] {
    max-width: 72ch;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1rem;
}

.htp-lede[b-c72v20yh7h] {
    margin-bottom: 2.5rem;
}

.htp-article h2[b-c72v20yh7h] {
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    text-align: left;
}

.htp-list[b-c72v20yh7h] {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.htp-list li[b-c72v20yh7h] {
    margin-bottom: 0.6rem;
}

.htp-shot[b-c72v20yh7h] {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.75rem 0;
    border-radius: 12px;
}

.htp-cta[b-c72v20yh7h] {
    margin-top: 3rem;
}

.htp-further[b-c72v20yh7h] {
    margin-top: 2rem;
    text-align: center;
}

/* See the matching note in SoccerManagerGame.razor.css — the stretch
   alignment on esm-landing-surface runs the footer's link row and its
   copyright line together on one line. */
.esm-landing-footer[b-c72v20yh7h] {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 640px) {
    .htp-article[b-c72v20yh7h] {
        padding: 1.75rem 1rem 1rem;
    }

    .htp-article h2[b-c72v20yh7h] {
        margin-top: 2rem;
    }
}
/* /Components/Pages/Inbox.razor.rz.scp.css */
.inbox-header[b-wln32eov3y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.inbox-header .esm-title[b-wln32eov3y] {
    margin: 0;
}

.inbox-compose-btn[b-wln32eov3y] {
    width: auto;
    margin-top: 0;
    white-space: nowrap;
}

/* Outlook-style compact list — one thin row per message instead of every
   message rendered fully open and stacked. Matches the app's existing
   card/panel palette (rgba(15,15,15,.88) surface, gold #d4af37 accent,
   subtle white-alpha borders) rather than introducing a new look. */

.inbox-list[b-wln32eov3y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.inbox-row[b-wln32eov3y] {
    background: rgba(15, 15, 15, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    overflow: hidden;
}

.inbox-row-expanded[b-wln32eov3y] {
    border-color: rgba(212, 175, 55, 0.4);
}

.inbox-row-summary[b-wln32eov3y] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;

    padding: 14px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: inherit;

    transition: background 0.15s ease;
}

.inbox-row-summary:hover[b-wln32eov3y] {
    background: rgba(255, 255, 255, 0.04);
}

.inbox-row-status[b-wln32eov3y] {
    flex: 0 0 auto;
    width: 10px;
    display: flex;
    justify-content: center;
}

.inbox-unread-dot[b-wln32eov3y] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3ddc84;
    display: inline-block;
}

.inbox-row-main[b-wln32eov3y] {
    flex: 1;
    min-width: 0; /* lets the preview span ellipsize instead of forcing the row wider */
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.inbox-row-sender[b-wln32eov3y] {
    color: #d4af37;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-row-sender-team[b-wln32eov3y] {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 400;
    margin-left: 4px;
}

.inbox-row-subject[b-wln32eov3y] {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-row-subject-unread[b-wln32eov3y] {
    color: white;
    font-weight: 700;
}

.inbox-row-preview[b-wln32eov3y] {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-row-date[b-wln32eov3y] {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.78rem;
    white-space: nowrap;
}

.inbox-row-detail[b-wln32eov3y] {
    padding: 4px 16px 18px 38px; /* left-aligns with the subject text, past the status dot column */
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.inbox-row-detail-meta[b-wln32eov3y] {
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.78rem;
    margin: 12px 0 10px;
}

.inbox-row-detail-body[b-wln32eov3y] {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.9rem;
    line-height: 1.55;
    white-space: pre-line; /* preserves paragraph breaks already in the stored message text */
    margin: 0 0 16px;
}

.inbox-row-detail-actions[b-wln32eov3y] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.inbox-row-detail-actions a.esm-button-secondary[b-wln32eov3y] {
    text-decoration: none;
    display: inline-block;
}

@media (max-width: 600px) {
    .inbox-row-summary[b-wln32eov3y] {
        padding: 12px;
        gap: 8px;
    }

    .inbox-row-date[b-wln32eov3y] {
        display: none;
    }

    .inbox-row-detail[b-wln32eov3y] {
        padding-left: 12px;
    }

    .inbox-row-detail-actions[b-wln32eov3y] {
        justify-content: stretch;
    }

    .inbox-row-detail-actions .esm-button-secondary[b-wln32eov3y] {
        flex: 1;
    }
}
/* /Components/Pages/League.razor.rz.scp.css */
.league-page[b-z1vyagrvbn] {
    width: 100%;
    padding: 40px 16px;

    display: flex;
    justify-content: center;
}

.league-header[b-z1vyagrvbn] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.league-badges[b-z1vyagrvbn] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.season-badge[b-z1vyagrvbn],
.matchday-badge[b-z1vyagrvbn] {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 7px 14px;

    border-radius: 999px;

    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);

    color: rgba(255,255,255,.65);
    font-size: 0.78rem;
    white-space: nowrap;
}

.season-badge strong[b-z1vyagrvbn],
.matchday-badge strong[b-z1vyagrvbn] {
    color: #d4af37;
    font-weight: 700;
}

.league-table-scroll[b-z1vyagrvbn] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.08);
}

.league-standings-table[b-z1vyagrvbn] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.87rem;
    background: #0c0d10;
}

/* Header — quiet and small, not a loud gold banner. This is the single
   biggest driver of the "premium" vs. "busy" read of the whole table:
   a header that doesn't compete with the data. */
.league-standings-table thead th[b-z1vyagrvbn] {
    background: #0c0d10;
    color: rgba(255,255,255,.4);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 0.68rem;
    padding: 16px 12px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,.08);
    white-space: nowrap;
}

.league-standings-table tbody td[b-z1vyagrvbn] {
    padding: 12px;
    text-align: center;
    color: rgba(255,255,255,.75);
    border-bottom: 1px solid rgba(255,255,255,.05);
    background: transparent;
}

.league-standings-table tbody tr:last-child td[b-z1vyagrvbn] {
    border-bottom: none;
}

.league-standings-table tbody tr:hover td[b-z1vyagrvbn] {
    background: rgba(255,255,255,.025);
}

.league-pos-col[b-z1vyagrvbn] {
    width: 36px;
    color: rgba(255,255,255,.5);
    font-weight: 600;
}

.league-pts-col[b-z1vyagrvbn] {
    color: white;
    font-weight: 700;
    font-size: 0.95rem;
}

.league-team-col[b-z1vyagrvbn] {
    text-align: left !important;
    min-width: 190px;
}

.league-row-crest[b-z1vyagrvbn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 10px;
}

.league-row-crest .team-crest[b-z1vyagrvbn] {
    width: 100%;
    height: 100%;
}

.team-link[b-z1vyagrvbn] {
    display: inline-flex;
    align-items: center;
    color: rgba(255,255,255,.9);
    text-decoration: none;
    font-weight: 600;
    transition: color .15s;
}

.team-link:hover[b-z1vyagrvbn] {
    color: #d4af37;
}

/* Position status — a thin accent bar on the row's leading edge instead
   of a full-row color wash. The wash approach reads as "busy"/dated;
   a quiet bar reads as the same information without fighting the data
   for attention. */
.league-pos-col[b-z1vyagrvbn] {
    border-left: 3px solid transparent;
}

.league-pos-champion .league-pos-col[b-z1vyagrvbn] {
    border-left-color: #d4af37;
}

.league-pos-cl .league-pos-col[b-z1vyagrvbn] {
    border-left-color: #2ecc71;
}

.league-pos-relegation .league-pos-col[b-z1vyagrvbn] {
    border-left-color: #e74c3c;
}

/* "Your team" is a separate signal from position status, so it can't
   reuse the same left-accent slot — a soft full-row tint plus a ring
   keeps it unambiguous even when the row ALSO happens to be in a
   status zone. */
.league-row-mine td[b-z1vyagrvbn] {
    background: rgba(212,175,55,.05);
}

.league-row-mine[b-z1vyagrvbn] {
    box-shadow: inset 0 0 0 1px rgba(212,175,55,.35);
}

.league-form-col[b-z1vyagrvbn] {
    width: 150px;
}

.league-form-dots[b-z1vyagrvbn] {
    display: flex;
    justify-content: center;
    gap: 5px;
}

.league-form-dot[b-z1vyagrvbn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.65rem;
    color: white;
    flex-shrink: 0;
}

.league-form-W[b-z1vyagrvbn] { background: #2ecc71; }
.league-form-D[b-z1vyagrvbn] { background: rgba(255,255,255,.25); }
.league-form-L[b-z1vyagrvbn] { background: #e74c3c; }

.league-legend[b-z1vyagrvbn] {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;

    font-size: 0.78rem;
    color: rgba(255,255,255,.5);
}

.legend-item[b-z1vyagrvbn] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-swatch[b-z1vyagrvbn] {
    width: 10px;
    height: 14px;
    border-radius: 2px;
    display: inline-block;
}

.legend-champion[b-z1vyagrvbn] { background: #d4af37; }
.legend-cl[b-z1vyagrvbn] { background: #2ecc71; }
.legend-relegation[b-z1vyagrvbn] { background: #e74c3c; }
.legend-mine[b-z1vyagrvbn] { background: rgba(212,175,55,.5); box-shadow: inset 0 0 0 1px #d4af37; }

/* Mobile */
@media (max-width: 700px) {
    .league-page[b-z1vyagrvbn] {
        padding: 20px 12px;
    }

    .league-standings-table[b-z1vyagrvbn] {
        font-size: 0.78rem;
    }

    .league-standings-table thead th[b-z1vyagrvbn],
    .league-standings-table tbody td[b-z1vyagrvbn] {
        padding: 9px 8px;
    }

    .league-team-col[b-z1vyagrvbn] {
        min-width: 130px;
    }

    .league-form-col[b-z1vyagrvbn] {
        width: 120px;
    }

    .league-form-dot[b-z1vyagrvbn] {
        width: 18px;
        height: 18px;
        font-size: 0.58rem;
    }

    .league-legend[b-z1vyagrvbn] {
        gap: 12px;
        font-size: 0.72rem;
    }
}
/* /Components/Pages/Leagues.razor.rz.scp.css */
.season-badge[b-srhxm9w5gr] {
    display: inline-block;

    margin-bottom: 20px;
    padding: 8px 16px;

    border-radius: 999px;

    background: rgba(64, 156, 255, 0.12);
    border: 1px solid rgba(64, 156, 255, 0.35);

    color: #7fc0ff;
    font-size: 0.85rem;
}

.leagues-layout[b-srhxm9w5gr] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 24px;
    align-items: start;
}

@media (max-width: 900px) {
    .leagues-layout[b-srhxm9w5gr] {
        grid-template-columns: 1fr;
    }
}

/* ---------- Side panel ---------- */

.leagues-panel[b-srhxm9w5gr] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    backdrop-filter: blur(12px);
    padding: 28px;
    min-height: 220px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.leagues-panel-empty[b-srhxm9w5gr] {
    text-align: center;
    padding: 24px 8px;
    color: rgba(255, 255, 255, 0.55);
}

.leagues-panel-empty-icon[b-srhxm9w5gr] {
    font-size: 2rem;
    margin-bottom: 8px;
}

.leagues-panel-empty h3[b-srhxm9w5gr] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 6px 0;
    font-size: 1.2rem;
}

.leagues-panel-empty p[b-srhxm9w5gr] {
    margin: 0;
    font-size: 0.9rem;
}

.leagues-panel-header[b-srhxm9w5gr] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.leagues-panel-flag[b-srhxm9w5gr] {
    font-size: 1.4rem;
    display: inline-flex;
}

.leagues-panel-country[b-srhxm9w5gr] {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
}

.leagues-division-list[b-srhxm9w5gr] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.leagues-division-btn[b-srhxm9w5gr] {
    display: block;
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 14px 16px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.leagues-division-btn:hover[b-srhxm9w5gr] {
    background: rgba(64, 156, 255, 0.12);
    border-color: rgba(64, 156, 255, 0.4);
    color: #fff;
}

.leagues-division-btn.active[b-srhxm9w5gr] {
    background: rgba(64, 156, 255, 0.18);
    border-color: #409cff;
    color: #fff;
    box-shadow: 0 0 0 1px rgba(64, 156, 255, 0.3);
}

/* ---------- Standings table ---------- */

.leagues-table-title[b-srhxm9w5gr] {
    margin-top: 32px;
    margin-bottom: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.3rem;
    font-weight: 600;
}

.league-table-scroll[b-srhxm9w5gr] {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.leagues-standings-table[b-srhxm9w5gr] {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.03);
    font-size: 0.9rem;
}

.leagues-standings-table thead th[b-srhxm9w5gr] {
    background: rgba(64, 156, 255, 0.14);
    color: #7fc0ff;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    font-weight: 700;
    padding: 12px 10px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.leagues-standings-table th.leagues-team-col[b-srhxm9w5gr],
.leagues-standings-table td.leagues-team-col[b-srhxm9w5gr] {
    text-align: left;
}

.leagues-standings-table tbody td[b-srhxm9w5gr] {
    padding: 10px;
    text-align: center;
    color: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.leagues-standings-table tbody tr:nth-child(even) td[b-srhxm9w5gr] {
    background: rgba(255, 255, 255, 0.02);
}

.leagues-standings-table tbody tr:hover td[b-srhxm9w5gr] {
    background: rgba(64, 156, 255, 0.08);
}

.leagues-team-link[b-srhxm9w5gr] {
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    font-weight: 500;
}

.leagues-team-link:hover[b-srhxm9w5gr] {
    color: #7fc0ff;
    text-decoration: underline;
}

.leagues-pts[b-srhxm9w5gr] {
    font-weight: 700;
    color: #7fc0ff !important;
}

.leagues-row-crest[b-srhxm9w5gr] {
    display: inline-block;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    margin-right: 6px;
}

.leagues-row-crest .team-crest[b-srhxm9w5gr] {
    width: 100%;
    height: 100%;
}
/* /Components/Pages/Lineup.razor.rz.scp.css */
.staged-lineup-notice[b-bjz3ugvl2r] {
    color: #d4af37;
    font-size: 0.8rem;
    margin: -10px 0 16px;
}

.lineup-page[b-bjz3ugvl2r]{
    max-width:1600px;
    margin:auto;
    padding:20px;
}

.toolbar[b-bjz3ugvl2r]{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
    flex-wrap: wrap;
    gap: 10px;
}

.toolbar-buttons[b-bjz3ugvl2r]{
    display:flex;
    gap:10px;
}

.toolbar button[b-bjz3ugvl2r]{
    padding:10px 18px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    background:#2b2b2b;
    color:white;
    font-weight:600;
}

.pitch-container[b-bjz3ugvl2r]{
    position:relative;
    width:100%;

    container-type: inline-size;
    container-name: pitch;
}

.pitch-image[b-bjz3ugvl2r]{
    width:100%;
    border-radius:20px;
    display:block;
}

.position-slot[b-bjz3ugvl2r]{

    position:absolute;

    transform:translate(-50%,-50%);

    width: 6.8cqw;
    height: 4.4cqw;

    border-radius:14px;

    background:rgba(36,36,36,.88);

    border:2px solid rgba(255,255,255,.15);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    color:white;

    transition:.2s;

    cursor:pointer;

    backdrop-filter:blur(5px);

    box-shadow:0 8px 20px rgba(0,0,0,.45);

    box-sizing: border-box;

}

.position-slot:hover[b-bjz3ugvl2r]{

    transform:translate(-50%,-55%) scale(1.04);

    box-shadow:0 16px 32px rgba(0,0,0,.55);

}

.position-slot[draggable="true"][b-bjz3ugvl2r]{

    cursor:grab;

}

.position-slot.dragging[b-bjz3ugvl2r]{

    opacity:.35;

}

.slot-position[b-bjz3ugvl2r]{

    font-size: 0.75cqw;

    letter-spacing:1px;

    opacity:.65;

}

.slot-player[b-bjz3ugvl2r]{

    font-size: 1.15cqw;

    font-weight:700;

}

.bench[b-bjz3ugvl2r]{

    margin-top:0px;

}

.bench-list[b-bjz3ugvl2r]{

    display:flex;

    gap:12px;

    overflow-x:auto;

    padding-bottom:8px;

}

.bench-player[b-bjz3ugvl2r]{

    position:absolute;

    transform:translate(-50%, -50%);

    width: 6.8cqw;
    height: 4.4cqw;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(36,36,36,.88);

    border:2px solid rgba(255,255,255,.12);

    border-radius:10px;

    color:white;

    font-size: 1.15cqw;

    font-weight:700;

    transition:.2s;

    box-sizing: border-box;

}

.bench-player[draggable="true"][b-bjz3ugvl2r]{

    cursor:grab;

}

.bench-player.dragging[b-bjz3ugvl2r]{

    opacity:.35;

}

.bench-player:hover[b-bjz3ugvl2r]{

    transform:translate(-50%,-50%) scale(1.04);

}

.available-players[b-bjz3ugvl2r]{

    margin-top:30px;

    width:100%;

    background:rgba(30,30,30,.92);

    border-radius:12px;

    padding:20px;

    color:white;
}

.available-players h3[b-bjz3ugvl2r]{

    margin-bottom:15px;

    font-size:18px;
}

.available-player[b-bjz3ugvl2r]{

    display:flex;

    align-items:center;

    gap:14px;

    padding:8px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

    cursor:pointer;

    transition:.15s;
}

.available-player:hover[b-bjz3ugvl2r]{

    color:#63ff63;

    padding-left:8px;
}

/* Previously this whole list had no "selected" visual state at all —
   unlike the pitch/bench cards (which use LineupPlayerCard's own
   .selected class), Available Players is custom inline markup with no
   equivalent hook. Matches the same gold highlight convention already
   used for .mobile-row-selected elsewhere in this file. */
.available-player-selected[b-bjz3ugvl2r] {
    background: rgba(212, 175, 55, .12);
    border-left: 3px solid #d4af37;
    padding-left: 11px; /* 14px column-gap minus the 3px border, so content doesn't jump */
    box-shadow: 0 0 12px rgba(212, 175, 55, .2);
}

.available-ovr[b-bjz3ugvl2r]{

    width:36px;

    font-weight:700;

    color:#FFD54F;
}

.available-name[b-bjz3ugvl2r]{

    flex:1;

    font-weight:600;
}

.available-position[b-bjz3ugvl2r]{

    opacity:.7;
}

/* =========================
   DESKTOP / MOBILE SWITCH
   ========================= */

.lineup-mobile[b-bjz3ugvl2r] {
    display: none;
}

@media (max-width: 600px) {

    .lineup-desktop[b-bjz3ugvl2r] {
        display: none;
    }

    .lineup-mobile[b-bjz3ugvl2r] {
        display: block;
    }

    .lineup-page[b-bjz3ugvl2r] {
        padding: 12px;
    }

    .mobile-lineup-panel[b-bjz3ugvl2r] {
        padding: 16px;
    }

    .mobile-lineup-title[b-bjz3ugvl2r] {
        font-size: 1.4rem;
        margin-bottom: 16px;
        text-align: center;
    }

    .mobile-toolbar-buttons[b-bjz3ugvl2r] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 24px;
    }

    .mobile-toolbar-buttons button[b-bjz3ugvl2r] {
        flex: 1;
        min-width: 90px;
        padding: 10px;
        border: none;
        border-radius: 8px;
        background: #2b2b2b;
        color: white;
        font-weight: 600;
        font-size: 0.8rem;
        cursor: pointer;
    }

    .mobile-lineup-section[b-bjz3ugvl2r] {
        margin: 20px 0 10px;
    }

    .mobile-lineup-list[b-bjz3ugvl2r] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 10px;
    }

    .mobile-lineup-row[b-bjz3ugvl2r] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        background: rgba(36,36,36,.88);
        border: 1px solid rgba(255,255,255,.10);
        border-radius: 10px;
        cursor: pointer;
        transition: .15s;
    }

    .mobile-lineup-row:hover[b-bjz3ugvl2r] {
        border-color: rgba(212,175,55,.4);
    }

    .mobile-row-selected[b-bjz3ugvl2r] {
        border-color: #d4af37;
        box-shadow: 0 0 12px rgba(212,175,55,.35);
    }

    .mobile-row-position[b-bjz3ugvl2r] {
        width: 36px;
        flex-shrink: 0;
        font-size: 0.7rem;
        font-weight: 700;
        color: #d4af37;
        text-transform: uppercase;
    }

    .mobile-row-ovr[b-bjz3ugvl2r] {
        width: 30px;
        flex-shrink: 0;
        font-weight: 700;
        color: #FFD54F;
    }

    .mobile-row-name[b-bjz3ugvl2r] {
        flex: 1;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-row-empty[b-bjz3ugvl2r] {
        flex: 1;
        opacity: .5;
        font-style: italic;
    }

    .available-players[b-bjz3ugvl2r] {
        padding: 14px;
        margin-top: 20px;
    }
}

/* =========================
   SUSPENSION STATES
   ========================= */

.suspended-slot[b-bjz3ugvl2r] {
    box-shadow: 0 0 14px 4px rgba(255,0,0,.65);
    border-radius: 10px;
    cursor: pointer;
}

.suspended-badge[b-bjz3ugvl2r] {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);

    font-size: 0.6cqw;
    font-weight: 800;
    letter-spacing: .05em;

    color: #ff6b6b;
    background: rgba(0,0,0,.75);

    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
}

.mobile-row-suspended[b-bjz3ugvl2r] {
    box-shadow: 0 0 10px 3px rgba(255,0,0,.55);
    border: 1px solid rgba(255,0,0,.5);
    cursor: pointer;
}

.mobile-suspended-tag[b-bjz3ugvl2r] {
    font-size: 0.65rem;
    font-weight: 800;
    color: #ff6b6b;
    background: rgba(244,67,54,.15);
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.available-player-suspended[b-bjz3ugvl2r] {
    box-shadow: 0 0 10px 3px rgba(255,0,0,.55);
    border: 1px solid rgba(255,0,0,.5);
    cursor: pointer;
}

.available-suspended-tag[b-bjz3ugvl2r] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 800;
    color: #ff6b6b;
}
.red-card-icon[b-bjz3ugvl2r] {
    display: inline-block;
    width: 10px;
    height: 14px;
    background: #d40000;
    border: 1px solid #7a0000;
    border-radius: 2px;
    vertical-align: middle;
}

.red-card-icon-corner[b-bjz3ugvl2r] {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 12px;
    height: 17px;
    background: #d40000;
    border: 1px solid #7a0000;
    border-radius: 2px;
    transform: rotate(12deg);
    z-index: 5;
}

.saved-message[b-bjz3ugvl2r] {
    color: #3ddc84;
    font-weight: 700;
    font-size: 0.85rem;
    align-self: center;
    margin-left: 8px;
}

.formation-select[b-bjz3ugvl2r] {
    padding: 6px 10px;
    border-radius: 6px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    font-size: 0.85rem;
    cursor: pointer;
}

.formation-select option[b-bjz3ugvl2r] {
    color: #1a1a1a;
    background-color: #ffffff;
}

.bench-empty[b-bjz3ugvl2r] {
    border: 1px dashed rgba(255,255,255,.25);
    background: rgba(255,255,255,.03);
}

.toolbar h2[b-bjz3ugvl2r] {
    color: #d4af37;
    text-shadow: 0 0 12px rgba(212,175,55,.4);
    font-weight: 800;
    letter-spacing: .03em;
}

.toolbar-buttons button[b-bjz3ugvl2r],
.mobile-toolbar-buttons button[b-bjz3ugvl2r] {
    background: linear-gradient(180deg, #f6e6a8, #d4af37);
    color: #1a1a1a;
    font-weight: 700;
    border: 1px solid #9c7a1e;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
}

.toolbar-buttons button:hover[b-bjz3ugvl2r],
.mobile-toolbar-buttons button:hover[b-bjz3ugvl2r] {
    background: linear-gradient(180deg, #fff0c2, #e0b93f);
}

/* =========================
   INJURY STATES
   Same red used for suspension/red-card styling, since a blue medic
   cross next to red suspension indicators looked inconsistent once
   the icon itself switched to red.
   ========================= */

.injured-slot[b-bjz3ugvl2r] {
    box-shadow: 0 0 14px 4px rgba(212, 0, 0, .65);
    border-radius: 10px;
    cursor: pointer;
}

.injury-icon-corner[b-bjz3ugvl2r] {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 14px;
    height: 14px;
    z-index: 5;

    background: #d40000;
    border: 1px solid #7a0000;
    border-radius: 3px;

    /* Simple plus/cross shape via two overlapping white bars. */
    background-image:
        linear-gradient(#fff, #fff),
        linear-gradient(#fff, #fff);
    background-size: 60% 16%, 16% 60%;
    background-position: center, center;
    background-repeat: no-repeat;
}

.injured-badge[b-bjz3ugvl2r] {
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);

    font-size: 0.55cqw;
    font-weight: 800;
    letter-spacing: .03em;

    color: #ff6b6b;
    background: rgba(0,0,0,.8);

    padding: 3px 8px;
    border-radius: 4px;
    white-space: nowrap;

    max-width: 160px;
    text-align: center;
}

.mobile-row-injured[b-bjz3ugvl2r] {
    box-shadow: 0 0 10px 3px rgba(212, 0, 0, .55);
    border: 1px solid rgba(212, 0, 0, .5);
    cursor: pointer;
}

.mobile-injured-tag[b-bjz3ugvl2r] {
    font-size: 0.65rem;
    font-weight: 800;
    color: #ff6b6b;
    background: rgba(212, 0, 0, .15);
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.available-player-injured[b-bjz3ugvl2r] {
    box-shadow: 0 0 10px 3px rgba(212, 0, 0, .55);
    border: 1px solid rgba(212, 0, 0, .5);
    cursor: pointer;
}

.available-injured-tag[b-bjz3ugvl2r] {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 800;
    color: #ff6b6b;
}

.injury-icon[b-bjz3ugvl2r] {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #d40000;
    border: 1px solid #7a0000;
    border-radius: 3px;
    vertical-align: middle;

    background-image:
        linear-gradient(#fff, #fff),
        linear-gradient(#fff, #fff);
    background-size: 60% 16%, 16% 60%;
    background-position: center, center;
    background-repeat: no-repeat;
}
/* /Components/Pages/ManagerProfile.razor.rz.scp.css */
.manager-page-desktop[b-f5tx17cuhu] {
    width: 100%;
    min-height: calc(100vh - 180px);
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0;
    margin: 0;
}

.manager-canvas[b-f5tx17cuhu] {
    position: relative;
    width: 100%;
    max-width: 1672px;
    aspect-ratio: 1672 / 941;

    background-image: url('/images/managerbackground.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;

    flex-shrink: 0;

    container-type: inline-size;
    container-name: manager-canvas;
}

.manager-overlay[b-f5tx17cuhu] {
    position: absolute;
    inset: 0;
    color: white;
    font-family: Arial, sans-serif;
}

.stat-manager-name[b-f5tx17cuhu] {
    position: absolute;
    top: 17.5%;
    left: 8%;
    width: 12%;

    font-size: 1cqw;
    font-weight: bold;
    color: white;
}

.stat-role[b-f5tx17cuhu] {
    position: absolute;
    top: 30.5%;
    left: 8%;
    width: 12%;

    font-size: 1cqw;
    font-weight: bold;
    color: white;
}

.stat-team[b-f5tx17cuhu] {
    position: absolute;
    top: 36.5%;
    left: 8%;
    width: 14%;

    font-size: 1cqw;
    font-weight: bold;
}

.stat-team-link[b-f5tx17cuhu] {
    color: white;
    text-decoration: none;
}

.stat-team-link:hover[b-f5tx17cuhu] {
    color: #d4af37;
    text-decoration: underline;
}

.stat-registered[b-f5tx17cuhu] {
    position: absolute;
    top: 42.5%;
    left: 8%;
    width: 20%;

    font-size: 0.9cqw;
    font-weight: bold;
    color: white;
}

.card-team-content[b-f5tx17cuhu] {
    position: absolute;
    top: 21%;
    left: 41%;
    width: 22%;
    height: 26%;

    font-size: 0.85cqw;
    overflow: hidden;
}

.card-badges-content[b-f5tx17cuhu] {
    position: absolute;
    top: 57%;
    left: 41%;
    width: 22%;
    height: 26%;

    display: flex;
    flex-wrap: wrap;
    gap: 0.6cqw;
    align-content: flex-start;
}

.badge-icon[b-f5tx17cuhu] {
    width: 9cqw;
    height: 9cqw;
    object-fit: contain;
}

.mobile-badges-grid[b-f5tx17cuhu] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.mobile-badges-grid .badge-icon[b-f5tx17cuhu] {
    width: 100%;
    height: auto;
}

.card-about-content[b-f5tx17cuhu] {
    position: absolute;
    top: 57%;
    left: 66%;
    width: 22%;
    height: 26%;

    font-size: 0.85cqw;
    overflow: hidden;
}

.card-row[b-f5tx17cuhu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.card-row:last-child[b-f5tx17cuhu] {
    border-bottom: none;
}

.card-row-label[b-f5tx17cuhu] {
    color: rgba(255,255,255,.55);
    font-size: 0.85em;
}

.card-row-link[b-f5tx17cuhu] {
    color: #d4af37;
    text-decoration: none;
    font-weight: 600;
}

.card-row-link:hover[b-f5tx17cuhu] {
    text-decoration: underline;
}

.card-empty-text[b-f5tx17cuhu] {
    color: rgba(255,255,255,.5);
    font-style: italic;
}

.card-bio-text[b-f5tx17cuhu] {
    line-height: 1.5;
    color: rgba(255,255,255,.9);
    white-space: pre-wrap;
    margin-bottom: 8px;
}

.card-bio-input[b-f5tx17cuhu] {
    width: 100%;
    background: #e9e6de;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 6px;
    color: #262421;
    padding: 8px;
    font-family: inherit;
    font-size: 1em;
    resize: vertical;
    margin-bottom: 8px;
}

.card-bio-input:focus[b-f5tx17cuhu] {
    outline: none;
    border-color: rgba(212,175,55,.6);
}

.card-bio-actions[b-f5tx17cuhu] {
    display: flex;
    gap: 6px;
}

.btn-gold-small[b-f5tx17cuhu] {
    padding: 4px 12px;
    border-radius: 6px;
    background: rgba(212,175,55,.2);
    border: 1px solid rgba(212,175,55,.5);
    color: #d4af37;
    font-weight: 700;
    font-size: 0.85em;
    cursor: pointer;
}

.btn-gold-small:hover[b-f5tx17cuhu] {
    background: rgba(212,175,55,.35);
}

.btn-plain-small[b-f5tx17cuhu] {
    padding: 4px 12px;
    border-radius: 6px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    font-size: 0.85em;
    cursor: pointer;
}

.btn-plain-small:hover[b-f5tx17cuhu] {
    background: rgba(255,255,255,.15);
}

.manager-page-mobile[b-f5tx17cuhu] {
    display: none;
}

@media (max-width: 600px) {

    .manager-page-desktop[b-f5tx17cuhu] {
        display: none;
    }

    .manager-page-mobile[b-f5tx17cuhu] {
        display: block;
        padding: 20px 16px 60px;
    }

    .mobile-manager-meta > div[b-f5tx17cuhu] {
        margin-bottom: 10px;
    }

    .mobile-manager-meta .esm-label[b-f5tx17cuhu] {
        display: inline;
        margin-right: 6px;
    }

    .mobile-stars[b-f5tx17cuhu] {
        color: #FFD700;
        letter-spacing: 0.08em;
    }

    .mobile-link[b-f5tx17cuhu] {
        color: #d4af37;
        text-decoration: none;
        font-weight: 600;
    }

    .mobile-link:hover[b-f5tx17cuhu] {
        text-decoration: underline;
    }
}
/* /Components/Pages/ManagerSettings.razor.rz.scp.css */
.manager-settings-page[b-of0xylo8gp] {
    width: 100%;
    min-height: calc(100vh - 180px);

    display: flex;
    justify-content: center;
    align-items: flex-start;

    padding: 40px;
}

.settings-panel[b-of0xylo8gp] {
    width: 100%;
    max-width: 700px;

    background: rgba(15,15,15,.88);

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 16px;

    padding: 40px;

    box-shadow: 0 0 30px rgba(0,0,0,.45);
}

.settings-panel h1[b-of0xylo8gp] {
    color: white !important;

    text-align: center;

    margin-bottom: 40px;

    font-size: 2.3rem;
}

.settings-panel h2[b-of0xylo8gp] {
    color: white !important;

    font-size: 1.2rem;

    margin-bottom: 20px;
}

.settings-panel label[b-of0xylo8gp] {
    color: white !important;

    display: block;

    margin-bottom: 8px;

    font-weight: 600;

    text-align: left;
}

.settings-section[b-of0xylo8gp] {
    margin-bottom: 40px;
}

.form-control[b-of0xylo8gp],
.form-select[b-of0xylo8gp] {
    margin-bottom: 20px;

    background: white;

    color: #333;
}

.settings-note[b-of0xylo8gp] {
    color: rgba(255,255,255,.75) !important;

    font-size: .9rem;

    line-height: 1.5;
}

.save-button[b-of0xylo8gp] {
    width: 100%;

    margin-top: 20px;

    padding: 14px;

    border: none;

    border-radius: 10px;

    background: #d4af37;

    color: black;

    font-size: 1rem;

    font-weight: bold;

    cursor: pointer;

    transition: .2s;
}

.save-button:hover[b-of0xylo8gp] {
    background: #e6c75a;
}

.settings-saved-message[b-of0xylo8gp] {
    color: #4caf50;

    font-weight: 600;

    font-size: .9rem;

    text-align: center;

    margin-top: 14px;
}
/* /Components/Pages/MatchView.razor.rz.scp.css */
.match-view-page[b-l9re8dmas0] {
    width: 100%;
    padding: 40px 16px;

    display: flex;
    justify-content: center;
}

.match-view-panel[b-l9re8dmas0] {
    max-width: 1300px;
    width: 100%;
}

.match-view-friendly-badge[b-l9re8dmas0] {
    display: inline-block;
    margin-bottom: 12px;
    padding: 5px 14px;
    border-radius: 20px;
    background: rgba(212, 175, 55, .12);
    border: 1px solid rgba(212, 175, 55, .4);
    color: #d4af37;
    font-family: 'Rajdhani', Arial, sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

@media (max-width: 600px) {
    .match-view-page[b-l9re8dmas0] {
        padding: 20px 12px;
    }
}
/* /Components/Pages/MyBids.razor.rz.scp.css */
.tm-page[b-j7mfab6k0w] {
    --tm-gold: #d4af37;
    --tm-blue: #409cff;
    --tm-blue-light: #7fc0ff;
    --tm-danger: #e05353;
    --tm-warning: #d4af37;
    --tm-success: #4caf50;
}

.tm-header[b-j7mfab6k0w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.tm-balance[b-j7mfab6k0w] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 10px 18px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 10px;
}

.tm-balance-label[b-j7mfab6k0w] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
}

.tm-balance-value[b-j7mfab6k0w] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tm-gold);
}

.tm-empty[b-j7mfab6k0w] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.tm-empty-icon[b-j7mfab6k0w] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.tm-empty h3[b-j7mfab6k0w] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}

.tm-empty a[b-j7mfab6k0w] {
    color: var(--tm-gold);
}

.tm-grid[b-j7mfab6k0w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}

.tm-lot-card[b-j7mfab6k0w] {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.tm-status-tag[b-j7mfab6k0w] {
    align-self: flex-start;
    padding: 3px 12px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tm-status-winning[b-j7mfab6k0w] {
    background: rgba(76, 175, 80, 0.15);
    color: var(--tm-success);
    border: 1px solid rgba(76, 175, 80, 0.4);
}

.tm-status-outbid[b-j7mfab6k0w] {
    background: rgba(224, 83, 83, 0.15);
    color: var(--tm-danger);
    border: 1px solid rgba(224, 83, 83, 0.4);
}

.tm-lot-header[b-j7mfab6k0w] {
    /* No ribbon on this page, so no need for the extra right padding
       Transfer List/My Listed Players reserve for it. */
}

.tm-lot-name[b-j7mfab6k0w] {
    font-size: 1.15rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-lot-meta[b-j7mfab6k0w] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 2px;
}

.tm-lot-stats[b-j7mfab6k0w] {
    display: flex;
    gap: 10px;
}

.tm-stat[b-j7mfab6k0w] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-stat-value[b-j7mfab6k0w] {
    font-weight: 700;
    color: var(--tm-blue-light);
    font-size: 0.95rem;
}

.tm-stat-label[b-j7mfab6k0w] {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.04em;
}

.tm-price-row[b-j7mfab6k0w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tm-price-block[b-j7mfab6k0w] {
    display: flex;
    flex-direction: column;
}

.tm-price-current[b-j7mfab6k0w] {
    font-size: 1.3rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-price-sub[b-j7mfab6k0w] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.45);
}

.tm-countdown[b-j7mfab6k0w] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 1rem;
    padding: 6px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-countdown.tm-calm[b-j7mfab6k0w] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-countdown.tm-warning[b-j7mfab6k0w] {
    background: rgba(212, 175, 55, 0.15);
    color: var(--tm-gold);
}

.tm-countdown.tm-urgent[b-j7mfab6k0w] {
    background: rgba(224, 83, 83, 0.18);
    color: var(--tm-danger);
    animation: tm-pulse-b-j7mfab6k0w 1s infinite;
}

@keyframes tm-pulse-b-j7mfab6k0w {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.tm-actions[b-j7mfab6k0w] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.tm-bid-input[b-j7mfab6k0w] {
    flex: 1;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: #fff;
    padding: 9px 10px;
    font-size: 0.85rem;
    min-width: 0;
}

.tm-bid-btn[b-j7mfab6k0w] {
    background: rgba(64, 156, 255, 0.15);
    border: 1px solid rgba(64, 156, 255, 0.4);
    color: var(--tm-blue-light);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.tm-bid-btn:hover[b-j7mfab6k0w] {
    background: rgba(64, 156, 255, 0.25);
}

.tm-buynow-btn[b-j7mfab6k0w] {
    background: linear-gradient(135deg, #d4af37, #b8952c);
    border: none;
    color: #14161c;
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.15s ease;
}

.tm-buynow-btn:hover[b-j7mfab6k0w] {
    transform: translateY(-1px);
}

.tm-action-message[b-j7mfab6k0w] {
    font-size: 0.78rem;
    color: var(--tm-blue-light);
    padding-top: 2px;
}
/* /Components/Pages/MyListedPlayers.razor.rz.scp.css */
.tm-page[b-zsvcy1dyax] {
    --tm-gold: #d4af37;
    --tm-blue: #409cff;
    --tm-blue-light: #7fc0ff;
    --tm-danger: #e05353;
    --tm-warning: #d4af37;
    --tm-success: #4caf50;
}

.tm-header[b-zsvcy1dyax] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.tm-empty[b-zsvcy1dyax] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.tm-empty-icon[b-zsvcy1dyax] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.tm-empty h3[b-zsvcy1dyax] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}

.tm-empty a[b-zsvcy1dyax] {
    color: var(--tm-gold);
}

.tm-grid[b-zsvcy1dyax] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 20px;
}

.tm-lot-card[b-zsvcy1dyax] {
    position: relative;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.tm-ribbon[b-zsvcy1dyax] {
    position: absolute;
    top: 14px;
    right: -8px;
    background: linear-gradient(135deg, #d4af37, #b8952c);
    color: #14161c;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 5px 14px 5px 10px;
    border-radius: 6px 0 0 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.tm-lot-header[b-zsvcy1dyax] {
    padding-right: 90px;
}

.tm-lot-name[b-zsvcy1dyax] {
    font-size: 1.15rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-lot-meta[b-zsvcy1dyax] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 2px;
}

.tm-lot-stats[b-zsvcy1dyax] {
    display: flex;
    gap: 10px;
}

.tm-stat[b-zsvcy1dyax] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-stat-value[b-zsvcy1dyax] {
    font-weight: 700;
    color: var(--tm-blue-light);
    font-size: 0.95rem;
}

.tm-stat-label[b-zsvcy1dyax] {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.04em;
}

.tm-price-row[b-zsvcy1dyax] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tm-price-block[b-zsvcy1dyax] {
    display: flex;
    flex-direction: column;
}

.tm-price-current[b-zsvcy1dyax] {
    font-size: 1.3rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-price-sub[b-zsvcy1dyax] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.45);
}

.tm-countdown[b-zsvcy1dyax] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 1rem;
    padding: 6px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-countdown.tm-calm[b-zsvcy1dyax] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-countdown.tm-warning[b-zsvcy1dyax] {
    background: rgba(212, 175, 55, 0.15);
    color: var(--tm-gold);
}

.tm-countdown.tm-urgent[b-zsvcy1dyax] {
    background: rgba(224, 83, 83, 0.18);
    color: var(--tm-danger);
    animation: tm-pulse-b-zsvcy1dyax 1s infinite;
}

@keyframes tm-pulse-b-zsvcy1dyax {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.tm-bid-history-title[b-zsvcy1dyax] {
    font-size: 0.85rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}

.tm-bid-history[b-zsvcy1dyax] {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 220px;
    overflow-y: auto;
}

.tm-bid-history-empty[b-zsvcy1dyax] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
}

.tm-bid-row[b-zsvcy1dyax] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
    padding: 4px 0;
    border-radius: 4px;
}

.tm-bid-row-winning[b-zsvcy1dyax] {
    background: rgba(212, 175, 55, 0.08);
    padding: 4px 6px;
    margin: 0 -6px;
}

.tm-bid-winning-tag[b-zsvcy1dyax] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.2);
    color: var(--tm-gold);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
}

.tm-bid-amount[b-zsvcy1dyax] {
    font-weight: 700;
    color: var(--tm-gold);
}

.tm-bid-time[b-zsvcy1dyax] {
    color: rgba(255, 255, 255, 0.4);
}

.tm-actions[b-zsvcy1dyax] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.tm-unlist-btn[b-zsvcy1dyax] {
    width: 100%;
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.4);
    color: var(--tm-danger);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tm-unlist-btn:hover[b-zsvcy1dyax] {
    background: rgba(224, 83, 83, 0.2);
}

.tm-action-message[b-zsvcy1dyax] {
    font-size: 0.78rem;
    color: var(--tm-blue-light);
    padding-top: 2px;
}
/* /Components/Pages/NationalTeamProfile.razor.rz.scp.css */
/* Positions below are estimated from the NTbackground.png artwork
   (1376x768) — nudge these live in-browser once real data is on screen,
   same convention as TeamProfile.razor.css. */

.nt-page[b-71nhfqj8dq] {
    width: 100%;
    min-height: calc(100vh - 180px);

    background-color: #000;

    display: flex;
    justify-content: center;
    align-items: flex-start;

    padding: 0;
    margin: 0;
}

.nt-canvas[b-71nhfqj8dq] {
    position: relative;

    width: 100%;
    max-width: 1376px;

    aspect-ratio: 1376 / 768;

    background-image: url('/images/NTbackground.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;

    flex-shrink: 0;

    container-type: inline-size;
    container-name: nt-canvas;
}

.nt-overlay[b-71nhfqj8dq] {
    position: absolute;
    inset: 0;

    color: white;
    font-family: Arial, sans-serif;
}

/* =========================
   TOP-LEFT ICON COLUMN
   ========================= */

.icon1-manager-value[b-71nhfqj8dq],
.icon3-stadium-value[b-71nhfqj8dq],
.icon4-squad-value[b-71nhfqj8dq],
.icon5-prestige-value[b-71nhfqj8dq] {
    position: absolute;

    left: 8%;
    width: 16%;

    font-size: 0.9cqw;
    font-weight: bold;

    color: white;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.icon1-manager-value[b-71nhfqj8dq] {
    top: 17.6%;
}

.icon3-stadium-value[b-71nhfqj8dq] {
    top: 29.7%;
}

.icon4-squad-value[b-71nhfqj8dq] {
    top: 35.8%;
}

.icon5-prestige-value[b-71nhfqj8dq] {
    top: 41.9%;

    color: #FFD700;
    letter-spacing: 0.08em;
}

.nt-manager-link[b-71nhfqj8dq],
.nt-squad-link[b-71nhfqj8dq] {
    color: white;
    text-decoration: none;
    transition: .2s;
}

.nt-manager-link:hover[b-71nhfqj8dq],
.nt-squad-link:hover[b-71nhfqj8dq] {
    color: #d4af37;
    text-decoration: underline;
}

/* =========================
   GLOBAL PRESTIGE FLAG
   ========================= */

.global-prestige-flag[b-71nhfqj8dq] {
    position: absolute;

    top: 46.0%;
    left: 19.2%;

    width: 19%;
    height: 17%;

    border-radius: 6px;
    overflow: hidden;
}

.global-prestige-flag img[b-71nhfqj8dq] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================
   GLOBAL RANKING
   ========================= */

.ranking-value[b-71nhfqj8dq],
.points-value[b-71nhfqj8dq] {
    position: absolute;

    left: 49%;
    width: 9%;

    text-align: right;

    font-size: 1.3cqw;
    font-weight: bold;

    color: #FFD700;
}

.ranking-value[b-71nhfqj8dq] {
    top: 24.5%;
}

.points-value[b-71nhfqj8dq] {
    top: 29.8%;
}

/* =========================
   INTERNATIONAL MATCHDAY
   ========================= */

.matchday-home-flag[b-71nhfqj8dq],
.matchday-away-flag[b-71nhfqj8dq] {
    position: absolute;

    top: 25.9%;

    width: 4.1%;
    aspect-ratio: 1;

    border-radius: 50%;
    overflow: hidden;
}

.matchday-home-flag[b-71nhfqj8dq] {
    left: 66.4%;
}

.matchday-away-flag[b-71nhfqj8dq] {
    left: 76.3%;
}

.matchday-home-flag img[b-71nhfqj8dq],
.matchday-away-flag img[b-71nhfqj8dq] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.matchday-home-name[b-71nhfqj8dq],
.matchday-away-name[b-71nhfqj8dq] {
    position: absolute;

    top: 35.8%;
    width: 9%;

    text-align: center;

    font-size: 0.95cqw;
    font-weight: bold;

    color: white;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.matchday-home-name[b-71nhfqj8dq] {
    left: 63.9%;
}

.matchday-away-name[b-71nhfqj8dq] {
    left: 73.9%;
}

.matchday-date[b-71nhfqj8dq],
.matchday-time[b-71nhfqj8dq] {
    position: absolute;

    top: 34.8%;
    left: 69.4%;
    width: 8%;

    text-align: center;

    font-size: 0.7cqw;

    color: #FFD700;

    white-space: nowrap;
}

.matchday-time[b-71nhfqj8dq] {
    top: 37.1%;
    color: rgba(255, 255, 255, 0.75);
}

/* =========================
   KEY PLAYERS
   ========================= */

.most-caps-value[b-71nhfqj8dq],
.top-scorer-value[b-71nhfqj8dq],
.most-assists-value[b-71nhfqj8dq] {
    position: absolute;

    left: 53%;
    width: 13%;

    color: white;

    font-size: 0.85cqw;
    font-weight: 600;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    z-index: 10;
}

.most-caps-value[b-71nhfqj8dq] {
    top: 51.9%;
}

.top-scorer-value[b-71nhfqj8dq] {
    top: 57.4%;
}

.most-assists-value[b-71nhfqj8dq] {
    top: 62.9%;
}

/* "HIGHEST POTENTIAL" is the longest baked-in label in this panel — its
   text ends around 54% of the canvas width, with the panel's own right
   border at ~66%, so the value has to stay inside that ~11%-wide gap. */
.highest-potential-value[b-71nhfqj8dq] {
    position: absolute;

    top: 67.6%;
    left: 55%;
    width: 10.5%;

    color: white;

    font-size: 0.85cqw;
    font-weight: 600;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    z-index: 10;
}

.nt-stat-count[b-71nhfqj8dq] {
    color: rgba(255,255,255,.65);
    font-size: 0.9em;
}

.most-caps-value a[b-71nhfqj8dq],
.top-scorer-value a[b-71nhfqj8dq],
.most-assists-value a[b-71nhfqj8dq],
.highest-potential-value a[b-71nhfqj8dq] {
    color: white;
    text-decoration: none;
}

.most-caps-value a:hover[b-71nhfqj8dq],
.top-scorer-value a:hover[b-71nhfqj8dq],
.most-assists-value a:hover[b-71nhfqj8dq],
.highest-potential-value a:hover[b-71nhfqj8dq] {
    color: #d4af37;
    text-decoration: underline;
}

/* =========================
   MAJOR HONORS
   ========================= */

.world-cup-wins-value[b-71nhfqj8dq],
.continental-titles-value[b-71nhfqj8dq] {
    position: absolute;

    left: 83%;
    width: 10%;

    font-size: 1.1cqw;
    font-weight: bold;
    color: #FFD700;
    z-index: 10;
}

.world-cup-wins-value[b-71nhfqj8dq] {
    top: 51.9%;
}

.continental-titles-value[b-71nhfqj8dq] {
    top: 60%;
}

/* =========================
   RECENT RESULTS
   ========================= */

.nt-result-flag[b-71nhfqj8dq] {
    position: absolute;

    width: 4.5%;
    aspect-ratio: 1;

    border-radius: 50%;
    overflow: hidden;

    top: 82.4%;
}

.nt-result-flag img[b-71nhfqj8dq] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.result-flag-1[b-71nhfqj8dq] { left: 23.0%; }
.result-flag-2[b-71nhfqj8dq] { left: 36.5%; }
.result-flag-3[b-71nhfqj8dq] { left: 51.1%; }
.result-flag-4[b-71nhfqj8dq] { left: 65.4%; }
.result-flag-5[b-71nhfqj8dq] { left: 79.2%; }

.result-letter[b-71nhfqj8dq] {
    position: absolute;

    top: 84.5%;

    width: 3%;

    text-align: center;

    font-size: 1.2cqw;
    font-weight: bold;
}

.result-letter.W[b-71nhfqj8dq] {
    color: #4CAF50;
}

.result-letter.D[b-71nhfqj8dq] {
    color: #FFC107;
}

.result-letter.L[b-71nhfqj8dq] {
    color: #F44336;
}

.result-1[b-71nhfqj8dq] { left: 30%; }
.result-2[b-71nhfqj8dq] { left: 44%; }
.result-3[b-71nhfqj8dq] { left: 58%; }
.result-4[b-71nhfqj8dq] { left: 72%; }
.result-5[b-71nhfqj8dq] { left: 86%; }

.result-opponent[b-71nhfqj8dq] {
    position: absolute;

    top: 91%;

    width: 8%;

    text-align: center;

    color: white;

    font-size: 0.6cqw;
}

.opponent-1[b-71nhfqj8dq] { left: 20.5%; }
.opponent-2[b-71nhfqj8dq] { left: 34.5%; }
.opponent-3[b-71nhfqj8dq] { left: 48.5%; }
.opponent-4[b-71nhfqj8dq] { left: 62.5%; }
.opponent-5[b-71nhfqj8dq] { left: 76.5%; }

/* =========================
   DESKTOP / MOBILE SWITCH
   ========================= */

.nt-page-mobile[b-71nhfqj8dq] {
    display: none;
}

@media (max-width: 600px) {

    .nt-page-desktop[b-71nhfqj8dq] {
        display: none;
    }

    .nt-page-mobile[b-71nhfqj8dq] {
        display: block;
        padding: 20px 16px 60px;
    }

    .mobile-nt-header[b-71nhfqj8dq] {
        text-align: center;
        margin-bottom: 20px;
    }

    .mobile-nt-flag[b-71nhfqj8dq] {
        width: 80px;
        height: 60px;
        margin: 0 auto 12px;
        border-radius: 6px;
        overflow: hidden;
    }

    .mobile-nt-flag img[b-71nhfqj8dq] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .mobile-nt-name[b-71nhfqj8dq] {
        font-size: 1.8rem;
        color: white;
        margin: 0 0 16px 0;
    }

    .mobile-nt-meta[b-71nhfqj8dq] {
        text-align: left;
    }

    .mobile-nt-meta > div[b-71nhfqj8dq] {
        margin-bottom: 10px;
    }

    .mobile-nt-meta .esm-label[b-71nhfqj8dq] {
        display: inline;
        margin-right: 6px;
    }

    .mobile-nt-meta a[b-71nhfqj8dq] {
        color: #d4af37;
        text-decoration: none;
        font-weight: 600;
    }

    .mobile-nt-meta a:hover[b-71nhfqj8dq] {
        text-decoration: underline;
    }

    .mobile-stars[b-71nhfqj8dq] {
        color: #FFD700;
        letter-spacing: 0.08em;
    }

    .mobile-stats-grid[b-71nhfqj8dq] {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 16px;
    }

    .mobile-big-value[b-71nhfqj8dq] {
        font-size: 2rem;
        font-weight: bold;
        margin-top: 8px;
    }

    .mobile-fixture-row[b-71nhfqj8dq] {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 12px;
        margin-top: 10px;
        font-weight: 600;
    }

    .mobile-flag[b-71nhfqj8dq] {
        width: 32px;
        height: 24px;
        border-radius: 4px;
        object-fit: cover;
    }

    .mobile-flag-small[b-71nhfqj8dq] {
        width: 22px;
        height: 16px;
        border-radius: 3px;
        object-fit: cover;
    }

    .mobile-vs[b-71nhfqj8dq] {
        color: rgba(255,255,255,.6);
        font-size: .85rem;
    }

    .mobile-key-players[b-71nhfqj8dq],
    .mobile-nt-honors[b-71nhfqj8dq],
    .mobile-recent-form[b-71nhfqj8dq] {
        margin-bottom: 16px;
    }

    .mobile-key-players > div[b-71nhfqj8dq],
    .mobile-nt-honors > div[b-71nhfqj8dq] {
        margin-bottom: 8px;
    }

    .mobile-history-row[b-71nhfqj8dq] {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mobile-history-row span:last-child[b-71nhfqj8dq] {
        color: #FFD700;
        font-weight: bold;
    }

    .mobile-key-players a[b-71nhfqj8dq] {
        color: white;
        text-decoration: none;
    }

    .mobile-key-players a:hover[b-71nhfqj8dq] {
        color: #d4af37;
    }

    .mobile-results-list[b-71nhfqj8dq] {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .mobile-result-row[b-71nhfqj8dq] {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .mobile-result-letter[b-71nhfqj8dq] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 6px;
        font-weight: bold;
        background: rgba(255,255,255,.08);
    }

    .mobile-result-letter.W[b-71nhfqj8dq] { color: #4CAF50; }
    .mobile-result-letter.D[b-71nhfqj8dq] { color: #FFC107; }
    .mobile-result-letter.L[b-71nhfqj8dq] { color: #F44336; }
}
/* /Components/Pages/NationalTeamTacticsPage.razor.rz.scp.css */
.tactics-page[b-j8ob80tk7f] {
    padding-bottom: 40px;
}

.tactics-header[b-j8ob80tk7f] {
    margin-bottom: 28px;
    text-align: center;
}

.tactics-title[b-j8ob80tk7f] {
    display: inline-block;
    position: relative;
    padding-bottom: 12px;
}

.tactics-title[b-j8ob80tk7f]::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #d4af37, transparent);
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.6);
}

.tactics-intro[b-j8ob80tk7f] {
    max-width: 640px;
    margin: 10px auto 0 auto;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.92rem;
    line-height: 1.6;
}

.tactics-grid[b-j8ob80tk7f] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px;
    margin-bottom: 30px;
}

.tactics-card[b-j8ob80tk7f] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.tactics-card:hover[b-j8ob80tk7f] {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45), 0 0 22px rgba(212, 175, 55, 0.12);
}

.tactics-card-image[b-j8ob80tk7f] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0c0d11;
}

.tactics-card-image img[b-j8ob80tk7f] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.tactics-card:hover .tactics-card-image img[b-j8ob80tk7f] {
    transform: scale(1.06);
}

/* Fades the bottom of the image smoothly into the card body's dark
   background, so the images feel integrated rather than pasted on. */
.tactics-card-image-fade[b-j8ob80tk7f] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(12, 13, 17, 0) 55%,
        rgba(18, 19, 24, 0.85) 90%,
        #121318 100%
    );
    pointer-events: none;
}

.tactics-card-body[b-j8ob80tk7f] {
    padding: 18px 20px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-grow: 1;
}

.tactics-card-title[b-j8ob80tk7f] {
    margin: 0;
    font-size: 1.05rem;
    color: #fff;
    letter-spacing: 0.01em;
}

.tactics-card-desc[b-j8ob80tk7f] {
    margin: 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.55;
    flex-grow: 1;
}

.tactics-select[b-j8ob80tk7f] {
    padding: 11px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: white;
    font-size: 0.88rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.tactics-select:hover[b-j8ob80tk7f],
.tactics-select:focus[b-j8ob80tk7f] {
    border-color: rgba(212, 175, 55, 0.5);
    background: rgba(255, 255, 255, 0.09);
    outline: none;
}

.tactics-select option[b-j8ob80tk7f] {
    color: #1a1a1a;
    background-color: #ffffff;
}

.tactics-save-row[b-j8ob80tk7f] {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center;
    padding-top: 8px;
}

.tactics-save-btn[b-j8ob80tk7f] {
    background: linear-gradient(135deg, #f6e6a8, #d4af37, #b8952c);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 14px 40px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tactics-save-btn:hover:not(:disabled)[b-j8ob80tk7f] {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(212, 175, 55, 0.35);
}

.tactics-save-btn:disabled[b-j8ob80tk7f] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.tactics-saved-message[b-j8ob80tk7f] {
    color: #4caf50;
    font-weight: 600;
    font-size: 0.9rem;
}
/* /Components/Pages/PendingYouthProspects.razor.rz.scp.css */
.prospects-page[b-3uyhx8xf8w] {
    padding-bottom: 40px;
}

/* =========================
   HERO BANNER
   ========================= */

.prospects-hero[b-3uyhx8xf8w] {
    position: relative;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
    max-height: 260px;
}

.prospects-hero-image[b-3uyhx8xf8w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.prospects-hero-fade[b-3uyhx8xf8w] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(12, 13, 17, 0) 45%,
        rgba(18, 19, 24, 0.75) 85%,
        #121318 100%
    );
    pointer-events: none;
}

.prospects-title[b-3uyhx8xf8w] {
    text-align: center;
    position: relative;
    padding-bottom: 10px;
}

.prospects-title[b-3uyhx8xf8w]::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #d4af37, transparent);
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.6);
}

.prospects-intro[b-3uyhx8xf8w] {
    max-width: 700px;
    margin: 10px auto 24px;
    text-align: center;
}

/* =========================
   PROSPECT GRID
   ========================= */

.prospects-grid[b-3uyhx8xf8w] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

.prospect-card[b-3uyhx8xf8w] {
    flex: 0 1 230px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 18px;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.prospect-card:hover[b-3uyhx8xf8w] {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4), 0 0 18px rgba(212, 175, 55, 0.12);
}

.prospect-card-header[b-3uyhx8xf8w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.prospect-position[b-3uyhx8xf8w] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #d4af37;
    background: rgba(212, 175, 55, 0.1);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 6px;
    padding: 3px 9px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Circular OVR badge, color-coded by quality — mirrors the reference
   scout-report style. */
.prospect-ovr-badge[b-3uyhx8xf8w] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    font-weight: 800;
    border: 2px solid;
}

.ovr-elite[b-3uyhx8xf8w] {
    color: #ffd700;
    border-color: #ffd700;
    background: rgba(255, 215, 0, 0.08);
}

.ovr-good[b-3uyhx8xf8w] {
    color: #7fe08a;
    border-color: #7fe08a;
    background: rgba(127, 224, 138, 0.08);
}

.ovr-average[b-3uyhx8xf8w] {
    color: #7fc0ff;
    border-color: #7fc0ff;
    background: rgba(127, 192, 255, 0.08);
}

.ovr-poor[b-3uyhx8xf8w] {
    color: rgba(255, 255, 255, 0.6);
    border-color: rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.04);
}

.prospect-name[b-3uyhx8xf8w] {
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
    font-size: 0.98rem;
}

.prospect-meta[b-3uyhx8xf8w] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 10px;
}

.prospect-flag[b-3uyhx8xf8w] {
    width: 18px;
    height: 13px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.prospect-potential-row[b-3uyhx8xf8w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.prospect-potential-label[b-3uyhx8xf8w] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.prospect-stars[b-3uyhx8xf8w] {
    color: #ffd700;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
}

.prospect-stats[b-3uyhx8xf8w] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 12px;
    font-size: 0.75rem;
}

.prospect-stats div[b-3uyhx8xf8w] {
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.85);
}

.prospect-stats span[b-3uyhx8xf8w] {
    color: rgba(255, 255, 255, 0.45);
    font-weight: 600;
}

@media (max-width: 700px) {
    .prospects-hero[b-3uyhx8xf8w] {
        max-height: 160px;
    }
}
/* /Components/Pages/PlayerProfile.razor.rz.scp.css */
/* =========================
   TABS (unchanged from the previous page)
   ========================= */

.profile-tabs[b-ft3d9h93no] {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 20px 16px 0;
}

.profile-tab-btn[b-ft3d9h93no] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.75);
    padding: 9px 18px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.profile-tab-btn:hover[b-ft3d9h93no] {
    color: white;
    border-color: rgba(212, 175, 55, 0.4);
}

.profile-tab-btn.active[b-ft3d9h93no] {
    color: #d4af37;
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.1);
}

.profile-history-card[b-ft3d9h93no] {
    max-width: 1100px;
    margin: 20px auto 40px;
    padding: 30px;
}

.rename-form[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.rename-input[b-ft3d9h93no] {
    max-width: 280px;
}

.rename-error[b-ft3d9h93no] {
    color: #e05353;
    margin-top: 10px;
}

.rename-success[b-ft3d9h93no] {
    color: #4caf50;
    font-weight: 600;
    margin-top: 10px;
}

.profile-history-table-wrap[b-ft3d9h93no] {
    overflow-x: auto;
}

.profile-history-table[b-ft3d9h93no] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: white;
    font-size: 0.86rem;
}

.profile-history-table thead th[b-ft3d9h93no] {
    text-align: left;
    color: #d4af37;
    font-weight: 700;
    padding: 12px 10px;
    border-bottom: 2px solid rgba(212, 175, 55, 0.30);
    white-space: nowrap;
}

.profile-history-table td[b-ft3d9h93no] {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    white-space: nowrap;
}

.profile-history-table tbody tr:hover[b-ft3d9h93no] {
    background: rgba(212, 175, 55, 0.08);
}

.train-button[b-ft3d9h93no] {
    padding: 4px 10px;
    border: none;
    border-radius: 6px;
    background: #d4af37;
    color: black;
    font-size: 0.72rem;
    font-weight: bold;
    cursor: pointer;
    transition: .15s;
    white-space: nowrap;
}

.train-button:hover[b-ft3d9h93no] {
    transform: scale(1.05);
}

.train-button:disabled[b-ft3d9h93no] {
    opacity: .4;
    cursor: not-allowed;
    transform: none;
}

.player-viewing-badge[b-ft3d9h93no] {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(212, 175, 55, .10);
    border: 1px solid rgba(212, 175, 55, .3);
    color: #d4af37;
    font-size: 0.8rem;
    text-align: center;
}

/* =========================
   PAGE GRID
   ========================= */

.profile-grid[b-ft3d9h93no] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    align-items: stretch;
    gap: 20px;
    max-width: 1400px;
    margin: 20px auto 60px;
    padding: 0 16px;
    color: white;
    font-family: Roboto, Helvetica, Arial, sans-serif;
}

.profile-grid-full[b-ft3d9h93no] {
    grid-column: 1 / -1;
}

.position-title[b-ft3d9h93no] {
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.25);
    color: #d4af37;
    font-size: 1.05rem;
    font-weight: 700;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

/* =========================
   HEADER
   ========================= */

/* Wraps the header card + season stats band as ONE grid item, stacked
   vertically — otherwise the header (short) and the position pitch
   (tall) sit in the same row and leave a bare gap under the header,
   since grid items don't stretch to match a taller sibling by default. */
.profile-header-col[b-ft3d9h93no] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.profile-header-card[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.profile-avatar-wrap[b-ft3d9h93no] {
    width: 140px;
    height: 140px;
    flex-shrink: 0;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255, 255, 255, .05);
}

.profile-header-info[b-ft3d9h93no] {
    min-width: 0;
}

.profile-player-name[b-ft3d9h93no] {
    margin: 0 0 6px;
    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.15;
}

/* Blazor's <FocusOnNavigate> (Routes.razor) programmatically focuses the
   page's h1 after navigation for screen readers — worth keeping for
   accessibility, but the browser's default focus ring around a page
   title reads as a rendering bug for sighted users. */
.profile-player-name:focus[b-ft3d9h93no] {
    outline: none;
}

.profile-header-team[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .8);
    font-weight: 600;
    margin-bottom: 12px;
}

.profile-header-crest[b-ft3d9h93no] {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.profile-header-badges[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.profile-position-badge[b-ft3d9h93no] {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid rgba(212, 175, 55, .7);
    border-radius: 999px;
    background: rgba(212, 175, 55, .12);
    color: #d4af37;
    font-size: 0.75rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Same pill shape as the primary position badge (see the shared
   .profile-position-badge class above) — just a touch dimmer so the
   primary position still reads as the main one. */
.profile-position-secondary[b-ft3d9h93no] {
    border-color: rgba(212, 175, 55, .35);
    background: rgba(212, 175, 55, .06);
    color: rgba(212, 175, 55, .75);
}

.profile-overall-badge[b-ft3d9h93no] {
    margin-left: auto;
    font-weight: 800;
    color: #d4af37;
}

/* =========================
   QUICK FACTS
   ========================= */

.quickfacts-grid[b-ft3d9h93no] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 20px;
    margin: 0;
}

.quickfact dt[b-ft3d9h93no] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, .55);
    margin-bottom: 4px;
}

.quickfact dd[b-ft3d9h93no] {
    margin: 0;
    font-weight: 700;
    font-size: 1rem;
}

.quickfact-nationality[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.quickfact-flag[b-ft3d9h93no] {
    width: 20px;
    height: auto;
}

.quickfact-value[b-ft3d9h93no] {
    color: #d4af37;
}

/* =========================
   POSITION PITCH
   ========================= */

.position-pitch[b-ft3d9h93no] {
    width: 100%;
    /* Matches the 0 0 100 100 viewBox exactly (with preserveAspectRatio
       left at its default, not "none") so nothing stretches unevenly on
       one axis — that mismatch was part of why dot labels overflowed. */
    aspect-ratio: 1 / 1;
    background: rgba(255, 255, 255, .03);
    border-radius: 8px;
}

.pitch-dot[b-ft3d9h93no] {
    fill: rgba(255, 255, 255, .25);
}

.pitch-dot-active[b-ft3d9h93no] {
    fill: #d4af37;
    stroke: rgba(0, 0, 0, .4);
    stroke-width: 0.6;
}

/* Injected via @((MarkupString)...), not authored directly in this file's
   .razor markup -- Blazor's CSS isolation only reliably scopes elements it
   compiled itself, so a plain selector here silently never matches and the
   text falls back to SVG's default black fill. ::deep turns off that
   scope-attribute requirement, same fix as PlayerAvatar.razor.css's
   .kit-shirt (confirmed via computed-style inspection, not assumed). */
/* font-size is set per-label as an inline SVG attribute instead (see
   PitchLabelFontSize in the code-behind) -- a CSS font-size here, even
   scoped, would win over that presentation attribute regardless of
   specificity and silently override it back to one fixed size. */
[b-ft3d9h93no] .pitch-dot-label {
    font-weight: 700;
    letter-spacing: -0.04em;
    fill: #14100a;
    pointer-events: none;
}

/* =========================
   TRANSFER VALUE CHART
   ========================= */

.value-chart-highest[b-ft3d9h93no] {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, .6);
}

.value-chart[b-ft3d9h93no] {
    width: 100%;
    height: 160px;
    display: block;
}

.value-chart-transfer-dot[b-ft3d9h93no] {
    fill: #ffffff;
    stroke: #d4af37;
    stroke-width: 0.6;
}

/* =========================
   SEASON STATS BAND
   ========================= */

.season-band-grid[b-ft3d9h93no] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 16px;
    text-align: center;
}

.season-band-stat span[b-ft3d9h93no] {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #d4af37;
}

.season-band-stat label[b-ft3d9h93no] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, .55);
}

/* =========================
   ATTRIBUTES
   ========================= */

.attr-row[b-ft3d9h93no] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.attr-row:last-child[b-ft3d9h93no] {
    border-bottom: none;
}

.attr-name[b-ft3d9h93no] {
    flex: 1;
    font-weight: 600;
    font-size: 0.9rem;
}

.attr-value[b-ft3d9h93no] {
    min-width: 28px;
    text-align: center;
    font-weight: 800;
    color: #d4af37;
}

.attr-row-readonly .attr-value[b-ft3d9h93no] {
    margin-left: auto;
}

.attr-value-good[b-ft3d9h93no] {
    color: #4caf50;
}

.attr-value-bad[b-ft3d9h93no] {
    color: #e05353;
}

/* =========================
   PLAYER TRAITS RADAR
   ========================= */

.traits-radar[b-ft3d9h93no] {
    width: 100%;
    max-width: 380px;
    display: block;
    margin: 0 auto;
}

[b-ft3d9h93no] .radar-axis-label {
    font-size: 3.6px;
    font-weight: 700;
    fill: #ffffff;
    text-transform: uppercase;
}

.radar-legend[b-ft3d9h93no] {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 10px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, .7);
}

.radar-legend span[b-ft3d9h93no] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.radar-legend-swatch[b-ft3d9h93no] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

.radar-legend-player[b-ft3d9h93no] {
    background: #d4af37;
}

.radar-legend-peer[b-ft3d9h93no] {
    background: rgba(255, 255, 255, .4);
}

@media (max-width: 640px) {
    .profile-header-col[b-ft3d9h93no] {
        grid-column: 1 / -1;
    }

    .profile-header-card[b-ft3d9h93no] {
        flex-direction: column;
        text-align: center;
    }

    .profile-header-badges[b-ft3d9h93no] {
        justify-content: center;
    }

    .profile-overall-badge[b-ft3d9h93no] {
        margin-left: 0;
    }
}
/* /Components/Pages/PrivacyPolicy.razor.rz.scp.css */
.privacy-page[b-d5aibn3p64] {
    padding: 10px 0 40px;
}

.privacy-updated[b-d5aibn3p64] {
    text-align: center;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .5);
}

.privacy-para[b-d5aibn3p64] {
    margin-bottom: 14px;
    line-height: 1.6;
}

.privacy-para a[b-d5aibn3p64] {
    color: #d4af37;
}
/* /Components/Pages/ScoutCentre.razor.rz.scp.css */
/* Same design language as Transfers.razor.css (the "premium" auction-
   house look) — tokens and primitives duplicated here rather than shared,
   since Blazor scoped CSS doesn't cascade across components. */

.tm-page[b-81zsgo2zhj] {
    --tm-gold: #d4af37;
    --tm-gold-glow: rgba(212, 175, 55, 0.18);
    --tm-blue: #409cff;
    --tm-blue-light: #7fc0ff;
    --tm-danger: #e05353;
    --tm-warning: #d4af37;
    --tm-success: #4caf50;
}

/* ---------- Header ---------- */

.tm-header[b-81zsgo2zhj] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.tm-header-actions[b-81zsgo2zhj] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.tm-balance[b-81zsgo2zhj] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 10px 18px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 10px;
}

.tm-balance-label[b-81zsgo2zhj] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
}

.tm-balance-value[b-81zsgo2zhj] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tm-gold);
}

/* ---------- Status banner ---------- */

.tm-status[b-81zsgo2zhj] {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 0.85rem;
    margin-bottom: 20px;
}

.tm-status-ok[b-81zsgo2zhj] {
    background: rgba(64, 156, 255, 0.1);
    border: 1px solid rgba(64, 156, 255, 0.3);
    color: var(--tm-blue-light);
}

.tm-status-error[b-81zsgo2zhj] {
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.35);
    color: var(--tm-danger);
}

/* ---------- Section cards ---------- */

.sc-section[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sc-section:hover[b-81zsgo2zhj] {
    border-color: rgba(212, 175, 55, 0.2);
    box-shadow: 0 0 0 1px var(--tm-gold-glow);
}

.sc-section-title[b-81zsgo2zhj] {
    margin: 0 0 4px 0;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
}

.sc-hint[b-81zsgo2zhj] {
    margin: 0 0 16px 0;
}

/* ---------- Criteria grid ----------
   Responsive auto-fill grid rather than every field stacked one under
   the next — on a normal desktop width this settles into ~2 rows for
   the 16 optional criteria, and reflows gracefully on narrower screens
   instead of a fixed column count breaking layout. */
.sc-criteria-grid[b-81zsgo2zhj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px 14px;
    margin-bottom: 18px;
}

.sc-field[b-81zsgo2zhj] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.sc-field span[b-81zsgo2zhj] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.5);
}

.tm-input[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    padding: 9px 12px;
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.15s ease;
    width: 100%;
}

.tm-input:focus[b-81zsgo2zhj] {
    border-color: var(--tm-blue);
}

.tm-input option[b-81zsgo2zhj] {
    color: #fff;
    background: #14161c;
}

.sc-dispatch-btn[b-81zsgo2zhj] {
    width: 100%;
}

.sc-dispatch-btn:disabled[b-81zsgo2zhj] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

.tm-list-btn[b-81zsgo2zhj] {
    background: linear-gradient(135deg, #d4af37, #b8952c);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tm-list-btn:hover:not(:disabled)[b-81zsgo2zhj] {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
}

/* ---------- Lists ---------- */

.tm-list[b-81zsgo2zhj] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tm-lot-row[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    padding: 14px 16px;
    transition: border-color 0.2s ease;
}

.tm-lot-row:hover[b-81zsgo2zhj] {
    border-color: rgba(212, 175, 55, 0.25);
}

.sc-mission-row[b-81zsgo2zhj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sc-report-card[b-81zsgo2zhj] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sc-result-card[b-81zsgo2zhj] {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sc-result-card:first-of-type[b-81zsgo2zhj] {
    border-top: none;
}

.sc-result-card-expanded[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
}

/* Collapsed summary row — a <button> like Transfers.razor's tm-lot-summary,
   for proper keyboard/focus semantics on the click-to-expand toggle. */
.sc-result-summary[b-81zsgo2zhj] {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    width: 100%;
    padding: 12px 40px 12px 4px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: inherit;
}

.sc-result-summary:hover .tm-lot-summary-name[b-81zsgo2zhj] {
    color: var(--tm-gold);
}

.tm-lot-summary-chevron[b-81zsgo2zhj] {
    position: absolute;
    top: 14px;
    right: 8px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.8rem;
}

.sc-value-chip[b-81zsgo2zhj] {
    color: var(--tm-gold);
    font-weight: 600;
}

/* ---------- Expanded detail ---------- */

.tm-lot-detail[b-81zsgo2zhj] {
    padding: 4px 4px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tm-lot-stats[b-81zsgo2zhj] {
    display: flex;
    gap: 10px;
}

.tm-stat[b-81zsgo2zhj] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-stat-value[b-81zsgo2zhj] {
    font-weight: 700;
    color: var(--tm-blue-light);
    font-size: 0.95rem;
}

.tm-stat-label[b-81zsgo2zhj] {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.04em;
}

.tm-attributes-grid[b-81zsgo2zhj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
    gap: 8px;
}

.tm-attr[b-81zsgo2zhj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-attr-value[b-81zsgo2zhj] {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
}

.tm-attr-label[b-81zsgo2zhj] {
    font-size: 0.62rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.03em;
}

.sc-offer-actions[b-81zsgo2zhj] {
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sc-profile-link[b-81zsgo2zhj] {
    font-size: 0.82rem;
    color: var(--tm-blue-light);
    text-decoration: none;
    white-space: nowrap;
}

.sc-profile-link:hover[b-81zsgo2zhj] {
    text-decoration: underline;
}

/* ---------- Inline offer feedback ----------
   Shown right at the action that triggered it, not just in the page-top
   status banner — a card can be well below the fold on a long scout
   report list, and a banner update up there is easy to miss entirely. */

.sc-offer-sent[b-81zsgo2zhj] {
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.85rem;
    color: var(--tm-success);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sc-offer-sent a[b-81zsgo2zhj] {
    color: var(--tm-blue-light);
    font-size: 0.8rem;
    text-decoration: none;
}

.sc-offer-sent a:hover[b-81zsgo2zhj] {
    text-decoration: underline;
}

.sc-offer-feedback[b-81zsgo2zhj] {
    margin-top: 8px;
    font-size: 0.8rem;
    padding: 8px 10px;
    border-radius: 8px;
}

.sc-offer-feedback-ok[b-81zsgo2zhj] {
    background: rgba(76, 175, 80, 0.1);
    color: var(--tm-success);
}

.sc-offer-feedback-error[b-81zsgo2zhj] {
    background: rgba(224, 83, 83, 0.1);
    color: var(--tm-danger);
}

.tm-lot-summary-name[b-81zsgo2zhj] {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
}

.tm-lot-summary-name:hover[b-81zsgo2zhj] {
    color: var(--tm-gold);
}

.tm-lot-summary-club[b-81zsgo2zhj] {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
}

.tm-lot-summary-chip[b-81zsgo2zhj] {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    padding: 4px 10px;
    white-space: nowrap;
}

.tm-lot-summary-ovr-value[b-81zsgo2zhj] {
    color: var(--tm-blue-light);
    font-weight: 700;
}

.tm-lot-summary-countdown[b-81zsgo2zhj] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.78rem;
    padding: 4px 10px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-lot-summary-countdown.tm-calm[b-81zsgo2zhj] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-lot-meta[b-81zsgo2zhj] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
}

.tm-bid-history-empty[b-81zsgo2zhj] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
    margin: 0;
}

.tm-actions[b-81zsgo2zhj] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: auto;
}

.tm-bid-input[b-81zsgo2zhj] {
    width: 140px;
}

.tm-bid-btn[b-81zsgo2zhj] {
    background: rgba(64, 156, 255, 0.15);
    border: 1px solid rgba(64, 156, 255, 0.4);
    color: var(--tm-blue-light);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.tm-bid-btn:hover[b-81zsgo2zhj] {
    background: rgba(64, 156, 255, 0.25);
}

.tm-unlist-btn[b-81zsgo2zhj] {
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.4);
    color: var(--tm-danger);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.tm-unlist-btn:hover[b-81zsgo2zhj] {
    background: rgba(224, 83, 83, 0.2);
}

/* ---------- Recall confirmation modal ---------- */

.tm-modal-overlay[b-81zsgo2zhj] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 24px;
}

.tm-modal[b-81zsgo2zhj] {
    background: #14161c;
    border: 1px solid rgba(224, 83, 83, 0.3);
    border-radius: 18px;
    padding: 28px;
    max-width: 440px;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tm-modal-header[b-81zsgo2zhj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.tm-modal-header h3[b-81zsgo2zhj] {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
}

.tm-modal-close[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.7);
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.tm-modal-submit[b-81zsgo2zhj] {
    margin-top: 12px;
}

.sc-recall-actions[b-81zsgo2zhj] {
    display: flex;
    gap: 10px;
}

.sc-recall-actions .tm-unlist-btn[b-81zsgo2zhj] {
    flex: 1;
    text-align: center;
}

.tm-modal-cancel[b-81zsgo2zhj] {
    flex: 1;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tm-modal-cancel:hover[b-81zsgo2zhj] {
    background: rgba(255, 255, 255, 0.1);
}

/* ---------- Empty state ---------- */

.tm-empty[b-81zsgo2zhj] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.tm-empty-icon[b-81zsgo2zhj] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.tm-empty h3[b-81zsgo2zhj] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}
/* /Components/Pages/SoccerManagerGame.razor.rz.scp.css */
/* Scoped styling for the /soccer-manager-game landing page.
   Deliberately thin: the layout classes (esm-card, esm-feature-section,
   esm-section-title, esm-cta-banner, ...) all come from the global
   wwwroot/css/design-system.css, so this file only covers the few
   elements that page doesn't already define. */

.smg-logo[b-xibkne4aoo] {
    height: 48px;
    width: auto;
}

.smg-hero[b-xibkne4aoo] {
    text-align: center;
    padding: 3rem 1.5rem 1rem;
}

/* Long-form marketing copy needs a measure limit — full-width paragraphs
   on a desktop monitor are genuinely hard to read. ~68ch is the usual
   comfortable range for body text. */
.smg-prose[b-xibkne4aoo] {
    max-width: 68ch;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.smg-stat-grid[b-xibkne4aoo] {
    display: grid;
    /* 180px, not 220px: the section container is ~848px wide at desktop, so
       220px min let only three of the four stat cards fit per row and left
       the fourth stranded on its own line. 180px fits all four. */
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.smg-stat[b-xibkne4aoo] {
    text-align: center;
}

.smg-stat-number[b-xibkne4aoo] {
    display: block;
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.smg-shot[b-xibkne4aoo] {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 2rem auto 0;
    border-radius: 12px;
}

.smg-criteria[b-xibkne4aoo],
.smg-faq[b-xibkne4aoo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.smg-criterion h3[b-xibkne4aoo],
.smg-faq-item h3[b-xibkne4aoo] {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

/* esm-landing-surface uses align-items:stretch (unlike Home's centred
   .landing-page), which leaves this footer's link row and copyright line
   butted together as "Terms of Service© 2026 Goal Legends". Stack them. */
.esm-landing-footer[b-xibkne4aoo] {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

@media (max-width: 640px) {
    .smg-hero[b-xibkne4aoo] {
        padding: 2rem 1rem 1rem;
    }

    .smg-stat-number[b-xibkne4aoo] {
        font-size: 2.25rem;
    }

    .smg-criteria[b-xibkne4aoo],
    .smg-faq[b-xibkne4aoo] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/Squad.razor.rz.scp.css */
.manager-settings-page[b-q59w07vaqn] {
    max-width: 1750px;
    margin: 0 auto;
    padding: 30px;
}

.squad-page[b-q59w07vaqn] {
    padding: 35px;
}

.squad-team-name[b-q59w07vaqn] {
    text-align: center;
    color: white;
    font-size: 2rem;
    margin: -10px 0 35px;
}

.squad-viewing-badge[b-q59w07vaqn] {
    display: inline-block;
    margin: -10px auto 25px;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(212,175,55,.10);
    border: 1px solid rgba(212,175,55,.3);
    color: #d4af37;
    font-size: 0.8rem;
    text-align: center;
}

/* Compact stat strip — a single slim row instead of four large
   dashboard-style tiles (esm-dashboard-tile is sized for the Home/
   Finance hero stats and was way oversized for four quick squad
   numbers). */
.squad-stats-bar[b-q59w07vaqn] {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-bottom: 24px;
}

/* flex:1 1 0 + min-width:0 makes the four stats share the row equally
   and shrink together instead of overflowing/wrapping onto a second
   line on narrower (e.g. 14" laptop) screens. Label on top, value
   below, so the width stays fixed but there's enough height for both
   to display in full without truncating. */
.squad-stat[b-q59w07vaqn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 0;
    min-width: 0;
    padding: 14px 10px;
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    text-align: center;
}

.squad-stat-value[b-q59w07vaqn] {
    font-size: 1.3rem;
    font-weight: 700;
    color: white;
    line-height: 1;
}

.squad-stat-label[b-q59w07vaqn] {
    font-size: .72rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .01em;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* =========================
   FILTER BAR (position tabs + search)
   ========================= */

.squad-filter-bar[b-q59w07vaqn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.squad-position-tabs[b-q59w07vaqn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.squad-position-tab[b-q59w07vaqn] {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.75);
    padding: 7px 14px;
    border-radius: 8px;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: .15s;
}

.squad-position-tab:hover[b-q59w07vaqn] {
    background: rgba(255,255,255,.10);
    color: white;
}

.squad-position-tab.active[b-q59w07vaqn] {
    background: #d4af37;
    border-color: #d4af37;
    color: #1a1a1a;
}

.squad-search-input[b-q59w07vaqn] {
    max-width: 240px;
    padding: 9px 14px;
    font-size: .85rem;
}

/* =========================
   TABLE SECTION WRAPPER
   (was previously repeated per position group — now wraps the single
   unified table)
   ========================= */

.position-section[b-q59w07vaqn] {
    margin-top: 0;
    padding: 25px;
    background: rgba(15,15,15,.55);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
}

.position-title[b-q59w07vaqn] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d4af37;
    font-size: 1.35rem;
    font-weight: 700;
    margin-bottom: 22px;
}

.squad-table[b-q59w07vaqn] {
    width: 100%;
    /* separate (not collapse) fixes a known rendering bug where sticky
       cells' backgrounds don't reliably paint over collapsed borders,
       letting adjacent column content bleed through at the edges while
       scrolling (this is what was showing up behind the player name).
       Visual borders are unaffected — they come from each td's own
       border-bottom below, not from the table's collapsed border model. */
    border-collapse: separate;
    border-spacing: 0;
    color: white;
    font-size: .86rem;
}

.squad-table thead th[b-q59w07vaqn] {
    color: #d4af37;
    font-weight: 700;
    padding: 12px 8px;
    border-bottom: 2px solid rgba(212,175,55,.30);
    white-space: nowrap;
}

/* Attribute group header row — sits above the sortable column-header
   row and labels the ACC/PAC-style attribute blocks (Pace, Technical,
   Defending, GK, Mental, Physical) so the wide table reads as a few
   scannable bands instead of 20 flat columns. */
/* The sticky-first-column rules further down are meant for the narrow
   player-name cell only. The group-header row's leading cell spans the
   same width via colspan, so left it inherit sticky+opaque styling it
   would paint over the Pace/Technical/... labels once scrolled. */
.squad-table thead .group-header-row th:first-child[b-q59w07vaqn] {
    position: static;
    background: transparent;
    width: auto;
}

.squad-table thead .group-header-row th[b-q59w07vaqn] {
    color: rgba(255,255,255,.4);
    font-weight: 700;
    font-size: .62rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 0 8px 5px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.squad-table thead th.grp-pace[b-q59w07vaqn] { color: #6fa8dc; }
.squad-table thead th.grp-tech[b-q59w07vaqn] { color: #57c785; }
.squad-table thead th.grp-def[b-q59w07vaqn] { color: #e5636b; }
.squad-table thead th.grp-gk[b-q59w07vaqn] { color: #4fd1c5; }
.squad-table thead th.grp-men[b-q59w07vaqn] { color: #cba6f7; }
.squad-table thead th.grp-phy[b-q59w07vaqn] { color: #f0a63a; }

.squad-table thead .group-header-row th.grp-pace[b-q59w07vaqn] { border-bottom-color: rgba(111,168,220,.35); }
.squad-table thead .group-header-row th.grp-tech[b-q59w07vaqn] { border-bottom-color: rgba(87,199,133,.35); }
.squad-table thead .group-header-row th.grp-def[b-q59w07vaqn] { border-bottom-color: rgba(226,99,107,.35); }
.squad-table thead .group-header-row th.grp-gk[b-q59w07vaqn] { border-bottom-color: rgba(79,209,197,.35); }
.squad-table thead .group-header-row th.grp-men[b-q59w07vaqn] { border-bottom-color: rgba(203,166,247,.35); }
.squad-table thead .group-header-row th.grp-phy[b-q59w07vaqn] { border-bottom-color: rgba(240,166,58,.35); }

/* Sortable column headers — clickable, with a small arrow indicator
   (▼/▲, rendered inline in the markup) showing the active sort column
   and direction. Every header except POS and the trailing action column
   is sortable. */
.sortable-header[b-q59w07vaqn] {
    cursor: pointer;
    user-select: none;
    transition: color .15s;
}

.sortable-header:hover[b-q59w07vaqn] {
    color: #ffd76a;
}

.squad-table td[b-q59w07vaqn] {
    padding: 11px 8px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-align: center;
}

.squad-table tbody tr:hover[b-q59w07vaqn] {
    background: rgba(212,175,55,.08);
}

/* Subtle alternating row shading, so a long unified table (now that the
   four separate position sections are gone, one squad's full table can
   run 25-30+ rows) stays easy to scan across. Skipped on hover so the
   existing gold hover highlight isn't fighting a second background. */
.squad-table tbody tr:nth-child(even)[b-q59w07vaqn] {
    background: rgba(255,255,255,.015);
}

.squad-table tbody tr:nth-child(even):hover[b-q59w07vaqn] {
    background: rgba(212,175,55,.08);
}

/* Sticky player-name column — applies at every screen width (previously
   this only worked inside the max-width:900px mobile block below; moved
   here so it also works on desktop, where the full attribute table is
   wide enough to need horizontal scroll too). */
.squad-table th:first-child[b-q59w07vaqn],
.squad-table td:first-child[b-q59w07vaqn] {
    text-align: left;
    width: 220px;

    position: sticky;
    left: 0;
    z-index: 2;

    background: #141414;
    background-clip: padding-box;
}

.squad-table thead th:first-child[b-q59w07vaqn] {
    background: #1a1a1a;
    z-index: 3;
}

.squad-table td:first-child a[b-q59w07vaqn] {
    color: white;
    text-decoration: none;
    font-weight: 700;
    transition: .15s;
}

.squad-table td:first-child a:hover[b-q59w07vaqn] {
    color: #d4af37;
}

.player-cell[b-q59w07vaqn] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 11px !important;
}

.player-flag[b-q59w07vaqn] {
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid rgba(255,255,255,.25);
    flex-shrink: 0;
}

.yellow-card-indicator[b-q59w07vaqn] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.mini-card-dot[b-q59w07vaqn] {
    width: 8px;
    height: 11px;
    border-radius: 1px;
    background: #f2c94c;
    border: 1px solid rgba(0,0,0,.3);
    flex-shrink: 0;
}

.suspended-pill[b-q59w07vaqn] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(244,67,54,.15);
    border: 1px solid rgba(244,67,54,.4);
    color: #ff8a80;
    font-size: 0.65rem;
    font-weight: 700;
    white-space: nowrap;
}

.injury-icon[b-q59w07vaqn] {
    display: inline-block;
    width: 14px;
    height: 14px;
    background: #d40000;
    border: 1px solid #7a0000;
    border-radius: 3px;
    vertical-align: middle;
    flex-shrink: 0;

    background-image:
        linear-gradient(#fff, #fff),
        linear-gradient(#fff, #fff);
    background-size: 60% 16%, 16% 60%;
    background-position: center, center;
    background-repeat: no-repeat;
}

.transfer-button[b-q59w07vaqn] {
    min-width: 90px;
    height: 30px;
    padding: 0 10px;
    background: rgba(212,175,55,.12);
    color: #d4af37;
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: .15s;
}

.transfer-button:hover[b-q59w07vaqn] {
    background: #d4af37;
    color: black;
}

/* Once a player is listed, the button flips to a "Remove Listing"
   action — reuses the same red tint the Transfer Market page's own
   "Unlist Player" button uses (Transfers.razor.css .tm-unlist-btn),
   so pulling a listing reads consistently across both pages. */
.transfer-button-listed[b-q59w07vaqn] {
    background: rgba(224, 83, 83, .12);
    color: #ff8a80;
    border-color: rgba(224, 83, 83, .4);
}

.transfer-button-listed:hover[b-q59w07vaqn] {
    background: rgba(224, 83, 83, .25);
    color: #ff8a80;
}

/* =========================
   OVR / POT RATING BADGES
   Circular colored badge (same 5-tier scale as the old plain-text
   stat-elite/excellent/good/average/poor classes, just given a shape
   instead of only a text color) plus a small gold star row underneath —
   same 1-5 star bucketing already used on the Pending Youth Prospects
   page, reused here so both pages speak the same "stars" shorthand.
   ========================= */

.rating-cell[b-q59w07vaqn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.rating-badge[b-q59w07vaqn] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .82rem;
    border: 1px solid rgba(255,255,255,.15);
}

.rating-elite[b-q59w07vaqn] {
    background: rgba(255, 215, 0, .18);
    color: #ffd700;
    border-color: rgba(255, 215, 0, .4);
}

.rating-excellent[b-q59w07vaqn] {
    background: rgba(240, 201, 75, .15);
    color: #f0c94b;
    border-color: rgba(240, 201, 75, .35);
}

.rating-good[b-q59w07vaqn] {
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
}

.rating-average[b-q59w07vaqn] {
    background: rgba(159, 216, 255, .12);
    color: #9fd8ff;
    border-color: rgba(159, 216, 255, .3);
}

.rating-poor[b-q59w07vaqn] {
    background: rgba(255, 255, 255, .04);
    color: #888;
}

.rating-stars[b-q59w07vaqn] {
    font-size: .55rem;
    letter-spacing: 1px;
    color: #d4af37;
    white-space: nowrap;
}

/* =========================
   FITNESS CONDITION RING
   Replaces the old dot+text pair with a small conic-gradient ring —
   the arc length is the fitness percentage, colored by the same
   good/medium/poor thresholds as before (GetFitnessRingColor).
   ========================= */

.fitness-ring[b-q59w07vaqn] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .58rem;
    font-weight: 700;
    color: white;
    margin: 0 auto;
}

/* =========================
   MOBILE: SCROLLABLE TABLE
   WITH STICKY PLAYER COLUMN
   ========================= */

.squad-table-scroll[b-q59w07vaqn] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 900px) {

    .manager-settings-page[b-q59w07vaqn] {
        padding: 12px;
    }

    .squad-page[b-q59w07vaqn] {
        padding: 16px;
    }

    .squad-stats-bar[b-q59w07vaqn] {
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 18px;
    }

    .squad-stat[b-q59w07vaqn] {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
        padding: 7px 10px;
    }

    .squad-filter-bar[b-q59w07vaqn] {
        flex-direction: column;
        align-items: stretch;
    }

    .squad-search-input[b-q59w07vaqn] {
        max-width: none;
    }

    .position-section[b-q59w07vaqn] {
        padding: 14px;
    }

    .position-title[b-q59w07vaqn] {
        font-size: 1.05rem;
        margin-bottom: 14px;
    }

    .squad-table[b-q59w07vaqn] {
        font-size: 0.78rem;
    }

    .squad-table th[b-q59w07vaqn],
    .squad-table td[b-q59w07vaqn] {
        padding: 8px 6px;
    }

    .squad-table th:first-child[b-q59w07vaqn],
    .squad-table td:first-child[b-q59w07vaqn] {
        width: 150px;
    }

    .player-flag[b-q59w07vaqn] {
        width: 18px;
        height: 13px;
    }

    .transfer-button[b-q59w07vaqn] {
        min-width: 74px;
        height: 26px;
        font-size: 0.62rem;
    }

    .rating-badge[b-q59w07vaqn] {
        width: 26px;
        height: 26px;
        font-size: .72rem;
    }
}
/* /Components/Pages/SquadNumbers.razor.rz.scp.css */
/* Squad Numbers page — layered on top of design-system.css's
   .esm-panel-wide / .esm-title / .esm-table / .esm-button-primary /
   .esm-input, which already provide the base dark/gold look. Only the
   handful of things genuinely specific to this page live here. */

.squad-numbers-intro[b-fg71r6omwk] {
    margin-bottom: 24px;
}

.squad-numbers-name-cell[b-fg71r6omwk] {
    font-weight: 600;
}

/* .esm-input defaults to a light background (matches the rest of the
   app's form fields, e.g. Manage Account) — kept as-is here rather than
   inverted to dark, so this dropdown looks consistent with every other
   input across the site, just narrower since it only ever holds a
   1-2 digit number or the blank "—" option. */
.squad-number-select[b-fg71r6omwk] {
    width: 90px;
    text-align: center;
    padding: 8px 10px;
    cursor: pointer;
}

.squad-number-select option:disabled[b-fg71r6omwk] {
    color: #999;
    font-style: italic;
}

.squad-number-row-duplicate td[b-fg71r6omwk] {
    background: rgba(180, 30, 30, 0.18);
}

.squad-number-error-text[b-fg71r6omwk] {
    display: inline-block;
    margin-left: 10px;
    color: #ff8a8a;
    font-size: 0.8rem;
    font-weight: 600;
}

.squad-numbers-actions[b-fg71r6omwk] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
}

/* .esm-button-primary is width:100% by default (built for single-column
   form pages like Manage Account) — this page needs it sized to its
   content instead, sitting inline next to the validation message. */
.squad-numbers-save-button[b-fg71r6omwk] {
    width: auto;
    margin-top: 0;
}

.squad-numbers-save-button:disabled[b-fg71r6omwk] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* .esm-button-secondary has no width override by default, but sits here
   right next to the (also auto-width) Save button, so no extra sizing
   rule is needed beyond disabled-state feedback matching Save's. */
.squad-numbers-autofill-button:disabled[b-fg71r6omwk] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Components/Pages/Statistics.razor.rz.scp.css */
.statistics-page[b-b6zrngis5j] {
    width: 100%;
    padding: 40px 16px;

    display: flex;
    justify-content: center;
}

.stats-grid-page[b-b6zrngis5j] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
    width: 100%;
}

.stats-card[b-b6zrngis5j] {
    overflow-x: auto;
}

.stats-player-link[b-b6zrngis5j] {
    text-decoration: none;
    font-weight: 600;
    transition: .15s;
}

.stats-card .esm-table td a.stats-player-link:hover[b-b6zrngis5j] {
    color: #d4af37 !important;
    text-decoration: underline;
}

/* Tablet — drop to 2 columns */
@media (max-width: 1100px) {
    .stats-grid-page[b-b6zrngis5j] {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile — single column */
@media (max-width: 700px) {
    .stats-grid-page[b-b6zrngis5j] {
        grid-template-columns: 1fr;
    }

    .statistics-page[b-b6zrngis5j] {
        padding: 20px 12px;
    }

    .stats-grid-page[b-b6zrngis5j] {
        gap: 14px;
    }
}

.stats-team-name[b-b6zrngis5j] {
    font-size: 0.75rem;
    color: rgba(255,255,255,.55);
    font-weight: 400;
    margin-top: 2px;
}
/* /Components/Pages/Substitutions.razor.rz.scp.css */
.substitutions-page[b-4w1x48jjay] {
    padding-bottom: 40px;
}

.subs-intro[b-4w1x48jjay] {
    max-width: 700px;
    margin-bottom: 24px;
}

.subs-rows[b-4w1x48jjay] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 24px;
}

.subs-row[b-4w1x48jjay] {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    flex-wrap: wrap;
}

.subs-row-label[b-4w1x48jjay] {
    font-weight: 700;
    color: #d4af37;
    font-size: 0.85rem;
    min-width: 56px;
    padding-bottom: 10px;
}

.subs-field[b-4w1x48jjay] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 160px;
}

.subs-minute-field[b-4w1x48jjay] {
    flex: 0 0 90px;
    min-width: 90px;
}

.subs-field-label[b-4w1x48jjay] {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.subs-select[b-4w1x48jjay],
.subs-minute-input[b-4w1x48jjay] {
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: white;
    font-size: 0.85rem;
}

.subs-select option[b-4w1x48jjay] {
    color: #1a1a1a;
    background-color: #ffffff;
}

.subs-arrow[b-4w1x48jjay] {
    padding-bottom: 10px;
    color: #d4af37;
    font-size: 1.1rem;
    font-weight: 700;
}

.subs-clear-btn[b-4w1x48jjay] {
    background: rgba(244, 67, 54, 0.12);
    border: 1px solid rgba(244, 67, 54, 0.35);
    color: #ff8a80;
    border-radius: 8px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    font-size: 0.9rem;
    margin-bottom: 1px;
}

.subs-clear-btn:hover[b-4w1x48jjay] {
    background: rgba(244, 67, 54, 0.25);
}

.subs-save-btn[b-4w1x48jjay] {
    background: linear-gradient(135deg, #f6e6a8, #d4af37);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 14px 32px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
}

.subs-save-btn:disabled[b-4w1x48jjay] {
    opacity: 0.6;
    cursor: not-allowed;
}

.subs-saved-message[b-4w1x48jjay] {
    margin-top: 12px;
    color: #4caf50;
    font-weight: 600;
    font-size: 0.9rem;
}

@media (max-width: 700px) {
    .subs-row[b-4w1x48jjay] {
        flex-direction: column;
        align-items: stretch;
    }

    .subs-arrow[b-4w1x48jjay] {
        display: none;
    }

    .subs-clear-btn[b-4w1x48jjay] {
        align-self: flex-end;
    }
}
/* /Components/Pages/Tactics.razor.rz.scp.css */
.tactics-page[b-a92on6mfk9] {
    padding-bottom: 40px;
}

.tactics-header[b-a92on6mfk9] {
    margin-bottom: 28px;
    text-align: center;
}

.tactics-title[b-a92on6mfk9] {
    display: inline-block;
    position: relative;
    padding-bottom: 12px;
}

.tactics-title[b-a92on6mfk9]::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 3px;
    background: linear-gradient(90deg, transparent, #d4af37, transparent);
    box-shadow: 0 0 12px rgba(212, 175, 55, 0.6);
}

.tactics-intro[b-a92on6mfk9] {
    max-width: 640px;
    margin: 10px auto 0 auto;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.92rem;
    line-height: 1.6;
}

.tactics-grid[b-a92on6mfk9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px;
    margin-bottom: 30px;
}

.tactics-card[b-a92on6mfk9] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.tactics-card:hover[b-a92on6mfk9] {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.45);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45), 0 0 22px rgba(212, 175, 55, 0.12);
}

.tactics-card-image[b-a92on6mfk9] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0c0d11;
}

.tactics-card-image img[b-a92on6mfk9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.tactics-card:hover .tactics-card-image img[b-a92on6mfk9] {
    transform: scale(1.06);
}

/* Fades the bottom of the image smoothly into the card body's dark
   background, so the images feel integrated rather than pasted on. */
.tactics-card-image-fade[b-a92on6mfk9] {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(12, 13, 17, 0) 55%,
        rgba(18, 19, 24, 0.85) 90%,
        #121318 100%
    );
    pointer-events: none;
}

.tactics-card-body[b-a92on6mfk9] {
    padding: 18px 20px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-grow: 1;
}

.tactics-card-title[b-a92on6mfk9] {
    margin: 0;
    font-size: 1.05rem;
    color: #fff;
    letter-spacing: 0.01em;
}

.tactics-card-desc[b-a92on6mfk9] {
    margin: 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.55;
    flex-grow: 1;
}

.tactics-select[b-a92on6mfk9] {
    padding: 11px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: white;
    font-size: 0.88rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.tactics-select:hover[b-a92on6mfk9],
.tactics-select:focus[b-a92on6mfk9] {
    border-color: rgba(212, 175, 55, 0.5);
    background: rgba(255, 255, 255, 0.09);
    outline: none;
}

.tactics-select option[b-a92on6mfk9] {
    color: #1a1a1a;
    background-color: #ffffff;
}

.tactics-save-row[b-a92on6mfk9] {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center;
    padding-top: 8px;
}

.tactics-save-btn[b-a92on6mfk9] {
    background: linear-gradient(135deg, #f6e6a8, #d4af37, #b8952c);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 14px 40px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tactics-save-btn:hover:not(:disabled)[b-a92on6mfk9] {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(212, 175, 55, 0.35);
}

.tactics-save-btn:disabled[b-a92on6mfk9] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.tactics-saved-message[b-a92on6mfk9] {
    color: #4caf50;
    font-weight: 600;
    font-size: 0.9rem;
}
/* /Components/Pages/TeamProfile.razor.rz.scp.css */
.team-page[b-lppryqieox] {
    width: 100%;
    min-height: calc(100vh - 180px);

    background-color: #000;

    display: flex;
    justify-content: center;
    align-items: flex-start;

    padding: 0;
    margin: 0;
}

.team-canvas[b-lppryqieox] {
    position: relative;

    width: 100%;
    max-width: 1672px;

    aspect-ratio: 1672 / 941;

    background-image: url('/images/teambackground.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;

    flex-shrink: 0;

    /* Establish this element as the sizing reference for cqw units below */
    container-type: inline-size;
    container-name: team-canvas;
}

.team-overlay[b-lppryqieox] {
    position: absolute;
    inset: 0;

    color: white;
    font-family: Arial, sans-serif;
}

/* =========================
   CLUB HEADER
   ========================= */

.club-logo[b-lppryqieox] {
    position: absolute;

    top: 13.5%;
    left: 19%;

    width: 22%;
    aspect-ratio: 1;

    object-fit: contain;
}

.stadium-value[b-lppryqieox] {
    position: absolute;

    top: 28.7%;
    left: 6%;

    font-size: 1.0vw;
    font-size: 1.0cqw;
    font-weight: bold;

    color: white;
}

.squad-value[b-lppryqieox] {
    position: absolute;

    top: 34.5%;
    left: 6%;

    font-size: 1.0cqw;
    font-weight: bold;
}

.squad-link[b-lppryqieox] {
    color: white;
    text-decoration: none;
    transition: .2s;
}

.squad-link:hover[b-lppryqieox] {
    color: #d4af37;
    text-decoration: underline;
}

.country-value[b-lppryqieox] {
    position: absolute;

    top: 22.5%;
    left: 6%;

    font-size: 1.0vw;
    font-size: 1.0cqw;
    font-weight: bold;

    color: white;
}

.reputation-value[b-lppryqieox] {
    position: absolute;

    top: 40.5%;
    left: 6%;

    font-size: 1.2vw;
    font-size: 1.2cqw;
    font-weight: bold;

    color: #FFD700;

    letter-spacing: 0.08em;
}

/* =========================
   LEAGUE
   ========================= */

.league-position[b-lppryqieox] {
    position: absolute;

    top: 27%;
    left: 46%;

    width: 10%;

    text-align: center;

    font-size: 3.2vw;
    font-size: 3.2cqw;
    font-weight: bold;

    color: white;
}

.fixture-home-logo[b-lppryqieox],
.fixture-away-logo[b-lppryqieox] {
    position: absolute;

    top: 25%;

    width: 2.4%;
    aspect-ratio: 1;

    border-radius: 50%;
    overflow: hidden;
}

.fixture-home-logo[b-lppryqieox] {
    left: 66.8%;
}

.fixture-away-logo[b-lppryqieox] {
    left: 77.8%;
}

.fixture-home[b-lppryqieox] {
    position: absolute;

    top: 35%;
    left: 57%;

    width: 22%;

    text-align: center;

    font-size: 0.6vw;
    font-size: 0.6cqw;
    font-weight: bold;

    color: white;
}

.fixture-away[b-lppryqieox] {
    position: absolute;

    top: 35%;
    left: 68%;

    width: 22%;

    text-align: center;

    font-size: 0.6vw;
    font-size: 0.6cqw;
    font-weight: bold;

    color: white;
}

.fixture-matchday[b-lppryqieox] {
    position: absolute;

    top: 19%;
    left: 68.2%;

    width: 22%;

    text-align: center;

    font-size: .85vw;
    font-size: .85cqw;

    color: rgba(255,255,255,.75);
}

/* =========================
   KEY PLAYERS
   ========================= */

.best-player[b-lppryqieox],
.top-scorer[b-lppryqieox],
.most-assists[b-lppryqieox],
.highest-potential[b-lppryqieox] {
    position: absolute;

    width: 18%;

    text-align: center;

    color: white;

    font-size: 0.95vw;
    font-size: 0.95cqw;
    font-weight: 600;

    z-index: 10;
}

.best-player[b-lppryqieox] {
    top: 50.4%;
    left: 49%;
}

.top-scorer[b-lppryqieox] {
    top: 55.5%;
    left: 49%;
}

.most-assists[b-lppryqieox] {
    top: 61.5%;
    left: 49%;
}

.highest-potential[b-lppryqieox] {
    top: 67%;
    left: 49%;
}

/* =========================
   CLUB HISTORY
   Positions estimated from the reference screenshot — fine-tune once
   the background image has a matching third-row layout baked in.
   ========================= */

.league-titles-value[b-lppryqieox],
.cup-wins-value[b-lppryqieox] {
    position: absolute;

    left: 90%;

    font-size: 1.1cqw;
    font-weight: bold;
    color: #FFD700;
    z-index: 10;
}

.league-titles-value[b-lppryqieox] {
    top: 49.5%;
}

.cup-wins-value[b-lppryqieox] {
    top: 55.5%;
}

.champions-cup-titles-label[b-lppryqieox] {
    position: absolute;

    top: 61.5%;
    left: 76%;

    width: 20%;

    font-size: 0.85cqw;
    font-weight: 600;
    color: white;
    z-index: 10;
}

.champions-cup-titles-value[b-lppryqieox] {
    position: absolute;

    top: 61.5%;
    left: 90%;

    font-size: 1.1cqw;
    font-weight: bold;
    color: #FFD700;
    z-index: 10;
}

/* =========================
   RECENT FORM
   ========================= */

.result-letter[b-lppryqieox] {
    position: absolute;

    width: 3%;

    text-align: center;

    font-size: 1.4vw;
    font-size: 1.4cqw;
    font-weight: bold;
}

.result-letter.W[b-lppryqieox] {
    color: #4CAF50;
}

.result-letter.D[b-lppryqieox] {
    color: #FFC107;
}

.result-letter.L[b-lppryqieox] {
    color: #F44336;
}

.result-1[b-lppryqieox] {
    top: 84%;
    left: 23.6%;
}

.result-2[b-lppryqieox] {
    top: 84%;
    left: 37.5%;
}

.result-3[b-lppryqieox] {
    top: 84%;
    left: 51.5%;
}

.result-4[b-lppryqieox] {
    top: 84%;
    left: 66%;
}

.result-5[b-lppryqieox] {
    top: 84%;
    left: 80%;
}

.result-opponent[b-lppryqieox] {
    position: absolute;

    width: 6%;

    text-align: center;

    color: white;

    font-size: 0.55vw;
    font-size: 0.55cqw;
}

.opponent-1[b-lppryqieox] {
    top: 91%;
    left: 22.5%;
}

.opponent-2[b-lppryqieox] {
    top: 91%;
    left: 37.5%;
}

.opponent-3[b-lppryqieox] {
    top: 91%;
    left: 50.5%;
}

.opponent-4[b-lppryqieox] {
    top: 91%;
    left: 65%;
}

.opponent-5[b-lppryqieox] {
    top: 91%;
    left: 79%;
}

.club-name[b-lppryqieox] {
    position: absolute;

    top: 4.5%;
    left: 17%;

    width: 26%;

    font-family: 'GreatVibes-Regular', cursive;

    font-size: 2.9vw;
    font-size: 2.9cqw;

    font-weight: normal;

    color: rgb(238, 7, 7);

    letter-spacing: 0.02em;

    text-align: center;

    line-height: 1.15;

    text-shadow:
        0 0 6px rgba(0,0,0,0.8),
        0 1px 3px rgba(0,0,0,0.9);
}

.manager-value[b-lppryqieox] {
    position: absolute;

    top: 16.4%;
    left: 6%;

    font-size: 1vw;
    font-size: 1cqw;
    font-weight: bold;

    color: white;
}

.message-link[b-lppryqieox] {

    margin-left: 18px;

    color: #d4af37;

    text-decoration: none;

    font-size: .85vw;
    font-size: .85cqw;

    font-weight: 600;

    transition: .2s;
}

.message-link:hover[b-lppryqieox] {

    color: white;

    text-decoration: underline;
}

/* =========================
   DESKTOP / MOBILE SWITCH
   ========================= */

.team-page-mobile[b-lppryqieox] {
    display: none;
}

@media (max-width: 600px) {

    .team-page-desktop[b-lppryqieox] {
        display: none;
    }

    .team-page-mobile[b-lppryqieox] {
        display: block;
        padding: 20px 16px 60px;
    }

    .mobile-club-header[b-lppryqieox] {
        text-align: center;
        margin-bottom: 20px;
    }

    .mobile-club-logo[b-lppryqieox] {
        width: 80px;
        height: 80px;
        object-fit: contain;
        margin-bottom: 12px;
    }

    .mobile-club-name[b-lppryqieox] {
        font-family: 'GreatVibes-Regular', cursive;
        font-size: 2.4rem;
        color: rgb(238, 7, 7);
        margin: 0 0 16px 0;
        text-shadow: 0 0 8px rgba(0,0,0,0.8), 0 2px 4px rgba(0,0,0,0.9);
    }

    .mobile-club-meta[b-lppryqieox] {
        text-align: left;
    }

    .mobile-club-meta > div[b-lppryqieox] {
        margin-bottom: 10px;
    }

    .mobile-club-meta .esm-label[b-lppryqieox] {
        display: inline;
        margin-right: 6px;
    }

    .squad-link-mobile[b-lppryqieox] {
        color: #d4af37;
        text-decoration: none;
        font-weight: 600;
    }

    .squad-link-mobile:hover[b-lppryqieox] {
        text-decoration: underline;
    }

    .mobile-stars[b-lppryqieox] {
        color: #FFD700;
        letter-spacing: 0.08em;
    }

    .mobile-stats-grid[b-lppryqieox] {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-bottom: 16px;
    }

    .mobile-big-value[b-lppryqieox] {
        font-size: 2rem;
        font-weight: bold;
        margin-top: 8px;
    }

    .mobile-fixture-row[b-lppryqieox] {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
        font-weight: 600;
    }

    .mobile-vs[b-lppryqieox] {
        color: rgba(255,255,255,.6);
        font-size: .85rem;
    }

    .mobile-key-players[b-lppryqieox],
    .mobile-club-history[b-lppryqieox],
    .mobile-recent-form[b-lppryqieox] {
        margin-bottom: 16px;
    }

    .mobile-key-players > div[b-lppryqieox],
    .mobile-club-history > div[b-lppryqieox] {
        margin-bottom: 8px;
    }

    .mobile-history-row[b-lppryqieox] {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mobile-history-row span:last-child[b-lppryqieox] {
        color: #FFD700;
        font-weight: bold;
    }

    .mobile-key-players a[b-lppryqieox] {
        color: white;
        text-decoration: none;
    }

    .mobile-key-players a:hover[b-lppryqieox] {
        color: #d4af37;
    }

    .mobile-results-list[b-lppryqieox] {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .mobile-result-row[b-lppryqieox] {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .mobile-result-letter[b-lppryqieox] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 6px;
        font-weight: bold;
        background: rgba(255,255,255,.08);
    }

    .mobile-result-letter.W[b-lppryqieox] { color: #4CAF50; }
    .mobile-result-letter.D[b-lppryqieox] { color: #FFC107; }
    .mobile-result-letter.L[b-lppryqieox] { color: #F44336; }
}
/* /Components/Pages/TermsOfService.razor.rz.scp.css */
.terms-page[b-yx25mh2dra] {
    padding: 10px 0 40px;
}

.terms-updated[b-yx25mh2dra] {
    text-align: center;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .5);
}

.terms-para[b-yx25mh2dra] {
    margin-bottom: 14px;
    line-height: 1.6;
}

.terms-para a[b-yx25mh2dra] {
    color: #d4af37;
}

.terms-alpha-notice[b-yx25mh2dra] {
    border: 1px solid rgba(212, 175, 55, .4);
    border-radius: 8px;
    padding: 14px 18px;
    background: rgba(212, 175, 55, .08);
}
/* /Components/Pages/TransferHistory.razor.rz.scp.css */
.tm-page[b-9no029b73w] {
    --tm-gold: #d4af37;
    --tm-blue-light: #7fc0ff;
}

.tm-header[b-9no029b73w] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.th-filter-bar[b-9no029b73w] {
    display: flex;
    margin-bottom: 20px;
}

.th-input[b-9no029b73w] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    padding: 9px 12px;
    font-size: 0.85rem;
    outline: none;
    min-width: 220px;
    transition: border-color 0.15s ease;
}

.th-input:focus[b-9no029b73w] {
    border-color: var(--tm-gold);
}

.th-input option[b-9no029b73w] {
    color: #fff;
    background: #14161c;
}

.th-empty[b-9no029b73w] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.th-empty-icon[b-9no029b73w] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.th-empty h3[b-9no029b73w] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}

.th-table-wrap[b-9no029b73w] {
    overflow-x: auto;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.th-table[b-9no029b73w] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.th-table thead th[b-9no029b73w] {
    background: #14161c;
    color: var(--tm-gold);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.72rem;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid rgba(212, 175, 55, 0.25);
    white-space: nowrap;
}

.th-table tbody td[b-9no029b73w] {
    padding: 13px 16px;
    color: rgba(255, 255, 255, 0.85);
    background: #101216;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    white-space: nowrap;
}

.th-table tbody tr:hover td[b-9no029b73w] {
    background: #16181e;
}

.th-player-name[b-9no029b73w] {
    font-weight: 600;
    color: #fff;
}

.th-fee[b-9no029b73w] {
    font-weight: 700;
    color: var(--tm-gold);
}

.th-pagination[b-9no029b73w] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 20px;
}

.th-page-btn[b-9no029b73w] {
    padding: 6px 12px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: white;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s ease;
}

.th-page-btn:hover:not(:disabled)[b-9no029b73w] {
    background: rgba(255, 255, 255, 0.14);
}

.th-page-btn:disabled[b-9no029b73w] {
    opacity: 0.4;
    cursor: not-allowed;
}

.th-page-active[b-9no029b73w] {
    background: var(--tm-gold);
    border-color: var(--tm-gold);
    color: #14161c;
    font-weight: 700;
}

@media (max-width: 700px) {
    .th-table thead th[b-9no029b73w],
    .th-table tbody td[b-9no029b73w] {
        padding: 9px 10px;
        font-size: 0.8rem;
    }
}
/* /Components/Pages/TransferOffers.razor.rz.scp.css */
/* Same design language as Transfers.razor.css / ScoutCentre.razor.css. */

.tm-page[b-1oczxeeebq] {
    --tm-gold: #d4af37;
    --tm-gold-glow: rgba(212, 175, 55, 0.18);
    --tm-blue: #409cff;
    --tm-blue-light: #7fc0ff;
    --tm-danger: #e05353;
    --tm-warning: #d4af37;
    --tm-success: #4caf50;
}

/* ---------- Header ---------- */

.tm-header[b-1oczxeeebq] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.tm-header-actions[b-1oczxeeebq] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.tm-balance[b-1oczxeeebq] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 10px 18px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 10px;
}

.tm-balance-alert[b-1oczxeeebq] {
    background: rgba(224, 83, 83, 0.1);
    border-color: rgba(224, 83, 83, 0.35);
}

.tm-balance-alert .tm-balance-value[b-1oczxeeebq] {
    color: var(--tm-danger);
}

.tm-balance-label[b-1oczxeeebq] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
}

.tm-balance-value[b-1oczxeeebq] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tm-gold);
}

/* ---------- Status banner ---------- */

.tm-status[b-1oczxeeebq] {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 0.85rem;
    margin-bottom: 20px;
}

.tm-status-ok[b-1oczxeeebq] {
    background: rgba(64, 156, 255, 0.1);
    border: 1px solid rgba(64, 156, 255, 0.3);
    color: var(--tm-blue-light);
}

.tm-status-error[b-1oczxeeebq] {
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.35);
    color: var(--tm-danger);
}

/* ---------- Section cards ---------- */

.sc-section[b-1oczxeeebq] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
}

.sc-section-title[b-1oczxeeebq] {
    margin: 0 0 14px 0;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
}

/* ---------- Offer rows ---------- */

.tm-list[b-1oczxeeebq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tm-lot-row[b-1oczxeeebq] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    padding: 14px 16px;
    transition: border-color 0.2s ease;
}

.tm-lot-row:hover[b-1oczxeeebq] {
    border-color: rgba(212, 175, 55, 0.25);
}

.to-offer-row[b-1oczxeeebq] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.tm-lot-summary-name[b-1oczxeeebq] {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
}

.tm-lot-summary-name:hover[b-1oczxeeebq] {
    color: var(--tm-gold);
}

.tm-lot-summary-club[b-1oczxeeebq] {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
}

.to-offer-amount[b-1oczxeeebq] {
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-lot-summary-countdown[b-1oczxeeebq] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.78rem;
    padding: 4px 10px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-lot-summary-countdown.tm-calm[b-1oczxeeebq] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-lot-summary-countdown.tm-urgent[b-1oczxeeebq] {
    background: rgba(224, 83, 83, 0.18);
    color: var(--tm-danger);
    animation: to-pulse-b-1oczxeeebq 1s infinite;
}

@keyframes to-pulse-b-1oczxeeebq {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.tm-lot-summary-chip[b-1oczxeeebq] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 6px;
    padding: 4px 10px;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
}

.to-status-accepted[b-1oczxeeebq] { background: rgba(76, 175, 80, 0.15); color: var(--tm-success); }
.to-status-rejected[b-1oczxeeebq] { background: rgba(224, 83, 83, 0.15); color: var(--tm-danger); }
.to-status-expired[b-1oczxeeebq] { background: rgba(255, 255, 255, 0.06); color: rgba(255, 255, 255, 0.45); }
.to-status-pending[b-1oczxeeebq] { background: rgba(212, 175, 55, 0.15); color: var(--tm-gold); }

.tm-bid-history-empty[b-1oczxeeebq] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
    margin: 0;
}

/* ---------- Actions ---------- */

.tm-actions[b-1oczxeeebq] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: auto;
}

.tm-buynow-btn[b-1oczxeeebq] {
    background: linear-gradient(135deg, #d4af37, #b8952c);
    border: none;
    color: #14161c;
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.15s ease;
}

.tm-buynow-btn:hover[b-1oczxeeebq] {
    transform: translateY(-1px);
}

.tm-unlist-btn[b-1oczxeeebq] {
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.4);
    color: var(--tm-danger);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.tm-unlist-btn:hover[b-1oczxeeebq] {
    background: rgba(224, 83, 83, 0.2);
}

/* ---------- Empty state ---------- */

.tm-empty[b-1oczxeeebq] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.tm-empty-icon[b-1oczxeeebq] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.tm-empty h3[b-1oczxeeebq] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}
/* /Components/Pages/Transfers.razor.rz.scp.css */
.tm-page[b-c631gm1kiz] {
    --tm-gold: #d4af37;
    --tm-gold-glow: rgba(212, 175, 55, 0.18);
    --tm-blue: #409cff;
    --tm-blue-light: #7fc0ff;
    --tm-danger: #e05353;
    --tm-warning: #d4af37;
    --tm-success: #4caf50;
}

/* ---------- Header ---------- */

.tm-header[b-c631gm1kiz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.tm-header-actions[b-c631gm1kiz] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.tm-balance[b-c631gm1kiz] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 10px 18px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 10px;
}

.tm-balance-label[b-c631gm1kiz] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.5);
}

.tm-balance-value[b-c631gm1kiz] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--tm-gold);
}

.tm-list-btn[b-c631gm1kiz] {
    background: linear-gradient(135deg, #d4af37, #b8952c);
    color: #14161c;
    border: none;
    border-radius: 10px;
    padding: 12px 20px;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(212, 175, 55, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tm-list-btn:hover[b-c631gm1kiz] {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
}

/* ---------- Filter bar ---------- */

.tm-filter-bar[b-c631gm1kiz] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    margin-bottom: 24px;
}

.tm-input[b-c631gm1kiz] {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    padding: 9px 12px;
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.15s ease;
}

.tm-input:focus[b-c631gm1kiz] {
    border-color: var(--tm-blue);
}

/* Native <option> elements render in their own OS/browser popup that
   ignores the dark background set above — force it explicitly here,
   since that's the actual surface they paint into. */
.tm-input option[b-c631gm1kiz] {
    color: #fff;
    background: #14161c;
}

.tm-search[b-c631gm1kiz] {
    flex: 1 1 220px;
}

.tm-input-narrow[b-c631gm1kiz] {
    width: 90px;
}

.tm-toggle[b-c631gm1kiz] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    white-space: nowrap;
}

/* ---------- Empty state ---------- */

.tm-empty[b-c631gm1kiz] {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.55);
}

.tm-empty-icon[b-c631gm1kiz] {
    font-size: 2.5rem;
    margin-bottom: 12px;
}

.tm-empty h3[b-c631gm1kiz] {
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 8px 0;
}

/* ---------- Lot list ---------- */

.tm-list[b-c631gm1kiz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tm-lot-row[b-c631gm1kiz] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.tm-lot-row-expanded[b-c631gm1kiz] {
    border-color: rgba(212, 175, 55, 0.35);
}

/* Compact summary row — collapsed by default, this is what makes
   scanning a long list of listings actually workable. A plain <button>
   rather than a div+onclick, for proper keyboard/focus semantics. */
.tm-lot-summary[b-c631gm1kiz] {
    position: relative; /* anchors the chevron, see below */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    width: 100%;

    padding: 14px 40px 14px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: inherit;

    transition: background 0.15s ease;
}

/* On desktop these three wrapper groups don't generate a box of their
   own — their children flow directly into the outer flex row above,
   so grouping the markup for mobile's benefit (see the ≤700px rule
   further down) has zero effect on the existing desktop layout. */
.tm-lot-summary-meta[b-c631gm1kiz],
.tm-lot-summary-trailing[b-c631gm1kiz],
.tm-lot-summary-price-group[b-c631gm1kiz] {
    display: contents;
}

.tm-lot-summary:hover[b-c631gm1kiz] {
    background: rgba(255, 255, 255, 0.03);
}

.tm-lot-summary-name[b-c631gm1kiz] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 160px;
    min-width: 0;

    font-size: 1rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-lot-summary-flag[b-c631gm1kiz] {
    flex-shrink: 0;
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.tm-lot-buynow-badge[b-c631gm1kiz] {
    flex-shrink: 0;
    background: linear-gradient(135deg, #d4af37, #b8952c);
    color: #14161c;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.tm-lot-summary-chip[b-c631gm1kiz] {
    flex-shrink: 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    padding: 4px 10px;
    white-space: nowrap;
}

.tm-lot-summary-ovr strong[b-c631gm1kiz] {
    color: var(--tm-blue-light);
    font-weight: 700;
}

.tm-lot-summary-club[b-c631gm1kiz] {
    flex-shrink: 0;
    max-width: 180px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-lot-summary-price[b-c631gm1kiz] {
    flex-shrink: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-lot-summary-countdown[b-c631gm1kiz] {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.78rem;
    padding: 4px 10px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-lot-summary-countdown.tm-calm[b-c631gm1kiz] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-lot-summary-countdown.tm-warning[b-c631gm1kiz] {
    background: rgba(212, 175, 55, 0.15);
    color: var(--tm-gold);
}

.tm-lot-summary-countdown.tm-urgent[b-c631gm1kiz] {
    background: rgba(224, 83, 83, 0.18);
    color: var(--tm-danger);
    animation: tm-pulse-b-c631gm1kiz 1s infinite;
}

/* Absolutely positioned rather than a flex item pushed via margin-left:
   auto — that was fine on the single-row desktop layout, but on mobile
   (where the rest of the content stacks into several lines) it left the
   chevron orphaned at the bottom of the last line with a big gap next
   to it. Pinning it to the card's own top-right corner keeps it in a
   sensible, consistent spot regardless of how many lines the rest wraps
   into. */
.tm-lot-summary-chevron[b-c631gm1kiz] {
    position: absolute;
    top: 16px;
    right: 16px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.8rem;
}

/* ---------- Expanded detail ---------- */

.tm-lot-detail[b-c631gm1kiz] {
    padding: 14px 16px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.tm-attributes-grid[b-c631gm1kiz] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
    gap: 8px;
}

.tm-attr[b-c631gm1kiz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-attr-value[b-c631gm1kiz] {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
}

.tm-attr-label[b-c631gm1kiz] {
    font-size: 0.62rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.03em;
}

.tm-bid-history-header[b-c631gm1kiz] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

.tm-lot-meta[b-c631gm1kiz] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 2px;
}

.tm-lot-stats[b-c631gm1kiz] {
    display: flex;
    gap: 10px;
}

.tm-stat[b-c631gm1kiz] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    padding: 8px 4px;
}

.tm-stat-value[b-c631gm1kiz] {
    font-weight: 700;
    color: var(--tm-blue-light);
    font-size: 0.95rem;
}

.tm-stat-label[b-c631gm1kiz] {
    font-size: 0.65rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.04em;
}

.tm-lot-club[b-c631gm1kiz] {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
}

.tm-price-row[b-c631gm1kiz] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tm-price-block[b-c631gm1kiz] {
    display: flex;
    flex-direction: column;
}

.tm-price-current[b-c631gm1kiz] {
    font-size: 1.3rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
}

.tm-price-sub[b-c631gm1kiz] {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.45);
}

.tm-countdown[b-c631gm1kiz] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 1rem;
    padding: 6px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

.tm-countdown.tm-calm[b-c631gm1kiz] {
    background: rgba(64, 156, 255, 0.12);
    color: var(--tm-blue-light);
}

.tm-countdown.tm-warning[b-c631gm1kiz] {
    background: rgba(212, 175, 55, 0.15);
    color: var(--tm-gold);
}

.tm-countdown.tm-urgent[b-c631gm1kiz] {
    background: rgba(224, 83, 83, 0.18);
    color: var(--tm-danger);
    animation: tm-pulse-b-c631gm1kiz 1s infinite;
}

@keyframes tm-pulse-b-c631gm1kiz {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

.tm-bid-history[b-c631gm1kiz] {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 160px;
    overflow-y: auto;
}

.tm-bid-history-empty[b-c631gm1kiz] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
}

.tm-bid-row[b-c631gm1kiz] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
}

.tm-bid-amount[b-c631gm1kiz] {
    font-weight: 700;
    color: var(--tm-gold);
}

.tm-bid-time[b-c631gm1kiz] {
    color: rgba(255, 255, 255, 0.4);
}

.tm-actions[b-c631gm1kiz] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.tm-bid-input[b-c631gm1kiz] {
    flex: 1;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: #fff;
    padding: 9px 10px;
    font-size: 0.85rem;
    min-width: 0;
}

.tm-bid-btn[b-c631gm1kiz] {
    background: rgba(64, 156, 255, 0.15);
    border: 1px solid rgba(64, 156, 255, 0.4);
    color: var(--tm-blue-light);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.tm-bid-btn:hover[b-c631gm1kiz] {
    background: rgba(64, 156, 255, 0.25);
}

.tm-buynow-btn[b-c631gm1kiz] {
    background: linear-gradient(135deg, #d4af37, #b8952c);
    border: none;
    color: #14161c;
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.15s ease;
}

.tm-buynow-btn:hover[b-c631gm1kiz] {
    transform: translateY(-1px);
}

/* Unlist — a distinct "withdraw" action, styled with the same danger
   red used elsewhere (urgent countdown, error text) so it reads as a
   removal rather than another neutral action, but as an outline rather
   than solid fill so it doesn't visually compete with Buy Now's solid
   gold for attention it doesn't need. Full-width since it's the only
   action available on the seller's own listing card. */
.tm-unlist-btn[b-c631gm1kiz] {
    width: 100%;
    background: rgba(224, 83, 83, 0.1);
    border: 1px solid rgba(224, 83, 83, 0.4);
    color: var(--tm-danger);
    border-radius: 8px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tm-unlist-btn:hover[b-c631gm1kiz] {
    background: rgba(224, 83, 83, 0.2);
}

.tm-action-message[b-c631gm1kiz] {
    font-size: 0.78rem;
    color: var(--tm-blue-light);
    padding-top: 2px;
}

.tm-own-listing[b-c631gm1kiz] {
    text-align: center;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
    font-style: italic;
}

/* ---------- List player modal ---------- */

.tm-modal-overlay[b-c631gm1kiz] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 24px;
}

.tm-modal[b-c631gm1kiz] {
    background: #14161c;
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 18px;
    padding: 28px;
    max-width: 480px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tm-modal-header[b-c631gm1kiz] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.tm-modal-header h3[b-c631gm1kiz] {
    margin: 0;
    color: rgba(255, 255, 255, 0.95);
}

.tm-modal-close[b-c631gm1kiz] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.7);
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.tm-modal-label[b-c631gm1kiz] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 10px;
}

.tm-modal-hint[b-c631gm1kiz] {
    font-size: 0.78rem;
    color: rgba(212, 175, 55, 0.85);
    background: rgba(212, 175, 55, 0.08);
    border-radius: 8px;
    padding: 8px 10px;
    margin-top: 6px;
}

.tm-modal-error[b-c631gm1kiz] {
    font-size: 0.8rem;
    color: var(--tm-danger);
    margin-top: 8px;
}

.tm-modal-submit[b-c631gm1kiz] {
    margin-top: 16px;
    width: 100%;
    text-align: center;
}

/* ---------- Mobile lot summary ----------
   Desktop stays exactly as defined above (a single wrapping row) — this
   only changes how the SAME markup renders at ≤700px, turning the
   .tm-lot-summary-name/-meta/-trailing groups (display:contents on
   desktop, i.e. invisible to layout) into three real, stacked lines
   instead of one long chip run that wraps unpredictably. */
@media (max-width: 700px) {
    .tm-lot-summary[b-c631gm1kiz] {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .tm-lot-summary-name[b-c631gm1kiz] {
        flex-basis: auto;
        padding-right: 22px; /* clears the chevron, which sits over this line */
    }

    .tm-lot-summary-meta[b-c631gm1kiz] {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .tm-lot-summary-trailing[b-c631gm1kiz] {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 12px;
        padding-top: 8px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
    }

    .tm-lot-summary-club[b-c631gm1kiz] {
        max-width: 55%;
    }

    .tm-lot-summary-price-group[b-c631gm1kiz] {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
    }
}
/* /Components/Pages/UpcomingMatchNotifier.razor.rz.scp.css */
.match-soon-toast[b-nlt894653p] {
    position: fixed;
    right: 20px;
    bottom: 76px; /* clears the fixed footer (56px) plus a gap */
    z-index: 1400; /* above the footer (1300) and drawer/appbar */

    width: 300px;

    background:
        radial-gradient(140% 120% at 15% -10%, rgba(212,175,55,.10), transparent 55%),
        linear-gradient(160deg, #16161a, #0a0a0c);
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 14px;
    padding: 18px;

    box-shadow:
        0 0 0 1px rgba(212,175,55,.06),
        0 16px 40px rgba(0,0,0,.6),
        0 0 26px rgba(212,175,55,.12);

    color: #f2f2f2;
    font-family: Arial, sans-serif;

    animation: match-soon-slide-in-b-nlt894653p .35s ease-out;
}

@keyframes match-soon-slide-in-b-nlt894653p {
    from {
        transform: translateY(16px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.match-soon-close[b-nlt894653p] {
    position: absolute;
    top: 10px;
    right: 12px;

    background: none;
    border: none;
    color: rgba(255,255,255,.45);
    font-size: 0.85rem;
    cursor: pointer;
    padding: 4px;
}

.match-soon-close:hover[b-nlt894653p] {
    color: rgba(255,255,255,.8);
}

.match-soon-eyebrow[b-nlt894653p] {
    display: flex;
    align-items: center;
    gap: 8px;

    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #d4af37;

    margin-bottom: 10px;
}

.match-soon-dot[b-nlt894653p] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #ff3b3b;
    box-shadow: 0 0 8px rgba(255,59,59,.8);
    animation: match-soon-pulse-b-nlt894653p 1.4s ease-in-out infinite;
}

@keyframes match-soon-pulse-b-nlt894653p {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .4; transform: scale(.8); }
}

.match-soon-teams[b-nlt894653p] {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 4px;
    padding-right: 20px; /* keeps text clear of the close button */
}

.match-soon-vs[b-nlt894653p] {
    color: rgba(255,255,255,.45);
    font-weight: 500;
    margin: 0 4px;
}

.match-soon-countdown[b-nlt894653p] {
    font-size: 0.8rem;
    color: rgba(255,255,255,.6);
    margin-bottom: 14px;
}

.match-soon-watch-btn[b-nlt894653p] {
    display: block;
    text-align: center;

    padding: 10px;
    border-radius: 8px;

    background: #d4af37;
    color: #1a1a1a;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;

    transition: background .15s ease;
}

.match-soon-watch-btn:hover[b-nlt894653p] {
    background: #e0bd4f;
}

@media (max-width: 600px) {
    .match-soon-toast[b-nlt894653p] {
        right: 12px;
        left: 12px;
        width: auto;
        bottom: 68px;
    }
}
/* /Components/Shared/ComposeMessageModal.razor.rz.scp.css */
.message-title[b-0i1jccdpro] {
    text-align: center;
    margin-bottom: 30px;
    color: #d4af37;
}

.message-field[b-0i1jccdpro] {
    margin-bottom: 22px;
    position: relative;
}

.message-field label[b-0i1jccdpro] {
    display: block;
    margin-bottom: 8px;
    color: white;
    font-weight: 600;
}

.message-body[b-0i1jccdpro] {
    width: 100%;
    min-height: 220px;
    resize: none;
}

.message-buttons[b-0i1jccdpro] {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 30px;
}

.message-input[b-0i1jccdpro] {
    display: block;
    width: 100% !important;
}

.compose-recipient-search[b-0i1jccdpro] {
    position: relative;
}

.compose-recipient-dropdown[b-0i1jccdpro] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 20;
    background: #1a1a1a;
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 10px;
    max-height: 280px;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.compose-recipient-option[b-0i1jccdpro] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    color: white;
    text-align: left;
    cursor: pointer;
    font-size: 0.9rem;
}

.compose-recipient-option:last-child[b-0i1jccdpro] {
    border-bottom: none;
}

.compose-recipient-option:hover[b-0i1jccdpro] {
    background: rgba(212, 175, 55, 0.12);
}

.compose-recipient-option-name[b-0i1jccdpro] {
    font-weight: 600;
}

.compose-recipient-option-team[b-0i1jccdpro] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.82rem;
}

.compose-recipient-empty[b-0i1jccdpro] {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
    font-style: italic;
}

.compose-recipient-chip[b-0i1jccdpro] {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.25);
    border-radius: 10px;
    padding: 10px 14px;
}

.compose-recipient-chip-name[b-0i1jccdpro] {
    color: white;
    font-weight: 600;
}

.compose-recipient-chip-team[b-0i1jccdpro] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.85rem;
}

.compose-recipient-chip-clear[b-0i1jccdpro] {
    margin-left: auto;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}

.compose-recipient-chip-clear:hover[b-0i1jccdpro] {
    color: #ff8a80;
}
/* /Components/Shared/KitPreview.razor.rz.scp.css */
.kit-preview[b-mktmcvrfde] {
    display: inline-block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.kit-preview svg[b-mktmcvrfde] {
    width: 100%;
    height: 100%;
    display: block;
}

[b-mktmcvrfde] .kit-shirt {
    fill: var(--kit-primary);
}

[b-mktmcvrfde] .kit-pattern-fill {
    fill: var(--kit-secondary);
}

[b-mktmcvrfde] .pattern-stripes,
[b-mktmcvrfde] .pattern-halves,
[b-mktmcvrfde] .pattern-hoops,
[b-mktmcvrfde] .pattern-sash {
    display: none;
}

.kit-preview[data-pattern="stripes"][b-mktmcvrfde]  .pattern-stripes,
.kit-preview[data-pattern="halves"][b-mktmcvrfde]  .pattern-halves,
.kit-preview[data-pattern="hoops"][b-mktmcvrfde]  .pattern-hoops,
.kit-preview[data-pattern="sash"][b-mktmcvrfde]  .pattern-sash {
    display: block;
}
/* /Components/Shared/LineupPlayerCard.razor.rz.scp.css */
.lineup-player-card[b-ifh0uocrds] {

    position: relative;

    width: 100%;
    height: 100%;

    background: rgba(30,30,30,.92);

    border: 2px solid rgba(255,255,255,.10);

    border-radius: 10px;

    display: flex;
    flex-direction: column;

    justify-content: space-between;

    padding: 4% 6%;

    color: white;

    transition: .15s;

    box-sizing: border-box;

}

.lineup-player-card:hover[b-ifh0uocrds] {

    transform: scale(1.05);

    border-color: #6ecb63;

}

.lineup-player-card.selected[b-ifh0uocrds] {

    border:2px solid #63ff63;

    box-shadow:
        0 0 10px rgba(99,255,99,.6),
        0 0 25px rgba(99,255,99,.35);

    transform:scale(1.05);

}

.overall[b-ifh0uocrds] {

    font-size: 1.3cqw;

    font-weight:700;

    line-height: 1.15;

    flex-shrink: 0;

}

.country[b-ifh0uocrds] {

    position:absolute;

    right: 6%;

    top: 6%;

}

.flag[b-ifh0uocrds]{

    width: 1.17cqw;

    height: auto;
    aspect-ratio: 18 / 13;

    object-fit:cover;

    border-radius:2px;

}

.name[b-ifh0uocrds] {

    text-align:center;

    font-size: 0.78cqw;

    font-weight:600;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

    flex-shrink: 0;

    min-height: 1em;

}

.position[b-ifh0uocrds] {

    text-align:center;

    font-size: 0.71cqw;

    opacity:.75;

    flex-shrink: 0;

}

.empty-state[b-ifh0uocrds] {

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.empty-text[b-ifh0uocrds] {

    margin-top: 4%;

    opacity:.55;

    font-size: 0.78cqw;

}

/* ---------- Expand toggle ---------- */

.expand-toggle[b-ifh0uocrds] {

    position: absolute;
    bottom: 4%;
    right: 6%;

    width: 16px;
    height: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;

    color: rgba(255,255,255,.75);
    font-size: 8px;
    line-height: 1;

    cursor: pointer;
    padding: 0;

    transition: background .15s ease, border-color .15s ease;

}

.expand-toggle:hover[b-ifh0uocrds] {

    background: rgba(212,175,55,.25);
    border-color: rgba(212,175,55,.5);
    color: #FFD54F;

}

/* ---------- Floating stats popover ---------- */
/* Free-floating overlay — NOT constrained to the tiny card's footprint,
   so it can use comfortably readable, non-scaled font sizes regardless
   of how small the underlying pitch card is. */

.stats-popover[b-ifh0uocrds] {

    position: absolute;
    top: 108%;
    left: 50%;
    transform: translateX(-50%);

    width: 150px;

    background: #14161c;
    border: 1px solid rgba(212,175,55,.3);
    border-radius: 10px;

    padding: 10px 12px;

    box-shadow: 0 12px 32px rgba(0,0,0,.5);

    z-index: 50;

}

.stats-popover-arrow[b-ifh0uocrds] {

    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);

    width: 10px;
    height: 10px;

    background: #14161c;
    border-left: 1px solid rgba(212,175,55,.3);
    border-top: 1px solid rgba(212,175,55,.3);

}

/* Ensures an open popover renders above neighboring pitch cards, not
   just above its own card — requires :has() support (all modern
   evergreen browsers; Firefox 121+). */
.position-slot:has(.stats-popover)[b-ifh0uocrds],
.bench-player:has(.stats-popover)[b-ifh0uocrds] {

    z-index: 50;

}

.stats-grid[b-ifh0uocrds] {

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 16px;

    width: 100%;

}

.stat[b-ifh0uocrds] {

    display: flex;
    align-items: baseline;
    justify-content: space-between;

}

.stat-label[b-ifh0uocrds] {

    font-size: 0.68rem;
    font-weight: 700;
    opacity: .6;
    letter-spacing: 0.02em;
    color: #fff;

}

.stat-value[b-ifh0uocrds] {

    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;

}

.fitness-row[b-ifh0uocrds] {

    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;

    margin-top: 8px;
    padding-top: 8px;

    border-top: 1px solid rgba(255,255,255,.12);

}

.fitness-label[b-ifh0uocrds] {

    font-size: 0.68rem;
    font-weight: 600;
    opacity: .7;
    color: #fff;

}

.fitness-value[b-ifh0uocrds] {

    font-size: 0.78rem;
    font-weight: 800;

}

.fitness-value.fitness-high[b-ifh0uocrds] {

    color: #4caf50;
    text-shadow: 0 0 8px rgba(76,175,80,.4);

}

.fitness-value.fitness-medium[b-ifh0uocrds] {

    color: #FFD54F;
    text-shadow: 0 0 8px rgba(255,213,79,.4);

}

.fitness-value.fitness-low[b-ifh0uocrds] {

    color: #e05353;
    text-shadow: 0 0 8px rgba(224,83,83,.4);

}
/* /Components/Shared/ListPlayerForTransferModal.razor.rz.scp.css */
.lpt-title[b-m5sq3ywved] {
    text-align: center;
    margin-bottom: 14px;
    color: #d4af37;
}

.lpt-hint[b-m5sq3ywved] {
    text-align: center;
    margin-bottom: 26px;
}

.lpt-field[b-m5sq3ywved] {
    margin-bottom: 18px;
}

.lpt-field label[b-m5sq3ywved] {
    display: block;
    margin-bottom: 8px;
    color: white;
    font-weight: 600;
}

.lpt-field .esm-input[b-m5sq3ywved] {
    width: 100%;
    box-sizing: border-box;
}

.lpt-error[b-m5sq3ywved] {
    background: rgba(224, 83, 83, .12);
    border: 1px solid rgba(224, 83, 83, .4);
    color: #ff8a80;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .85rem;
    margin-bottom: 18px;
}

.lpt-buttons[b-m5sq3ywved] {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 10px;
}
/* /Components/Shared/MatchPlayback.razor.rz.scp.css */
.match-playback[b-skis1gvt04] {
    position: relative;

    background:
        radial-gradient(120% 140% at 50% -20%, rgba(212,175,55,.06), transparent 60%),
        rgba(15,15,15,.6);
    border: 1px solid rgba(212,175,55,.16);
    border-radius: 16px;
    padding: 32px;
    color: white;

    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;

    box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 20px 60px -30px rgba(0,0,0,.8);
    overflow: hidden;
}

/* Signature touch: a slow gold sheen sweeping the top edge — evokes a
   floodlight pass across the scoreboard rather than a generic glow.
   One motion, restrained, and only on the element that's meant to
   read as "broadcast hardware". */
.match-playback[b-skis1gvt04]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -40%;
    width: 40%;
    height: 1px;

    background: linear-gradient(90deg, transparent, rgba(212,175,55,.9), transparent);
    animation: sheen-sweep-b-skis1gvt04 7s ease-in-out infinite;
}

@keyframes sheen-sweep-b-skis1gvt04 {
    0% { left: -40%; }
    50% { left: 100%; }
    100% { left: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .match-playback[b-skis1gvt04]::before {
        animation: none;
    }
}

/* =========================
   STATUS EYEBROW
   ========================= */

.status-eyebrow[b-skis1gvt04] {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    font-family: 'Rajdhani', Arial, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: rgba(255,255,255,.5);

    margin-bottom: 14px;
}

.playback-status[b-skis1gvt04] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;

    text-align: center;
    color: rgba(255,255,255,.7);
    font-size: 0.95rem;
    padding: 24px 0;
}

/* =========================
   LINEUP PANEL
   ========================= */

.lineup-panel[b-skis1gvt04] {
    display: flex;
    gap: 24px;
    width: 100%;

    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 22px;
}

.lineup-column[b-skis1gvt04] {
    flex: 1;
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.lineup-team-name[b-skis1gvt04] {
    color: #d4af37;
    font-family: 'Rajdhani', Arial, sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lineup-groups[b-skis1gvt04] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
}

.lineup-group-label[b-skis1gvt04] {
    font-size: 0.7rem;
    font-weight: 700;
    color: rgba(255,255,255,.45);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.lineup-player[b-skis1gvt04] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    font-size: 0.9rem;
    color: rgba(255,255,255,.9);
    padding: 3px 0;
}

.lineup-player-name[b-skis1gvt04] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.3s ease;
}

.lineup-player-rating[b-skis1gvt04] {
    flex-shrink: 0;
    min-width: 28px;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #1a1a1a;
    background: linear-gradient(135deg, #d4af37, #f0cf6b);
    border-radius: 4px;
    padding: 1px 4px;
    transition: background 0.3s ease;
}

@media (max-width: 700px) {
    .match-playback[b-skis1gvt04] {
        padding: 20px;
    }

    .lineup-panel[b-skis1gvt04] {
        flex-direction: column;
    }
}
/* /Components/Shared/MatchVisualizerLegacy.razor.rz.scp.css */
.match-visualizer-legacy-container[b-21li2utppf] {
    margin: 1rem 0;
}
/* /Components/Shared/MatchVisualizerV3.razor.rz.scp.css */
.match-visualizer-container[b-7dubu36d4s] {
    margin: 1rem 0;
}
/* /Components/Shared/MessageModal.razor.rz.scp.css */
.message-title[b-04e4n679uk] {

    text-align: center;

    margin-bottom: 30px;

    color: #d4af37;
}

.recipient-box[b-04e4n679uk] {

    background: rgba(255,255,255,.05);

    border: 1px solid rgba(212,175,55,.25);

    border-radius: 12px;

    padding: 18px;

    margin-bottom: 30px;
}

.recipient-name[b-04e4n679uk] {

    color: white;

    font-size: 1.25rem;

    font-weight: bold;
}

.recipient-subtitle[b-04e4n679uk] {

    color: rgba(255,255,255,.65);

    margin-top: 6px;
}

.message-field[b-04e4n679uk] {

    margin-bottom: 22px;
}

.message-field label[b-04e4n679uk] {

    display: block;

    margin-bottom: 8px;

    color: white;

    font-weight: 600;
}

.message-body[b-04e4n679uk] {

    width: 100%;

    min-height: 280px;

    resize: none;
}

.message-buttons[b-04e4n679uk] {

    display: flex;

    justify-content: flex-end;

    gap: 15px;

    margin-top: 30px;
}

.message-input[b-04e4n679uk] {

    display: block;

    width: 100% !important;

    max-width: 100%;

    box-sizing: border-box;
}

.message-body[b-04e4n679uk] {

    width: 100% !important;

    min-height: 280px;

    resize: vertical;
}
/* /Components/Shared/PlayerAvatar.razor.rz.scp.css */
.player-avatar[b-lro2nvdorp] {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.player-avatar svg[b-lro2nvdorp] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.player-avatar-placeholder[b-lro2nvdorp] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

/* Same padding-trick ring FacePrototype.razor uses: a gradient-filled
   circle padded by a few px, so only a thin ring of the club's colours
   shows around the photo rather than needing a gradient-border hack
   (plain CSS borders can't take a gradient directly). */
.player-avatar-photo-ring[b-lro2nvdorp] {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    padding: 3px;
    background: linear-gradient(135deg, var(--kit-primary), var(--kit-secondary));
    box-sizing: border-box;
}

.player-avatar-photo[b-lro2nvdorp] {
    width: 100%;
    height: 100%;
    border-radius: 7px;
    object-fit: cover;
    display: block;
}

/* These target elements nested deep inside Player.AvatarSvg's raw
   MarkupString content (e.g. a <path class="kit-shirt"> several <g>
   levels down) — Blazor's CSS isolation only stamps its scope attribute
   onto the ROOT element of injected MarkupString content, not its
   descendants, so a normal scoped selector would silently never match
   here. ::deep turns off that attribute requirement for the rest of the
   selector, same idea as reaching into a child component's markup.
   Shirt fill/pattern colour are driven live by the club's own colours
   (see --kit-primary/--kit-secondary above) — the same token idea
   TeamCrest uses for {{PRIMARY}}/{{SECONDARY}} substitution, except here
   it's real CSS custom properties, so a colour or pattern change
   repaints instantly with no re-fetch. */
[b-lro2nvdorp] .kit-shirt {
    fill: var(--kit-primary);
}

[b-lro2nvdorp] .kit-pattern-fill {
    fill: var(--kit-secondary);
}

[b-lro2nvdorp] .pattern-stripes,
[b-lro2nvdorp] .pattern-halves,
[b-lro2nvdorp] .pattern-hoops,
[b-lro2nvdorp] .pattern-sash {
    display: none;
}

.player-avatar[data-pattern="stripes"][b-lro2nvdorp]  .pattern-stripes,
.player-avatar[data-pattern="halves"][b-lro2nvdorp]  .pattern-halves,
.player-avatar[data-pattern="hoops"][b-lro2nvdorp]  .pattern-hoops,
.player-avatar[data-pattern="sash"][b-lro2nvdorp]  .pattern-sash {
    display: block;
}

/* /Components/Shared/PlayerSlot.razor.rz.scp.css */
.player-slot[b-uwgqkp6o81]{

    width:100px;
    height:60px;

    background:rgba(36,36,36,.88);

    border-radius:10px;

    border:2px solid rgba(255,255,255,.12);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    transition:.2s;

    color:white;

}

.player-slot:hover[b-uwgqkp6o81]{

    transform:scale(1.04);

}

.slot-position[b-uwgqkp6o81]{

    font-size:11px;

    opacity:.65;

    letter-spacing:1px;

}

.slot-ovr[b-uwgqkp6o81]{

    font-size:22px;

    font-weight:bold;

}

.slot-name[b-uwgqkp6o81]{

    font-size:12px;

}

.slot-empty[b-uwgqkp6o81]{

    font-size:15px;

}
/* /Components/Shared/TeamCrest.razor.rz.scp.css */
.team-crest[b-l5d3s2pc8h] {
    display: inline-block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.team-crest svg[b-l5d3s2pc8h],
.team-crest img[b-l5d3s2pc8h] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}
