:root {
    color-scheme: light;
    --navy: #102542;
    --blue: #1769e0;
    --blue-dark: #0f52b8;
    --sky: #eaf3ff;
    --ink: #172033;
    --muted: #667085;
    --line: #e4e9f1;
    --surface: #fff;
    --canvas: #f4f7fb;
    --success: #087a55;
    --danger: #b42318;
    --control-line: #c7d2e1;
    --surface-subtle: #f8faff;
    --surface-hover: #f4f8fe;
    --label: #3a4960;
    --info-ink: #315476;
    --info-surface: #eef5ff;
    --info-line: #c8d9ed;
    --success-ink: #075f43;
    --success-surface: #e9f8f1;
    --success-line: #b7e4d1;
    --danger-surface: #fff0ef;
    --danger-line: #f2c5c1;
    --focus-ring: #84b7ff;
    --radius-control: 9px;
    --radius-panel: 16px;
    --shadow: 0 12px 34px rgba(16,37,66,.08);
    /* Familiar UI typeface, available without a font download or style swap. */
    font-family: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--canvas); color: var(--ink); }
body { font-size: 16px; line-height: 1.5; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
/* FocusOnNavigate announces the new page heading without making it an interactive control. */
h1[tabindex="-1"]:focus { outline: none; }
.boot-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 34%, #e7f1ff 0, var(--canvas) 48%); }
.boot-card { width: min(360px, 100%); display: grid; justify-items: center; gap: 10px; padding: 34px 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); text-align: center; }
.boot-mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, #55a2ff, var(--blue)); color: #fff; font-weight: 850; }
.boot-spinner { width: 21px; height: 21px; margin: 10px 0 2px; border: 2px solid #d9e6f7; border-top-color: var(--blue); border-radius: 50%; }
.boot-card strong { color: var(--navy); font-size: 1rem; }
.boot-card > span:not(.boot-mark):not(.boot-spinner) { color: var(--muted); font-size: .85rem; }
.boot-help { margin-top: 8px; }
.boot-help a { color: var(--blue-dark); font-weight: 750; }
body:has(.app-shell) .boot-screen { display: none; }

/* Shared field baseline: list filters and quick editors live outside .form-grid. */
.content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="button"]):not([type="submit"]), select, textarea) {
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--control-line);
    border-radius: var(--radius-control);
    background: var(--surface);
    color: var(--ink);
    font: inherit;
}
.content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="button"]):not([type="submit"]), textarea) { width: 100%; }
.content :where(input, textarea)::placeholder { color: var(--muted); opacity: 1; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 264px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px; background: var(--navy); color: #fff; }
.navigation-toggle { display: none; }
.navigation-backdrop { display: block; position: fixed; z-index: 40; inset: 0; width: 100%; border: 0; background: rgba(8,21,41,.56); cursor: pointer; }
.sidebar.sidebar-open { z-index: 41; }
.sidebar-close { display: none; position: absolute; top: 21px; right: 14px; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 9px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.sidebar.sidebar-open .sidebar-close { display: grid; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 24px; text-decoration: none; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(135deg, #55a2ff, var(--blue)); font-weight: 850; }
.brand strong, .brand small { display: block; }
.brand small { color: #aebed3; font-size: .78rem; }
.nav-menu { display: flex; flex-direction: column; gap: 4px; min-height: 0; overflow-y: auto; padding: 2px; scrollbar-width: thin; scrollbar-color: rgba(185,207,232,.38) transparent; }
.nav-menu::-webkit-scrollbar { width: 6px; }
.nav-menu::-webkit-scrollbar-track { background: transparent; }
.nav-menu::-webkit-scrollbar-thumb { border-radius: 8px; background: rgba(185,207,232,.38); }
.nav-menu::-webkit-scrollbar-thumb:hover { background: rgba(185,207,232,.62); }
.nav-heading { margin: 20px 12px 6px; color: #91a5be; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nav-item { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 10px 12px; border-radius: 10px; color: #dce7f5; text-decoration: none; font-size: .91rem; font-weight: 620; }
.nav-item:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav-item.active { color: #fff; background: #245486; box-shadow: inset 3px 0 #62adff; }
.nav-icon { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; color: #fff; opacity: .82; }
.nav-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-item:hover .nav-icon, .nav-item.active .nav-icon { opacity: 1; }
.nav-details { margin: 8px 2px 0; border-top: 1px solid rgba(185,207,232,.18); padding-top: 10px; }
.nav-details > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 10px 12px; border-radius: 10px; color: #dce7f5; font-size: .91rem; font-weight: 750; cursor: pointer; list-style: none; }
.nav-details > summary::-webkit-details-marker { display: none; }
.nav-details > summary::after { content: '⌄'; font-size: 1.25rem; line-height: 1; }
.nav-details[open] > summary::after { content: '⌃'; }
.nav-details > summary:hover, .nav-details > summary:focus-visible { color: #fff; background: rgba(255,255,255,.08); }
.nav-details .nav-details-heading { display: block; margin: 14px 12px 4px; color: #91a5be; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nav-details .nav-item { min-height: 40px; margin-left: 7px; padding: 8px 10px; font-size: .85rem; }

.workspace { min-width: 0; }
.topbar { position: relative; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 32px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.route-progress { position: absolute; inset: auto 0 -1px; height: 3px; background: var(--blue); pointer-events: none; }
.topbar-label, .user-button small { display: block; color: var(--muted); font-size: .72rem; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.mode-pill { padding: 7px 11px; border-radius: 999px; color: var(--blue-dark); background: var(--sky); font-size: .75rem; font-weight: 750; }
.user-button { display: flex; align-items: center; gap: 9px; padding: 6px 10px 6px 7px; border: 0; border-radius: 11px; background: transparent; color: var(--ink); text-align: left; }
.user-button > span:first-child { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #dfeaff; color: var(--blue-dark); font-weight: 800; }
.user-button strong { display: block; font-size: .82rem; }
.content { width: min(1240px, 100%); margin: 0 auto; padding: 38px 34px 60px; }

.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 36px; }
.page-header.compact { align-items: flex-start; }
.page-header h1 { max-width: 760px; margin: 5px 0 8px; font-size: clamp(1.85rem, 3vw, 2.65rem); line-height: 1.1; letter-spacing: -.035em; }
.page-header p { max-width: 720px; margin: 0; color: var(--muted); font-size: 1.02rem; }
.eyebrow { display: block; color: var(--blue-dark); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.back-link { display: inline-block; margin-bottom: 24px; color: var(--muted); font-size: .84rem; text-decoration: none; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 17px; border: 1px solid transparent; border-radius: 10px; font: inherit; font-size: .88rem; font-weight: 750; text-decoration: none; cursor: pointer; touch-action: manipulation; }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 8px 18px rgba(23,105,224,.18); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { border-color: #cdd8e8; background: #fff; color: var(--navy); }
.button-secondary:hover { border-color: #9dbce6; background: var(--surface-hover); }
.back-button { gap: 7px; padding-inline: 12px 16px; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.back-button-icon { width: 18px; height: 18px; flex: none; color: var(--blue-dark); transition: transform .18s ease; }
.back-button:hover .back-button-icon { transform: translateX(-2px); }
.back-button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .back-button, .back-button-icon { transition: none; } }
.button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }

.section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: -10px 0 32px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--surface); }
.metric-card { display: grid; min-width: 0; padding: 17px 20px; border-right: 1px solid var(--line); background: var(--surface); text-decoration: none; }
.metric-card:last-child { border-right: 0; }
.metric-card span, .metric-card small { color: var(--muted); font-size: .73rem; }
.metric-card strong { margin: 3px 0; font-size: 1.3rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.metric-card:hover { background: var(--surface-hover); }
.section-title h2 { margin: 3px 0 0; font-size: 1.3rem; }
.quiet { color: var(--muted); font-size: .78rem; }
.attention-list { display: grid; gap: 9px; }
.attention-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); text-decoration: none; }
.attention-item:hover { border-color: #b8cce6; transform: translateY(-1px); }
.attention-item strong, .attention-item small { display: block; }
.attention-item small { color: var(--muted); }
.attention-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 5px var(--sky); }
.attention-item.warning .attention-dot { background: #e38a19; box-shadow: 0 0 0 5px #fff3df; }
.attention-item.urgent .attention-dot { background: var(--danger); box-shadow: 0 0 0 5px #fee4e2; }
.attention-action, .card-action { display: inline-flex; align-items: center; gap: 10px; color: var(--blue-dark); font-size: .83rem; font-weight: 800; white-space: nowrap; }
.action-icon { width: 34px; height: 34px; display: inline-grid; flex: none; place-items: center; border: 1px solid var(--info-line); border-radius: 50%; background: var(--info-surface); color: var(--blue-dark); }
.attention-item:is(:hover, :focus-visible) .action-icon, .module-card:is(:hover, :focus-visible) .action-icon { border-color: var(--blue); background: var(--blue); color: #fff; }
.success-state { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid #b9e4d2; border-radius: 13px; background: #f1fbf7; }
.success-state > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--success); }
.success-state p { margin: 2px 0 0; color: #4e6b60; }
.quick-section { margin-top: 38px; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.module-card { min-height: 156px; display: flex; flex-direction: column; padding: 19px 21px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); text-decoration: none; }
.module-card:hover { border-color: #aac6e8; transform: translateY(-1px); box-shadow: var(--shadow); }
.module-kicker { color: var(--blue-dark); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.module-card > strong { margin-top: 9px; font-size: 1.1rem; }
.module-card p { margin: 7px 0 18px; color: var(--muted); font-size: .88rem; }
.card-action { margin-top: auto; }

.setup-panel, .empty-state { padding: 40px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 9px 28px rgba(16,37,66,.04); }
.setup-panel { display: grid; grid-template-columns: auto 1fr; gap: 22px; }
.league-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1100px; }
.league-settings-card { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 9px 28px rgba(16,37,66,.04); }
.league-settings-card:first-child { grid-column: 1 / -1; }
.league-settings-card h2 { margin: 9px 0 6px; font-size: clamp(21px, 2vw, 25px); letter-spacing: -.025em; }
.league-settings-card p { max-width: 650px; margin: 0 0 20px; color: var(--muted); line-height: 1.5; }
.league-settings-card p strong { color: var(--ink); }
.league-settings-card .form-grid { margin: 0 0 14px; }
.league-settings-card .form-grid:last-child, .league-settings-card .choice-list { margin-bottom: 0; }
.league-settings-card .choice-list { margin-top: 0; }
.league-settings-card .choice-list + .form-grid { margin-top: 18px; }
.league-settings-card input:disabled { opacity: .58; cursor: not-allowed; }
.league-settings-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1100px; margin-top: 16px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.league-settings-actions p { margin: 0; color: var(--muted); font-size: .86rem; }
.league-settings-actions .button { flex: none; }
@media (max-width: 760px) { .league-settings-grid { grid-template-columns: 1fr; } .league-settings-card:first-child { grid-column: auto; } .league-settings-card { padding: 22px; } .league-settings-actions { align-items: stretch; flex-direction: column; } .league-settings-actions .button { width: 100%; } }
.enrollment-import { display: grid; gap: 16px; margin: 22px 0; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.enrollment-import h3 { margin: 4px 0 8px; font-size: 20px; }
.enrollment-import p { margin: 0; color: var(--muted); line-height: 1.5; }
.enrollment-import-preview { display: grid; gap: 8px; padding: 16px; border-radius: 12px; background: var(--canvas); }
.enrollment-import-preview .form-actions { margin-top: 8px; }
.crest-editor { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr); gap: 20px; align-items: start; }
.crest-workspace, .crest-controls, .crest-pending { display: grid; gap: 16px; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.crest-workspace h2, .crest-controls h2 { margin: 0; font-size: 22px; }
.crest-workspace p, .crest-controls p { margin: 0; color: var(--muted); }
.crest-preview { width: 180px; height: 180px; display: grid; place-items: center; justify-self: center; border: 7px solid var(--crest-secondary); background: var(--crest-primary); color: white; box-shadow: 0 12px 28px rgba(16,37,66,.15); overflow: hidden; }
.crest-preview.shield { clip-path: polygon(50% 0,100% 17%,100% 58%,85% 82%,50% 100%,15% 82%,0 58%,0 17%); }
.crest-preview.circle { border-radius: 50%; }
.crest-preview.square { border-radius: 24px; }
.crest-preview strong { font-size: 52px; letter-spacing: -.04em; }
.crest-preview img { width: 100%; height: 100%; object-fit: contain; }
.crest-current { width: 40px; height: 40px; object-fit: contain; vertical-align: middle; margin-inline: 8px; }
.crest-pending { margin-top: 20px; }
.crest-request { display: flex; gap: 16px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.crest-request img { width: 64px; height: 64px; object-fit: contain; }
.crest-request > div { display: grid; flex: 1; }
.crest-request small { color: var(--muted); }
@media (max-width: 780px) { .crest-editor { grid-template-columns: 1fr; } .crest-request { flex-wrap: wrap; } }
.setup-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--sky); color: var(--blue-dark); font-size: 1.5rem; }
.setup-panel h2, .empty-state h1, .empty-state h2 { margin: 5px 0 8px; }
.setup-panel p, .empty-state p { max-width: 680px; margin: 0 0 20px; color: var(--muted); }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.choice-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
.choice-card h2 { margin: 13px 0 4px; }
.choice-card p { margin: 0; color: var(--muted); }
.choice-card ul { min-height: 112px; margin: 20px 0; padding-left: 21px; color: #40506a; }
.choice-badge { align-self: flex-start; padding: 5px 9px; border-radius: 999px; background: #eaf8f2; color: var(--success); font-size: .7rem; font-weight: 800; }
.choice-badge.neutral { color: var(--blue-dark); background: var(--sky); }
.notice { display: flex; gap: 7px; margin-top: 18px; padding: 15px 17px; border-radius: 11px; background: #fff8e8; color: #76511d; font-size: .85rem; }
.loading { padding: 30px; color: var(--muted); }
.logout-button { border: 0; background: transparent; color: var(--muted); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 700; }
.logout-button:hover { color: var(--danger); }

.login-body { min-height: 100vh; background: radial-gradient(circle at 18% 24%, rgba(53,121,194,.2), transparent 32%), radial-gradient(circle at 75% 85%, rgba(10,70,125,.22), transparent 38%), #0d2038; }
.login-shell { min-height: 100vh; width: min(1160px, 100%); margin: 0 auto; display: grid; grid-template-columns: 1fr 460px; align-items: center; gap: clamp(44px, 8vw, 116px); padding: 50px 32px; }
.login-intro { color: #fff; }
.login-intro .brand-mark { margin-bottom: 64px; box-shadow: 0 14px 38px rgba(0,0,0,.18); }
.login-intro .eyebrow { color: #83bfff; }
.login-intro h1 { max-width: 590px; margin: 8px 0 18px; font-size: clamp(2.7rem, 5vw, 4.7rem); line-height: 1.02; letter-spacing: -.055em; }
.login-intro p { max-width: 560px; color: #c5d4e6; font-size: 1.05rem; }
.login-intro ul { display:grid;gap:12px;margin: 32px 0 0; padding:0;list-style:none;color: #dce8f5; }
.login-intro li { display:flex;align-items:center;gap:11px;font-size:.9rem; }
.login-intro li::before { content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#6ab5ff;box-shadow:0 0 0 5px rgba(106,181,255,.11); }
.login-card { padding: 42px; border: 1px solid rgba(255,255,255,.78); border-radius: 19px; background: #fff; box-shadow: 0 28px 90px rgba(0,10,28,.3); }
.login-card h2 { margin: 5px 0 3px; font-size: 1.65rem; }
.login-help, .login-footnote { color: var(--muted); font-size: .88rem; }
.login-card form { display: grid; margin-top: 26px; }
.login-card label { margin: 14px 0 6px; color: #34445d; font-size: .82rem; font-weight: 750; }
.login-card input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #c7d2e1; border-radius: 10px; background: #fff; color: var(--ink); font: inherit; }
.login-card input:focus { border-color: var(--blue); outline: 3px solid #dcecff; }
.password-field { position: relative; }
.password-field input { padding-right: 50px; }
.password-toggle { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #50627a; cursor: pointer; }
.password-toggle:hover { background: var(--sky); color: var(--blue-dark); }
.password-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.password-toggle .eye-closed, .password-toggle.showing .eye-open { display: none; }
.password-toggle.showing .eye-closed { display: block; }
.login-submit { width: 100%; margin-top: 24px; }
.login-footnote { margin: 22px 0 0; text-align: center; }
.field-error, .validation-summary { color: var(--danger); font-size: .78rem; }
.validation-summary ul { margin: 10px 0; padding-left: 20px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.operation-notice { margin-bottom: 16px; padding: 13px 16px; border-radius: 10px; font-size: .88rem; font-weight: 700; }
.operation-notice:not(.success):not(.error) { color: var(--info-ink); background: var(--info-surface); border: 1px solid var(--info-line); }
.operation-notice.success { color: var(--success-ink); background: var(--success-surface); border: 1px solid var(--success-line); }
.operation-notice.error { color: var(--danger); background: var(--danger-surface); border: 1px solid var(--danger-line); }
.source-banner { display: flex; gap: 8px; margin: -18px 0 18px; padding: 10px 14px; border-radius: 10px; background: var(--info-surface); color: var(--info-ink); font-size: .8rem; }
.source-banner strong { color: var(--blue-dark); }
.management-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr); gap: 18px; align-items: start; }
.list-panel, .editor-panel { border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--surface); box-shadow: var(--shadow); }
.list-panel { overflow: hidden; }
.editor-panel { position: sticky; top: 96px; padding: 24px; }
.editor-panel h2 { margin: 4px 0 18px; }
.treasury-grid { grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); align-items: stretch; }
.treasury-grid .list-panel, .treasury-grid .editor-panel { min-height: 292px; }
.treasury-list-panel > .section-title { min-height: 86px; align-items: center; margin: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.treasury-editor-panel { position: static; }
.search-bar { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 16px; border-bottom: 1px solid var(--line); }
.search-bar input, .form-grid input, .form-grid select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--control-line); border-radius: var(--radius-control); background: var(--surface); color: var(--ink); font: inherit; }
.player-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; padding: 14px 16px 10px; background: var(--surface-subtle); }
.player-filters label { display: block; margin-bottom: 5px; color: #40516b; font-size: .75rem; font-weight: 750; }
.player-filters select { width: 100%; min-width: 0; min-height: 40px; padding: 8px 10px; border: 1px solid var(--control-line); border-radius: var(--radius-control); background: var(--surface); color: var(--ink); font: inherit; }
.player-filter-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 16px 12px; border-bottom: 1px solid var(--line); background: var(--surface-subtle); color: var(--muted); font-size: .77rem; }
.player-membership-row { grid-template-columns: minmax(0, 1fr) auto; }
.membership-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.certificate-row { grid-template-columns: minmax(0,1fr) auto; }
.certificate-row .membership-actions { align-items: center; justify-content: flex-end; }
.certificate-row .membership-actions input { min-width: 180px; min-height: 38px; padding: 7px 10px; border: 1px solid var(--control-line); border-radius: var(--radius-control); font: inherit; }
.certificate-row .record-main { min-width:0; overflow-wrap:anywhere; }
.form-grid.certificate-date-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
.form-grid.two.player-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.certificate-date-field { display:flex; min-width:0; flex-direction:column; }
.certificate-date-field input { min-width:0; box-sizing:border-box; }
.certificate-date-field .field-help { display:block; margin-top:6px; line-height:1.35; }
@media (max-width:560px) {
    .form-grid.certificate-date-grid { grid-template-columns:minmax(0,1fr); }
    .form-grid.two.player-name-grid { grid-template-columns:minmax(0,1fr); }
    .certificate-row { grid-template-columns:minmax(0,1fr); }
    .certificate-row .membership-actions { justify-content:flex-start; }
}
.player-detail-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 16px 0 18px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); }
.player-detail-tabs button { flex: 1 1 auto; min-height: 39px; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.player-detail-tabs button:hover { color: var(--blue-dark); background: var(--surface-hover); }
.player-detail-tabs button.active { color: var(--blue-dark); background: #fff; box-shadow: 0 1px 5px #14294a12; }
.player-detail-tabs button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.player-membership-row .button { min-height: 34px; padding: 6px 10px; font-size: .76rem; }
.record-list { display: grid; }
.record-row { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; width: 100%; padding: 14px 16px; border: 0; border-bottom: 1px solid #edf1f6; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.category-list-panel > .section-title { margin: 0; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.record-row.category-row { grid-template-columns: minmax(0, 1fr) auto auto auto; }
@media (max-width: 700px) { .record-row.category-row { grid-template-columns: minmax(0, 1fr) auto; } .category-row > .button, .category-row > .text-button { justify-self: start; } }
.record-row:hover, .record-row.selected { background: var(--surface-hover); }
.record-row.newly-created-team { box-shadow: inset 3px 0 var(--blue); background: var(--surface-hover); }
.team-identity { display: inline-block; margin-top: 4px; font-weight: 700; color: var(--blue-dark); }
.operation-notice .button { margin-left: 12px; vertical-align: middle; }
.record-row.selected { box-shadow: inset 3px 0 var(--blue); }
.record-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--sky); color: var(--blue-dark); font-size: .76rem; font-weight: 850; }
.record-main strong, .record-main small { display: block; }
.record-main small { color: var(--muted); font-size: .77rem; }
.status-chip { padding: 5px 8px; border-radius: 999px; background: #f1f3f6; color: var(--muted); font-size: .68rem; font-weight: 800; }
.status-chip.active { background: var(--success-surface); color: var(--success); }
.status-chip.locked { background: #fff4e5; color: #9a5b00; }
.list-empty { display: grid; gap: 3px; padding: 46px 20px; color: var(--muted); text-align: center; }
.list-empty strong { color: var(--ink); }
.form-grid { display: grid; gap: 12px; margin-top: 12px; }
.form-grid.two { grid-template-columns: 1fr 2fr; }
.form-grid label { display: block; margin-bottom: 5px; color: var(--label); font-size: .76rem; font-weight: 750; }
.form-grid label span { color: var(--muted); font-weight: 500; }
.form-actions { display: flex; gap: 9px; margin-top: 20px; }
.danger-zone { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.danger-zone p { margin: 4px 0 10px; color: var(--muted); font-size: .78rem; }
.text-danger { padding: 0; border: 0; background: transparent; color: var(--danger); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 750; }
.confirm-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--danger); font-size: .8rem; font-weight: 750; }
.danger-button { color: #fff; background: var(--danger); }
.subeditor { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.subeditor .section-title { align-items: center; }
.form-explanation { margin: -10px 0 14px; color: var(--muted); font-size: .82rem; }
.password-submit { width: 100%; margin-top: 16px; }
.compact-list { margin: 0 -8px 16px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.summary-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 18px; }
.summary-strip > div { padding: 13px; border-radius: 10px; background: var(--canvas); }
.summary-strip span, .summary-strip strong { display: block; }
.summary-strip span { color: var(--muted); font-size: .72rem; }
.confirmation-box { margin-top: 18px; padding: 14px; border: 1px solid #c8d9ed; border-radius: 10px; background: #f4f8fe; }
.confirmation-box p { margin: 4px 0 0; color: #4e6078; font-size: .8rem; }
.panel-title { padding: 16px; margin: 0; border-bottom: 1px solid var(--line); }
.enrollment-list { display: grid; gap: 7px; max-height: 310px; overflow: auto; }
.enrollment-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; }
.enrollment-row strong,.enrollment-row small { display:block; }
.enrollment-row small { color:var(--muted);font-size:.72rem; }
.readiness-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: -4px 0 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.readiness-strip > div { min-width: 0; padding: 10px 12px; border-right: 1px solid var(--line); }
.readiness-strip > div:last-child { border-right: 0; }
.readiness-strip span,.readiness-strip strong { display: block; }
.readiness-strip span { color: var(--muted); font-size: .7rem; }
.readiness-strip strong { margin-top: 2px; font-size: .8rem; }
.readiness-strip .ready strong { color: var(--success); }
.readiness-strip .pending strong { color: var(--info-ink); }
.filter-tabs { display:flex;gap:5px;padding:12px 16px;border-bottom:1px solid var(--line); }
.filter-tabs button { padding:7px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:750;cursor:pointer; }
.filter-tabs button.active { background:var(--sky);color:var(--blue-dark); }
.match-finder { padding: 18px 18px 14px; border-bottom: 1px solid var(--line); background: #fff; }
.match-finder-fields { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(170px,1fr); gap: 12px; }
.match-finder-fields label { display: block; margin-bottom: 5px; color: #3a4960; font-size: .75rem; font-weight: 750; }
.match-finder-fields input,.match-finder-fields select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #c7d2e1; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.match-finder-fields .lookup-search { display: flex; gap: 7px; }
.match-finder-fields .lookup-search input { min-width: 0; }
.match-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 9px; }
.match-calendar-head strong,.match-calendar-head small { display: block; }
.match-calendar-head strong { color: var(--ink); text-transform: capitalize; }
.match-calendar-head small { margin-top: 1px; color: var(--muted); font-size: .72rem; }
.match-calendar-actions { display: flex; gap: 5px; }
.match-calendar-actions input[type="month"] { width: 145px; min-height: 37px; padding: 5px 8px; border: 1px solid #c7d2e1; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: .8rem; }
.match-calendar-actions .button { min-width: 37px; padding: 6px 9px; }
.match-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.match-calendar-weekday { padding: 4px 0; color: var(--muted); font-size: .67rem; font-weight: 750; text-align: center; }
.match-calendar-day { display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 34px; padding: 3px; border: 1px solid transparent; border-radius: 8px; background: #f5f8fc; color: var(--ink); font: inherit; font-size: .75rem; cursor: pointer; }
.match-calendar-day:hover { border-color: #b9d3f6; background: #edf5ff; }
.match-calendar-day.active { border-color: var(--blue); background: var(--sky); color: var(--blue-dark); font-weight: 800; }
.match-calendar-day.outside { background: transparent; color: #bdc8d7; cursor: default; }
.match-calendar-day small { min-width: 15px; padding: 1px 3px; border-radius: 5px; background: #d9e9ff; color: var(--blue-dark); font-size: .61rem; font-weight: 800; }
.match-date-filter { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 11px; color: var(--muted); font-size: .75rem; }
.match-date-filter .text-button { color: var(--blue-dark); }
.match-date { text-align:center;min-width:48px; }
.match-date strong,.match-date small { display:block; }.match-date small{color:var(--muted);font-size:.68rem;}
.match-versus { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px;border-radius:11px;background:var(--canvas);text-align:center; }
.match-versus span { color:var(--muted);font-size:.75rem; }.match-versus strong{display:block;margin-top:3px;}
.score-editor { display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin-top:18px; }
.score-editor label{display:block;margin-bottom:5px;font-size:.75rem;font-weight:750;}.score-editor input{width:100%;min-height:54px;border:1px solid #c7d2e1;border-radius:10px;font:inherit;font-size:1.25rem;text-align:center;}
.sanction-detail { display:grid;gap:10px;margin-bottom:18px; }.sanction-detail p{margin:0;padding:13px;border-radius:9px;background:var(--canvas);}.sanction-detail strong,.sanction-detail span{display:block}.sanction-detail span{margin-top:3px;color:var(--muted);font-size:.8rem}.form-grid textarea{width:100%;min-height:90px;padding:9px 11px;border:1px solid #c7d2e1;border-radius:9px;font:inherit;resize:vertical;}
.user-summary{display:grid;gap:8px}.user-summary p{margin:0;padding:12px;border-radius:9px;background:var(--canvas)}.user-summary strong,.user-summary span{display:block}.user-summary span{color:var(--muted);font-size:.8rem}
.user-management-grid { grid-template-columns: minmax(0,1.15fr) minmax(390px,.85fr); }
.user-list-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.user-list-heading strong,.user-list-heading small { display:block; }
.user-list-heading small { margin-top:2px;color:var(--muted);font-size:.73rem;font-weight:500; }
.user-editor-panel { min-height:490px; }
.editor-intro { margin:-10px 0 20px;color:var(--muted);font-size:.86rem; }
.password-rule { margin-top:-3px; }
.selected-user-heading { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px;margin-bottom:18px; }
.selected-user-heading h2 { margin:1px 0 0; }
.selected-user-heading p { margin:2px 0 0;color:var(--muted);font-size:.8rem; }
.record-avatar.large { width:46px;height:46px;font-size:.84rem; }
.editor-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 -4px 20px;padding:4px;border-radius:11px;background:#edf2f8; }
.editor-tabs button { min-height:38px;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:#5d6d82;font:inherit;font-size:.77rem;font-weight:750;cursor:pointer; }
.editor-tabs button:hover { color:var(--blue-dark); }
.editor-tabs button.active { background:#fff;color:var(--blue-dark);box-shadow:0 2px 8px rgba(16,37,66,.1); }
.user-summary-premium { grid-template-columns:1fr 1fr; }
.user-summary-premium p:last-child { grid-column:1/-1; }
.context-help { margin-top:16px;padding:15px 16px;border:1px solid #d6e5f7;border-radius:11px;background:#f6f9fd; }
.context-help p { margin:4px 0 0;color:var(--muted);font-size:.8rem; }
.subeditor.flush { margin:0;padding:0;border:0; }
.subeditor.flush h3 { margin:0 0 13px; }
.password-confirmation { margin-top:0; }
.access-panel { display:grid;gap:16px; }
.access-state { padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--canvas); }
.access-state p { margin:4px 0 0;color:var(--muted);font-size:.8rem; }
.access-state.ok { border-color:#b7e4d1;background:#f0faf5;color:#075f43; }
.access-state.warning { border-color:#f0d39f;background:#fff8e8;color:#76511d; }
.access-state.off { border-color:#e2e5ea;background:#f5f6f8;color:#475467; }
.full-width { width:100%; }
.generated-code { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; background: var(--canvas); color: var(--muted); font-size: .76rem; }
.generated-code strong { padding: 3px 7px; border-radius: 6px; background: #fff; color: var(--blue-dark); letter-spacing: .05em; }
.generated-code small { margin-left: auto; }
.pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.pager .button { min-height: 36px; min-width: 96px; padding: 7px 11px; }
.lookup-search { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.lookup-results { max-height: 240px; margin-top: 8px; overflow: auto; border: 1px solid var(--line); border-radius: 9px; }
.lookup-results button { width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 11px 12px; border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.lookup-results button:last-child { border-bottom: 0; }
.lookup-results button:hover { background: var(--sky); }
.lookup-results button.highlighted { background: var(--sky); box-shadow: inset 3px 0 var(--blue); }
.lookup-results span,.lookup-selected small { display: block; color: var(--muted); font-size: .75rem; }
.lookup-selected { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #b9d3f3; border-radius: 9px; background: var(--sky); }
.search-picker input[type="search"] { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--control-line); border-radius: var(--radius-control); background: var(--surface); color: var(--ink); font: inherit; }
.search-picker .lookup-results { max-height: 290px; }
.search-picker .lookup-results button { display: block; }
.search-picker .lookup-results strong,.search-picker .lookup-results span { display: block; }
.search-picker .lookup-results button:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.schedule-day-picker { display: flex; align-items: end; gap: 10px; margin-top: 14px; }
.schedule-day-picker > div { flex: 1; min-width: 0; }
.schedule-day-picker input { width: 100%; }
.treasury-charge-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 16px; border-top: 1px solid var(--line); background: #f8faff; }
.treasury-charge-filters label { display: block; margin-bottom: 5px; font-size: .8rem; font-weight: 700; }
.treasury-charge-filters input { width: 100%; }
.treasury-filter-actions { grid-column: 1/-1; display: flex; align-items: center; gap: 14px; }
.filter-count { margin: 0; padding: 10px 16px; color: var(--muted); font-size: .82rem; border-top: 1px solid var(--line); }
.list-filter-panel { padding: 14px 16px; background: #f8faff; border-top: 1px solid var(--line); }
.list-filter-panel > label { display: block; margin-bottom: 5px; font-size: .8rem; font-weight: 700; }
.list-filter-panel > input { width: 100%; }
.simple-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 12px; padding: 10px 16px; background: #f8faff; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.simple-filter-row label { font-weight: 700; color: var(--ink); }
.simple-filter-row select { min-width: 132px; max-width: 100%; min-height: 38px; padding: 6px 10px; }
.simple-filter-row .text-button { margin-left: auto; }
.task-panel .matchsheet-search { margin: 0 0 18px; }
.task-panel .matchsheet-filters { margin: 0; padding: 15px 0 16px; border-top: 1px solid var(--line); background: transparent; }
.task-panel .matchsheet-filters > span:last-child { white-space: nowrap; }
.schedule-venue-creator { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.schedule-venue-creator h3 { margin: 0 0 5px; font-size: 1rem; }
.schedule-venue-creator p { margin: 0 0 12px; color: var(--muted); font-size: .85rem; }
.schedule-history { margin-top: 20px; }
.schedule-history summary { color: var(--blue); cursor: pointer; font-weight: 700; }
.schedule-history .record-list { margin-top: 10px; max-height: 280px; overflow: auto; }
.text-button { padding: 4px; border: 0; background: transparent; color: var(--blue-dark); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.field-help { margin: 7px 0 0; color: var(--muted); font-size: .78rem; }
.competition-wizard { padding-top: 18px; }
.competition-workspace-header .back-link { margin-bottom:14px; }
.competition-workspace { max-width:1120px; margin-inline:auto; }
.competition-workspace-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.competition-workspace-summary > div,.competition-workspace-card { border:1px solid var(--line); border-radius:14px; background:#fff; }
.competition-workspace-summary > div { display:grid; gap:5px; padding:18px 20px; }
.competition-workspace-summary span { color:var(--muted); font-size:.78rem; font-weight:700; }
.competition-workspace-summary strong { color:var(--ink); font-size:1.6rem; line-height:1.1; }
.competition-workspace-summary .competition-workspace-status { font-size:1.15rem; }
.competition-workspace-summary small { color:var(--muted); font-size:.78rem; }
.competition-workspace-main { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr); align-items:start; gap:16px; }
.competition-workspace-card { padding:23px; }
.competition-workspace-card h2 { margin:6px 0 18px; font-size:1.2rem; }
.competition-workspace-steps { margin:0; padding:0; list-style:none; }
.competition-workspace-steps li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:13px; padding:15px 0; border-top:1px solid var(--line); }
.competition-workspace-step-number { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--sky); color:var(--blue-dark); font-size:.78rem; font-weight:800; }
.competition-workspace-steps strong { color:var(--ink); }
.competition-workspace-steps p { margin:3px 0 0; color:var(--muted); font-size:.82rem; line-height:1.4; }
.competition-workspace-steps a,.competition-workspace-side > a { color:var(--blue-dark); font-size:.84rem; font-weight:750; text-decoration:none; }
.competition-workspace-steps a:hover,.competition-workspace-side > a:hover { text-decoration:underline; }
.competition-workspace-managed { color:var(--muted); font-size:.76rem; }
.competition-workspace-side > a { display:block; padding:13px 0; border-top:1px solid var(--line); }
.competition-workspace-side p { margin:15px 0 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
@media(max-width:800px) { .competition-workspace-main { grid-template-columns:1fr; } }
@media(max-width:600px) { .competition-workspace-summary { grid-template-columns:1fr; gap:8px; } .competition-workspace-summary > div { grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:13px 16px; } .competition-workspace-summary small { grid-column:1 / -1; } .competition-workspace-card { padding:17px; } .competition-workspace-steps li { grid-template-columns:28px minmax(0,1fr); } .competition-workspace-steps li > a,.competition-workspace-managed { grid-column:2; } }
.wizard-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 0 0 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.wizard-steps button { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 5px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: .72rem; cursor: pointer; }
.wizard-steps button span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #edf1f6; }
.wizard-steps button.active { color: var(--blue-dark); background: var(--sky); }
.wizard-steps button.active span { color: #fff; background: var(--blue); }
.wizard-steps button:disabled { opacity: .45; cursor: not-allowed; }
.wizard-panel h2 { margin-bottom: 6px; }
.wizard-help { margin: 0 0 18px; color: var(--muted); font-size: .86rem; }
.wizard-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.publication-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}.publication-main,.publication-action{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(16,37,66,.04)}.publication-main h2,.publication-action h2{margin:4px 0 18px}.publication-action{position:sticky;top:96px}.publication-action>p{color:var(--muted)}.publication-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.publication-counts>div{padding:17px;border-radius:11px;background:var(--canvas)}.publication-counts strong,.publication-counts span{display:block}.publication-counts strong{font-size:1.45rem}.publication-counts span{color:var(--muted);font-size:.75rem}.publication-check{display:flex;gap:12px;margin-top:18px;padding:16px;border-radius:11px;background:#e9f8f1;color:#174e3e}.publication-check>span{font-size:1.25rem}.publication-check p{margin:4px 0 0;font-size:.8rem}

.task-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.matchsheet-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
.task-tab { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; min-height: 72px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--muted); text-align: left; cursor: pointer; font: inherit; }
.task-tab:hover { border-color: #aac6e8; }
.task-tab.active { border-color: #8db9ee; background: var(--sky); color: var(--blue-dark); box-shadow: 0 7px 22px rgba(24,103,198,.08); }
.task-tab.complete:not(.active) .task-tab-number { color: #fff; background: var(--success); }
.task-tab-number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #edf1f6; color: #53657d; font-size: .78rem; font-weight: 850; }
.task-tab.active .task-tab-number { color: #fff; background: var(--blue); }
.task-tab strong,.task-tab small { display: block; }
.task-tab strong { color: var(--ink); font-size: .88rem; }
.task-tab small { margin-top: 2px; font-size: .7rem; }
.task-panel { padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 7px 24px rgba(16,37,66,.04); }
.task-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.task-panel-heading h2 { margin: 4px 0; }
.task-panel-heading p { margin: 0; color: var(--muted); }
.task-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.choice-list { display: grid; gap: 9px; margin-top: 20px; }
.choice-list > label { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 11px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.choice-list input,.check-row input { margin-top: 3px; }
.choice-list strong,.choice-list small,.check-row strong,.check-row small { display: block; }
.choice-list small,.check-row small { margin-top: 2px; color: var(--muted); font-size: .74rem; }
.inline-editor { margin-bottom: 18px; padding: 19px; border: 1px solid #b9d3f3; border-radius: 13px; background: #f7faff; }
.inline-editor .section-title { margin-bottom: 8px; }
.inline-editor h3 { margin: 3px 0 0; }
.team-picker { margin: 18px 0 0; padding: 0; border: 0; }
.team-picker legend { margin-bottom: 8px; color: #3a4960; font-size: .78rem; font-weight: 800; }
.option-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; max-height: 270px; overflow: auto; }
.check-row { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }
.record-list.bordered { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.record-row.matchsheet-record-row { grid-template-columns: minmax(0,1fr) auto; }
.matchsheet-record-row .status-chip { max-width: min(240px,35vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.matchsheet-inline-detail { margin: 0; border-width: 0 0 1px; border-radius: 0; background: var(--surface-subtle, #f7faff); }
.matchsheet-inline-detail:last-child { border-bottom: 0; }
.matchsheet-inline-detail .form-grid { margin-top: 14px; }
.delegate-inline-review { padding: 19px; border-bottom: 1px solid var(--line); background: var(--surface-subtle, #f7faff); }
.delegate-inline-review:last-child { border-bottom: 0; }
.delegate-inline-review .section-title { align-items: center; }
.delegate-inline-review .record-list { margin-block: 12px; background: #fff; }
.delegate-lineup-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; margin-top: 18px; }
.delegate-lineup-head h4 { margin: 0; font-size: 1rem; }
.delegate-lineup-head span { color: var(--muted, #60708a); font-size: .82rem; }
.delegate-formation-preview { position: relative; width: min(100%, 520px); min-height: 280px; margin: 12px auto 18px; overflow: hidden; border: 2px solid #dceee1; border-radius: 10px; background: repeating-linear-gradient(90deg, #247b57 0 20%, #2a845e 20% 40%); color: #fff; }
.delegate-formation-preview::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.8); pointer-events: none; }
.delegate-formation-half { position: absolute; top: 50%; left: 12px; right: 12px; border-top: 1px solid rgba(255,255,255,.8); }
.delegate-formation-circle { position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; transform: translate(-50%,-50%); }
.delegate-formation-player { position: absolute; z-index: 1; display: grid; justify-items: center; gap: 2px; width: 78px; max-width: 24%; transform: translate(-50%,-50%); text-align: center; }
.delegate-formation-player b { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #fff; border-radius: 50%; background: #123d72; font-size: .75rem; }
.delegate-formation-player small { max-width: 100%; overflow: hidden; color: #fff; font-size: .65rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 2px #092d1b; }
.record-row.static { cursor: default; }
.record-row.static:hover { background: #fff; }
.treasury-tabs { margin-bottom: 15px; padding: 7px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.treasury-receipts { max-width: 1050px; }
.treasury-receipts .section-title { padding: 21px 22px 0; }
.treasury-receipts .section-title p { margin: 5px 0 0; color: var(--muted); font-size: .84rem; }
.treasury-receipts .search-bar { margin: 12px 20px; }
.treasury-receipts .record-row { grid-template-columns: minmax(0,1fr) auto; text-decoration: none; }
.treasury-receipts .record-row > span:last-child { text-align: right; }
.receipt-open { display: block; margin-top: 3px; color: var(--blue); font-size: .75rem; }
.treasury-tabs { max-width: 1100px; margin: 0 auto 18px; padding: 0; gap: 24px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.treasury-tabs button { padding: 12px 2px; border-radius: 0; font-size: .86rem; }
.treasury-tabs button.active { background: transparent; color: var(--blue-dark); box-shadow: inset 0 -2px var(--blue); }
.treasury-receipts { max-width: 1100px; margin-inline: auto; }
.treasury-ledger { box-shadow: 0 12px 30px rgba(18, 39, 69, .055); }
.treasury-ledger .treasury-ledger-heading { min-height: 102px; align-items: center; margin: 0; padding: 23px 26px; border-bottom: 1px solid var(--line); }
.treasury-ledger .treasury-ledger-heading h2 { margin-top: 5px; font-size: 1.35rem; }
.treasury-ledger .treasury-ledger-heading p { margin: 5px 0 0; color: var(--muted); font-size: .86rem; }
.treasury-ledger .treasury-ledger-heading .button { flex: none; }
.treasury-charge-filters { grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)); gap: 18px 16px; padding: 22px 26px 18px; border-top: 0; background: #fff; }
.treasury-charge-filters .treasury-search-field { grid-column: 1 / -1; }
.treasury-charge-filters label, .treasury-receipt-search label { margin-bottom: 7px; color: var(--label); font-size: .76rem; font-weight: 750; }
.treasury-filter-actions { justify-content: flex-end; padding-top: 16px; border-top: 1px solid var(--line); }
.treasury-receipt-search { padding: 22px 26px 20px; }
.treasury-receipt-search label { display: block; }
.treasury-search-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.treasury-search-control input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid var(--control-line); border-radius: var(--radius-control); background: var(--surface); color: var(--ink); font: inherit; }
.treasury-results-meta { padding: 12px 26px; border-top: 1px solid var(--line); background: var(--surface-subtle); font-weight: 650; }
.treasury-ledger-columns, .treasury-ledger .treasury-entry { display: grid; grid-template-columns: minmax(0, 1fr) 190px 185px; gap: 16px; align-items: center; }
.treasury-ledger-columns { padding: 12px 26px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .69rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.treasury-ledger-columns span:last-child { text-align: right; }
.treasury-ledger .treasury-entry { min-height: 77px; padding: 15px 26px; text-decoration: none; }
.treasury-ledger .treasury-entry:last-child { border-bottom: 0; }
.treasury-entry-primary { min-width: 0; }
.treasury-entry-primary strong { font-size: .95rem; }
.treasury-entry-primary small { margin-top: 4px; overflow-wrap: anywhere; }
.treasury-entry-date { color: var(--muted); font-size: .82rem; white-space: nowrap; }
.treasury-entry-amount { display: block; text-align: right; white-space: nowrap; }
.treasury-entry-amount strong { display: block; font-size: 1rem; font-variant-numeric: tabular-nums; }
.treasury-entry-amount small { display: block; margin-top: 4px; color: var(--blue); font-size: .75rem; font-weight: 700; }
.treasury-ledger .record-row:hover .treasury-entry-amount small, .treasury-ledger .record-row:focus-visible .treasury-entry-amount small { text-decoration: underline; }
.receipt-screen { max-width: 820px; margin: 0 auto; }
.receipt-toolbar { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.receipt-document { padding: 46px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.receipt-document-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 28px; border-bottom: 2px solid var(--ink); }
.receipt-document-head h1 { margin: 7px 0 4px; font-size: 2rem; }
.receipt-document-head p,.receipt-footnote { color: var(--muted); font-size: .85rem; }
.receipt-number { text-align: right; }
.receipt-number span,.receipt-number strong { display: block; }
.receipt-number span { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.receipt-number strong { margin-top: 4px; font-size: 1.5rem; letter-spacing: .05em; }
.receipt-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 23px 28px; margin: 30px 0; }
.receipt-details div { min-width: 0; }.receipt-details dt { color: var(--muted); font-size: .76rem; }.receipt-details dd { margin: 5px 0 0; font-weight: 750; overflow-wrap: anywhere; }
.receipt-total { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 21px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.receipt-total strong { font-size: 1.6rem; }.receipt-footnote { margin: 23px 0 0; }
.summary-strip.three { grid-template-columns: repeat(3,1fr); }

@media (max-width: 980px) {
    .app-shell { display: block; }
    .sidebar { position: fixed; z-index: 41; inset: 0 auto 0 0; width: min(330px, calc(100vw - 44px)); height: 100dvh; padding: 22px 16px; transform: translateX(-105%); visibility: hidden; transition: transform .2s ease, visibility .2s ease; box-shadow: 15px 0 35px rgba(8,21,41,.18); }
    .sidebar.sidebar-open { transform: translateX(0); visibility: visible; }
    .sidebar .brand { padding-right: 40px; }
    .sidebar .nav-menu { min-height: 0; }
    .navigation-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--navy); font: inherit; font-size: .85rem; font-weight: 750; cursor: pointer; }
    .navigation-toggle span:first-child { font-size: 1.2rem; line-height: 1; }
    .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .metric-card:nth-child(2) { border-right: 0; }
    .metric-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 680px) {
    .treasury-charge-filters { grid-template-columns: 1fr; }
    .treasury-filter-actions { grid-column: auto; }
    .topbar { min-height: 64px; padding: 10px 17px; }
    .topbar-organization { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .topbar-organization strong { overflow: hidden; text-overflow: ellipsis; display: block; }
    .topbar-actions { gap: 4px; }
    .mode-pill, .user-button > span:last-child { display: none; }
    .content { padding: 27px 17px 64px; }
    .page-header { display: block; margin-bottom: 26px; }
    .page-header .button { margin-top: 18px; width: 100%; }
    .module-grid, .choice-grid { grid-template-columns: 1fr; }
    .metric-grid { grid-template-columns: 1fr 1fr; }
    .setup-panel { grid-template-columns: 1fr; padding: 26px; }
    .empty-state { padding: 28px; }
    .notice { display: block; }
    .login-body { background: var(--canvas); }
    .login-shell { display: block; padding: 24px 17px; }
    .login-intro { padding: 8px 8px 28px; color: var(--ink); }
    .login-intro .brand-mark { margin-bottom: 22px; color: #fff; }
    .login-intro .eyebrow, .login-intro ul { display: none; }
    .login-intro h1 { margin-top: 8px; font-size: 2rem; }
    .login-intro p { color: var(--muted); }
    .login-card { padding: 26px 22px; }
    .management-grid { grid-template-columns: 1fr; }
    .user-management-grid { grid-template-columns: 1fr; }
    .editor-panel { position: static; }
    .record-row { grid-template-columns: auto 1fr; }
    .player-membership-row { grid-template-columns: 1fr; }
    .status-chip { grid-column: 2; justify-self: start; }
    .form-grid.two { grid-template-columns: 1fr; }
    .match-finder-fields { grid-template-columns: 1fr; }
    .match-calendar-day { gap: 2px; min-height: 36px; font-size: .7rem; }
    .publication-layout { grid-template-columns: 1fr; }
    .publication-action { position: static; }
    .publication-counts { grid-template-columns: 1fr 1fr; }
    .pager { align-items: stretch; flex-direction: column; text-align: center; }
    .wizard-footer { align-items: stretch; flex-direction: column; text-align: center; }
    .task-tabs { grid-template-columns: 1fr; }
    .task-tab { min-height: 58px; }
    .task-panel { padding: 20px 16px; }
    .task-panel-heading,.task-panel-footer { align-items: stretch; flex-direction: column; }
    .task-panel-heading .button,.task-panel-footer .button { width: 100%; }
    .form-grid.three,.option-list { grid-template-columns: 1fr; }
    .readiness-strip { grid-template-columns: 1fr; }
    .readiness-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .readiness-strip > div:last-child { border-bottom: 0; }
    .user-summary-premium { grid-template-columns:1fr; }
    .user-summary-premium p:last-child { grid-column:auto; }
    .receipt-toolbar,.receipt-document-head,.receipt-total { flex-direction: column; align-items: stretch; }
    .receipt-number { text-align: left; }.receipt-document { padding: 25px 19px; }.receipt-details { grid-template-columns: 1fr; }
}

@media print {
    @page { size: A4; margin: 16mm; }
    body,.workspace,.content { background: #fff !important; }
    .app-shell { display: block; }.sidebar,.topbar,.receipt-toolbar { display: none !important; }
    .content { padding: 0 !important; }.receipt-screen { max-width: none; }
    .receipt-document { padding: 0; border: 0; border-radius: 0; box-shadow: none; color: #111; }
}

@media (prefers-reduced-motion: no-preference) {
    .route-progress { animation: route-progress-arrive .35s ease-out both; }
    @keyframes route-progress-arrive { from { opacity: .45; transform: scaleX(.18); transform-origin: left; } to { opacity: 1; transform: scaleX(1); transform-origin: left; } }
    .content > :first-child { animation: screen-enter .18s ease-out both; }
    @keyframes screen-enter { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
    .module-card, .attention-item { transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
    .action-icon { transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease; }
    .attention-item:is(:hover, :focus-visible) .action-icon, .module-card:is(:hover, :focus-visible) .action-icon { transform: translateX(2px); }
    .boot-spinner { animation: boot-spin .8s linear infinite; }
    .boot-help { animation: boot-help-appear .2s ease 8s both; }
    .button, .record-row, .nav-item, .text-button, .filter-tabs button, .wizard-steps button { transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .12s ease; }
    .button:not(:disabled):active, .record-row:active, .filter-tabs button:not(:disabled):active, .wizard-steps button:not(:disabled):active { transform: scale(.985); }
    .operation-notice { animation: notice-arrive .22s ease-out; }
    @keyframes boot-spin { to { transform: rotate(360deg); } }
    @keyframes boot-help-appear { from { opacity: 0; } to { opacity: 1; } }
    @keyframes notice-arrive { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) {
    .sidebar { transition: none; }
    .module-card,.attention-item,.button,.record-row,.nav-item,.text-button,.filter-tabs button,.wizard-steps button { transition: none; transform: none; }
    .boot-help { animation: none; }
}
.management-grid.editor-route{display:block;max-width:820px;margin-inline:auto}
.management-grid.editor-route>.editor-panel{width:100%;max-width:none}
.management-grid.list-only{display:block;max-width:1100px;margin-inline:auto}
.task-panel.delegate-create-route{max-width:960px;margin-inline:auto;padding:28px}
.delegate-create-route .task-panel-heading{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.delegate-create-route .delegate-create-form{margin:0;padding:0;border:0;border-radius:0;background:transparent}
.delegate-create-route .delegate-person-fields{margin-bottom:18px}
.delegate-create-route .delegate-password-field{margin-top:0}
.delegate-create-route .team-picker{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.delegate-create-route .team-picker legend{margin-bottom:4px;color:var(--ink);font-size:1rem;font-weight:800}
.delegate-create-route .team-picker>.field-help{margin:0 0 14px}
.delegate-create-route .option-list{max-height:none;overflow:visible;gap:9px}
.delegate-create-route .check-row{min-height:64px;align-items:center;padding:12px 14px}
.delegate-create-route .delegate-person-actions{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.delegate-password-reset{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.delegate-password-reset h3{margin:0 0 5px}
.delegate-password-reset p{margin:0 0 16px;color:var(--muted)}
.delegate-password-reset .form-grid{max-width:520px;margin-bottom:14px}
.delegate-editor-links{display:flex;align-items:center;gap:16px}
.delegate-password-reset{scroll-margin-top:100px}
@media (max-width:760px){.task-panel.delegate-create-route{padding:20px}.delegate-create-route .option-list{grid-template-columns:1fr}}
.workflow-return { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:-12px 0 24px; padding:14px 17px; border:1px solid var(--info-line); border-radius:var(--radius-control); background:var(--info-surface); color:var(--info-ink); }
.workflow-return .button { flex:none; }
.list-empty > .button { justify-self:center; margin-top:12px; }
.generated-code { flex-wrap:wrap; }
@media (max-width:680px) { .workflow-return { align-items:stretch; flex-direction:column; } }
@media (max-width: 760px) {
    .treasury-charge-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .treasury-charge-filters > div:nth-child(2) { grid-column: 1 / -1; }
    .treasury-ledger-columns { display: none; }
    .treasury-ledger .treasury-entry { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; }
    .treasury-entry-date { grid-column: 1; grid-row: 2; }
    .treasury-entry-amount { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 520px) {
    .treasury-tabs { gap: 14px; }
    .treasury-tabs button { font-size: .78rem; }
    .treasury-ledger .treasury-ledger-heading { align-items: flex-start; flex-direction: column; padding: 20px; }
    .treasury-charge-filters, .treasury-receipt-search { padding: 18px 20px; }
    .treasury-charge-filters { grid-template-columns: minmax(0, 1fr); }
    .treasury-charge-filters > div:nth-child(2) { grid-column: auto; }
    .treasury-filter-actions { justify-content: flex-start; }
    .treasury-results-meta, .treasury-ledger .treasury-entry { padding-inline: 20px; }
    .treasury-search-control { grid-template-columns: minmax(0, 1fr); }
    .treasury-entry-amount strong { font-size: .89rem; }
}
.appearance-panel { max-width:1100px; margin-inline:auto; padding:28px; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; box-shadow:var(--shadow-card); }
.appearance-panel h2 { margin:4px 0 6px; font-size:1.4rem; }
.appearance-panel p { color:var(--muted); }
.appearance-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 30px; }
.appearance-choice { display:flex; flex-direction:column; gap:7px; min-width:0; padding:12px; border:2px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease; }
.appearance-choice:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(15,35,65,.12); }
.appearance-choice.selected { border-color:var(--blue); box-shadow:0 0 0 3px rgba(25,102,221,.12); }
.appearance-choice:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.appearance-choice small { color:var(--muted); line-height:1.35; }
.appearance-swatch { display:flex; align-items:end; gap:5px; height:70px; padding:10px; border-radius:7px; background:var(--swatch-bg); }
.appearance-swatch i { display:block; height:32px; flex:1; border-radius:4px; background:var(--swatch-surface); }
.appearance-swatch i:first-child { height:44px; background:var(--swatch-primary); }
.appearance-swatch i:last-child { height:20px; background:var(--swatch-accent); }
.appearance-color-section { padding-top:24px; border-top:1px solid var(--line); }
.appearance-colors { display:flex; flex-wrap:wrap; gap:16px; margin:18px 0 24px; }
.appearance-colors label { display:flex; align-items:center; gap:12px; min-width:220px; padding:10px 13px; border:1px solid var(--line); border-radius:9px; font-weight:700; }
.appearance-colors input { width:48px; height:38px; margin-left:auto; padding:2px; border:0; background:transparent; cursor:pointer; }
.appearance-hero-section { padding-top:24px; margin-top:6px; border-top:1px solid var(--line); }
.appearance-size-options { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 20px; }
.appearance-size-option { min-height:42px; padding:8px 16px; border:1px solid var(--control-line); border-radius:var(--radius-control); background:#fff; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.appearance-size-option.selected { border-color:var(--blue); background:var(--sky); color:var(--blue-dark); }
.appearance-size-option:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.appearance-banner-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.appearance-banner-fields label,.appearance-banner-upload>label { display:block; margin-bottom:6px; color:var(--label); font-size:.83rem; font-weight:750; }
.appearance-banner-fields label span,.appearance-banner-upload>label span { color:var(--muted); font-weight:500; }
.appearance-banner-upload { margin:18px 0 25px; }
.appearance-banner-upload .file-picker-input { width:160px; max-width:100%; min-height:0; padding:0; border:0; background:transparent; color:transparent; font-size:0; cursor:pointer; }
.appearance-banner-upload small { display:block; margin-top:7px; color:var(--muted); }
.appearance-banner-upload .text-button { margin-top:8px; }
.appearance-preview { position:relative; min-height:230px; overflow:hidden; display:flex; align-items:center; padding:28px; border-radius:12px; background:linear-gradient(110deg,var(--preview-bg),color-mix(in srgb,var(--preview-primary) 20%,var(--preview-bg))); color:var(--preview-text); }
.appearance-preview-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.appearance-preview.has-image { color:#fff; }
.appearance-preview.has-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,13,27,.78),rgba(4,13,27,.15)); pointer-events:none; }
.appearance-preview-copy { position:relative; z-index:1; max-width:80%; }
.appearance-preview-copy > span:first-child { color:var(--preview-accent); font-size:.7rem; font-weight:800; letter-spacing:.1em; }
.appearance-preview h3 { margin:12px 0 7px; color:inherit; font-size:1.8rem; }
.appearance-preview p { color:inherit; opacity:.8; }
.appearance-preview-button { display:inline-block; margin-top:8px; padding:10px 16px; border-radius:6px; background:var(--preview-primary); color:#fff; font-weight:700; }
.appearance-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; }
.appearance-footer p { max-width:660px; margin:0; }
@media (max-width:850px) { .appearance-presets { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:580px) { .appearance-panel { padding:20px 16px; } .appearance-presets { grid-template-columns:1fr 1fr; gap:8px; } .appearance-choice { padding:8px; } .appearance-banner-fields { grid-template-columns:1fr; } .appearance-preview-copy { max-width:100%; } .appearance-footer { align-items:stretch; flex-direction:column; } }
.file-picker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-height:48px; padding:7px; border:1px solid var(--line); border-radius:var(--radius-control); background:#fff; }
.file-picker:focus-within { outline:3px solid rgba(25,102,221,.18); border-color:var(--blue); }
.form-grid .file-picker-input { width:160px; max-width:100%; min-height:0; padding:0; border:0; background:transparent; color:transparent; font-size:0; cursor:pointer; }
.file-picker-input::file-selector-button { margin:0; padding:10px 13px; border:1px solid var(--line); border-radius:8px; background:var(--info-surface); color:var(--ink); font-family:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.file-picker-input:hover::file-selector-button { border-color:var(--blue); background:#e7f0ff; }
.file-picker-status { min-width:0; overflow-wrap:anywhere; color:var(--muted); font-size:.88rem; }
.checkbox-label { display:inline-flex; align-items:center; gap:8px; font-weight:700; cursor:pointer; }
.checkbox-label input { width:16px; height:16px; accent-color:var(--blue); }
.report-filter-panel { display:grid; gap:14px; padding:18px 20px 20px; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; }
.report-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:32px; }
.report-filter-heading strong { font-size:.95rem; font-weight:700; }
.report-filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.report-filter-panel label { display:block; margin-bottom:7px; font-size:.85rem; font-weight:700; }
.report-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.report-summary > div { display:flex; flex-direction:column; gap:4px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; }
.report-summary strong { font-size:1.8rem; line-height:1; }
.report-summary span { color:var(--muted); }
.report-results { margin-top:16px; }
.report-results > .quiet { margin:0; padding:18px 20px; border-bottom:1px solid var(--line); }
.report-breakdown,.report-drilldown { margin-top:24px; }
.report-breakdown>.quiet { margin:0 0 14px; }
.report-table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; box-shadow:var(--shadow-card); }
.report-scroll-hint { display:none; }
.report-club-table { width:100%; min-width:760px; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.report-club-table th,.report-club-table td { padding:14px 15px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.report-club-table thead th { color:var(--label); background:var(--surface-subtle); font-size:.8rem; font-weight:700; }
.report-club-table tbody th { color:var(--ink); font-weight:700; }
.report-club-table tbody tr:last-child th,.report-club-table tbody tr:last-child td { border-bottom:0; }
.report-club-table tbody tr:hover { background:var(--surface-hover); }
.report-coverage-value { display:grid; gap:7px; min-width:96px; max-width:148px; color:var(--ink); }
.report-coverage-value strong { font-size:.92rem; font-weight:700; }
.report-coverage-track { display:block; height:5px; overflow:hidden; border-radius:999px; background:#e5ebf3; }
.report-coverage-track > span { display:block; height:100%; border-radius:inherit; background:var(--blue); }
.report-coverage-empty { color:var(--muted); font-size:.84rem; white-space:nowrap; }
.report-alert { color:var(--danger); font-weight:800; }
.report-ok { color:var(--success); font-weight:700; }
.report-scope-note { margin:0; padding:14px 20px; border-bottom:1px solid var(--line); color:var(--muted); background:var(--info-surface); font-size:.88rem; }
@media (max-width:750px) { .report-filter-fields { grid-template-columns:1fr; } .report-summary { grid-template-columns:1fr; } }
@media (max-width:750px) { .report-scroll-hint { display:block; margin:0 0 8px; color:var(--muted); font-size:.8rem; } .report-table-scroll { -webkit-overflow-scrolling:touch; } }
.match-detail-tabs { margin:20px 0 16px; }
.match-detail-panel { max-width:950px; margin-inline:auto; }
.match-detail-panel > h2 { margin-top:0; }
.match-detail-panel .score-editor { max-width:560px; margin:22px 0; }
.match-detail-panel .report-summary { margin:18px 0 24px; }

/* Partidos: búsqueda primero; calendario opcional y lista orientada a la acción. */
.matches-page-header { align-items:end; margin-bottom:26px; }
.matches-page-header h1 { max-width:none; }
.matches-header-actions { display:flex; flex-wrap:wrap; gap:8px; }
.matches-workspace { max-width:1120px; margin-inline:auto; }
.matches-panel { border-radius:18px; }
.matches-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:25px 26px 20px; border-bottom:1px solid var(--line); background:linear-gradient(125deg,#fff 0%,#f5f9ff 100%); }
.matches-panel-heading h2 { margin:6px 0 4px; font-size:clamp(1.25rem,2vw,1.65rem); letter-spacing:-.025em; }
.matches-panel-heading p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.5; }
.matches-refresh { flex:none; min-height:40px; }
.matches-panel .match-finder { padding:22px 26px 18px; background:#fff; }
.matches-panel .match-finder-fields { grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr); gap:16px; }
.matches-panel .match-finder-fields input { min-height:46px; }
.matches-filter-tools { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:17px; }
.matches-calendar-toggle { display:inline-flex; align-items:center; gap:9px; min-height:40px; padding:8px 14px; border:1px solid #b8c9e0; border-radius:9px; background:#fff; color:var(--blue-dark); font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }
.matches-calendar-toggle:hover,.matches-calendar-toggle[aria-expanded="true"] { border-color:#91b2df; background:var(--sky); }
.matches-calendar-toggle:focus-visible,.matches-clear-date:focus-visible { outline:3px solid #8db9ff; outline-offset:2px; }
.matches-calendar-toggle svg { width:18px; height:18px; flex:none; }
.matches-clear-date { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:6px 12px; border:1px solid #bdd4f4; border-radius:9px; background:var(--sky); color:var(--blue-dark); font:inherit; font-size:.82rem; font-weight:750; cursor:pointer; }
.matches-clear-date span { font-size:1.15rem; line-height:1; }
.matches-clear-date:hover { background:#dceafe; }
.matches-calendar-panel { max-width:700px; margin-top:14px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#f8faff; }
.matches-calendar-main { min-width:0; }
.matches-calendar-panel .match-calendar-head { margin:0 0 12px; }
.matches-calendar-panel .match-calendar-day { min-height:38px; border-radius:8px; background:#fff; }
.matches-calendar-panel .match-calendar-day.has-matches { border-color:#bdd4f4; background:#eaf3ff; font-weight:800; }
.matches-calendar-panel .match-calendar-day.active { border-color:var(--blue); background:var(--blue); color:#fff; }
.matches-calendar-panel .match-calendar-day.active small { background:#fff; color:var(--blue-dark); }
.matches-calendar-panel .match-calendar-day.outside { background:transparent; }
.matches-results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 26px; border-bottom:1px solid var(--line); background:var(--surface-subtle); }
.matches-results-toolbar > div:first-child strong { display:block; font-size:.87rem; }
.matches-results-toolbar > div:first-child span { display:inline; color:var(--muted); font-size:.75rem; }
.matches-results-toolbar .filter-tabs { flex:none; padding:0; border:0; border-radius:9px; background:#fff; }
.matches-results-toolbar .filter-tabs button { min-height:36px; }
.matches-record-row { grid-template-columns:60px minmax(0,1fr) auto 24px; gap:15px; min-height:84px; padding:14px 25px; text-decoration:none; }
.matches-record-row .match-date { align-self:center; padding:10px 5px; border-radius:9px; background:var(--sky); color:var(--blue-dark); }
.matches-record-row .match-date small { color:var(--blue-dark); }
.matches-record-row .record-main strong { font-size:.94rem; }
.matches-versus { color:var(--muted); font-size:.78rem; font-weight:600; }
.matches-row-arrow { display:grid; place-items:center; width:24px; height:24px; color:var(--blue-dark); transition:transform .18s ease; }
.matches-row-arrow svg { width:18px; height:18px; }
.matches-record-row:hover .matches-row-arrow { transform:translateX(3px); }
.matches-empty { display:flex; flex-direction:column; align-items:center; gap:8px; min-height:230px; padding:34px 24px; text-align:center; }
.matches-empty-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:3px; border-radius:14px; background:var(--sky); color:var(--blue-dark); }
.matches-empty-icon svg { width:24px; height:24px; }
.matches-empty > span:not(.matches-empty-icon) { max-width:52ch; line-height:1.5; }
.matches-empty-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:8px; }
@media (max-width:850px) {
    .matches-page-header { flex-direction:column; align-items:flex-start; }
    .matches-calendar-panel { max-width:100%; }
}
@media (max-width:680px) {
    .matches-header-actions { width:100%; }
    .matches-header-actions .button { width:auto; flex:1 1 135px; margin-top:0; }
    .matches-panel-heading { align-items:flex-start; flex-direction:column; gap:10px; padding:21px 18px; }
    .matches-panel .match-finder { padding:18px; }
    .matches-panel .match-finder-fields { grid-template-columns:1fr; }
    .matches-calendar-panel { padding:12px; }
    .matches-calendar-panel .match-calendar-head { align-items:flex-start; flex-direction:column; }
    .matches-calendar-actions { width:100%; }
    .matches-calendar-actions input[type="month"] { flex:1; min-width:0; }
    .matches-results-toolbar { align-items:flex-start; flex-direction:column; gap:12px; padding:15px 18px; }
    .matches-record-row { grid-template-columns:52px minmax(0,1fr) 20px; gap:10px; padding:13px 15px; }
    .matches-record-row .status-chip { grid-column:2; justify-self:start; }
    .matches-record-row .matches-row-arrow { grid-column:3; grid-row:1 / 3; align-self:center; }
}
@media (max-width:380px) {
    .matches-panel .lookup-search { flex-wrap:wrap; }
    .matches-panel .lookup-search .button { width:100%; }
    .matches-calendar-panel .match-calendar-day { min-height:36px; padding:2px; }
    .matches-calendar-panel .match-calendar-day small { min-width:12px; }
}
@media (prefers-reduced-motion:reduce) { .matches-row-arrow { transition:none; } }

/* Player filters and report actions: one visual language for secondary tasks. */
.player-filter-options { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:13px 16px; border-bottom:1px solid var(--line); background:var(--surface-subtle); }
.player-filter-chip { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:7px 12px; border:1px solid var(--control-line); border-radius:9px; background:var(--surface); color:var(--label); font:inherit; font-size:.84rem; font-weight:600; line-height:1.3; cursor:pointer; }
.player-filter-chip:hover { border-color:#a7c7ee; background:var(--surface-hover); }
.player-filter-chip.active { border-color:#9cc5f4; background:var(--sky); color:var(--blue-dark); }
.player-filter-chip input { flex:none; margin:0; }
.player-report-link { display:inline-flex; align-items:center; gap:3px; min-height:38px; margin-left:auto; padding:7px 2px; color:var(--blue-dark); font-size:.84rem; font-weight:650; text-decoration:none; }
.player-report-link:hover { text-decoration:underline; text-underline-offset:3px; }
.player-report-link svg { width:16px; height:16px; }
.player-filter-summary { min-height:44px; padding:9px 16px; font-size:.84rem; }
.filter-reset-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:7px 11px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--blue-dark); font:inherit; font-size:.84rem; font-weight:650; white-space:nowrap; cursor:pointer; }
.filter-reset-button:hover { border-color:#c9dcf3; background:var(--sky); }
.report-filter-panel .filter-reset-button { margin:0; }
.report-case-row { grid-template-columns:minmax(0,1fr) auto; min-height:76px; gap:20px; padding:15px 20px; text-decoration:none; }
.report-case-row .record-main { min-width:0; }
.report-case-row .record-main strong { font-size:.96rem; font-weight:650; line-height:1.4; text-decoration:none; }
.report-case-row .record-main small { margin-top:3px; font-size:.84rem; line-height:1.45; }
.report-row-action { display:inline-flex; align-items:center; gap:5px; justify-self:end; color:var(--blue-dark); font-size:.85rem; font-weight:650; white-space:nowrap; }
.report-row-action svg { width:17px; height:17px; transition:transform .16s ease; }
.report-case-row:hover .report-row-action svg,.report-table-action:hover svg { transform:translateX(2px); }
.report-table-action { display:inline-flex; align-items:center; gap:3px; min-height:36px; padding:6px 9px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--blue-dark); font:inherit; font-size:.84rem; font-weight:700; white-space:nowrap; text-decoration:none; cursor:pointer; }
.report-table-action:hover { border-color:#c9dcf3; background:var(--sky); }
.report-table-action svg { width:16px; height:16px; transition:transform .16s ease; }
.report-results > .quiet,.report-scope-note { font-size:.86rem; line-height:1.5; }
.report-drilldown { scroll-margin-top:24px; }
@media (max-width:680px) {
    .player-report-link { margin-left:0; }
    .report-case-row { grid-template-columns:minmax(0,1fr); gap:8px; min-height:0; }
    .report-row-action { grid-column:1; justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { .report-row-action svg,.report-table-action svg { transition:none; } }
.treasury-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:8px 0 6px}.treasury-overview>div{background:#102744;color:#fff;border-top:4px solid #d7aa48;border-radius:12px;padding:16px 18px}.treasury-overview span{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#d8e4ef;font-weight:700}.treasury-overview strong{display:block;font-size:clamp(1.15rem,2vw,1.55rem);margin-top:9px;white-space:nowrap}
.review-formation-board{position:relative;width:min(100%,440px);height:320px;margin:12px 0 18px;border:3px solid #f3f8ed;border-radius:10px;background:repeating-linear-gradient(180deg,#22633e 0 25%,#296f48 25% 50%);box-shadow:inset 0 0 0 2px #ffffffa8}.review-formation-board:before{content:"";position:absolute;inset:6%;border:2px solid #ffffff8a}.review-formation-marker{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;width:75px;color:#fff;text-align:center;text-shadow:0 1px 3px #102915}.review-formation-marker b{display:grid;place-items:center;width:30px;height:30px;background:#d7aa48;border:2px solid #fff;border-radius:50%;color:#102744;text-shadow:none}.review-formation-marker small{font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:75px}
