:root {
    --navy: #102a43;
    --navy-deep: #071c2c;
    --blue: #1f5279;
    --teal: #0d7a6f;
    --teal-dark: #075e56;
    --mint: #dff4ed;
    --cream: #f5f1e7;
    --gold: #d6a84a;
    --ink: #17242f;
    --muted: #647481;
    --line: #dbe3e7;
    --surface: #f5f8f9;
    --white: #fff;
    --danger: #a83737;
    --shadow: 0 18px 55px rgba(8, 35, 51, .12);
    --shadow-card: 0 8px 24px rgba(8, 35, 51, .07);
    --radius: 18px;
    --radius-card: 14px;
    --control-height: 46px;
    --page-gap: clamp(20px, 4vw, 30px);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.narrow { width: min(720px, calc(100% - 40px)); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; background: var(--white); color: var(--navy); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.utility-bar { color: #dbe9ee; background: var(--navy-deep); font-size: .78rem; letter-spacing: .04em; }
.utility-inner { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.utility-inner a { color:#fff;font-weight:900;text-decoration:none; }
.utility-inner a:focus-visible,.utility-inner a:hover { text-decoration:underline; }
.utility-separator { opacity:.72; }
.utility-inner { display: flex; justify-content: space-between; padding: 7px 0; }
.brand-row { display: flex; align-items: center; justify-content: space-between; min-height: 92px; }
.brand { display: inline-flex; align-items: center; gap: 14px; color: var(--navy); }
.brand strong, .brand small { display: block; }
.brand strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.65rem; line-height: 1; }
.brand small { margin-top: 4px; color: var(--teal-dark); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.brand-mark { position: relative; display: grid; width: 57px; height: 57px; place-items: center; color: var(--white); background: var(--teal); border: 3px solid var(--navy); border-radius: 50%; box-shadow: inset 0 0 0 3px var(--white); }
.brand-mark::after { position: absolute; right: -4px; bottom: 4px; width: 14px; height: 14px; content: ""; background: var(--gold); border: 2px solid var(--white); border-radius: 50%; }
.brand-mark span { font-size: .9rem; font-weight: 900; letter-spacing: .05em; }
.main-nav { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-links a { position: relative; padding: 14px 17px; color: #40515d; font-size: .86rem; font-weight: 750; }
.nav-links a::after { position: absolute; right: 17px; bottom: -1px; left: 17px; height: 3px; content: ""; background: transparent; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--teal-dark); }
.nav-links a[aria-current="page"]::after { background: var(--teal); }
.nav-toggle { display: none; padding: 9px 13px; color: var(--navy); background: transparent; border: 1px solid var(--line); border-radius: 9px; font-weight: 800; }
.mobile-header-actions { display: flex; align-items: center; gap: 8px; }
.mobile-auth-shortcut { display: none; padding: 8px 11px; color: var(--teal-dark); border: 1px solid #9bc9c1; border-radius: 8px; font-size: .78rem; font-weight: 850; }
.nav-auth { display: flex; align-items: center; gap: 3px; margin-left: auto; padding-left: 10px; border-left: 1px solid var(--line); }
.nav-auth form { display: flex; }
.nav-auth .nav-account-link, .nav-logout { padding: 8px 10px; font-size: .76rem; font-weight: 850; white-space: nowrap; }
.nav-auth .nav-account-link::after { display: none; }
.nav-account-primary { color: var(--white) !important; background: var(--teal); border-radius: 8px; }
.nav-account-primary:hover { background: var(--teal-dark); }
.nav-logout { color: var(--teal-dark); background: transparent; border: 0; cursor: pointer; }
.nav-logout:hover { text-decoration: underline; }

.hero { position: relative; overflow: hidden; color: var(--white); background: radial-gradient(circle at 70% 20%, rgba(26, 139, 121, .7), transparent 32%), linear-gradient(120deg, var(--navy-deep), var(--navy) 68%, #164d55); }
.tee-time-banner { position: relative; z-index: 2; width: fit-content; margin-top: 18px; padding: 8px 13px; color: #f7fbfa; background: rgba(7,28,44,.72); border: 1px solid rgba(140,214,197,.45); border-radius: 999px; font-size: .82rem; font-weight: 850; letter-spacing: .02em; }
.hero::after { position: absolute; right: -110px; bottom: -230px; width: 520px; height: 520px; content: ""; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.02); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: center; min-height: 570px; padding-block: 75px; }
.hero-copy h1, .page-hero h1, .profile-heading h1 { max-width: 760px; margin: 12px 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 7vw, 5.7rem); font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.hero-copy h1 em { color: #7fd0bc; font-weight: inherit; }
.hero-copy > p { max-width: 640px; margin: 0 0 30px; color: #d9e5e9; font-size: 1.12rem; }
.eyebrow, .card-kicker { color: var(--teal); font-size: .73rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.hero .eyebrow, .hero .card-kicker, .page-hero .eyebrow, .profile-hero .eyebrow { color: #8cd6c5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; padding: 11px 19px; border: 1px solid transparent; border-radius: 10px; cursor: pointer; font-size: .9rem; font-weight: 850; }
.button-primary { color: var(--white); background: var(--teal); }
.button-primary:hover { background: var(--teal-dark); }
.button-secondary { color: var(--white); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); }
.admin-table .button-secondary,
.data-table .button-secondary,
.qa-inline-actions .button-secondary,
.button.button-secondary {
    color:#0f2742;
    background:#f8fafc;
    border-color:#8da2b8;
}
.button.button-secondary:hover,
.button.button-secondary:focus-visible {
    color:#071827;
    background:#e2e8f0;
    border-color:#475569;
}
.button-danger {
    color:#fff;
    background:#b42318;
    border-color:#8f1d14;
}
.button-full { width: 100%; }
.recovery-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: .82rem; }
.recovery-disclosure { margin: 0; padding: 11px 13px; color: var(--muted); background: var(--surface); border-radius: 8px; font-size: .8rem; }
.hero-card { display: grid; gap: 7px; padding: 30px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius); backdrop-filter: blur(8px); }
.hero-card strong { margin-top: 10px; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.hero-card > span:not(.card-kicker) { color: #d8e7ea; }
.course-line { margin-top: 21px; padding-top: 18px; color: #e5eeee; border-top: 1px solid rgba(255,255,255,.16); font-size: .84rem; }
.course-line span { margin-right: 7px; color: var(--gold); }

.section { padding: 76px 0; }
.section-tight { padding: 0; }
.surface-section { background: var(--surface); border-top: 1px solid #e8edef; border-bottom: 1px solid #e8edef; }
.stat-strip { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: -26px; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.stat-strip > div { display: grid; gap: 1px; padding: 22px 28px; border-right: 1px solid var(--line); }
.stat-strip > div:last-child { border: 0; }
.stat-strip strong { color: var(--navy); font-family: Georgia, serif; font-size: 2rem; line-height: 1; }
.stat-strip span { color: var(--muted); font-size: .75rem; font-weight: 750; }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.split-heading h2, .feature-grid h3, .result-week h2, .player-card h2, .award-grid h2 { margin: 6px 0 0; color: var(--navy); font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.05; }
.text-link, .feature-grid a, .award-grid a { color: var(--teal-dark); font-size: .85rem; font-weight: 850; }
.leader-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.leader-card { position: relative; display: grid; justify-items: center; padding: 24px 14px; text-align: center; border: 1px solid var(--line); border-radius: 14px; transition: transform .2s, box-shadow .2s; }
.leader-card:hover, .player-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.leader-rank { position: absolute; top: 12px; right: 12px; color: var(--teal); font-size: .78rem; font-weight: 900; }
.avatar { display: grid; width: 56px; height: 56px; margin-bottom: 14px; place-items: center; color: var(--white); background: linear-gradient(135deg, var(--teal), var(--navy)); border: 3px solid #d8ebe6; border-radius: 50%; font-family: Georgia, serif; font-size: 1.35rem; }
.leader-card strong { color: var(--navy); }
.leader-card > span:last-child { margin-top: 4px; color: var(--muted); font-size: .76rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.feature-grid article { padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.feature-number { color: var(--gold); font-family: Georgia, serif; font-size: 1.4rem; }
.feature-grid p { min-height: 70px; color: var(--muted); }

.page-hero, .profile-hero { color: var(--white); background: linear-gradient(115deg, var(--navy-deep), var(--navy) 70%, var(--teal-dark)); }
.page-hero.compact .container { padding-block: 62px; }
.page-hero h1 { margin: 8px 0 10px; font-size: clamp(2.55rem, 6vw, 4.5rem); }
.page-hero p { max-width: 720px; margin: 0; color: #d3e1e6; }
.formula-note { margin-bottom: 22px; padding: 16px 18px; color: #355161; background: #edf7f4; border-left: 4px solid var(--teal); border-radius: 6px; font-size: .85rem; }
.table-shell { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; }
.table-scroll-note { display: none; margin: 0 0 8px; color: var(--teal-dark); font-size: .74rem; font-weight: 800; }
.data-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.data-table th { padding: 0; color: var(--white); background: var(--navy); text-align: left; font-size: .72rem; letter-spacing: .035em; text-transform: uppercase; }
.data-table th:not(:has(.sort-button)) { padding: 13px 14px; }
.data-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); font-size: .84rem; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #f5faf9; }
.sort-button { display: flex; width: 100%; min-width: max-content; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 14px; color: inherit; background: transparent; border: 0; cursor: pointer; font-weight: 850; text-align: left; text-transform: uppercase; }
.sort-button span::after { content: "↕"; opacity: .45; }
.sort-button[aria-sort="ascending"] span::after { content: "↑"; opacity: 1; }
.sort-button[aria-sort="descending"] span::after { content: "↓"; opacity: 1; }
.rank-pill { display: inline-grid; min-width: 28px; height: 28px; place-items: center; color: var(--white); background: var(--teal); border-radius: 50%; font-weight: 850; }
.rank-movement{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:.76rem;font-weight:850;white-space:nowrap}.rank-movement.movement-up{color:#18864b}.rank-movement.movement-down{color:#c53434}.rank-movement.movement-steady{color:#687771}.rank-movement.movement-new{padding:2px 6px;border-radius:999px;color:#0b5266;background:#dff4f5}

/* Commissioner Operations Center */
.operations-center{display:grid;gap:11px;min-width:0;padding-bottom:20px}.operations-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:13px 16px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#092f4a,#0b5b67);box-shadow:0 7px 18px rgba(3,34,52,.15)}.operations-header .eyebrow{color:#bfe2e1}.operations-header h1{margin:2px 0;font-size:clamp(1.35rem,3.4vw,1.9rem);color:#fff}.operations-header strong,.operations-header p{display:block;margin:0}.operations-header p{margin-top:3px;color:#d9f1f0;font-size:.82rem}.operations-live-action{display:grid;flex:0 0 auto;gap:2px;padding:8px 11px;border:1px solid #ffffff35;border-radius:10px;color:#fff;background:#ffffff12;text-decoration:none}.operations-live-action span{font-size:.72rem}.operations-live-action strong{font-size:.82rem}.operations-priority,.operations-section{min-width:0;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(8,44,59,.055)}.operations-priority>a,.operations-all-clear{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 13px;color:var(--navy);text-decoration:none}.operations-priority>a>.eyebrow{grid-column:1/-1}.operations-priority>a div{min-width:0}.operations-priority strong,.operations-priority small{display:block}.operations-priority small{margin-top:2px;color:var(--muted)}.operations-priority b{white-space:nowrap;color:var(--teal)}.operations-all-clear{grid-template-columns:auto 1fr;color:#0b5936;background:#e7f7ed}.operations-all-clear>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:#18864b}.operations-section{padding:11px}.operations-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-bottom:8px}.operations-section-heading h2{margin:0;font-size:1rem}.operations-section-heading small{color:var(--muted)}.operations-health-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.operations-health-grid a{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 6px;min-width:0;min-height:52px;padding:7px;border-radius:9px;color:var(--navy);background:#f5f8f9;text-decoration:none}.operations-health-grid strong{min-width:0;font-size:.76rem;overflow-wrap:normal;word-break:normal}.operations-health-grid span{grid-column:2;color:var(--muted);font-size:.65rem}.health-dot{width:9px;height:9px;border-radius:50%;background:#d49d19}.health-dot.is-healthy{background:#18864b}.health-dot.is-action{background:#c53434}.operations-quick-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.operations-quick-actions a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:46px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;color:var(--navy);background:#fff;font-size:.72rem;font-weight:850;text-decoration:none}.operations-quick-actions i{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#fff;background:var(--teal);font-style:normal}.operations-quick-actions span{min-width:0;overflow-wrap:normal;word-break:normal}.operations-disclosure-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;color:var(--navy);background:transparent;text-align:left}.operations-disclosure-toggle>span{display:grid;grid-template-columns:auto auto;gap:1px 8px;align-items:baseline;min-width:0}.operations-disclosure-toggle small{grid-column:1/-1;color:var(--muted)}.operations-disclosure-toggle strong{font-size:.98rem}.operations-disclosure-toggle em{min-width:0;color:var(--muted);font-size:.74rem;font-style:normal}.operations-disclosure-toggle b{color:var(--teal);font-size:.76rem}.operations-disclosure-panel{padding-top:9px;border-top:1px solid #edf1f2}.operations-checklist-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.operations-checklist-list article{min-width:0;border-radius:9px;background:#f5f8f9}.operations-checklist-toggle{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:1px 7px;align-items:center;min-height:43px;padding:7px;border:0;color:var(--navy);background:transparent;text-align:left}.operations-checklist-toggle>span{grid-row:1/3}.operations-checklist-toggle small{color:var(--muted);font-size:.66rem}.operations-checklist-list article.is-complete .operations-checklist-toggle>span{color:#18864b}.operations-checklist-override{padding:0 7px 7px}.operations-checklist-override label{display:grid;gap:3px;color:var(--muted);font-size:.68rem}.operations-checklist-override select{min-height:38px;padding:5px;font-size:.76rem}.operations-inline-status{min-height:1.1em;margin:7px 0 0;color:var(--muted);font-size:.74rem}.operations-widget-grid,.operations-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:start}.operations-widget dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px}.operations-widget dl div{min-width:0;padding:7px;border-radius:8px;background:#f5f8f9}.operations-widget dt{color:var(--muted);font-size:.67rem}.operations-widget dd{margin:2px 0 0;font-size:.8rem;font-weight:850;overflow-wrap:anywhere}.operations-timeline-list article{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid #edf1f2}.operations-timeline-list i{flex:0 0 7px;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--teal)}.operations-timeline-list strong,.operations-timeline-list span{display:block}.operations-timeline-list span{color:var(--muted);font-size:.7rem}.operations-note-list details{border-bottom:1px solid #edf1f2}.operations-note-list summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 0;cursor:pointer}.operations-note-list summary span{padding:3px 5px;border-radius:999px;background:#eef3f4;font-size:.65rem}.operations-note-list summary .priority-critical{color:#9f2222;background:#fde8e8}.operations-note-list summary .priority-high{color:#815900;background:#fff1cc}.operations-note-list details p{margin:0 0 5px;color:var(--muted)}.operations-notes .operations-section-heading button{padding:0;border:0;color:var(--teal);background:none;font-size:.72rem;font-weight:800}.operations-inline-note{justify-self:end;display:inline-flex;min-height:44px;align-items:center;padding:7px 12px;border-radius:999px;color:#fff;background:var(--navy);font-weight:800;text-decoration:none}.admin-body:has(.operations-center) .notebook-fab{display:none}
.operations-timeline-list article[hidden]{display:none!important}.operations-timeline-list article:not([hidden]){animation:operations-activity-reveal .16s ease-out}.operations-notes .operations-section-heading>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.operations-notes .operations-section-heading button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #c9d8dc;border-radius:8px;background:#f5f8f9;white-space:nowrap}
.operations-playoff-watch{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(0,2fr) auto;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid #d3b45c;border-radius:13px;color:var(--navy);background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 3px 10px rgba(80,57,8,.07);text-decoration:none}.operations-playoff-watch>div{display:grid}.operations-playoff-watch small{color:#7a621c;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.operations-playoff-watch>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.operations-playoff-watch dl div{min-width:0;padding:5px 7px;border-radius:8px;background:#fff}.operations-playoff-watch dt{color:var(--muted);font-size:.62rem}.operations-playoff-watch dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;margin:1px 0 0;font-size:.82rem;font-weight:900}.playoff-watch-movement{font-size:.62rem;white-space:nowrap}.playoff-watch-movement.movement-up{color:#18864b}.playoff-watch-movement.movement-down{color:#c53434}.playoff-watch-movement.movement-steady{color:#687771}.operations-playoff-watch>b{color:#806310;font-size:.74rem;white-space:nowrap}
@keyframes operations-activity-reveal{from{opacity:.25;transform:translateY(-2px)}to{opacity:1;transform:none}}
@media(max-width:900px){.operations-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-checklist-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.operations-center{gap:8px}.operations-header{align-items:stretch;padding:11px 12px}.operations-header p{font-size:.76rem}.operations-live-action{align-self:center}.operations-section{padding:9px}.operations-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-playoff-watch{grid-template-columns:minmax(0,1fr) auto}.operations-playoff-watch>dl{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.operations-checklist-list{grid-template-columns:1fr}.operations-widget-grid,.operations-lower-grid{grid-template-columns:1fr}.operations-widget dl{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-priority>a{min-height:54px}.admin-main:has(.operations-center){padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.operations-header{display:grid}.operations-live-action{width:100%}.operations-health-grid{grid-template-columns:1fr}.operations-quick-actions a{grid-template-columns:24px minmax(0,1fr)}.operations-quick-actions i{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.operations-center *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.player-link { color: var(--navy); font-weight: 800; }
.player-link:hover { color: var(--teal); text-decoration: underline; }
.schedule-list { display: grid; gap: 11px; }
.schedule-row { display: grid; grid-template-columns: 80px 1fr auto; gap: 22px; align-items: center; padding: 18px 22px; border: 1px solid var(--line); border-radius: 13px; }
.schedule-row time { display: grid; width: 59px; height: 59px; place-items: center; align-content: center; color: var(--white); background: var(--navy); border-radius: 10px; line-height: 1; }
.schedule-row time span { margin-bottom: 3px; font-size: .63rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.schedule-row time strong { font-size: 1.5rem; }
.schedule-row h2 { margin: 2px 0 0; color: var(--navy); font-family: Georgia, serif; font-size: 1.3rem; }
.schedule-row p { margin: 2px 0 0; color: var(--muted); font-size: .82rem; }
.status-badge { display: inline-flex; padding: 3px 8px; color: var(--teal-dark); background: var(--mint); border-radius: 999px; font-size: .64rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.status-cancelled { background: #fff7f4; border-color: #efc9bd; }
.status-cancelled time { background: var(--danger); }
.status-cancelled .status-badge { color: #8d302b; background: #f9ddd7; }
.schedule-course { color: var(--muted); font-size: .78rem; font-weight: 750; }
.hole-grid { display: grid; grid-template-columns: repeat(9, 1fr); gap: 9px; }
.hole-grid article { display: grid; gap: 4px; padding: 18px 9px; text-align: center; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.hole-grid span, .hole-grid small { color: var(--muted); font-size: .67rem; }
.hole-grid strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.65rem; }
.results-stack { display: grid; gap: 35px; }
.result-week { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.result-week > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; background: var(--surface); }
.winner-callout { display: grid; padding-left: 18px; border-left: 3px solid var(--gold); }
.winner-callout span { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.winner-callout strong { color: var(--navy); }
.result-week .table-shell { border: 0; border-radius: 0; }
.award-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.award-grid article { min-height: 240px; padding: 28px; background: linear-gradient(145deg, #fff, var(--surface)); border: 1px solid var(--line); border-radius: var(--radius); }
.award-value { margin: 24px 0 10px; color: var(--teal); font-family: Georgia, serif; font-size: 3.4rem; line-height: 1; }
.award-grid h2 { margin-bottom: 22px; font-size: 1.5rem; }
.progress-list { display: grid; gap: 10px; }
.progress-list > div { display: grid; grid-template-columns: 190px 1fr 80px; gap: 14px; align-items: center; font-size: .82rem; }
.progress-list span { font-weight: 750; }
.progress-list strong { color: var(--teal-dark); font-size: .72rem; text-align: right; }
.progress-list progress { width: 100%; height: 10px; overflow: hidden; appearance: none; background: #dbe5e6; border: 0; border-radius: 999px; }
.progress-list progress::-webkit-progress-bar { background: #dbe5e6; border-radius: 999px; }
.progress-list progress::-webkit-progress-value { background: var(--teal); border-radius: 999px; }
.progress-list progress::-moz-progress-bar { background: var(--teal); border-radius: 999px; }
.player-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.player-card { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 14px; transition: transform .2s, box-shadow .2s; }
.avatar-large { width: 64px; height: 64px; margin: 0; }
.player-card h2 { margin: 0; font-size: 1.22rem; }
.player-card div > span { color: var(--muted); font-size: .75rem; }
.player-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 5px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.player-card dl div { text-align: center; }
.player-card dt { color: var(--muted); font-size: .63rem; text-transform: uppercase; }
.player-card dd { margin: 0; color: var(--navy); font-weight: 850; }
.profile-hero { padding: 55px 0; }
.profile-heading { display: flex; align-items: center; gap: 24px; }
.profile-heading h1 { margin: 5px 0; font-size: clamp(2.4rem, 5vw, 4rem); }
.profile-heading p { margin: 0; color: #d5e3e6; }
.avatar-xl { width: 105px; height: 105px; margin: 0; font-size: 2.5rem; border-width: 5px; }
.profile-stats { display: grid; grid-template-columns: repeat(6, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; }
.profile-stats div { display: grid; gap: 3px; padding: 22px; border-right: 1px solid var(--line); }
.profile-stats div:last-child { border: 0; }
.profile-stats span { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.profile-stats strong { color: var(--navy); font-family: Georgia, serif; font-size: 1.8rem; }
.profile-round-heading { margin-top: 55px; }
.empty-state { padding: 60px 30px; text-align: center; background: var(--surface); border: 1px dashed #bac9cf; border-radius: var(--radius); }
.empty-state h1, .empty-state h2 { margin: 9px 0; color: var(--navy); font-family: Georgia, serif; font-weight: 500; }
.empty-state p { max-width: 520px; margin: 0 auto 22px; color: var(--muted); }
.empty-icon { display: grid; width: 48px; height: 48px; margin: auto; place-items: center; color: var(--white); background: var(--teal); border-radius: 50%; font-weight: 900; }
.poll-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); }
.poll-card h2 { color: var(--navy); font-family: Georgia, serif; }
.poll-card p, .poll-card small { color: var(--muted); }
.radio-card { display: flex; gap: 10px; align-items: center; margin-bottom: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.radio-card:has(input:checked) { background: #edf8f5; border-color: var(--teal); }

.site-footer { padding: 55px 0 22px; color: #d3e0e4; background: var(--navy-deep); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; }
.footer-grid > div { display: grid; align-content: start; gap: 6px; }
.footer-grid strong { color: var(--white); }
.footer-grid p, .footer-grid a { margin: 0; color: #aebfc6; font-size: .8rem; }
.footer-grid a:hover { color: var(--white); }
.footer-bottom { margin-top: 36px; padding-top: 18px; color: #849ba4; border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; }
.flash-wrap { padding-top: 16px; }
.flash { padding: 13px 16px; border-radius: 9px; font-size: .84rem; font-weight: 700; }
.flash-success { color: #155e55; background: #dff5ee; border: 1px solid #a9dbce; }
.flash-error { color: #8a2d2d; background: #fff0ed; border: 1px solid #edc0b8; }

.form-card { display: grid; gap: 20px; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 12px 36px rgba(11,42,59,.07); }
.form-card h2 { margin: 0; color: var(--navy); font-family: Georgia, serif; font-weight: 500; }
.form-card label, .stack-form label { display: grid; gap: 6px; color: #344b59; font-size: .78rem; font-weight: 800; }
.form-card input, .form-card select, .form-card textarea, .stack-form input { width: 100%; padding: 11px 12px; color: var(--ink); background: var(--white); border: 1px solid #b9c8ce; border-radius: 8px; }
.form-card textarea { resize: vertical; }
.optional, .form-card small { color: var(--muted); font-size: .68rem; font-weight: 500; }
.form-grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
fieldset { margin: 0; padding: 0; border: 0; }
.registration-guidance h2,.registration-guidance p{margin-top:0}.registration-guidance-actions{display:flex;flex-wrap:wrap;gap:.65rem}.registration-guidance-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}@media(max-width:390px){.registration-guidance-actions{display:grid;grid-template-columns:1fr}.registration-guidance-actions .button{width:100%}}
.entry-type { display: flex; flex-wrap: wrap; gap: 18px; }
.entry-type legend, .ballot-form legend { width: 100%; margin-bottom: 8px; color: #344b59; font-size: .78rem; font-weight: 800; }
.entry-type label { display: flex; grid-template-columns: auto 1fr; align-items: center; }
.entry-type input { width: auto; }
.confirmation-list { display: grid; gap: 10px; padding: 16px; background: #fff9eb; border: 1px solid #e7cd8d; border-radius: 9px; }
.confirmation-list legend { padding: 0 5px; color: var(--navy); font-size: .78rem; font-weight: 850; }
.confirmation-list label { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; }
.confirmation-list input { width: auto; margin-top: 3px; }
.confirmation-list small { color: #756338; }
.hole-grid-inputs { display: grid; grid-template-columns: repeat(9, 1fr); gap: 8px; }
.hole-grid-inputs label { font-size: .65rem; text-align: center; }
.hole-grid-inputs input { padding-inline: 4px; text-align: center; }
.score-total { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding: 12px 15px; background: var(--surface); border-radius: 8px; }
.score-total output { color: var(--teal); font-size: 1.5rem; font-weight: 900; }
.total-entry p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.form-intro { margin: 0; color: var(--muted); }

.login-section { display: grid; min-height: 100vh; padding: 30px; place-items: center; background: radial-gradient(circle at 20% 20%, #1a726c, transparent 30%), linear-gradient(135deg, var(--navy-deep), var(--navy)); }
.login-flash { position: fixed; z-index: 5; top: 18px; left: 50%; width: min(520px, calc(100% - 28px)); transform: translateX(-50%); box-shadow: var(--shadow); }
.login-card { display: grid; width: min(460px, 100%); gap: 28px; padding: 38px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.login-card h1 { margin: 6px 0; color: var(--navy); font-family: Georgia, serif; font-size: 2.3rem; font-weight: 500; }
.login-card p { margin: 0; color: var(--muted); }
.stack-form { display: grid; gap: 15px; }
.login-card > .text-link { text-align: center; }
.login-help { display: flex; justify-content: center; gap: 7px; color: var(--muted); font-size: .82rem; }
.access-card, .account-profile-card { padding: 34px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.access-card h2 { margin: 7px 0 12px; color: var(--navy); font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.access-card p, .account-profile-card p { color: var(--muted); }
.access-step { color: var(--teal); font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.access-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 24px; }
.account-action-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.account-action-grid a,.account-action-grid > div { padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); transition: transform .2s, box-shadow .2s; }
.account-action-grid a:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.account-action-grid span { color: var(--gold); font-weight: 900; }
.account-action-grid h2 { margin: 7px 0; color: var(--navy); font-family: Georgia, serif; font-weight: 500; }
.account-action-grid p { margin: 0; color: var(--muted); font-size: .84rem; }
.account-profile-card { max-width: 760px; }
.account-profile-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.account-profile-card dl div { padding: 8px 20px; border-right: 1px solid var(--line); }
.account-profile-card dl div:first-child { padding-left: 0; }
.account-profile-card dl div:last-child { border: 0; }
.account-profile-card dt { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.account-profile-card dd { margin: 4px 0 0; color: var(--navy); font-weight: 800; overflow-wrap: anywhere; }

.admin-body { background: var(--surface); }
.admin-header { color: var(--white); background: var(--navy-deep); }
.admin-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 82px; }
.admin-header .brand { color: var(--white); }
.admin-header .brand small { color: #8dcfc0; }
.brand-compact .brand-mark { width: 47px; height: 47px; }
.brand-compact strong { font-family: inherit; font-size: 1.05rem; }
.admin-user { display: flex; gap: 14px; align-items: center; font-size: .78rem; }
.admin-user a, .link-button { color: #add0d0; }
.admin-user form { display: inline; }
.link-button { padding: 0; background: transparent; border: 0; cursor: pointer; }
.admin-nav { background: var(--navy); }
.admin-nav .container { display: flex; gap: 4px; }
.admin-nav a { padding: 11px 15px; font-size: .78rem; font-weight: 750; }
.admin-nav a:hover { background: rgba(255,255,255,.08); }
.admin-main { padding-block: 45px 80px; }
.admin-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.admin-page-heading h1 { margin: 5px 0; color: var(--navy); font-family: Georgia, serif; font-size: 2.25rem; font-weight: 500; }
.admin-page-heading p { margin: 0; color: var(--muted); }
.admin-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.admin-stat-grid article, .admin-stat-grid > a { display: grid; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 13px; }
.admin-stat-grid > a { transition: transform .2s, box-shadow .2s; }
.admin-stat-grid > a:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.admin-stat-grid span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.admin-stat-grid strong { color: var(--navy); font-family: Georgia, serif; font-size: 2.6rem; }
.admin-stat-grid small { color: var(--muted); }
.admin-action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 25px; }
.admin-action-grid a { padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.admin-action-grid span { color: var(--gold); font-weight: 850; }
.admin-action-grid h2 { color: var(--navy); font-family: Georgia, serif; font-weight: 500; }
.admin-action-grid p { color: var(--muted); font-size: .82rem; }
.admin-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start; }
.attendance-week-picker { display: flex; gap: 12px; align-items: end; }
.attendance-week-picker label { display: grid; min-width: min(360px, 100%); gap: 6px; font-size: .78rem; font-weight: 800; }
.attendance-table { min-width: 850px; width: 100%; border-collapse: collapse; }
.attendance-table th, .attendance-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.attendance-table select, .attendance-table input { width: 100%; min-width: 150px; }
.attendance-actions { display: flex; gap: 16px; align-items: center; margin-top: 16px; }
.attendance-actions p { margin: 0; color: var(--muted); font-size: .78rem; }
.attendance-reminder-panel{display:grid;gap:14px;margin-top:16px;padding:18px;overflow:hidden}.attendance-reminder-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.attendance-reminder-heading h2{margin:0;font-size:1.25rem}.attendance-reminder-heading p{margin:3px 0 0;color:var(--muted);font-weight:800}.attendance-reminder-count{display:grid;min-width:116px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#f4f8f8;text-align:center}.attendance-reminder-count span{font-size:.68rem;font-weight:900;text-transform:uppercase}.attendance-reminder-count strong{font-size:1.55rem;line-height:1.1}.attendance-reminder-panel form{display:grid;gap:13px}.attendance-reminder-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.attendance-reminder-modes legend{grid-column:1/-1;margin-bottom:2px;font-size:.78rem;font-weight:900;text-transform:uppercase}.attendance-reminder-modes label{display:flex;min-height:46px;align-items:center;justify-content:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:900;cursor:pointer}.attendance-reminder-modes label:has(input:checked){border:2px solid var(--teal);background:#edf8f5;color:var(--teal-dark)}.attendance-reminder-custom{display:grid;gap:6px;font-size:.8rem;font-weight:900}.attendance-reminder-custom textarea{width:100%;min-width:0;resize:vertical}.attendance-reminder-custom small{color:var(--muted);font-weight:700;text-align:right}.attendance-reminder-preview{display:grid;gap:5px;padding:13px;border-left:4px solid var(--teal);border-radius:10px;background:#f4f8f8;overflow-wrap:anywhere}.attendance-reminder-preview>span:first-child{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.attendance-reminder-preview p{margin:0;color:var(--muted)}.attendance-reminder-answer{justify-self:start;margin-top:3px;padding:7px 10px;border-radius:8px;background:var(--teal);color:#fff;font-size:.75rem;font-weight:900}.attendance-reminder-feedback{min-height:1.25em;margin:0;color:var(--teal-dark);font-size:.82rem;font-weight:850}.attendance-reminder-result{padding:13px;border:1px solid #9dceb7;border-radius:11px;background:#f0faf5}.attendance-reminder-result dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 0}.attendance-reminder-result dl div{min-width:0;padding:8px;border-radius:8px;background:#fff;text-align:center}.attendance-reminder-result dt{color:var(--muted);font-size:.67rem;font-weight:800}.attendance-reminder-result dd{margin:3px 0 0;font-size:1.15rem;font-weight:900}.attendance-reminder-result p{margin:9px 0 0;color:#922c2c;font-weight:850}.attendance-reminder-complete,.attendance-reminder-unavailable{padding:12px;border-radius:10px;background:#f0faf5}.attendance-reminder-unavailable{background:#f5f7f8}.attendance-reminder-complete p,.attendance-reminder-unavailable p{margin:4px 0 0;color:var(--muted)}.attendance-reminder-dialog{width:min(430px,calc(100vw - 24px));padding:0;border:0;border-radius:14px;box-shadow:0 20px 55px rgba(5,31,45,.3)}.attendance-reminder-dialog::backdrop{background:rgba(4,25,36,.62)}.attendance-reminder-dialog>div{padding:20px}.attendance-reminder-dialog h3{margin:0 0 9px}.attendance-reminder-dialog p{color:var(--muted)}.attendance-reminder-panel[aria-busy="true"],.attendance-reminder-panel form[aria-busy="true"]{opacity:.78}.attendance-reminder-panel [hidden]{display:none!important}
.attendance-automation-settings{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd}.attendance-automation-helper,.attendance-reminder-unsure{margin:0;color:var(--muted);font-size:.82rem;font-weight:750}.attendance-automatic-schedule{display:grid;gap:12px}.attendance-reminder-slot{display:grid;gap:8px;margin:0;padding:0;border:0}.attendance-reminder-slot legend{font-size:.78rem;font-weight:900;text-transform:uppercase}.attendance-reminder-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attendance-reminder-schedule-grid label{display:grid;min-width:0;gap:5px;font-size:.76rem;font-weight:900;text-transform:uppercase}.attendance-reminder-schedule-grid select,.attendance-reminder-schedule-grid input{width:100%;min-width:0;min-height:46px}.attendance-next-reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#edf5f5}.attendance-next-reminder span{font-size:.72rem;font-weight:900;text-transform:uppercase}.attendance-next-reminder strong{text-align:right}.attendance-settings-feedback{min-height:1.25em;margin:0;color:var(--teal-dark);font-size:.82rem;font-weight:850}.attendance-settings-feedback.is-error,.attendance-settings-error{color:#9b2929}.attendance-settings-error{min-height:1em;font-size:.7rem;font-weight:800;text-transform:none}.attendance-reminder-panel [aria-invalid="true"]{border-color:#a62f2f;box-shadow:0 0 0 2px rgba(166,47,47,.12)}
.poll-admin-list { display: grid; gap: 10px; }
.poll-admin-list article { padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; }
.poll-admin-list h3 { margin: 8px 0 2px; color: var(--navy); }
.poll-admin-list p, .poll-admin-list small { margin: 0; color: var(--muted); font-size: .75rem; }
.poll-result-list { display: grid; gap: 5px; margin: 12px 0 0; padding: 0; list-style: none; }
.poll-result-list li { display: flex; justify-content: space-between; gap: 12px; padding-top: 6px; border-top: 1px solid var(--line); font-size: .76rem; }
.one-time-links { margin-bottom: 24px; border-color: var(--gold); }

.hq-heading { align-items: center; }
.hq-private-badge { display: inline-flex; align-items: center; padding: 8px 12px; color: var(--navy); background: #fff4d8; border: 1px solid #e6c36d; border-radius: 999px; font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.hq-section { margin-top: 42px; }
.hq-section-heading { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; }
.hq-section-heading > span { color: var(--gold); font-size: .72rem; font-weight: 900; }
.hq-section-heading h2 { margin: 0; color: var(--navy); font-family: Georgia, serif; font-size: 1.55rem; font-weight: 500; }
.hq-grid { display: grid; gap: 14px; }
.hq-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hq-health-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hq-progress-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hq-links-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hq-card, .hq-document-link, .hq-document-card { background: var(--white); border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 10px 30px rgba(11,42,59,.05); }
.hq-card { display: grid; align-content: start; gap: 8px; min-height: 135px; padding: 22px; }
.hq-card > span { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.hq-info-card strong, .hq-copy-card strong { color: var(--navy); font-size: .95rem; line-height: 1.45; overflow-wrap: anywhere; }
.hq-health-card { min-height: 145px; text-align: center; justify-items: center; }
.hq-health-card small { color: var(--muted); font-size: .65rem; }
.hq-grade { display: grid; width: 57px; height: 57px; place-items: center; border-radius: 50%; font-family: Georgia, serif; font-size: 1.45rem; }
.hq-grade-strong { color: #0c6559; background: #dff4ed; }
.hq-grade-good { color: #25577b; background: #e3eff8; }
.hq-grade-watch { color: #8a6217; background: #fff2ce; }
.hq-metric-card strong { color: var(--teal-dark); font-family: Georgia, serif; font-size: 2.35rem; line-height: 1; }
.hq-metric-card .hq-date-value { font-size: 1.45rem; }
.hq-copy-card { min-height: 180px; }
.hq-progress-card { grid-column: 1 / -1; min-height: auto; }
.hq-progress-card strong { color: var(--teal); font-family: Georgia, serif; font-size: 2rem; }
.hq-progress-card progress { width: 100%; height: 12px; overflow: hidden; appearance: none; background: #dbe5e6; border: 0; border-radius: 999px; }
.hq-progress-card progress::-webkit-progress-bar { background: #dbe5e6; border-radius: 999px; }
.hq-progress-card progress::-webkit-progress-value { background: var(--teal); border-radius: 999px; }
.hq-progress-card progress::-moz-progress-bar { background: var(--teal); border-radius: 999px; }
.hq-document-link { display: grid; gap: 14px; padding: 21px; transition: transform .2s, box-shadow .2s; }
.hq-document-link:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.hq-document-link span { color: var(--navy); font-size: .8rem; font-weight: 900; }
.hq-document-link strong { color: var(--teal-dark); font-size: .72rem; }
.hq-document-card { overflow: hidden; }
.hq-document-card pre { max-height: 68vh; margin: 0; padding: 26px; overflow: auto; color: #263c49; background: #fbfcfc; font: .78rem/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 980px) {
    .nav-links a { padding-inline: 10px; font-size: .78rem; }
    .hero-grid { grid-template-columns: 1fr .65fr; gap: 35px; }
    .leader-cards { grid-template-columns: repeat(3, 1fr); }
    .hole-grid { grid-template-columns: repeat(3, 1fr); }
    .player-grid, .award-grid { grid-template-columns: repeat(2, 1fr); }
    .profile-stats { grid-template-columns: repeat(3, 1fr); }
    .profile-stats div:nth-child(3) { border-right: 0; }
    .profile-stats div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
    .hole-grid-inputs { grid-template-columns: repeat(5, 1fr); }
    .hq-grid-four, .hq-health-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .table-scroll-note { display: block; }
    .container, .narrow { width: min(100% - 28px, 1180px); }
    .utility-inner { justify-content: center; }
    .utility-inner span:last-child { display: none; }
    .brand-row { min-height: 76px; }
    .brand strong { font-size: 1.3rem; }
    .brand-mark { width: 48px; height: 48px; }
    .nav-toggle { display: block; }
    .mobile-auth-shortcut { display: inline-flex; }
    .main-nav { display: none; }
    .main-nav.is-open { display: block; }
    .nav-links { display: grid; padding: 8px 0 13px; }
    .nav-links a { padding: 10px 6px; }
    .nav-links a::after { display: none; }
    .nav-auth { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 6px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
    .nav-auth .nav-account-link, .nav-logout { width: 100%; justify-content: center; padding: 11px; text-align: center; border: 1px solid var(--line); border-radius: 8px; }
    .nav-auth form { width: 100%; }
    .nav-account-primary { border-color: var(--teal) !important; }
    .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-block: 60px; }
    .hero-copy h1 { font-size: clamp(2.7rem, 14vw, 4.2rem); }
    .hero-card { max-width: 460px; }
    .stat-strip { grid-template-columns: 1fr 1fr; }
    .stat-strip > div:nth-child(2) { border-right: 0; }
    .stat-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .section { padding: 54px 0; }
    .leader-cards, .feature-grid { grid-template-columns: 1fr 1fr; }
    .feature-grid article:last-child { grid-column: 1 / -1; }
    .schedule-row { grid-template-columns: 66px 1fr; gap: 13px; padding: 14px; }
    .schedule-course { display: none; }
    .result-week > header { align-items: start; flex-direction: column; }
    .winner-callout { padding: 10px 0 0; border-top: 2px solid var(--gold); border-left: 0; }
    .player-grid { grid-template-columns: 1fr; }
    .progress-list > div { grid-template-columns: 120px 1fr; }
    .progress-list strong { grid-column: 2; }
    .profile-heading { align-items: start; flex-direction: column; }
    .profile-stats { grid-template-columns: repeat(2, 1fr); }
    .profile-stats div { border-right: 1px solid var(--line) !important; border-bottom: 1px solid var(--line); }
    .profile-stats div:nth-child(even) { border-right: 0 !important; }
    .profile-stats div:nth-last-child(-n+2) { border-bottom: 0; }
    .footer-grid { grid-template-columns: 1fr; gap: 25px; }
    .admin-header-inner { align-items: flex-start; flex-direction: column; gap: 12px; padding-block: 14px; }
    .admin-user { width: 100%; justify-content: space-between; }
    .admin-page-heading { align-items: start; flex-direction: column; }
    .admin-stat-grid, .admin-action-grid, .admin-two-column { grid-template-columns: 1fr; }
    .attendance-week-picker, .attendance-actions { align-items: stretch; flex-direction: column; }
    .attendance-reminder-panel{padding:15px}.attendance-reminder-heading{align-items:flex-start}.attendance-reminder-count{min-width:102px}.attendance-reminder-result dl{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-reminder-panel .button-primary{width:100%;min-height:48px}.attendance-reminder-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.attendance-reminder-dialog .button{width:100%;min-height:48px}
    .account-action-grid { grid-template-columns: 1fr; }
    .account-profile-card dl { grid-template-columns: 1fr; }
    .account-profile-card dl div, .account-profile-card dl div:first-child { padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .hq-grid-four, .hq-health-grid, .hq-progress-grid, .hq-links-grid { grid-template-columns: 1fr; }
    .hq-progress-card { grid-column: auto; }
    .hq-card { min-height: auto; }
    .hq-document-card pre { padding: 18px; font-size: .72rem; }
    .form-grid.two { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
    .leader-cards, .feature-grid, .award-grid { grid-template-columns: 1fr; }
    .feature-grid article:last-child { grid-column: auto; }
    .stat-strip strong { font-size: 1.6rem; }
    .stat-strip > div { padding: 18px; }
    .split-heading { align-items: start; flex-direction: column; }
    .hole-grid-inputs { grid-template-columns: repeat(3, 1fr); }
    .login-section { padding: 14px; }
    .login-card { padding: 26px 21px; }
    .admin-nav .container { overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
.qa-topbar { display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 16px; margin: 18px 0 24px; }
.qa-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.qa-tabs a { padding: 10px 12px; border: 1px solid #cfd9d3; border-radius: 8px; background: #fff; color: var(--navy); font-size: .78rem; font-weight: 800; }
.qa-global-search { display: flex; gap: 8px; }
.qa-global-search input { min-width: 0; flex: 1; }
.qa-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.qa-metric strong { display: block; margin-top: 8px; font-size: 2rem; }
.qa-metric-link { transition: transform .2s, box-shadow .2s; }
.qa-metric-link:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.qa-metric-link small { color: var(--teal-dark); font-weight: 800; }
.qa-split,.qa-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 20px 0; }
.qa-section { margin-top: 24px; }
.qa-list-cards { display: grid; gap: 8px; }
.qa-row-card { display: flex; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid #dce4df; border-radius: 9px; background: #fff; }
.qa-filter-panel { margin-bottom: 18px; padding: 18px; border: 1px solid #d8e1dc; border-radius: 12px; background: #fff; }
.qa-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.qa-filter-grid label,.qa-form>label,.qa-detail-side label { display: grid; gap: 6px; font-size: .78rem; font-weight: 750; }
.qa-filter-actions { display: flex; gap: 8px; margin-top: 14px; }
.qa-priority { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e8eeeb; font-size: .72rem; font-weight: 850; }
.qa-priority-critical { color: #8a2020; background: #ffe3df; }.qa-priority-high { color: #80520a; background: #fff0c9; }
.qa-form { display: grid; gap: 16px; max-width: 960px; }.qa-upload-placeholder { padding: 16px; border: 2px dashed #c7d2cc; border-radius: 10px; }
.qa-detail-grid { grid-template-columns: minmax(0,1.6fr) minmax(290px,.8fr); align-items: start; }.qa-detail-side { display: grid; gap: 18px; }
.qa-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.qa-meta span { display: grid; gap: 3px; }.qa-meta strong { font-size: .7rem; text-transform: uppercase; color: var(--muted); }
.qa-copy-block { padding-top: 14px; border-top: 1px solid #e1e7e3; }.qa-copy-block h2 { font-size: 1rem; }.qa-copy-block p { white-space: normal; }
.qa-prompt { width: 100%; margin: 10px 0; font-family: ui-monospace,monospace; font-size: .76rem; }
.qa-timeline-entry { padding: 12px 0; border-bottom: 1px solid #e1e7e3; }.qa-timeline-entry small { display: block; color: var(--muted); }
.qa-inline-actions { display: grid; gap: 6px; min-width: 120px; }.qa-inline-actions form,.qa-inline-actions button { width: 100%; }
.qa-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.qa-checklist-item { min-height: 0; }
.qa-checklist-item.is-complete { border-color: #8ccbbb; background: #f1fbf7; }
.qa-checklist-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.qa-checklist-heading h2 { margin: 0; color: var(--navy); font-size: 1.05rem; }
.qa-checklist-heading span { color: var(--teal-dark); font-size: .72rem; font-weight: 850; }
.qa-checklist-item label { display: grid; gap: 5px; color: var(--muted); font-size: .75rem; font-weight: 800; }
.qa-checklist-item textarea { width: 100%; resize: vertical; }
.qa-checklist-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--muted); }
.qa-checklist-diagnostic{border-color:#d4a72c;background:#fffaf0}.qa-checklist-diagnostic summary{cursor:pointer;font-weight:850}.qa-checklist-diagnostic dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:.8rem 0 0}.qa-checklist-diagnostic dt{font-size:.7rem;font-weight:850;text-transform:uppercase;color:var(--muted)}.qa-checklist-diagnostic dd{margin:.15rem 0 0;overflow-wrap:anywhere}
.coming-soon-card { max-width: 760px; }
@media (max-width: 820px) { .qa-topbar,.qa-detail-grid,.qa-split,.qa-checklist { grid-template-columns: 1fr; }.qa-metrics,.qa-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.qa-meta { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .qa-metrics,.qa-filter-grid,.qa-meta { grid-template-columns: 1fr; }.qa-global-search { grid-column: 1; }.qa-row-card { flex-direction: column; } }

/* PH-QA-BATCH-003 structural polish. */
.hero-grid-single { grid-template-columns: minmax(0, 820px); }
.hero-league-name { color: var(--gold); font-weight: 850; font-size: clamp(1.05rem,2vw,1.35rem); }
.data-table th,.data-table td { text-align: center; }
.sticky-player-table th:nth-child(2),.sticky-player-table td:nth-child(2) { text-align: left; }
.sort-button { width: 100%; justify-content: center; padding: 4px 6px; }
.sort-button[aria-sort] span::after { color: var(--gold); font-weight: 900; }
.sticky-player-table th:nth-child(2),.sticky-player-table td:nth-child(2) { position: sticky; left: 0; z-index: 2; background: #fff; box-shadow: 2px 0 4px rgba(15,35,34,.08); }
.sticky-player-table thead th:nth-child(2) { z-index: 3; background: var(--navy); }
.hcp-value { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.hcp-trend { font-size: 1rem; font-weight: 900; }.hcp-trend.trend-up { color: #18864b; }.hcp-trend.trend-down { color: #c53434; }.hcp-trend.trend-flat { color: #687771; }
.hcp-trend.trend-new{color:#0b5266}
.award-grid-compact { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.award-grid-compact article { min-height: 170px; padding: 20px; }.award-grid-compact .award-value { font-size: 2rem; }
.poll-action { margin-top: 16px; }.dues-status { display: inline-block; min-width: 52px; padding: 5px 8px; border-radius: 6px; font-weight: 900; }.dues-paid { color:#11653c;background:#dff6e9; }.dues-unpaid { color:#8e2525;background:#ffe3e0; }.dues-summary { display:flex;gap:24px;justify-content:flex-end;padding:16px; }
.admin-nav-toggle { display:none; }.admin-stat-grid-compact,.admin-action-grid-compact { grid-template-columns: repeat(3,minmax(0,1fr)); }.admin-action-grid-compact>a,.admin-action-grid-compact>div { min-height: 180px; padding: 22px; }.coming-soon-card { border:1px dashed var(--line); border-radius:12px; background:#fff; }
.qa-row-card,.qa-card,.hq-card { overflow-wrap:anywhere; }.qa-global-search { display:grid; grid-template-columns:1fr auto; }.qa-global-search label { grid-column:1/-1; text-align:center; }.qa-global-search input { width:100%; }
.hq-health-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hq-health-card { min-height:130px; }
@media(max-width:820px){.admin-nav-toggle{display:inline-flex}.admin-user{display:none}.admin-nav{display:none}.admin-nav.is-open{display:block}.admin-nav .container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.admin-nav a{border-radius:8px}.admin-stat-grid-compact,.admin-action-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.award-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.admin-stat-grid-compact,.admin-action-grid-compact,.award-grid-compact,.hq-health-grid{grid-template-columns:1fr}.dues-summary{justify-content:flex-start;flex-direction:column;gap:6px}}

/* PH-QA-BATCH-004 QA #2 usability polish. */
.hero-grid-single { min-height: 360px; padding-block: 46px; }
.hero-grid-single .hero-copy h1 { font-size: clamp(2.7rem,6vw,4.7rem); }
.standings-table th:nth-child(7),.standings-table td:nth-child(7) { width:1%; max-width:125px; padding-inline:8px; }
.sticky-first-table th:first-child,.sticky-first-table td:first-child { position:sticky;left:0;z-index:2;text-align:left;background:#fff;box-shadow:2px 0 4px rgba(15,35,34,.08); }
.sticky-first-table thead th:first-child { z-index:3;background:var(--navy); }
.week-label { display:block;font-size:1rem;letter-spacing:.12em; }
.result-week .week-date { margin-top:4px;font-size:1.15rem; }
.admin-stat-grid-compact,.admin-action-grid-compact { gap:12px; }
.admin-stat-grid-compact>a,.admin-action-grid-compact>a,.admin-action-grid-compact>div { min-height:135px;padding:16px; }
.admin-action-grid-compact h2 { font-size:1.25rem; }.admin-action-grid-compact p { margin-bottom:0;font-size:.8rem; }
.qa-version-card h2 { max-width:100%;overflow-wrap:anywhere;font-size:1.25rem; }
.qa-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.qa-form input,.qa-form select,.qa-form textarea { width:100%; }
.qa-checklist-actions { display:flex;flex-wrap:wrap;gap:8px; }
.hq-grade { font-size:clamp(2.4rem,5vw,3.6rem)!important;font-weight:900!important;line-height:1; }
.hq-health-card small span { display:inline-block;margin-left:5px;font-size:1.45rem;font-weight:900;line-height:1; }
.hq-metric-card { transition:transform .2s,box-shadow .2s; }.hq-metric-card:hover { transform:translateY(-2px);box-shadow:var(--shadow); }
@media(max-width:620px){.qa-form .form-grid{grid-template-columns:1fr}.qa-form{width:100%}.qa-checklist-actions .button{width:100%}}

/* PH-QA-BATCH-005 mobile polish and player workflow. */
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.hero-grid-single { min-height: 315px; padding-block: 34px; }
.stat-strip > div { padding: 16px 22px; }
.stat-strip strong { font-size: 1.7rem; }
.leader-card { min-height: 150px; padding: 18px 10px; }
.leader-card .avatar { width: 48px; height: 48px; margin-bottom: 10px; }
.feature-grid article { display:grid;align-content:start;min-height:210px;padding:24px; }
.feature-grid p { min-height: 54px; }
.week-label { font-size:1.2rem;letter-spacing:.13em; }
.result-week .week-date { font-size:.95rem;font-weight:800;letter-spacing:.02em; }
.award-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.award-grid-compact article { min-height:145px;padding:16px; }
.award-grid-compact .award-value { margin:15px 0 8px;font-size:1.75rem; }
.award-grid-compact h2 { margin-bottom:10px;font-size:1.18rem; }
.account-attendance-section { margin-top:-28px;padding-bottom:0; }
.account-attendance-card { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:16px;align-items:center;padding:22px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:var(--radius);box-shadow:var(--shadow); }
.account-attendance-card.needs-response { border-left-color:var(--gold); }
.account-attendance-card h2 { margin:6px 0;color:var(--navy);font-family:Georgia,serif;font-size:1.45rem;font-weight:500; }
.account-attendance-card p { margin:0;color:var(--muted);font-size:.86rem; }
.attendance-choice-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.attendance-choice-grid label { display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f9fbfb;font-size:.82rem;font-weight:850;text-align:center; }
.attendance-choice-grid label:has(input:checked) { border-color:var(--teal);background:#edf8f5;color:var(--teal-dark); }
.attendance-note-field { display:grid;gap:5px;color:var(--muted);font-size:.75rem;font-weight:850; }
.attendance-note-field input { width:100%;padding:10px 11px;border:1px solid #b9c8ce;border-radius:8px; }
.attendance-member-actions { display:flex;gap:12px;align-items:center;grid-column:1/-1; }
.attendance-member-actions small { color:var(--muted);font-size:.75rem; }
.qa-mobile-list { display:none; }
.qa-mobile-card { display:grid;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 22px rgba(11,42,59,.05); }
.qa-mobile-card header { display:flex;justify-content:space-between;gap:10px;align-items:center; }
.qa-mobile-card header a { color:var(--teal-dark);font-weight:900; }
.qa-mobile-card h2 { margin:0;color:var(--navy);font-family:Georgia,serif;font-size:1.15rem;font-weight:500;line-height:1.15; }
.qa-mobile-card dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0; }
.qa-mobile-card dt { color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase; }
.qa-mobile-card dd { margin:2px 0 0;font-size:.82rem;overflow-wrap:anywhere; }
.qa-mobile-actions { grid-template-columns:1fr 1fr; }
@media(max-width:760px){
    .hero-grid-single { min-height:245px;padding-block:30px; }
    .hero-grid-single .hero-copy h1 { margin-bottom:10px;font-size:clamp(2.35rem,11vw,3.6rem); }
    .hero-copy > p { margin-bottom:0;font-size:1rem; }
    .stat-strip { margin-top:-16px; }
    .stat-strip > div { padding:13px 14px; }
    .section { padding:42px 0; }
    .leader-cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
    .leader-card { min-height:132px;padding:16px 8px; }
    .leader-rank { top:8px;right:8px; }
    .leader-card > span:last-child { font-size:.7rem; }
    .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
    .feature-grid article,.feature-grid article:last-child { grid-column:auto;min-height:160px;padding:16px; }
    .feature-grid h3 { font-size:1.28rem; }
    .feature-grid p { min-height:auto;margin:7px 0 12px;font-size:.78rem; }
    .feature-number { font-size:1.1rem; }
    .admin-stat-grid-compact,.admin-action-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
    .admin-stat-grid-compact>a,.admin-action-grid-compact>a,.admin-action-grid-compact>div { min-height:124px;padding:14px; }
    .admin-stat-grid strong { font-size:2rem; }
    .admin-action-grid-compact h2 { font-size:1.12rem; }
    .account-attendance-card { grid-template-columns:1fr;padding:18px; }
    .attendance-choice-grid { grid-template-columns:1fr; }
    .attendance-member-actions { align-items:stretch;flex-direction:column; }
    .attendance-member-actions .button { width:100%; }
    .qa-table-wrap { display:none; }
    .qa-mobile-list { display:grid;gap:12px; }
}
@media(max-width:520px){
    .leader-cards,.feature-grid,.award-grid-compact,.admin-stat-grid-compact,.admin-action-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .leader-card strong { font-size:.86rem;line-height:1.15; }
    .leader-card .avatar { width:42px;height:42px;font-size:1.05rem; }
    .feature-grid article { min-height:150px; }
    .award-grid-compact article { min-height:132px; }
    .award-grid-compact .award-value { font-size:1.55rem; }
    .award-grid-compact h2 { font-size:1rem; }
    .qa-mobile-card dl { grid-template-columns:1fr; }
    .qa-mobile-actions { grid-template-columns:1fr; }
}

/* PH-QA-BATCH-006 player experience foundations. */
.attendance-status { display:inline-flex;margin:0 0 7px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.attendance-status-playing { color:#11653c;background:#dff6e9; }
.attendance-status-not_playing { color:#8e2525;background:#ffe3e0; }
.attendance-status-unsure { color:#7a5a12;background:#fff2ce; }
.attendance-status-none { color:#51606c;background:#edf2f5; }
.account-attendance-card:has(input[value="playing"]:checked) { border-left-color:#18864b; }
.account-attendance-card:has(input[value="not_playing"]:checked) { border-left-color:#c53434; }
.account-attendance-card:has(input[value="unsure"]:checked) { border-left-color:#d6a84a; }
.notification-list { display:grid;gap:12px; }
.notification-card { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;background:#fff;border:1px solid var(--line);border-radius:13px; }
.notification-card.is-unread { border-left:5px solid var(--teal);background:#f7fcfa; }
.notification-card h2 { margin:7px 0 4px;color:var(--navy);font-family:Georgia,serif;font-size:1.25rem;font-weight:500; }
.notification-card p { margin:0;color:var(--muted);font-size:.86rem; }
.notification-card small { color:var(--muted);font-size:.72rem; }
.notification-actions { display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end; }
.preference-row { display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,.8fr));gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px; }
.preference-row legend { color:var(--navy);font-weight:900; }
.preference-row label { display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.82rem;font-weight:850; }
.app-help-grid article { min-height:180px; }
@media(max-width:760px){
    .notification-card { grid-template-columns:1fr; }
    .notification-actions { justify-content:stretch; }
    .notification-actions .button,.notification-actions form { width:100%; }
    .preference-row { grid-template-columns:1fr; }
}

/* PH-QA-BATCH-007 player/admin polish. */
.password-toggle-wrap { position:relative;display:block; }
.password-toggle-wrap input { padding-right:72px; }
.password-toggle-button { position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;border-radius:999px;background:#e8f1f5;color:var(--navy);font-weight:900;font-size:.72rem;padding:7px 10px;cursor:pointer; }
.password-toggle-button:focus-visible { outline:3px solid var(--gold);outline-offset:2px; }
.standings-heading-centered { align-items:center; }
.standings-heading-centered > div { text-align:center;flex:1; }
.announcement-stack { display:grid;gap:12px; }
.announcement-banner { padding:18px;border-radius:16px;background:#fff7df;border:1px solid #f0d486;box-shadow:var(--shadow-soft); }
.announcement-banner h2 { margin:4px 0;color:var(--navy);font-family:Georgia,serif; }
.announcement-banner p { margin:0 0 8px;color:#5c4930; }
.announcement-toggle { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #f0d486;border-radius:12px;padding:6px 8px 6px 12px;background:#fffaf0;color:var(--navy);font:inherit;font-weight:600;text-align:left;cursor:pointer; }
.announcement-toggle:focus-visible { outline:3px solid #facc15;outline-offset:3px; }
.announcement-body { margin-top:12px; }
.collapsible-announcement.is-collapsed { padding:10px; }
.collapsible-announcement.is-collapsed .announcement-body { display:none; }
.announcement-archive { padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft); }
.announcement-archive summary { cursor:pointer;color:var(--teal-dark);font-weight:1000; }
.announcement-archive .announcement-stack { margin-top:12px; }
.announcement-archived { opacity:.86; }
.account-attendance-card.is-collapsed { padding:16px;border-left-width:7px; }
.attendance-status-card.status-playing { border-left-color:#18864b;background:#f5fbf7; }
.attendance-status-card.status-not_playing { border-left-color:#c53434;background:#fff7f5; }
.attendance-status-card.status-unsure,.attendance-status-card.status-none { border-left-color:#d6a84a;background:#fffdf7; }
.attendance-mini-message { margin-top:2px;color:var(--muted);font-weight:800; }
.attendance-countdown { display:inline-flex;margin-top:8px;padding:7px 10px;border-radius:999px;background:#edf5f8;color:var(--navy);font-weight:900;font-size:.82rem; }
.attendance-countdown.is-urgent { background:#ffe5e2;color:#a12626;font-weight:1000; }
.vote-option-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px; }
.vote-option-grid .radio-card { min-height:54px;display:flex;align-items:center; }
.attendance-edit-panel { margin-top:10px; }
.attendance-edit-panel summary { display:flex;justify-content:flex-end;cursor:pointer;color:var(--teal);list-style:none; }
.attendance-edit-panel summary::-webkit-details-marker { display:none; }
.notification-toolbar-actions { display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end; }
.form-heading-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.preference-row { font-size:.95rem; }
.preference-row input[type="checkbox"] { width:20px;height:20px; }
.preference-row .is-future { opacity:.75; }
.attendance-totals { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0; }
.attendance-totals span { min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:center;font-weight:900;color:var(--navy); }
.attendance-totals strong { display:block;font-size:1.8rem;line-height:1;margin-top:6px; }
.attendance-table { min-width:0;width:100%; }
.attendance-table td:first-child,.attendance-table th:first-child { position:sticky;left:0;background:#fff;z-index:1; }
.attendance-status { display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-weight:900;white-space:normal; }
.attendance-status-playing { background:#dcfce7;color:#166534; }
.attendance-status-unsure { background:#fef9c3;color:#854d0e; }
.attendance-status-not_playing { background:#fee2e2;color:#991b1b; }
.attendance-status-none { background:#e2e8f0;color:#334155; }
.attendance-status-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0; }
.attendance-status-options label { min-width:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:900; }
.attendance-choice-card { min-height:70px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;transition:border-color .15s,box-shadow .15s,background .15s; }
.attendance-choice-card input { width:auto;min-width:0; }
.attendance-choice-playing { background:#f0fdf4!important;color:#166534; }
.attendance-choice-unsure { background:#fffbeb!important;color:#854d0e; }
.attendance-choice-not_playing { background:#fef2f2!important;color:#991b1b; }
.attendance-choice-card.is-selected,.attendance-choice-card:has(input:checked) { border-width:2px;box-shadow:0 0 0 3px rgba(15,118,110,.14); }
.attendance-choice-playing.is-selected,.attendance-choice-playing:has(input:checked) { border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.2); }
.attendance-choice-unsure.is-selected,.attendance-choice-unsure:has(input:checked) { border-color:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.2); }
.attendance-choice-not_playing.is-selected,.attendance-choice-not_playing:has(input:checked) { border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.18); }
.attendance-clear-response { min-width:0;min-height:70px;padding:8px;border:1px dashed #91a2aa;border-radius:12px;background:#f5f7f8;color:#42535d;font:inherit;font-weight:850;line-height:1.15;cursor:pointer;overflow-wrap:anywhere; }
.attendance-clear-response:hover:not(:disabled) { border-color:var(--teal);background:#edf6f5;color:var(--teal-dark); }
.attendance-clear-response:focus-visible { outline:3px solid var(--gold);outline-offset:3px; }
.attendance-clear-response:disabled { opacity:.48;cursor:not-allowed; }
.attendance-clear-dialog { width:min(430px,calc(100vw - 24px));padding:0;border:0;border-radius:14px;box-shadow:0 20px 55px rgba(5,31,45,.3); }
.attendance-clear-dialog::backdrop { background:rgba(4,25,36,.62); }
.attendance-clear-dialog>div { padding:20px; }
.attendance-clear-dialog h3 { margin:0 0 9px; }
.attendance-clear-dialog p { color:var(--muted); }
.announcement-row { display:flex;justify-content:space-between;gap:12px;align-items:center; }
@media(max-width:760px){
    .notification-toolbar { align-items:stretch; }
    .notification-toolbar-actions,.notification-toolbar-actions form,.notification-toolbar-actions .button { width:100%; }
    .attendance-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .form-heading-row { align-items:stretch;flex-direction:column; }
    .announcement-row { display:grid; }
    .attendance-status-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .attendance-clear-response,.attendance-choice-card { min-height:48px; }
    .attendance-clear-dialog .dialog-actions { display:grid;grid-template-columns:1fr; }
    .attendance-clear-dialog .button { width:100%;min-height:48px; }
}

/* PH-QA-BATCH-008B pre-live-scoring stabilization. */
.leader-cards-centered { justify-content:center;justify-items:center; }
.leader-cards-centered .leader-card { width:100%;max-width:220px; }
.leader-card.is-current-player,.award-grid article.is-current-player { border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,168,74,.22),var(--shadow); }
.playoff-match-card.is-current-player{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,168,74,.18),var(--shadow)}
.playoff-result-list{display:grid;gap:12px}.playoff-result-list article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.playoff-result-list p{margin:6px 0}.playoff-result-list small{display:block;margin-top:4px;color:var(--muted)}
.playoff-round-status-row{display:flex;flex-wrap:wrap;gap:8px}.playoff-round-status-row>span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#f7faf9;font-size:.86rem;line-height:1.2}
.is-current-player-row td { background:#fff7df!important; }
.is-current-player-row .player-link::after,.leader-card.is-current-player strong::after,.award-grid article.is-current-player h2::after { content:" You"; display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:#dff4ed;color:#0c6559;font-size:.65rem;font-weight:1000;text-transform:uppercase;vertical-align:middle; }
.account-player-name { font-size:clamp(2rem,4vw,3.1rem)!important; }
.account-season-stats { display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:8px;align-items:center;margin-top:14px;padding:12px 0 0;background:transparent;border:0;border-radius:0; }
.account-season-stats strong { color:var(--navy);font-weight:1000; }
.account-season-stats span { display:grid;gap:2px;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase; }
.account-season-stats b { color:var(--navy);font-size:.98rem;text-transform:none; }
.playoff-message { margin-top:10px!important;font-weight:900;color:var(--teal-dark)!important; }
.account-attendance-card.is-collapsed { grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px; }
.account-attendance-card.is-collapsed .attendance-edit-panel { margin-top:0; }
.account-attendance-card.is-collapsed .attendance-edit-panel > :not(summary) { margin-top:12px; }
.account-attendance-card.is-collapsed .attendance-countdown { margin-top:6px;font-size:.95rem;font-weight:900;color:var(--navy); }
.attendance-countdown.is-urgent { color:#b91c1c!important;font-weight:1000!important; }
.registration-card-list { display:grid;gap:14px; }
.registration-request-card { display:grid;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px rgba(11,42,59,.05); }
.registration-request-card header { display:flex;justify-content:space-between;gap:14px;align-items:start; }
.registration-request-card h2 { margin:4px 0;color:var(--navy);font-family:Georgia,serif;font-size:1.35rem;font-weight:500; }
.registration-request-details { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0; }
.registration-request-details div { padding:10px;background:#f8fbfb;border:1px solid var(--line);border-radius:10px; }
.registration-request-details dt { color:var(--muted);font-size:.65rem;font-weight:1000;letter-spacing:.06em;text-transform:uppercase; }
.registration-request-details dd { margin:3px 0 0;overflow-wrap:anywhere;font-size:.88rem;font-weight:850;color:var(--navy); }
.registration-card-actions { justify-content:flex-end; }
.roster-summary-grid { grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px; }
.roster-summary-grid article { min-height:115px;padding:16px; }
.roster-summary-grid strong { font-size:2rem; }
@media(max-width:980px){
    .account-season-stats,.registration-request-details,.roster-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px){
    .account-season-stats,.registration-request-details,.roster-summary-grid { grid-template-columns:1fr; }
    .account-attendance-card.is-collapsed { grid-template-columns:1fr; }
    .registration-request-card header { display:grid; }
    .registration-card-actions,.registration-card-actions form,.registration-card-actions .button { width:100%; }
}

/* PH-QA-BATCH-009B.1 workflow stabilization and mobile polish. */
.live-badge-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.live-score-entry-card{padding:0;overflow:hidden;background:rgba(248,252,251,.96)}
.live-score-entry-card>summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:12px 14px;cursor:pointer;list-style:none}
.live-score-entry-card>summary::-webkit-details-marker{display:none}
.live-score-entry-card>summary>span:first-child{display:grid;gap:2px;min-width:0}
.live-score-entry-card>summary strong{overflow:hidden;color:var(--navy);font-family:Georgia,serif;font-size:1.22rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.live-score-entry-card>summary small{color:var(--muted);font-weight:800}
.live-score-entry-card:not([open])>summary{min-height:54px;padding-block:8px}
.live-score-entry-body{padding:0 14px 14px;border-top:1px solid rgba(15,118,110,.14)}
.live-player-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:184px;margin:12px 0;padding:2px;overflow:auto}
.live-player-selector a{display:grid;gap:2px;min-height:52px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:.76rem;font-weight:850;line-height:1.15;text-decoration:none}
.live-player-selector a.is-selected{border-color:var(--teal);background:#edf8f5;box-shadow:0 0 0 2px rgba(15,118,110,.12)}
.player-progress{display:inline-flex;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;font-size:.65rem;font-weight:950;line-height:1.1;white-space:nowrap}
.status-complete{background:#dcfce7;color:#166534}.status-in-progress{background:#dbeafe;color:#1d4ed8}.status-not-started{background:#e5e7eb;color:#4b5563}.status-incomplete{background:#fef3c7;color:#a13f0b}
.live-scorecard-form{margin:0}.live-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.live-hole-entry{display:grid;grid-template-columns:1fr;gap:4px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--teal-dark);font-size:.7rem;font-weight:950;text-align:center;text-transform:uppercase}
.live-hole-entry input{width:100%;min-width:0;min-height:50px;padding:7px;border:1px solid #9eb4bc;border-radius:8px;background:#f9fbfb;color:var(--navy);font-size:1.2rem;font-weight:900;text-align:center}
.live-hole-entry:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.live-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.live-save-row span{color:var(--muted);font-size:.82rem;font-weight:900}
.live-leaderboard{min-width:760px}.live-leaderboard th:nth-child(2),.live-leaderboard td:nth-child(2){position:sticky;left:0;z-index:2;background:#fff;box-shadow:3px 0 7px rgba(11,42,59,.09)}.live-leaderboard thead th:nth-child(2){z-index:3;background:var(--navy)}
.live-reopen-panel{display:grid;gap:10px;width:min(100%,620px)}.live-reopen-panel form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;width:100%}.live-reopen-panel label{display:grid;gap:5px;min-width:0;font-size:.75rem;font-weight:900}.live-reopen-panel input{width:100%;min-height:46px}.live-reopen-panel .button{min-height:46px;white-space:nowrap}
.live-finalize-actions{display:flex;gap:8px;flex-wrap:wrap}
.account-summary-panel .account-season-stats{background:rgba(255,255,255,.34)!important;border:1px solid rgba(255,255,255,.46)!important;box-shadow:none!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.account-summary-panel>summary{position:relative;padding-right:46px}.account-summary-panel>summary .collapse-indicator{position:absolute;top:50%;right:0;transform:translateY(-50%)}
.account-attendance-card{position:relative;padding-right:68px}.attendance-edit-panel>summary{position:absolute;top:8px;right:8px;z-index:3}.attendance-edit-panel>summary .collapse-indicator{min-width:48px;min-height:48px}.attendance-edit-panel[open]>:not(summary){position:relative}
@media(max-width:760px){
 .live-player-selector{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}.live-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.live-hole-entry{padding:6px}.live-hole-entry input{min-height:52px;font-size:1.12rem}.live-save-row{align-items:stretch;flex-direction:column}.live-save-row .button{width:100%;min-height:50px}.live-control-actions{align-items:stretch}.live-reopen-panel form{grid-template-columns:1fr}.live-reopen-panel .button{width:100%}.live-badge-row{justify-content:flex-start}.account-attendance-card{padding-right:62px}
}

/* PH-QA-BATCH-009B weekly score entry. */
.live-score-entry-card{padding:18px;border:1px solid #b8d8d3;border-radius:15px;background:#f8fcfb;box-shadow:var(--shadow)}
.live-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.live-hole-entry{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:7px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}
.live-hole-entry label{font-size:.72rem;font-weight:900;text-transform:uppercase}.live-hole-entry input{width:100%;min-height:44px;padding:8px}.live-finalize-review{max-width:620px}.live-finalize-review summary{cursor:pointer;font-weight:900}.live-finalize-review ul{columns:2;margin:10px 0}
@media(max-width:980px){.live-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.live-heading-row{flex-wrap:wrap}.live-badge{font-size:.68rem;padding:7px 10px}.live-entry-grid{grid-template-columns:1fr}.live-hole-entry{grid-template-columns:72px 1fr auto}.live-finalize-review ul{columns:1}.live-leaderboard{min-width:760px}}

/* PH-QA-BATCH-008C final stabilization before live scoring. */
.notification-bell { position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:1000; }
.notification-bell b { position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#d6a84a;color:#102a43;font-size:.65rem;line-height:1; }
.notification-bell.has-unread { background:#fff7df;color:#102a43;border-color:#d6a84a;box-shadow:0 0 0 3px rgba(214,168,74,.16); }
.notification-bell:focus-visible { outline:3px solid var(--gold);outline-offset:3px; }
.account-summary-panel { padding:14px 16px;border:1px solid rgba(255,255,255,.35);border-radius:16px;background:rgba(255,255,255,.66);box-shadow:0 10px 30px rgba(11,42,59,.08); }
.account-summary-panel summary { display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none; }
.account-summary-panel summary::-webkit-details-marker { display:none; }
.account-summary-panel .account-player-name { margin:0;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2.15rem)!important;line-height:1.1;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.collapse-indicator { flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--teal-dark);font-size:1rem;font-weight:500;line-height:1; }
[data-collapse-control] > summary .when-closed,.announcement-toggle .when-closed { display:none; }
[data-collapse-control]:not([open]) > summary .when-open,.announcement-toggle[aria-expanded="false"] .when-open { display:none; }
[data-collapse-control]:not([open]) > summary .when-closed,.announcement-toggle[aria-expanded="false"] .when-closed { display:inline; }
.account-summary-panel:not([open]) { padding-block:12px; }
.account-summary-panel .account-season-stats { margin-top:12px;background:transparent; }
.account-feature-placeholder { display:grid;align-content:start;gap:8px;min-height:180px;padding:22px;border:1px dashed #bad0d6;border-radius:16px;background:#f8fbfb;color:var(--muted); }
.account-feature-placeholder span { color:var(--gold);font-weight:1000; }
.account-feature-placeholder h2 { margin:0;color:var(--navy);font-family:Georgia,serif;font-size:1.45rem;font-weight:500; }
.profile-link-row { display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px; }
.profile-bio { margin-top:8px;max-width:620px;color:#e8f1f5;font-size:1rem;font-weight:800; }
.attendance-choice-card { position:relative;min-height:46px;padding:7px 10px!important;font-size:.8rem;line-height:1.15; }
.attendance-choice-card input { position:absolute;opacity:0;inline-size:1px;block-size:1px; }
.attendance-choice-card:has(input:focus-visible) { outline:3px solid var(--gold);outline-offset:3px; }
.attendance-choice-card.is-selected::after,.attendance-choice-card:has(input:checked)::after { content:"✓";position:absolute;top:5px;right:8px;font-weight:1000; }
.attendance-totals span { min-height:64px;padding:8px;font-size:.78rem; }
.attendance-totals strong { font-size:1.35rem; }
.roster-summary-grid { gap:8px;margin-bottom:12px; }
.roster-summary-grid article { min-height:72px!important;padding:9px 10px!important; }
.roster-summary-grid span { font-size:.66rem;line-height:1.1; }
.roster-summary-grid strong { font-size:1.32rem!important;line-height:1.05; }
@media(max-width:760px){
    .utility-inner { justify-content:center;gap:6px;font-size:.68rem;letter-spacing:.01em; }
    .notification-bell { min-width:34px;height:34px; }
    .account-summary-panel .account-player-name { font-size:1.28rem!important; }
    .account-summary-panel .account-season-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-summary-panel .account-season-stats strong { grid-column:1 / -1; }
    .roster-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* PH-QA-BATCH-008E final Welcome panel UI polish. */
.account-summary-panel .account-player-name { font-size:clamp(1.18rem,2.65vw,1.88rem)!important; }
.account-summary-panel .account-season-stats { margin-top:10px;padding:10px 12px;background:#fff;border:0;border-radius:12px;box-shadow:0 4px 12px rgba(11,42,59,.08); }
.account-summary-panel .account-season-stats strong { color:var(--teal);font-size:.73rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase; }
@media(max-width:760px){
    .account-summary-panel .account-player-name { font-size:1.12rem!important; }
    .account-summary-panel .account-season-stats { gap:7px;padding:9px 10px; }
}

/* PH-QA-BATCH-009A Live Scoring foundation. */
.live-scoring-hero { padding:34px 0;background:linear-gradient(120deg,#102a43,#0b4f55);color:#fff; }
.live-scoring-hero h1 { margin:4px 0 0;color:#fff; }
.live-scoring-hero .eyebrow { color:#8cd6c5; }
.live-heading-row { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.live-badge { display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:#dc2626;color:#fff;font-size:.78rem;font-weight:1000;letter-spacing:.12em;box-shadow:0 0 0 4px rgba(220,38,38,.2); }
.live-badge span { width:8px;height:8px;border-radius:50%;background:#fff;animation:live-pulse 1.4s ease-in-out infinite; }
.live-badge.is-paused { background:#d97706;box-shadow:0 0 0 4px rgba(217,119,6,.2); }
.live-badge.is-complete { background:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.2); }
@keyframes live-pulse { 50% { opacity:.35;transform:scale(.8); } }
@media(prefers-reduced-motion:reduce){ .live-badge span { animation:none; } }
.live-round-header { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:22px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.18); }
.live-round-header div { min-height:76px;padding:12px;background:rgba(8,33,50,.74); }
.live-round-header span,.live-status-grid span,.live-progress-card span { display:block;color:#91cfc6;font-size:.67rem;font-weight:1000;letter-spacing:.09em;text-transform:uppercase; }
.live-round-header strong { display:block;margin-top:5px;color:#fff;font-size:.92rem;line-height:1.25; }
.live-countdown { display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 13px;border-radius:10px;background:rgba(255,255,255,.12); }
.live-countdown span { color:#b9dbd6;font-size:.76rem;font-weight:900;text-transform:uppercase; }
.live-countdown strong { color:#fff; }
.live-countdown small { margin-left:auto;color:#e4f4f1;font-weight:800; }
.live-empty-state { margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(255,255,255,.08); }
.live-control-panel { display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:20px;padding:18px;border:1px solid #b8d8d3;border-radius:15px;background:#f2fbf9;box-shadow:0 8px 24px rgba(11,42,59,.06); }
.live-control-panel h2 { margin:3px 0 5px; }
.live-control-panel p { margin:0;color:var(--muted); }
.live-control-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px; }
.live-control-actions form { margin:0; }
.live-hole-control { display:flex;align-items:end;gap:7px; }
.live-hole-control label { color:var(--navy);font-size:.72rem;font-weight:900;text-transform:uppercase; }
.live-hole-control select { min-width:105px;padding:9px 30px 9px 9px; }
.live-progress-card { display:grid;grid-template-columns:auto auto minmax(160px,1fr);align-items:center;gap:18px;padding:15px 18px;border-radius:14px;background:var(--navy);color:#fff; }
.live-progress-card strong { display:block;margin-top:3px;color:#fff; }
.live-progress-copy { text-align:right; }
.live-progress-track { height:12px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.18); }
.live-progress-track span { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#f4cf76);transition:width .25s ease; }
.live-status-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:10px; }
.live-status-grid article { min-height:88px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(11,42,59,.05); }
.live-status-grid span { color:var(--teal); }
.live-status-grid strong { display:block;margin-top:8px;color:var(--navy);font-size:1.05rem; }
.live-leaderboard-wrap,.live-score-grid-wrap { width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:14px;box-shadow:var(--shadow); }
.live-leaderboard th,.live-leaderboard td { white-space:nowrap; }
.movement-placeholder { color:var(--muted);font-size:1.1rem; }
.live-score-grid { min-width:880px; }
.live-score-grid th,.live-score-grid td { min-width:58px;text-align:center; }
.live-score-grid th:first-child,.live-score-grid td:first-child { position:sticky;left:0;z-index:2;min-width:170px;text-align:left;background:#fff;box-shadow:3px 0 6px rgba(11,42,59,.05); }
.live-score-grid thead th:first-child { background:var(--navy); }
.live-score-grid .is-current-hole { background:#fff4d5!important;box-shadow:inset 0 3px 0 var(--gold); }
.live-score-grid input { width:46px;min-width:46px;padding:7px 4px;text-align:center; }
.live-score-grid input:disabled { opacity:1;background:#f4f7f8;color:var(--navy);border-color:#d7e2e5;cursor:not-allowed; }
@media(max-width:980px){
    .live-round-header { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .live-status-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .live-control-panel { grid-template-columns:1fr; }
    .live-control-actions { justify-content:flex-start; }
}
@media(max-width:620px){
    .live-scoring-hero { padding:24px 0; }
    .live-heading-row { align-items:flex-start; }
    .live-round-header { grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px; }
    .live-round-header div { min-height:68px;padding:10px; }
    .live-countdown { align-items:flex-start;flex-wrap:wrap; }
    .live-countdown small { width:100%;margin-left:0; }
    .live-control-panel { padding:14px; }
    .live-control-actions,.live-control-actions form,.live-control-actions .button { width:100%; }
    .live-hole-control { display:grid;grid-template-columns:1fr 1fr; }
    .live-hole-control label { grid-column:1 / -1; }
    .live-progress-card { grid-template-columns:1fr auto;gap:10px; }
    .live-progress-track { grid-column:1 / -1; }
    .live-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .live-status-grid article:last-child { grid-column:1 / -1; }
}

/* 009B.1 final cascade overrides. */
.live-score-entry-card{padding:0;overflow:hidden}
.live-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.live-hole-entry{display:grid;grid-template-columns:1fr;align-items:stretch;gap:4px;min-width:0;padding:8px;text-align:center}
.live-hole-entry input{width:100%;min-width:0;min-height:50px;padding:7px;font-size:1.2rem;text-align:center}
@media(max-width:980px){.live-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.live-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.live-hole-entry{grid-template-columns:1fr;padding:6px}.live-hole-entry input{min-height:52px}}

/* PH-QA-BATCH-009B.2 Live Standings display repair and dashboard header polish. */
.live-standings-heading{align-items:start}
.live-refresh-tools{display:grid;justify-items:end;gap:7px}
.live-status-legend{display:grid;gap:3px;color:var(--muted);font-size:.68rem;font-weight:750;line-height:1.25;text-align:right}
.live-status-legend span{white-space:nowrap}
.live-status-legend b{display:inline-flex;padding:2px 6px;border-radius:999px;font-size:.62rem;font-weight:950}
.live-leaderboard{width:max-content;min-width:720px;table-layout:fixed}
.live-leaderboard .col-position{width:64px}.live-leaderboard .col-player{width:170px}.live-leaderboard .col-current-hole{width:110px}.live-leaderboard .col-gross{width:70px}.live-leaderboard .col-relative{width:62px}.live-leaderboard .col-status{width:112px}.live-leaderboard .col-updated{width:92px}
.live-leaderboard th,.live-leaderboard td{padding:10px 9px;text-align:center}
.live-leaderboard thead th:nth-child(2){position:sticky;left:0;z-index:5;background:var(--navy);color:var(--white);text-align:left}
.live-leaderboard tbody th:nth-child(2){position:sticky;left:0;z-index:4;overflow:visible;padding:10px 9px;background:#fff;color:var(--navy);box-shadow:3px 0 7px rgba(11,42,59,.11);font-size:.78rem;font-weight:900;letter-spacing:0;line-height:1.2;text-align:left;text-transform:none;opacity:1;white-space:nowrap}
.live-leaderboard tbody tr:hover th:nth-child(2){background:#f5faf9}
.live-leaderboard tbody tr.is-current-player-row th:nth-child(2){background:#fff7df!important;color:var(--navy)!important}
.desktop-player-name{display:inline}.mobile-player-name{display:none}.current-player-marker{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#dff4ed;color:#0c6559;font-size:.58rem;font-weight:1000;line-height:1;text-transform:uppercase;vertical-align:middle}
.account-summary-panel{padding:10px 13px;border:1px solid rgba(15,118,110,.14);background:rgba(255,255,255,.88);box-shadow:0 5px 16px rgba(11,42,59,.05)}
.account-summary-panel:not([open]){padding-block:8px}
.account-summary-panel .account-player-name{font-size:clamp(1.08rem,2.3vw,1.65rem)!important}
.account-summary-panel .account-season-stats{margin-top:7px;padding:8px 0 0;background:transparent!important;border:0!important;border-top:1px solid rgba(15,118,110,.15)!important;border-radius:0;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none}
.account-summary-panel .playoff-message{margin:7px 0 1px!important;font-size:.82rem;line-height:1.25}
@media(max-width:620px){
 .live-standings-heading{display:grid;gap:9px}.live-refresh-tools{justify-items:start}.live-status-legend{text-align:left}.live-status-legend span{white-space:normal}
 .live-leaderboard{min-width:590px}.live-leaderboard .col-position{width:52px}.live-leaderboard .col-player{width:94px}.live-leaderboard .col-current-hole{width:98px}.live-leaderboard .col-gross{width:60px}.live-leaderboard .col-relative{width:52px}.live-leaderboard .col-status{width:104px}.live-leaderboard .col-updated{width:82px}
 .live-leaderboard th,.live-leaderboard td{padding:9px 6px}.live-leaderboard tbody th:nth-child(2){padding:9px 7px;font-size:.76rem}
 .desktop-player-name{display:none}.mobile-player-name{display:inline}.current-player-marker{display:block;width:max-content;margin:3px 0 0}
 .account-summary-panel{padding:8px 10px}.account-summary-panel .account-player-name{font-size:1.02rem!important}.account-summary-panel .account-season-stats{gap:5px;margin-top:6px;padding-top:7px}.account-summary-panel .account-season-stats span{font-size:.7rem}.account-summary-panel .account-season-stats b{font-size:.9rem}.account-summary-panel .playoff-message{font-size:.76rem}
}

/* PH-QA-BATCH-009B.3 tablet Provisional Scorecard containment. */
.live-score-entry-container{width:min(960px,calc(100% - 40px))}
.live-score-entry-card,.live-score-entry-body,.live-scorecard-form,.live-entry-grid,.live-player-selector,.live-save-row{min-width:0;max-width:100%}
.live-score-entry-card,.live-score-entry-body,.live-scorecard-form,.live-entry-grid{width:100%}
@media(min-width:761px) and (max-width:1024px){
 .live-score-entry-container{width:min(960px,calc(100% - 24px))}
 .live-score-entry-body{padding-inline:16px}
 .live-entry-grid{gap:10px}
}

/* PH-QA-BATCH-009C.1 Live Round Updates and movement. */
.live-updates-section{position:relative;z-index:2;margin-top:10px}
.live-updates-panel{padding:11px 14px;border:1px solid rgba(15,118,110,.2);border-radius:13px;background:#f7fbfa;box-shadow:0 7px 20px rgba(11,42,59,.05)}
.live-updates-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.live-updates-heading h2{margin:2px 0 0;color:var(--navy);font-size:.92rem;letter-spacing:.055em}
.live-updates-toggle{min-height:38px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--teal-dark);font-size:.76rem;font-weight:900;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.live-updates-toggle .when-expanded,.live-updates-expanded{display:none}
.live-updates-section.is-expanded .live-updates-toggle .when-collapsed,.live-updates-section.is-expanded .live-updates-preview{display:none}
.live-updates-section.is-expanded .live-updates-toggle .when-expanded{display:inline}
.live-updates-section.is-expanded .live-updates-expanded{display:grid}
.live-updates-list{gap:0;margin:8px 0 0;padding:0;list-style:none}
.live-updates-list li{display:grid;grid-template-columns:66px 22px minmax(0,1fr);align-items:start;gap:7px;padding:7px 0;border-top:1px solid rgba(15,118,110,.11);font-size:.79rem;line-height:1.3}
.live-updates-list time{color:var(--muted);font-size:.67rem;font-weight:850;white-space:nowrap}
.live-update-icon{font-size:.92rem;line-height:1.2;text-align:center}
.live-updates-empty{display:block!important;color:var(--muted);font-style:italic}
.live-updates-expanded li.priority-low{color:#4f616d}
.live-refresh-timestamp{display:grid;justify-items:end;line-height:1.1}
.live-refresh-timestamp small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.live-refresh-timestamp strong{margin-top:3px;color:var(--navy);font-size:.78rem;font-variant-numeric:tabular-nums}
.live-leaderboard{min-width:800px}
.live-leaderboard .col-movement{width:82px}
.leaderboard-movement{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;border-radius:999px;font-size:1.1rem;font-weight:1000}
.leaderboard-movement.is-up{background:#dcfce7;color:#166534}.leaderboard-movement.is-down{background:#fee2e2;color:#9f2626}.leaderboard-movement.is-steady{color:var(--muted)}
@keyframes live-movement-flash{0%{box-shadow:inset 4px 0 0 rgba(15,118,110,.8);background:#ecfdf5}100%{box-shadow:inset 4px 0 0 transparent;background:transparent}}
.live-leaderboard tbody tr.movement-up,.live-leaderboard tbody tr.movement-down{animation:live-movement-flash 1.8s ease-out 1}
@media(prefers-reduced-motion:reduce){.live-leaderboard tbody tr.movement-up,.live-leaderboard tbody tr.movement-down{animation:none}}
@media(max-width:620px){
 .live-updates-section{margin-top:7px}.live-updates-panel{padding:9px 10px}.live-updates-heading h2{font-size:.82rem}.live-updates-list li{grid-template-columns:58px 20px minmax(0,1fr);gap:5px;padding:6px 0;font-size:.74rem}.live-updates-list time{font-size:.62rem}
 .live-refresh-timestamp{justify-items:start}.live-leaderboard{min-width:664px}.live-leaderboard .col-movement{width:74px}
}

/* PH-QA-BATCH-009C.2 derived live experience and QA-only test controls. */
.live-round-summary,.qa-live-tools,.live-experience-panel,.commissioner-insights{border:1px solid rgba(15,118,110,.18);border-radius:14px;background:#f8fbfb;box-shadow:0 7px 20px rgba(11,42,59,.05)}
.live-round-summary{padding:0;overflow:hidden}.live-round-summary-body{padding:0 15px 13px;border-top:1px solid rgba(15,118,110,.12)}.live-summary-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:10px}.live-summary-grid>div{min-width:0;padding:8px;border-radius:9px;background:#fff;text-align:center}.live-summary-grid span,.live-summary-leaders span,.live-statistics-grid span,.live-highlights-grid span,.ready-finalize>span{display:block;color:var(--teal);font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.live-summary-grid strong{display:block;margin-top:3px;color:var(--navy);font-size:1.05rem}.live-summary-leaders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.live-summary-leaders p{margin:0;padding:8px;border-top:1px solid rgba(15,118,110,.12)}.live-summary-leaders strong{display:block;margin-top:3px;color:var(--navy);font-size:.8rem;line-height:1.3}
.qa-live-tools>summary,.live-experience-panel>summary,.commissioner-insights>summary,.live-round-summary>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 14px;cursor:pointer;list-style:none}.qa-live-tools>summary::-webkit-details-marker,.live-experience-panel>summary::-webkit-details-marker,.commissioner-insights>summary::-webkit-details-marker,.live-round-summary>summary::-webkit-details-marker{display:none}.qa-live-tools>summary>span:first-child,.live-experience-panel>summary>span:first-child,.commissioner-insights>summary>span:first-child,.live-round-summary>summary>span:first-child{display:grid;gap:2px}.live-round-summary:not([open])>summary{min-height:52px}.qa-live-tools-body,.commissioner-insights-body{padding:0 14px 14px;border-top:1px solid rgba(15,118,110,.12)}.qa-live-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qa-live-tools-grid form{display:grid;align-content:start;gap:8px;padding:11px;border-radius:10px;background:#fff}.qa-live-tools-grid label{display:grid;gap:5px;color:var(--navy);font-size:.76rem;font-weight:900}.qa-live-tools-grid select,.qa-live-tools-grid input{width:100%;min-height:44px}.qa-reset-scope{margin-top:10px;padding:9px 11px;border-radius:9px;background:#eef7f5;color:var(--muted);font-size:.75rem}.qa-reset-scope p{margin:4px 0}.qa-reset-warning{color:#9a3412!important;font-weight:900}
.live-highlights-grid,.live-statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px;border-top:1px solid rgba(15,118,110,.12)}.live-highlights-grid article,.live-statistics-grid article{padding:10px;border-radius:9px;background:#fff}.live-highlights-grid strong,.live-statistics-grid strong{display:block;margin-top:4px;color:var(--navy);font-size:.86rem;line-height:1.25}.live-statistics-grid small{display:block;margin-top:4px;color:var(--muted);font-size:.68rem}.live-standings-filters{display:flex;gap:6px;margin:0 0 9px;overflow-x:auto}.live-standings-filters button{min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:.7rem;font-weight:900;white-space:nowrap;cursor:pointer}.live-standings-filters button.is-active{border-color:var(--teal);background:var(--teal);color:#fff}.live-leaderboard tr[hidden]{display:none}
.commissioner-insights-body{padding-top:12px}.commissioner-insights .live-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.ready-finalize{margin-top:10px;padding:10px 12px;border-radius:10px}.ready-finalize.is-ready{background:#dcfce7;color:#166534}.ready-finalize.is-not-ready{background:#fff7ed;color:#9a3412}.ready-finalize strong{display:block;margin-top:3px;font-size:1.1rem}.ready-finalize ul,.ready-finalize p{margin:5px 0 0;padding-left:18px;font-size:.78rem}.commissioner-insight-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.commissioner-insight-links a{padding:7px 9px;border-radius:8px;background:#e8f4f2;color:var(--teal-dark);font-size:.72rem;font-weight:900;text-decoration:none}
@media(max-width:980px){.live-summary-grid,.commissioner-insights .live-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.live-round-summary-body{padding-inline:10px}.live-summary-grid,.commissioner-insights .live-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-summary-leaders{grid-template-columns:1fr}.qa-live-tools-grid,.live-highlights-grid,.live-statistics-grid{grid-template-columns:1fr}.live-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-standings-filters{margin-inline:-2px;padding:2px}.qa-live-tools-body{padding-inline:10px}.commissioner-insight-links a{flex:1 1 140px;text-align:center}}

/* PH-QA-BATCH-010A playoff qualification foundation. */
.playoff-overview-grid,.playoff-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.playoff-overview-grid>article,.playoff-info-grid>article,.playoff-current-status{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.playoff-overview-grid span,.playoff-overview-grid small{display:block}.playoff-overview-grid strong{display:block;font-size:1.35rem;margin:5px 0}.playoff-current-status{grid-column:1/-1}.playoff-current-status>strong{font-size:1.6rem}.playoff-projected-list{display:grid;gap:8px}.playoff-projected-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.playoff-qualification-line{margin-top:10px;padding:9px;text-align:center;border-top:3px solid var(--teal);color:var(--teal);font-weight:700}.playoff-status-sections{display:grid;gap:12px}.playoff-status-panel{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.playoff-status-panel>summary{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:8px 12px 8px 18px;cursor:pointer}.playoff-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border-top:1px solid var(--line)}.playoff-player-card{padding:14px;border:1px solid var(--line);border-left:5px solid #64748b;border-radius:11px}.playoff-player-card header{display:flex;justify-content:space-between;gap:10px;align-items:start}.playoff-player-card dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 0}.playoff-player-card dt{font-size:.72rem;color:var(--muted)}.playoff-player-card dd{margin:3px 0 0;font-weight:700}.status-qualified{border-left-color:#15803d}.status-one-away{border-left-color:#ca8a04}.status-two-away{border-left-color:#ea580c}.status-needs-more{border-left-color:#b91c1c}.playoff-status-inline{white-space:nowrap;font-weight:700}.playoff-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:761px) and (max-width:800px){.nav-links a{padding-inline:8px;font-size:.74rem}.nav-auth{padding-left:6px}.nav-auth .nav-account-link{padding-inline:8px}}
@media(max-width:900px){.playoff-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-player-card dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.playoff-overview-grid,.playoff-info-grid,.playoff-player-grid{grid-template-columns:1fr}.playoff-current-status{grid-column:auto}.playoff-projected-row{grid-template-columns:auto minmax(0,1fr)}.playoff-projected-row>strong{grid-column:2}.playoff-player-card header{display:block}.playoff-player-card header strong{display:block;margin-top:5px}.playoff-player-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-status-panel:not([open])>summary{min-height:48px}}

/* PH-QA-BATCH-010A.1 commissioner playoff exemptions. */
.status-exemption{color:#6b3fa0}.playoff-projected-row small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.playoff-exemption-list{display:grid;gap:10px}.playoff-exemption-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(160px,.65fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.playoff-exemption-player small{display:block;margin-top:4px;color:var(--muted)}.playoff-exemption-action{justify-self:end}.playoff-exemption-history{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line);font-size:.78rem}.playoff-exemption-history summary{cursor:pointer;font-weight:800}.playoff-exemption-history p{margin:6px 0 0}.playoff-exemption-dialog{width:min(92vw,540px);padding:0;border:0;border-radius:14px;box-shadow:0 22px 65px rgba(11,42,59,.3)}.playoff-exemption-dialog::backdrop{background:rgba(11,42,59,.58)}.playoff-exemption-dialog form{display:grid;gap:14px;padding:22px}.playoff-exemption-dialog h3,.playoff-exemption-dialog p{margin:0}.playoff-exemption-dialog label{display:grid;gap:6px;font-weight:800}.playoff-exemption-dialog textarea{width:100%;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
@media(max-width:760px){.playoff-exemption-row{grid-template-columns:1fr}.playoff-exemption-action{justify-self:stretch}.playoff-exemption-action>.button{width:100%}.dialog-actions>*{flex:1 1 130px}.playoff-exemption-dialog form{padding:18px}}

/* PH-QA-BATCH-010C.1 QA Import Wizard. */
.qa-import-warning{display:flex;gap:14px;align-items:center;margin:0 0 18px;padding:15px 18px;border:2px solid #b45309;border-radius:12px;background:#fff7ed;color:#7c2d12}.qa-import-warning strong{padding:5px 9px;border-radius:7px;background:#b45309;color:#fff;white-space:nowrap}.import-step-nav{display:flex;gap:7px;margin-bottom:18px;overflow-x:auto}.import-step-nav a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:.76rem;font-weight:850;white-space:nowrap;text-decoration:none}.import-step{position:relative;padding-top:22px}.step-number{position:absolute;right:16px;top:14px;color:var(--teal);font-size:.7rem;font-weight:950;text-transform:uppercase}.qa-import-scope{margin-top:14px;padding:12px 14px;border-radius:10px;background:#eef7f5;color:var(--navy)}.validation-summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px}.validation-summary.is-valid{background:#dcfce7;color:#166534}.validation-summary.is-invalid{background:#fee2e2;color:#991b1b}.import-count-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0}.import-count-grid>div{padding:10px;border:1px solid var(--line);border-radius:9px;text-align:center}.import-count-grid span,.import-count-grid strong{display:block}.import-count-grid span{font-size:.68rem;color:var(--muted)}.import-count-grid strong{font-size:1.2rem}.validation-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.validation-columns article{padding:13px;border:1px solid var(--line);border-radius:10px}.validation-columns details{margin:7px 0}.import-history-list{display:grid;gap:9px}.import-history-list>article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.import-history-list small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:900px){.import-count-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.qa-import-warning{align-items:flex-start;flex-direction:column}.validation-summary,.import-history-list>article{align-items:flex-start;flex-direction:column}.validation-columns{grid-template-columns:1fr}.import-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-history-list .button{width:100%}.step-number{position:static;display:block;margin-bottom:4px}}

/* PH-QA-BATCH-010C.2 real-data import status. */
.real-data-preview-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;padding:16px 18px;border:1px solid #75b9a5;border-radius:12px;background:#e9f7f1}.real-data-preview-banner strong{color:#075e54;font-size:1.08rem}.real-data-preview-banner p{margin:4px 0}.real-data-preview-banner>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:640px){.real-data-preview-banner{align-items:stretch;flex-direction:column}.real-data-preview-banner .button{width:100%}}

/* PH-QA-BATCH-010D Real Data Preview UI polish. */
.player-name-compact{display:none}.feature-grid article{cursor:pointer;transition:transform .18s,box-shadow .18s}.feature-grid article:hover,.feature-grid article:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow);outline:3px solid rgba(15,118,110,.28);outline-offset:2px}
.playoff-overview-grid>article{padding:12px 14px}.playoff-overview-grid strong{font-size:1.18rem;margin:3px 0}.playoff-field-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.playoff-field-group{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.playoff-field-group h3{margin:0;padding:11px 12px;background:var(--navy);color:#fff;font-size:.86rem;letter-spacing:.09em}.playoff-field-heading,.playoff-field-row{display:grid;grid-template-columns:46px minmax(0,1fr) 70px;gap:7px;align-items:center;padding:8px 10px}.playoff-field-heading{color:var(--muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.playoff-field-row{border-top:1px solid var(--line);font-size:.79rem}.playoff-field-row span:last-child{text-align:center}.playoff-field-row a{min-width:0;overflow-wrap:anywhere;font-weight:850}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.admin-dashboard-grid a{display:grid;min-height:125px;align-content:start;gap:7px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);text-decoration:none;transition:transform .18s,box-shadow .18s}.admin-dashboard-grid a:hover,.admin-dashboard-grid a:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow)}.admin-dashboard-grid a>span{color:var(--gold);font-weight:1000}.admin-dashboard-grid strong{font-size:1rem}.admin-dashboard-grid small{color:var(--muted);line-height:1.35}
.ui-toast{position:fixed;right:18px;bottom:18px;z-index:20;padding:12px 16px;border-radius:10px;background:#166534;color:#fff;font-weight:900;box-shadow:var(--shadow)}.registration-collapse-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}.registration-collapse-button,.section-collapse-button{min-width:44px;min-height:44px;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--teal-dark);font-weight:850;cursor:pointer}.registration-request-card header{align-items:center}.admin-section{position:relative}.section-collapse-button{position:absolute;right:14px;top:12px}.admin-section:has(.section-collapse-button) .split-heading{padding-right:56px}.admin-nav a[href="/playoffs"],label:has(input[aria-describedby="field-size-note"]),#field-size-note{display:none!important}
.section,.admin-section,.result-week{scroll-margin-top:18px}.admin-main>.admin-section+ .admin-section{margin-top:24px}.playoff-status-sections,.results-stack{gap:18px}.qa-inline-actions{gap:9px}
@media(max-width:900px){.admin-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-field-groups{grid-template-columns:1fr}.playoff-field-group{width:100%}}
@media(max-width:700px){.player-name-full{display:none}.player-name-compact{display:inline}.sticky-player-table td:nth-child(2){min-width:92px;max-width:112px}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid a{min-height:110px;padding:13px}.playoff-overview-grid>article{padding:10px 12px}.registration-collapse-toolbar{justify-content:stretch}.registration-collapse-toolbar .button{flex:1}.roster-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-roster-table .qa-inline-actions{min-width:180px}}
@media(max-width:420px){.admin-dashboard-grid{grid-template-columns:1fr}.admin-dashboard-grid a{min-height:94px}.playoff-field-heading,.playoff-field-row{grid-template-columns:42px minmax(0,1fr) 62px}}

/* PH-QA-BATCH-010D.1 average-ranking and navigation polish. */
.live-round-header{display:none}.announcement-collapsed-label{display:none}.attendance-collapsed-message{display:none}.account-attendance-card.is-collapsed>div{display:none}.account-attendance-card.is-collapsed .attendance-collapsed-message{display:block;color:var(--navy);font-family:Georgia,serif;font-size:1.1rem}
.playoff-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.playoff-field-group:nth-child(1) h3::before{content:"🏆 ";}.playoff-field-group:nth-child(2) h3::before{content:"⛳ ";}.playoff-field-group:nth-child(3) h3::before{content:"🦆 ";}
.main-nav .nav-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-block:12px}.main-nav .player-menu-card{display:flex;align-items:center;gap:8px;min-height:50px;padding:9px 11px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);text-decoration:none}.player-menu-card>span{font-size:1rem}.player-menu-card>strong{font-size:.73rem;line-height:1.15}.main-nav .nav-auth{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 0 0;border:0}.main-nav .nav-auth>*{min-height:44px;justify-content:center}.main-nav .nav-auth .notification-bell{display:none!important}
.admin-nav .container{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-block:12px}.admin-nav a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.06);font-weight:850}.admin-nav a[href="/playoffs"]{display:none!important}
.registration-collapse-button{font-size:1.25rem}.standings-table th:nth-child(3),.standings-table td:nth-child(3){border-left:1px solid var(--line)}
@media(max-width:900px){.main-nav .nav-links,.admin-nav .container{grid-template-columns:repeat(3,minmax(0,1fr))}.main-nav .nav-auth{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.main-nav .nav-links,.admin-nav .container{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav .nav-auth{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav .player-menu-card{min-height:58px}.playoff-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.playoff-overview-grid>article{min-height:102px}.account-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-action-grid a,.account-action-grid>div{min-height:148px;padding:15px}.sticky-player-table td:nth-child(2){min-width:94px;max-width:112px}}
@media(max-width:360px){.playoff-overview-grid{grid-template-columns:1fr}.main-nav .nav-links,.admin-nav .container,.account-action-grid{grid-template-columns:1fr}}

/* PH-QA-BATCH-010D.2 corrective controls and Admin Menu repair. */
.registration-icon-toolbar,.projected-icon-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}.registration-icon-toolbar button,.projected-icon-toolbar button,.projected-card-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--teal-dark);font-weight:950;cursor:pointer}.registration-request-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:10px;min-height:64px;padding:12px 14px;cursor:pointer;list-style:none}.registration-request-card>summary::-webkit-details-marker{display:none}.registration-request-card>summary>span:first-child{display:grid;gap:3px}.registration-request-card>summary strong{color:var(--navy);font-size:1rem}.registration-state-icon{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.registration-request-card:not([open]) .when-open,.registration-request-card[open] .when-closed{display:none}.registration-request-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.projected-card-toggle{margin-left:auto}.registration-request-card header:has(.projected-card-toggle[aria-expanded="false"]) small,.registration-request-card header:has(.projected-card-toggle[aria-expanded="false"])>.status-badge{display:none}.admin-nav .container{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.admin-nav a{min-height:52px!important;gap:9px;padding:11px 13px!important;line-height:1.2;overflow-wrap:normal;word-break:normal}.admin-nav a>.admin-menu-icon{flex:0 0 20px;text-align:center}.standings-table th:nth-child(4),.standings-table td:nth-child(4){border-left:1px solid var(--line)}
@media(max-width:520px){.registration-request-card>summary{grid-template-columns:minmax(0,1fr) 44px}.registration-request-card>summary>.status-badge{grid-column:1}.registration-state-icon{grid-column:2;grid-row:1/3}.admin-nav .container{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* PH-QA-BATCH-010D.3 focused reconciliation repairs. */
.admin-nav{background:var(--surface);border-bottom:1px solid var(--line)}
.admin-nav .container{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding-block:12px}
.admin-nav a{min-height:54px!important;padding:10px 13px!important;border:1px solid var(--line)!important;border-radius:11px;background:#fff!important;color:var(--navy)!important;box-shadow:var(--shadow-soft);align-items:center}
.admin-nav a:hover,.admin-nav a:focus-visible{background:#f7fbfa!important;border-color:var(--teal)!important}
.admin-nav a small{display:block;width:100%;margin-top:2px;text-align:center;font-size:.7rem;color:var(--muted)}
.admin-nav a[href="/admin/import-league-data"]{display:grid;grid-template-columns:20px minmax(0,1fr);text-align:center}
.admin-nav a[href="/admin/import-league-data"]>span[aria-hidden="true"]{grid-row:1/3}.admin-nav a[href="/admin/import-league-data"] .admin-nav-label{grid-column:2;text-align:center}.admin-nav a[href="/admin/import-league-data"] small{grid-column:2}
.sticky-player-table th:nth-child(2),.sticky-player-table td:nth-child(2){position:static;box-shadow:none}.sticky-player-table thead th:nth-child(2){background:var(--navy)}
.sticky-player-table th:first-child,.sticky-player-table td:first-child{position:sticky;left:0;z-index:2;background:#fff;text-align:left;box-shadow:2px 0 4px rgba(15,35,34,.08)}
.sticky-player-table thead th:first-child{z-index:3;background:var(--navy)}
.standings-table th:nth-child(3),.standings-table td:nth-child(3),.standings-table th:nth-child(4),.standings-table td:nth-child(4){border-left:0}
.standings-table th:nth-child(6),.standings-table td:nth-child(6){width:1%;max-width:125px;padding-inline:8px}
.standings-table td:first-child{white-space:nowrap}.standings-table td:first-child .rank-pill{margin-right:7px}
.profile-bio{font-style:italic}
.playoff-current-status.needs-rounds{background:#fff1f2;border-color:#dc2626;color:#991b1b}.playoff-current-status.is-qualified{background:#f0fdf4;border-color:#16a34a;color:#166534}
.announcement-read-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:10px;padding:7px 13px;border:1px solid var(--teal);border-radius:8px;background:#fff;color:var(--teal-dark);font:inherit;font-weight:750;cursor:pointer}
@media(max-width:700px){.sticky-player-table td:first-child{min-width:128px;max-width:150px}.admin-nav .container{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* PH-QA-BATCH-010D.4A table-only sticky-column repair. */
.sticky-player-table th:first-child,.sticky-player-table td:first-child{position:static;z-index:auto;background:inherit;box-shadow:none;text-align:center}
.sticky-player-table th:nth-child(2),.sticky-player-table td:nth-child(2){position:sticky;left:0;z-index:2;background:#fff;text-align:left;box-shadow:2px 0 4px rgba(15,35,34,.1)}
.sticky-player-table thead th:nth-child(2){z-index:3;background:var(--navy)}
.weekly-results-table th:first-child,.weekly-results-table td:first-child{width:54px;min-width:54px;max-width:54px;padding-inline:7px;white-space:nowrap}
.standings-table th:first-child,.standings-table td:first-child{width:72px;min-width:72px;max-width:88px;padding-inline:7px;white-space:nowrap}
.standings-table .rank-pill.is-unranked{min-width:0;width:auto;height:auto;padding:5px 7px;border-radius:8px;font-size:.67rem;line-height:1}
.standings-table th:nth-child(6),.standings-table td:nth-child(6){width:auto;max-width:none;padding-inline:12px}
.standings-table th:nth-child(7),.standings-table td:nth-child(7){width:1%;max-width:125px;padding-inline:8px}
@media(max-width:700px){.sticky-player-table th:nth-child(2),.sticky-player-table td:nth-child(2){min-width:108px;max-width:126px}.sticky-player-table td:first-child{min-width:54px;max-width:88px}.standings-table td:first-child{min-width:72px}.standings-table td:nth-child(2){min-width:108px;max-width:126px}}

/* PH-QA-BATCH-010D.4C scoped playoff, private-profile, and Admin icon polish. */
.account-profile-card>.profile-link-row{margin-top:0;align-items:stretch}.account-profile-card>.profile-link-row .button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;min-height:44px;text-align:center}
.admin-menu-icon{display:block;flex:0 0 22px;width:22px;height:22px;color:var(--teal-dark);stroke:currentColor}
.admin-nav a[href="/admin/import-league-data"]>.admin-menu-icon{grid-row:1/3;align-self:center}.admin-nav a[href="/admin/import-league-data"] .admin-nav-label{grid-column:2;text-align:center;flex:auto}
@media(max-width:460px){.account-profile-card>.profile-link-row .button{flex:1 1 100%;min-width:0}}

/* PH-FEATURE-BATCH-011A Playoff Center foundation. */
.playoff-center{background:#f4f7f6;color:var(--navy)}
.playoff-center-hero{padding:34px 0 28px;background:linear-gradient(135deg,#052f2b 0%,#075e54 60%,#0b7568 100%);color:#fff;box-shadow:inset 0 -1px rgba(255,255,255,.1)}
.playoff-center-kicker{display:block;margin-bottom:8px;color:#a7f3d0;font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.playoff-center-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.playoff-center-title-row h1{margin:0;color:#fff;font-size:clamp(2rem,5vw,3.45rem);line-height:1}.playoff-center-title-row p{margin:10px 0 0;color:#d8eeea;font-weight:750}
.playoff-phase{display:grid;min-width:210px;padding:14px 16px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(0,0,0,.16)}.playoff-phase span,.playoff-phase small{color:#cce7e2;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.playoff-phase strong{margin:3px 0 7px;font-size:1.15rem}
.playoff-division-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}.playoff-division-selector button{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 11px;align-items:center;min-height:78px;padding:13px 15px;border:1px solid rgba(255,255,255,.25);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer}.playoff-division-selector button:hover,.playoff-division-selector button:focus-visible{border-color:#fff;background:rgba(255,255,255,.15)}.playoff-division-selector button[aria-selected="true"]{border-color:#f3d37a;background:#fff;color:#063b35;box-shadow:0 10px 24px rgba(0,0,0,.18)}.playoff-division-selector svg{grid-row:1/3;width:36px;height:36px}.playoff-division-selector span{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.76}.playoff-division-selector strong{font-size:1.05rem}
.playoff-round-selector{display:flex;gap:6px;width:max-content;max-width:100%;margin:0 auto 24px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-round-selector button{min-height:42px;padding:8px 20px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:850;cursor:pointer}.playoff-round-selector button.is-active{background:var(--teal-dark);color:#fff}
.playoff-center-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.playoff-center-heading span{color:var(--teal);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.playoff-center-heading h2{margin:3px 0 0}.playoff-center-heading p{max-width:430px;margin:0;color:var(--muted);text-align:right}
.playoff-center-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr);gap:18px;align-items:start}.playoff-bracket{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:14px;padding:16px;border:1px solid #d8e2df;border-radius:16px;background:#eaf0ee;overflow-x:auto}.playoff-bracket-stage{display:flex;flex-direction:column;gap:11px;min-width:0;opacity:.72;transition:opacity .18s ease}.playoff-bracket-stage.is-current{opacity:1}.playoff-bracket-stage>header{min-height:54px;padding:0 3px;border-bottom:2px solid #c8d6d2}.playoff-bracket-stage>header span{color:var(--teal);font-size:.68rem;font-weight:900;text-transform:uppercase}.playoff-bracket-stage>header h3{margin:3px 0 9px;font-size:1rem}.playoff-match-list{display:grid;gap:12px}.playoff-bracket-stage:nth-child(2) .playoff-match-list{padding-top:42px}.playoff-bracket-stage:nth-child(3) .playoff-match-list{padding-top:104px}
.playoff-match-card{overflow:hidden;border:1px solid #cbd8d4;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(10,44,40,.07)}.playoff-match-meta{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;background:#f6f9f8;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.playoff-match-player{display:grid;grid-template-columns:24px minmax(0,1fr);gap:1px 8px;align-items:center;padding:10px;border-top:1px solid #edf1f0}.playoff-match-player strong{font-size:.86rem}.playoff-match-player small{grid-column:2;color:var(--muted);font-size:.68rem}.playoff-seed{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf4f2;color:var(--teal-dark);font-weight:900}.playoff-match-card footer{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:#063b35;color:#fff;font-size:.7rem}.playoff-match-card footer strong{color:#d7ebe7}
.playoff-center-sidebar{display:grid;gap:12px}.playoff-center-sidebar>section{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-center-sidebar h3{margin:5px 0 8px}.playoff-center-sidebar p{margin:0;color:var(--muted);font-size:.86rem}.playoff-championship-card{border-color:#d2b65d!important;background:linear-gradient(145deg,#fff,#fff9e7)!important}.playoff-championship-card>div{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;margin:13px 0;text-align:center}.playoff-championship-card>div span{color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase}
@media(max-width:920px){.playoff-center-layout{grid-template-columns:1fr}.playoff-center-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-bracket{grid-template-columns:repeat(3,minmax(190px,1fr))}}
@media(max-width:640px){.playoff-center-hero{padding:25px 0 20px}.playoff-center-title-row{display:grid}.playoff-phase{min-width:0}.playoff-division-selector{gap:7px;margin-top:18px}.playoff-division-selector button{display:flex;flex-direction:column;justify-content:center;min-height:90px;padding:9px;text-align:center}.playoff-division-selector svg{width:27px;height:27px}.playoff-division-selector span{display:none}.playoff-division-selector strong{font-size:.86rem}.playoff-round-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.playoff-round-selector button{padding-inline:7px}.playoff-center-heading{display:block}.playoff-center-heading p{margin-top:7px;text-align:left}.playoff-bracket{display:block;padding:12px}.playoff-bracket-stage{display:none}.playoff-bracket-stage.is-current{display:flex}.playoff-bracket-stage:nth-child(n) .playoff-match-list{padding-top:0}.playoff-center-sidebar{grid-template-columns:1fr}.playoff-center-sidebar>section{padding:15px}}

/* PH-FEATURE-BATCH-011B Commissioner Playoff Builder. */
.playoff-preview-banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 18px;background:#fff4c2;color:#6b4f00;border-bottom:1px solid #d5b84b}.playoff-preview-banner a{color:#5b4600;font-weight:900}
.playoff-admin-heading-actions,.playoff-builder-actions,.playoff-round-admin-form{display:flex;gap:9px;flex-wrap:wrap}.playoff-admin-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.playoff-admin-status>div{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-admin-status span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.playoff-admin-status strong{font-size:.95rem}.playoff-builder-section{margin-top:18px}.playoff-field-form{display:grid;gap:13px}.playoff-field-table input{width:74px;min-width:64px}.playoff-field-table select{min-width:120px}.playoff-builder-actions form{display:flex}.playoff-admin-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.playoff-admin-match-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-admin-match-card header{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.playoff-admin-match-card header span{color:var(--teal);font-size:.72rem;font-weight:900;text-transform:uppercase}.playoff-admin-match-card label{font-size:.75rem;font-weight:850}.playoff-admin-match-card label>input,.playoff-admin-match-card label>select,.playoff-admin-match-card label>textarea{width:100%;margin-top:4px}.playoff-match-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;grid-column:1/-1}.playoff-admin-match-card label:has(textarea){grid-column:1/-1}.status-bracket_draft{background:#e0f2fe!important;color:#075985!important}.status-locked{background:#dcfce7!important;color:#166534!important}.status-round_in_progress{background:#fee2e2!important;color:#991b1b!important}.status-completed{background:#fef3c7!important;color:#854d0e!important}
@media(max-width:900px){.playoff-admin-status{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-admin-match-grid{grid-template-columns:1fr}}
@media(max-width:560px){.playoff-preview-banner{display:grid;text-align:center}.playoff-admin-status{grid-template-columns:1fr 1fr;gap:8px}.playoff-admin-heading-actions,.playoff-builder-actions{display:grid;grid-template-columns:1fr}.playoff-builder-actions .button,.playoff-builder-actions form,.playoff-builder-actions form .button,.playoff-admin-heading-actions .button{width:100%}.playoff-admin-match-card{grid-template-columns:1fr}.playoff-admin-match-card label,.playoff-match-fields{grid-column:1}.playoff-match-fields{grid-template-columns:1fr}.playoff-round-admin-form{display:grid;grid-template-columns:1fr 1fr}.playoff-round-admin-form .button:last-child{grid-column:1/-1}}

/* 011P Playoff Center polish */
.playoff-count-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.playoff-count-summary article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-count-summary span,.playoff-count-summary strong{display:block}.playoff-count-summary span{color:var(--muted);font-size:.76rem;font-weight:650}.playoff-count-summary strong{margin-top:4px;color:var(--teal-dark);font-size:1.35rem}
.playoff-admin-collapsible{padding:0!important;overflow:hidden}.playoff-admin-collapsible>summary,.projected-qualifier-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 16px;cursor:pointer;list-style:none}.playoff-admin-collapsible>summary::-webkit-details-marker,.projected-qualifier-card>summary::-webkit-details-marker{display:none}.playoff-admin-collapsible>summary span:first-child,.projected-qualifier-card>summary span:first-child{display:grid;gap:2px}.playoff-admin-collapsible>summary small{color:var(--teal);font-size:.68rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.playoff-admin-collapsible>summary strong{font-size:1.08rem;font-weight:700}.collapse-indicator{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--teal-dark)}.collapse-indicator::after{content:"+"}.playoff-admin-collapsible[open]>summary .collapse-indicator::after,.projected-qualifier-card[open]>summary .collapse-indicator::after{content:"−"}.playoff-admin-collapsible-body{padding:0 16px 16px;border-top:1px solid var(--line)}
.projected-qualifier-card{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.projected-qualifier-card>summary{padding:7px 10px}.projected-qualifier-card>summary small{color:var(--teal);font-size:.72rem}.projected-qualifier-card>summary strong{font-size:.92rem;font-weight:650}.projected-qualifier-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}.projected-qualifier-card p{margin:0;color:var(--muted);font-size:.78rem}
.playoff-division-segments{display:grid;grid-template-columns:repeat(3,minmax(54px,1fr));gap:5px;margin:0;padding:0;border:0;min-width:190px}.playoff-division-segments label{position:relative;display:grid;place-items:center;min-height:42px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;cursor:pointer}.playoff-division-segments input{position:absolute;opacity:0;width:1px!important;min-width:1px!important}.playoff-division-segments span{font-size:.7rem;font-weight:700;text-transform:uppercase}.playoff-division-segments label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.playoff-division-segments label:has(input:checked){box-shadow:0 0 0 2px rgba(15,118,110,.16)}
.division-good{--division-accent:#b88916;--division-soft:#fff8dd}.division-bad{--division-accent:#2563a6;--division-soft:#eff6ff}.division-ugly{--division-accent:#a65f2b;--division-soft:#fff4eb}.playoff-division-segments .division-good:has(input:checked),.playoff-field-group:nth-child(1) h3{border-color:#b88916;background:#fff8dd;color:#775807}.playoff-division-segments .division-bad:has(input:checked),.playoff-field-group:nth-child(2) h3{border-color:#2563a6;background:#eff6ff;color:#174d85}.playoff-division-segments .division-ugly:has(input:checked),.playoff-field-group:nth-child(3) h3{border-color:#a65f2b;background:#fff4eb;color:#713c18}.playoff-field-group h3{margin:-14px -14px 12px;padding:10px 14px;border-bottom:2px solid}.playoff-division-panel[data-division-panel="good"] .playoff-center-heading,.playoff-division-panel[data-division-panel="good"] .playoff-match-card{border-color:#b88916}.playoff-division-panel[data-division-panel="bad"] .playoff-center-heading,.playoff-division-panel[data-division-panel="bad"] .playoff-match-card{border-color:#2563a6}.playoff-division-panel[data-division-panel="ugly"] .playoff-center-heading,.playoff-division-panel[data-division-panel="ugly"] .playoff-match-card{border-color:#a65f2b}
.playoff-division-selector button:nth-child(1)[aria-selected="true"]{border-color:#b88916;background:#fff8dd}.playoff-division-selector button:nth-child(2)[aria-selected="true"]{border-color:#2563a6;background:#eff6ff}.playoff-division-selector button:nth-child(3)[aria-selected="true"]{border-color:#a65f2b;background:#fff4eb}.playoff-field-group:nth-child(1) .playoff-field-row strong{color:#8a6810}.playoff-field-group:nth-child(2) .playoff-field-row strong{color:#2563a6}.playoff-field-group:nth-child(3) .playoff-field-row strong{color:#a65f2b}.playoff-division-panel[data-division-panel="good"] .playoff-seed{background:#fff8dd;color:#775807}.playoff-division-panel[data-division-panel="bad"] .playoff-seed{background:#eff6ff;color:#174d85}.playoff-division-panel[data-division-panel="ugly"] .playoff-seed{background:#fff4eb;color:#713c18}
.playoff-progress-card{display:grid;gap:7px}.playoff-progress-card>strong{font-size:clamp(1.05rem,4.8vw,1.45rem);font-weight:700;white-space:nowrap}.playoff-qualification-progress{height:9px;overflow:hidden;border-radius:999px;background:rgba(100,116,139,.18)}.playoff-qualification-progress span{display:block;height:100%;border-radius:inherit;background:currentColor}.playoff-current-status>span,.playoff-current-status>small{font-weight:500}
@media(max-width:640px){.playoff-count-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.playoff-count-summary article{padding:10px 8px}.playoff-count-summary span{font-size:.62rem}.playoff-count-summary strong{font-size:1.1rem}.projected-qualifier-card>div{align-items:flex-start;flex-direction:column}.playoff-division-segments{min-width:176px}.playoff-progress-card>strong{font-size:1.05rem}}

/* 011P.1 repair: keep the playoff-only indicator from duplicating shared dashboard controls. */
.collapse-indicator::after{content:none}.playoff-admin-collapsible .collapse-indicator::after,.projected-qualifier-card .collapse-indicator::after{content:"+"}.playoff-admin-collapsible[open]>summary .collapse-indicator::after,.projected-qualifier-card[open]>summary .collapse-indicator::after{content:"−"}
.account-attendance-card.is-collapsed .attendance-collapsed-message{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:500;line-height:1.1;letter-spacing:-.01em}
.playoff-center-entry-section{padding:14px 0 0;background:#fff}.playoff-center-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:76px;padding:14px 18px;border:1px solid #b88916;border-radius:15px;background:linear-gradient(135deg,#fffaf0,#fff);color:var(--navy);box-shadow:0 8px 22px rgba(11,42,59,.08);transition:transform .15s,box-shadow .15s,border-color .15s}.playoff-center-entry:hover{transform:translateY(-1px);border-color:#8a6810;box-shadow:0 12px 28px rgba(11,42,59,.13)}.playoff-center-entry:active{transform:translateY(1px)}.playoff-center-entry:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.playoff-center-entry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff1bd;font-size:1.35rem}.playoff-center-entry strong,.playoff-center-entry small{display:block}.playoff-center-entry strong{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:500}.playoff-center-entry small{margin-top:2px;color:var(--muted);font-size:.78rem}
.playoff-summary-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.playoff-summary-pair .playoff-current-status{grid-column:auto}.playoff-summary-pair>article{display:grid;grid-template-rows:auto auto 9px auto auto;align-content:start;gap:7px;min-width:0}.playoff-summary-pair>article>span{color:var(--muted);font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.playoff-summary-pair>article>strong{font-size:clamp(1rem,3.7vw,1.45rem);line-height:1.1;white-space:nowrap}.playoff-season-summary{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.playoff-season-summary .playoff-qualification-progress span{color:var(--teal)}.playoff-summary-pair small{color:var(--muted);font-size:.75rem}.playoff-rules-only{grid-template-columns:1fr}.playoff-rules-only>article{max-width:none}
.playoff-division-selector button[aria-selected="true"]{transform:translateY(-1px);box-shadow:0 10px 24px rgba(7,28,44,.22)}.playoff-division-selector button:nth-child(1)[aria-selected="true"]{border:2px solid #8a6810;background:#ffefb7}.playoff-division-selector button:nth-child(2)[aria-selected="true"]{border:2px solid #174d85;background:#dcecff}.playoff-division-selector button:nth-child(3)[aria-selected="true"]{border:2px solid #68152e;background:#f9e3eb}.playoff-division-selector button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.playoff-division-segments .division-ugly:has(input:checked),.playoff-field-group:nth-child(3) h3{border-color:#7f1d3a;background:#fdf2f6;color:#68152e}.playoff-field-group:nth-child(3) .playoff-field-row strong{color:#7f1d3a}.playoff-division-panel[data-division-panel="ugly"] .playoff-center-heading,.playoff-division-panel[data-division-panel="ugly"] .playoff-match-card{border-color:#7f1d3a}.playoff-division-panel[data-division-panel="ugly"] .playoff-seed{background:#fdf2f6;color:#68152e}
.playoff-exemption-inline-error{margin:0 0 14px;padding:10px 12px;border:1px solid #dc2626;border-radius:9px;background:#fff1f2;color:#991b1b;font-size:.84rem}
@media(max-width:640px){.playoff-summary-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-summary-pair>article{padding:12px 10px}.playoff-summary-pair>article>strong{font-size:clamp(.88rem,3.9vw,1.05rem)}.playoff-summary-pair>article>span{font-size:.62rem}.playoff-summary-pair small{font-size:.66rem;line-height:1.25}.playoff-center-entry{padding:12px 13px}.playoff-center-entry strong{font-size:1.08rem}.playoff-center-entry small{font-size:.7rem}.account-attendance-card.is-collapsed .attendance-collapsed-message{font-size:1.25rem}}

/* PH-HOTFIX-011B.1 Division & Seed Editor controls. */
.playoff-division-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.playoff-division-totals>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--division-accent);border-radius:10px;background:var(--division-soft);color:var(--division-accent);font-size:.72rem;font-weight:750;text-transform:uppercase}.playoff-division-totals strong{font-size:1rem}.playoff-field-error{margin:0}.playoff-seed-error{display:block;max-width:220px;margin-top:4px;color:#b42318;font-size:.68rem;line-height:1.25}.playoff-field-table tr.is-seed-conflict{outline:2px solid #dc2626;outline-offset:-2px}.playoff-field-table tr.is-seed-conflict input[type="number"]{border-color:#dc2626;background:#fff1f2}.playoff-field-table .playoff-division-segments{width:100%;min-width:210px}.playoff-division-segments label:has(input:focus-visible){outline:3px solid var(--division-accent);outline-offset:2px}.playoff-division-segments label:has(input:checked){border-width:2px;box-shadow:0 4px 10px color-mix(in srgb,var(--division-accent) 20%,transparent)}
@media(max-width:700px){.playoff-field-shell{overflow:visible}.playoff-field-table,.playoff-field-table tbody{display:block;width:100%;min-width:0}.playoff-field-table thead{display:none}.playoff-field-table tbody{display:grid;gap:12px}.playoff-field-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}.playoff-field-table td{display:grid;align-content:start;min-width:0;padding:0!important;border:0!important}.playoff-field-table td::before{content:attr(data-label);margin-bottom:3px;color:var(--muted);font-size:.64rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.playoff-field-table td[data-label="Player"],.playoff-field-table td[data-label="Seed"],.playoff-field-table td[data-label="Division"],.playoff-field-table td[data-label="Status"]{grid-column:1/-1}.playoff-field-table td[data-label="Player"] strong{font-size:1rem}.playoff-field-table input[type="number"]{width:100%;min-width:0;min-height:44px}.playoff-field-table .playoff-division-segments{width:100%;min-width:0}.playoff-field-table .playoff-division-segments label{min-width:0;min-height:46px}.playoff-division-totals{gap:5px}.playoff-division-totals>span{display:grid;justify-items:center;padding:8px 4px;font-size:.62rem}.playoff-field-form>.button{width:100%}}

/* PH-HOTFIX-011B.2 division filters and explicit bye presentation. */
.playoff-division-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.playoff-division-filters button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:9px 11px;border:1px solid var(--division-accent,#9aa5b1);border-radius:10px;background:var(--division-soft,#f4f6f8);color:var(--division-accent,#334155);font:inherit;font-size:.72rem;font-weight:750;text-transform:uppercase;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.playoff-division-filters .division-all{--division-accent:#356559;--division-soft:#f0f8f5}.playoff-division-filters .division-ugly{--division-accent:#7f1d3a;--division-soft:#fdf2f6}.playoff-division-filters button:hover{transform:translateY(-1px)}.playoff-division-filters button.is-active{border-width:2px;background:color-mix(in srgb,var(--division-soft) 72%,var(--division-accent) 10%);box-shadow:0 4px 12px color-mix(in srgb,var(--division-accent) 22%,transparent)}.playoff-division-filters button:focus-visible{outline:3px solid var(--division-accent);outline-offset:2px}.playoff-division-filters strong{font-size:1rem}.playoff-field-table tr[hidden]{display:none!important}.playoff-builder-guidance,.playoff-bye-note{margin:0 0 12px;padding:9px 11px;border-left:3px solid var(--teal);border-radius:8px;background:#f1f8f6;color:#25483f;font-size:.8rem}.playoff-bracket-action-error{margin:0 0 12px}.playoff-admin-match-card.is-bye{border-color:#b88916;background:#fffdf5}.playoff-bye-note strong{display:block;color:#775807;letter-spacing:.08em}.playoff-match-card.is-bye{border-color:#b88916;background:#fffdf5}.playoff-match-player.is-bye-player strong{color:#775807;letter-spacing:.08em}.playoff-match-player.is-bye-player small{color:#775807}
@media(max-width:700px){.playoff-division-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.playoff-division-filters button{min-width:0;padding:8px;font-size:.64rem}.playoff-division-filters strong{font-size:.9rem}}
.admin-notification-bell{position:relative;display:inline-grid;place-items:center;min-width:44px;min-height:44px;margin-left:auto;text-decoration:none}.admin-notification-bell b{position:absolute;right:1px;top:1px;min-width:1.25rem;padding:.1rem .3rem;border-radius:999px;background:#b42318;color:#fff;font-size:.7rem;text-align:center}.live-scoring-status{border:1px solid #94a3b8;border-left:5px solid #475569;border-radius:14px;padding:1rem 1.1rem;background:#f8fafc}.live-scoring-status>strong{display:block;font-size:clamp(1rem,4vw,1.3rem);letter-spacing:.03em}.live-scoring-status p{margin:.35rem 0 0}.live-scoring-status.is-open{border-color:#15803d;background:#f0fdf4}.live-scoring-status.is-paused,.live-scoring-status.is-finalizing{border-color:#b45309;background:#fffbeb}.live-scoring-status.is-finalized{border-color:#2563eb;background:#eff6ff}.live-updates-empty{display:flex!important;flex-direction:column;gap:.25rem;padding:1rem!important;border:1px dashed #94a3b8;border-radius:10px;background:#f8fafc}.registration-guidance{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.playoff-progress-card.is-exempt{border-color:#8b5e00;background:#fff8e1}.playoff-progress-card.is-exempt .playoff-qualification-progress span{background:#8b5e00}
@media(max-width:700px){.admin-header-inner{gap:.5rem}.admin-notification-bell{order:2}.admin-user{order:3}.live-scoring-status-section{padding-top:.65rem}.live-scoring-status{padding:.8rem .9rem}}
@media(max-width:760px){.admin-header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"brand bell" "menu menu";align-items:center;gap:4px 10px;min-height:0;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.admin-header-inner>.brand{grid-area:brand;min-width:0}.admin-header-inner>.admin-notification-bell{grid-area:bell;align-self:center;margin:0;order:initial}.admin-header-inner>.admin-nav-toggle{grid-area:menu;justify-self:start;min-height:38px;padding:6px 11px}.brand-compact .brand-mark{width:40px;height:40px}.brand-compact strong{font-size:.96rem}.admin-header .brand small{font-size:.66rem}.admin-main:has(.operations-center){padding-top:10px}}
@media(min-width:761px){.admin-main:has(.operations-center){padding-top:24px}}
.playoff-setup-workflow{border:2px solid #1f6f5b;background:linear-gradient(145deg,#fff,#f2faf7)}.playoff-setup-checklist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;padding:0;list-style:none}.playoff-setup-checklist li{display:flex;gap:.55rem;align-items:flex-start;min-height:78px;padding:.75rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.playoff-setup-checklist li>span{font-size:1.25rem}.playoff-setup-checklist li div{display:flex;flex-direction:column;gap:.15rem}.playoff-setup-checklist small{text-transform:uppercase;color:#9a3412;font-weight:900;letter-spacing:.05em}.playoff-setup-checklist em{font-size:.75rem;color:#64748b}.playoff-setup-checklist .is-complete{border-color:#15803d;background:#f0fdf4}.playoff-setup-checklist .is-current{border:2px solid #d97706;background:#fffbeb;box-shadow:0 4px 12px rgba(146,64,14,.12)}.playoff-setup-checklist .is-unavailable{opacity:.58}.playoff-primary-action{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;border-radius:12px;background:#102a43;color:#fff}.playoff-primary-action p{margin:.25rem 0 0;color:#e2e8f0}.playoff-primary-action form{margin:0}.playoff-published-message{padding:.75rem;border-radius:8px;background:#dcfce7;color:#166534;font-weight:800}.playoff-action-help{display:grid;gap:.3rem;margin-top:.75rem;color:#475569;font-size:.88rem}.playoff-action-help p,.action-helper{margin:.2rem 0}.playoff-advanced-tools{padding:0}.playoff-advanced-tools>summary{padding:1rem 1.2rem;font-weight:850;cursor:pointer}.playoff-advanced-body{padding:0 1.2rem 1.2rem}.playoff-advanced-body form{max-width:430px}.notification-open-form{margin:0}
@media(max-width:850px){.playoff-setup-checklist{grid-template-columns:1fr}.playoff-setup-checklist li{min-height:0}.playoff-primary-action{align-items:stretch;flex-direction:column}.playoff-primary-action .button,.playoff-primary-action form{width:100%}.playoff-primary-action form .button{width:100%}}
.playoff-stroke-panel,.playoff-stroke-admin{margin-top:.75rem;border:1px solid rgba(16,72,61,.2);border-radius:.65rem;background:#f7fbfa}.playoff-stroke-panel summary,.playoff-stroke-admin summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.65rem .75rem;cursor:pointer;list-style:none}.playoff-stroke-panel summary::-webkit-details-marker,.playoff-stroke-admin summary::-webkit-details-marker{display:none}.playoff-stroke-toggle{color:var(--color-primary,#145b4d);font-weight:700}.playoff-stroke-hole-list{display:flex;flex-wrap:wrap;gap:.4rem .75rem;padding:0 .75rem .75rem}.playoff-stroke-hole-list span{font-size:.82rem}.playoff-stroke-admin>p,.playoff-stroke-admin>label,.playoff-stroke-admin>div{margin:.65rem .75rem}.playoff-stroke-hole-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.playoff-stroke-hole-grid input{min-width:0}.playoff-stroke-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:420px){.playoff-stroke-hole-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-stroke-panel summary{align-items:flex-start}.playoff-stroke-actions .button{width:100%}}
.playoff-admin-status{padding:1rem;border-radius:14px;background:#0f3f73}.playoff-admin-status>div{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:88px;padding:.85rem;text-align:center;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#18558e;color:#fff}.playoff-admin-status>div:nth-child(2){background:#2469a3}.playoff-admin-status>div:nth-child(3){background:#154b7e}.playoff-admin-status>div:nth-child(4){background:#2d75ad}.playoff-admin-status span,.playoff-admin-status strong{margin:0;color:#fff;line-height:1.35}.playoff-checklist-summary{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:8px;background:#eaf3fb;color:#123f68}.playoff-order-controls{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.5rem}.playoff-order-controls button{min-height:38px;padding:.35rem .5rem;border:1px solid #9db7cd;border-radius:7px;background:#f5f9fc;color:#163f61;font-weight:750}@media(max-width:700px){.playoff-admin-status{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-checklist-summary{align-items:flex-start;flex-direction:column}.playoff-order-controls{width:100%}}
.playoff-setup-checklist[hidden]{display:none!important}
[data-playoff-field-body][hidden], [data-generate-next][hidden], [data-round-progress][hidden] { display: none !important; }
.playoff-advanced-body form{display:grid;gap:14px;align-items:end;max-width:430px}.playoff-advanced-body form label{display:grid;gap:6px;min-width:0}.playoff-advanced-body form input{width:100%;min-width:0}.playoff-action-feedback:empty,.playoff-inline-feedback:empty{display:none}.playoff-inline-feedback{grid-column:1/-1;margin:2px 0 0}
@media(max-width:600px){.playoff-advanced-body form{width:100%;max-width:none;grid-template-columns:1fr}.playoff-advanced-body form .button{width:100%;min-height:46px}.playoff-advanced-body form input{min-height:46px}}
.playoff-ready-division-summary{display:grid;gap:6px;margin-bottom:12px;padding:12px;border:1px solid rgba(15,76,129,.22);border-radius:12px;background:rgba(15,76,129,.06)}
.playoff-ready-division-summary span{display:block}
.gps-app{--gps-gold:#e2bc54;position:relative;min-height:calc(100dvh - 120px);background:#07130f;color:#fff;padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow:hidden}.gps-stage{position:relative;min-height:calc(100dvh - 120px);max-width:760px;margin:auto;background:#10251c}.gps-hole-image{position:absolute;inset:0;background:linear-gradient(160deg,#315d3d,#10261b 58%,#07130f);background-size:cover;background-position:center}.gps-image-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#b8d4c1}.gps-hole-image.has-image .gps-image-fallback{display:none}.gps-image-fallback strong{font-size:clamp(2rem,8vw,4.5rem)}.gps-topbar{position:absolute;z-index:2;inset:14px 14px auto;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #ffffff24;border-radius:16px;background:#07130fd9;backdrop-filter:blur(8px)}.gps-topbar span,.gps-topbar strong{display:block}.gps-topbar>div>span{font-size:.73rem;letter-spacing:.13em}.gps-pin-wind{display:flex;gap:16px;text-align:right}.gps-pin-wind b{font-size:.85rem;color:#f3d778}.gps-primary-yardage{position:absolute;z-index:2;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;text-shadow:0 3px 18px #000}.gps-primary-yardage strong{display:block;font-size:clamp(5rem,24vw,9rem);line-height:.8}.gps-primary-yardage span{font-weight:800;letter-spacing:.16em}.gps-target{position:absolute;z-index:2;top:33%;left:50%;width:30px;height:30px;border:3px solid var(--gps-gold);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #e2bc5438}.gps-player-marker{--gps-progress:72%;position:absolute;z-index:3;left:48%;top:var(--gps-progress);width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d8ddd9 65%,#9ca69f);box-shadow:0 4px 12px #000,0 0 0 8px #ffffff35;transition:top .45s}.gps-green-distances{position:absolute;z-index:3;left:12px;right:12px;top:42%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.gps-green-distances[hidden]{display:none}.gps-green-distances div{padding:10px 6px;text-align:center;border:1px solid #ffffff35;border-radius:12px;background:#07130fd9}.gps-green-distances strong{display:block;font-size:2rem}.gps-green-distances .is-pin-zone{border-color:var(--gps-gold);box-shadow:0 0 0 2px #e2bc5440}.gps-status{position:absolute;z-index:3;left:50%;bottom:88px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);padding:8px 12px;border-radius:99px;background:#07130fdd;font-size:.8rem;text-align:center}.gps-hole-controls{position:absolute;z-index:3;left:50%;bottom:36px;transform:translateX(-50%);display:flex;border:1px solid #ffffff2e;border-radius:99px;background:#07130fdd;overflow:hidden}.gps-hole-controls button{min-width:48px;min-height:44px;border:0;color:#fff;background:transparent}.gps-hole-controls [data-hole-select]{min-width:96px;border-inline:1px solid #ffffff2e}.gps-permission-card{position:absolute;z-index:7;left:50%;top:50%;width:min(440px,calc(100% - 28px));transform:translate(-50%,-50%);padding:22px;border:1px solid #ffffff2e;border-radius:20px;background:#0d241bed;box-shadow:0 18px 60px #0009}.gps-permission-card div,.gps-admin-pin-grid,.gps-admin-form-grid{display:grid;gap:10px}.gps-message{position:absolute;z-index:5;left:12px;right:12px;top:92px;padding:12px;border-radius:12px;background:#5e211f}.gps-bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#06110def;border-top:1px solid #ffffff20}.gps-bottom-nav button{min-height:54px;border:0;border-radius:12px;background:transparent;color:#c8d6ce;font-weight:700}.gps-bottom-nav button span{display:block}.gps-bottom-nav .is-active{color:#fff;background:#1d4933}.gps-sheet{width:min(560px,100%);max-width:none;margin:auto 0 0 auto;padding:0;border:0;border-radius:22px 22px 0 0;background:#10241b;color:#fff}.gps-sheet::backdrop{background:#0008}.gps-sheet-card{position:relative;display:grid;gap:16px;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.gps-sheet-close{position:absolute;right:14px;top:10px;width:44px;height:44px;border:0;border-radius:50%;font-size:1.6rem}.gps-score-stepper{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;text-align:center}.gps-score-stepper button{height:54px;border:1px solid #ffffff35;border-radius:12px;background:#17382a;color:#fff;font-size:1.5rem}.gps-score-stepper strong{font-size:4rem}.gps-toggle{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #ffffff25;border-radius:14px}.gps-toggle input{width:24px;height:24px}.gps-sheet details,.gps-sheet>a,.gps-sheet-card>button:not(.gps-sheet-close){padding:14px;border:1px solid #ffffff25;border-radius:12px;background:#17382a;color:#fff}.gps-admin-pin-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:16px}.gps-admin-pin-grid label,.gps-admin-form-grid label{display:grid;gap:5px}.gps-admin-hole-list{display:grid;gap:12px}.gps-admin-hole{border:1px solid var(--line);border-radius:14px;padding:14px}.gps-admin-hole summary{cursor:pointer;font-weight:800}.gps-admin-hole summary span{float:right;font-size:.8rem}.gps-admin-hole form{margin-top:16px}.gps-admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-admin-form-grid input{width:100%}
@media(max-width:600px){.gps-stage{min-height:calc(100dvh - 92px)}.gps-topbar{inset:8px 8px auto;padding:10px}.gps-pin-wind{gap:8px}.gps-admin-form-grid{grid-template-columns:1fr}.gps-admin-hole summary span{float:none;display:block;margin-top:4px}}
.gps-pin-prompt{position:absolute;z-index:6;left:12px;right:12px;bottom:145px;padding:12px;border:1px solid #ffffff2e;border-radius:14px;background:#0d241bed}.gps-pin-prompt span{display:block;font-size:.82rem}.gps-pin-prompt div{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.gps-pin-prompt button{min-height:44px;flex:1;border:1px solid #ffffff35;border-radius:9px;background:#17382a;color:#fff}
.gps-course-heading{margin-bottom:18px}.gps-readiness-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.gps-readiness-summary article{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.gps-readiness-summary span{display:block;color:var(--muted);font-size:.82rem}.gps-readiness-summary strong{display:block;margin-top:4px;color:var(--navy);font-size:1.6rem}.gps-course-hole-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gps-course-hole-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.gps-course-hole-card header{display:flex;justify-content:space-between;align-items:center;gap:10px}.gps-course-hole-card header span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.gps-course-hole-card header strong{font-size:2rem;color:var(--navy)}.gps-course-hole-card dl,.gps-scorecard-facts{display:grid;gap:8px;margin:0}.gps-course-hole-card dl div,.gps-scorecard-facts div{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid var(--line)}.gps-course-hole-card dt,.gps-scorecard-facts dt{color:var(--muted)}.gps-course-hole-card dd,.gps-scorecard-facts dd{margin:0;font-weight:700;text-align:right}.gps-readiness-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:.76rem;font-weight:800}.gps-readiness-badge.is-ready{color:#17633b;background:#e6f5eb}.gps-readiness-badge.is-partial,.gps-readiness-badge.is-optional{color:#725407;background:#fff3c8}.gps-readiness-badge.is-needs{color:#8a2e27;background:#fde9e7}.gps-hole-manage-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gps-hole-manage-layout .admin-section{min-width:0;margin:0}.gps-hole-image-button{display:block;width:100%;padding:0;border:0;border-radius:12px;background:#eef2ef;cursor:zoom-in}.gps-hole-admin-preview{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:12px}.gps-admin-image-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#07100ded}.gps-admin-image-viewer::backdrop{background:#000d}.gps-admin-image-canvas{width:100%;height:100%;overflow:auto;display:grid;place-items:center;padding:64px 16px 24px;-webkit-overflow-scrolling:touch}.gps-admin-image-canvas img{display:block;max-width:100%;max-height:calc(100dvh - 88px);width:auto;height:auto;object-fit:contain;touch-action:pan-x pan-y pinch-zoom;user-select:none}.gps-admin-image-close{position:fixed;z-index:2;top:max(12px,env(safe-area-inset-top));right:14px;width:48px;height:48px;border:1px solid #fff5;border-radius:50%;background:#07100de8;color:#fff;font-size:2rem;line-height:1}.gps-hole-image-empty{display:grid;place-items:center;min-height:180px;border:1px dashed var(--line);border-radius:12px;background:#f4f7f5;color:var(--muted)}.gps-readiness-list{display:grid;gap:8px}.gps-readiness-list p{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:9px 0;border-bottom:1px solid var(--line)}.gps-image-focal-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gps-image-focal-controls label{display:grid;gap:6px}.gps-advanced-details{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.gps-advanced-details summary{cursor:pointer;font-weight:800}.admin-back-link{display:inline-flex;margin-bottom:14px;font-weight:700}.email-workflow-results{margin-top:16px}.email-workflow-results summary{cursor:pointer;font-weight:800;color:var(--navy)}.email-workflow-results[open] summary{margin-bottom:14px}
@media(max-width:800px){.gps-readiness-summary,.gps-course-hole-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-hole-manage-layout{grid-template-columns:1fr}}
@media(max-width:520px){.gps-readiness-summary,.gps-course-hole-grid,.gps-image-focal-controls{grid-template-columns:1fr}.gps-course-hole-card .button{width:100%}}

/* LOCAL 475 GPS PLAYER PHASE 1 */
.gps-hole-image{background-size:contain;background-repeat:no-repeat}
.gps-round-context{position:absolute;z-index:4;top:max(4px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:5px 10px;border-radius:999px;background:#07130fe6;color:#fff;font-size:.72rem;font-weight:800}
.gps-topbar{top:34px}.gps-topbar small{display:block;color:#c9d8cf;font-size:.72rem}.gps-message{display:flex;align-items:center;justify-content:space-between;gap:10px}.gps-message .button{flex:0 0 auto;padding:8px 12px;color:#fff}
.play-this-week-card,.gps-start-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.play-this-week-card h2,.gps-start-card h2{margin:.25rem 0}.play-this-week-card p,.gps-start-card p{margin:.35rem 0}.play-this-week-card.is-unavailable{background:#f5f7f6}.gps-start-card{display:grid;max-width:680px;margin:auto}.gps-start-card fieldset{display:grid;gap:14px}.gps-tee-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gps-tee-options label{display:block}.gps-tee-options input{position:absolute;opacity:0}.gps-tee-options span{display:grid;gap:4px;min-height:76px;padding:14px;border:2px solid var(--line);border-radius:12px}.gps-tee-options input:checked+span{border-color:var(--green);background:#e8f4ec}.gps-tee-options input:focus-visible+span{outline:3px solid #e2bc54;outline-offset:2px}.gps-tee-options small{color:var(--muted)}
.gps-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gps-help-grid article,.gps-target-status{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.gps-target-status{display:grid;gap:3px;margin:8px 0 12px}.gps-target-status span{font-weight:800}.gps-target-status small{color:var(--muted)}.gps-field-verification{max-width:820px}.gps-field-verification [data-verification-message]:not(:empty){padding:10px;border-radius:10px;background:#eef6f0}
@media(max-width:600px){.play-this-week-card{align-items:stretch;flex-direction:column}.play-this-week-card .button{width:100%}.gps-help-grid{grid-template-columns:1fr}.gps-tee-options{grid-template-columns:1fr}.gps-message{align-items:stretch;flex-direction:column}.gps-message .button{width:100%}}

/* GPS Admin Phase 2: permanent course information and import review. */
.page-heading-actions,.gps-course-edit-actions,.gps-import-confirm form{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.gps-course-format-panel{display:flex;align-items:end;justify-content:space-between;gap:1rem}.gps-course-format-panel>label{min-width:12rem}.gps-tee-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.gps-scorecard-editor{display:grid;gap:.75rem}.gps-scorecard-edit-row{display:grid;grid-template-columns:7rem repeat(4,minmax(7rem,1fr));gap:.65rem;border:1px solid #d8e2df;border-radius:.85rem;padding:.8rem;margin:0;background:#fbfdfc}.gps-scorecard-edit-row legend{font-weight:800;color:#0b4c43;padding:0 .35rem}.gps-scorecard-edit-row label{font-size:.78rem;font-weight:750;color:#425753}.gps-scorecard-edit-row input,.gps-course-format-panel select,.gps-tee-name-grid input{margin-top:.3rem;width:100%}.gps-import-safety{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}.gps-import-safety article{display:flex;flex-direction:column;gap:.2rem;background:#fff;border:1px solid #d6e3df;border-radius:1rem;padding:1rem;text-align:center;box-shadow:0 8px 22px rgba(9,56,49,.06)}.gps-import-safety strong{color:#0b4c43;font-size:1.25rem}.gps-import-safety span{color:#5b6d69;font-size:.78rem}.gps-import-table-wrap{overflow-x:auto}.gps-import-table td:nth-child(2){display:flex;align-items:center;gap:.6rem;min-width:9rem;font-weight:800;white-space:nowrap}.gps-import-table img{width:3rem;height:4.5rem;object-fit:cover;border-radius:.4rem;border:1px solid #b9cbc6}.gps-import-confirm{border-left:4px solid #0b6f61}
@media(max-width:760px){.gps-course-format-panel{align-items:stretch;flex-direction:column}.gps-course-format-panel>label{min-width:0}.gps-scorecard-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-scorecard-edit-row label:last-child{grid-column:1/-1}.gps-import-safety{grid-template-columns:1fr}}
@media(max-width:430px){.page-heading-actions .button,.gps-course-edit-actions .button,.gps-import-confirm .button{width:100%;justify-content:center}.gps-tee-name-grid,.gps-scorecard-edit-row{grid-template-columns:1fr}.gps-scorecard-edit-row label:last-child{grid-column:auto}}

/* LOCAL 475 GPS PLAYER PHASE 1A: dedicated mobile Round Mode and permission recovery. */
.round-mode{min-height:100dvh;margin:0;overflow:hidden;background:#07130f;color:#fff;overscroll-behavior:none}.round-mode main{min-height:100dvh}.round-mode-exit{position:fixed;z-index:80;top:max(.5rem,env(safe-area-inset-top));right:.55rem;display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:44px;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(4,20,15,.86);color:#fff;font-size:.78rem;font-weight:850;text-decoration:none;box-shadow:0 5px 16px rgba(0,0,0,.25);backdrop-filter:blur(8px)}.round-mode-exit:hover,.round-mode-exit:focus-visible{border-color:#f4c95d;background:#123d31;color:#fff}.round-mode .gps-app{height:100dvh;min-height:100dvh;padding:0 0 calc(68px + env(safe-area-inset-bottom));overflow:hidden}.round-mode .gps-stage{width:100%;max-width:none;height:calc(100dvh - 68px - env(safe-area-inset-bottom));min-height:0;border:0;border-radius:0;box-shadow:none}.round-mode .gps-topbar{top:max(.5rem,env(safe-area-inset-top));right:6rem;left:.55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .7rem;padding:.6rem .7rem}.round-mode .gps-topbar>div:first-child{min-width:0}.round-mode .gps-topbar strong{white-space:normal}.round-mode .gps-topbar .gps-status{position:static;grid-column:1/-1;width:auto;max-width:none;margin-top:.1rem;padding:.35rem 0 0;transform:none;border-top:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;color:#e9f7f2;text-align:left;font-size:.68rem;box-shadow:none}.round-mode .gps-primary-yardage{top:44%}.round-mode .gps-green-distances{top:50%;width:min(94%,420px)}.round-mode .gps-hole-controls{bottom:.65rem}.round-mode .gps-permission-card{top:7.7rem;right:.6rem;left:.6rem;width:auto;max-width:440px;padding:.85rem;transform:none}.round-mode .gps-permission-card h2{margin:0 0 .3rem;font-size:1rem}.round-mode .gps-permission-card p{margin:.25rem 0;font-size:.78rem;line-height:1.35}.round-mode .gps-permission-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem}.round-mode .gps-permission-actions button{min-height:44px}.round-mode .gps-message{top:7.7rem;right:.6rem;left:.6rem;align-items:center;max-width:440px;margin:0;padding:.7rem .8rem;transform:none}.round-mode .gps-message>div{display:flex;flex:0 0 auto;gap:.45rem}.round-mode .gps-message button,.round-mode .gps-message a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .75rem;border:1px solid #8fd8c6;border-radius:.55rem;background:#0b5f50;color:#fff!important;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}.round-mode .gps-message button:hover,.round-mode .gps-message button:focus-visible,.round-mode .gps-message a:hover,.round-mode .gps-message a:focus-visible{background:#137b68;color:#fff!important}.round-mode .gps-message button:active,.round-mode .gps-message a:active{background:#064b40;color:#fff!important}.round-mode .gps-message button:disabled{background:#315e56;color:#fff!important;opacity:.75;cursor:wait}.round-mode .gps-pin-prompt{right:.6rem;bottom:4.6rem;left:.6rem;width:auto;max-width:440px;padding:.7rem;transform:none}.round-mode .gps-pin-prompt>div{gap:.4rem}.round-mode .gps-pin-prompt button{min-height:44px}.round-mode .gps-bottom-nav{min-height:68px;padding-bottom:env(safe-area-inset-bottom)}.round-mode .gps-app[data-display-mode="near-green"] .gps-primary-yardage,.round-mode .gps-app[data-display-mode="on-green"] .gps-primary-yardage{top:34%}.round-mode .gps-app[data-display-mode="near-green"] .gps-green-distances,.round-mode .gps-app[data-display-mode="on-green"] .gps-green-distances{top:49%}
@media(max-width:430px){.round-mode .gps-topbar{gap:.25rem .45rem;padding:.5rem .55rem}.round-mode .gps-pin-wind{gap:.45rem}.round-mode .gps-pin-wind span{font-size:.59rem}.round-mode .gps-primary-yardage strong{font-size:clamp(4.25rem,24vw,6.4rem)}.round-mode .gps-message{align-items:stretch;flex-direction:column}.round-mode .gps-message>div{display:grid;grid-template-columns:1fr 1fr}.round-mode .gps-permission-card{top:7.35rem}.round-mode .gps-message{top:7.35rem}}
@media(orientation:landscape) and (max-height:520px){.round-mode .gps-topbar{right:6rem}.round-mode .gps-primary-yardage{top:39%}.round-mode .gps-primary-yardage strong{font-size:3.8rem}.round-mode .gps-permission-card,.round-mode .gps-message{top:4.7rem;max-width:min(54vw,440px)}.round-mode .gps-hole-controls{bottom:.35rem}.round-mode .gps-pin-prompt{bottom:.35rem;left:auto;width:min(52vw,440px)}}

/* LOCAL 475 POLISH & BUG FIX BATCH 1. */
.gps-permission-card[hidden],.gps-message[hidden],.gps-message [hidden],.gps-score-unavailable[hidden]{display:none!important}.round-mode .gps-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 28%,transparent 65%,rgba(0,0,0,.34))}.round-mode .gps-topbar{z-index:4;border-color:rgba(255,255,255,.34);background:rgba(3,17,12,.9);box-shadow:0 5px 22px rgba(0,0,0,.32)}.round-mode .gps-primary-yardage{z-index:4}.round-mode .gps-primary-yardage strong{color:#fff;filter:drop-shadow(0 4px 9px #000);font-weight:900;letter-spacing:-.045em}.round-mode .gps-primary-yardage span{display:inline-block;margin-top:.55rem;padding:.28rem .55rem;border-radius:999px;background:rgba(3,17,12,.78);color:#fff;font-size:.76rem;text-shadow:none}.round-mode .gps-hole-controls{z-index:5;box-shadow:0 5px 18px rgba(0,0,0,.3)}.round-mode .gps-status{font-weight:750;letter-spacing:.02em}.round-mode .gps-app[data-gps-state="live"] .gps-status{color:#bdf7dc}.round-mode .gps-app[data-gps-state="limited"] .gps-status{color:#ffe19a}.gps-score-unavailable{display:grid;gap:.45rem;padding:1rem;border:1px solid #d7bb69;border-radius:14px;background:#26351e;color:#fff}.gps-score-unavailable strong{color:#ffe19a;font-size:1.1rem}.gps-score-unavailable p{margin:0;color:#f4f7f5}.gps-help-grid ol{margin:.55rem 0 0;padding-left:1.2rem}.gps-help-grid li+li{margin-top:.35rem}.email-workflow-results .table-shell{max-width:100%;overflow-x:auto}.email-workflow-results summary{min-height:44px;display:flex;align-items:center}.admin-section,.hq-card{overflow-wrap:anywhere}
.gps-qa-diagnostics{position:absolute;z-index:18;right:.6rem;bottom:5rem;width:min(390px,calc(100% - 1.2rem));max-height:calc(100dvh - 10rem);overflow:auto;padding:.65rem;border:1px solid #f4c95d;border-radius:12px;background:rgba(3,17,12,.96);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.45)}.gps-qa-diagnostics summary{min-height:44px;display:flex;align-items:center;font-weight:850;cursor:pointer}.gps-qa-diagnostics dl{display:grid;gap:.35rem;margin:.4rem 0}.gps-qa-diagnostics dl div{display:grid;grid-template-columns:minmax(6rem,.7fr) minmax(0,1.3fr);gap:.5rem;padding:.35rem 0;border-top:1px solid rgba(255,255,255,.15)}.gps-qa-diagnostics dt{font-weight:800}.gps-qa-diagnostics dd{min-width:0;margin:0;overflow-wrap:anywhere}.gps-qa-diagnostics p{margin:.5rem 0;font-size:.8rem}.gps-qa-diagnostics .button{width:100%;min-height:44px}

/* Player Operations Center */
.player-operations-center{min-width:0;padding-bottom:calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#eef7f6 0,#f7f9f9 420px)}.player-ops-opening{padding:16px 0 0}.player-ops-opening>.container>.eyebrow{display:block;margin-bottom:6px}.player-ops-hero,.player-primary-action,.player-live-status,.player-season-snapshot,.player-ops-attendance-panel,.player-feed-item,.player-feed-empty{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(11,42,59,.07)}.player-ops-hero{padding:17px;background:linear-gradient(135deg,#092f4a,#0b6668);color:#fff}.player-ops-hero-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-ops-welcome{margin:0;color:#bfe5e1;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.player-ops-hero h1{margin:3px 0;color:#fff;font-size:clamp(1.45rem,4vw,2rem)}.player-ops-hero-heading p:last-child{margin:0;color:#dff3f1;font-size:.86rem}.player-ops-hero .status-badge{flex:0 0 auto;padding:6px 9px;border:1px solid #ffffff40;border-radius:999px;background:#ffffff16;color:#fff;font-size:.72rem;font-weight:850}.player-ops-week-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0 0}.player-ops-week-grid div{min-width:0;padding:8px;border-radius:10px;background:#ffffff12}.player-ops-week-grid dt,.player-live-status dt,.player-season-snapshot dt{color:#b9d6d5;font-size:.66rem;font-weight:800;text-transform:uppercase}.player-ops-week-grid dd,.player-live-status dd,.player-season-snapshot dd{min-width:0;margin:3px 0 0;font-size:.82rem;font-weight:850;overflow-wrap:normal;word-break:normal}.player-ops-attendance-status{display:flex;align-items:center;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #ffffff2e}.player-ops-attendance-status>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#073d38;background:#d5f2e6}.player-primary-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px;padding:12px 14px;border-color:#d6b655}.player-primary-action h2{margin:2px 0;font-size:1.1rem}.player-primary-action p{margin:0;color:var(--muted);font-size:.8rem}.player-primary-action .button{flex:0 0 auto;min-height:48px}.player-ops-attendance-panel{padding:0 13px}.player-ops-attendance-panel summary{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.player-ops-attendance-panel summary span:first-child{display:grid}.player-ops-attendance-panel summary small{color:var(--muted)}.player-ops-attendance-panel details>fieldset,.player-ops-attendance-panel details>button{margin-bottom:13px}.player-ops-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-live-status,.player-season-snapshot{padding:13px}.player-live-status header,.player-season-snapshot header,.player-ops-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.player-live-status h2,.player-season-snapshot h2,.player-ops-section-heading h2{margin:2px 0;font-size:1.05rem}.player-live-status header>a,.player-season-snapshot header>a{min-height:44px;display:inline-flex;align-items:center;color:var(--teal);font-size:.76rem;font-weight:850}.player-live-status dl,.player-season-snapshot dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 0 0}.player-live-status dl div,.player-season-snapshot dl div{min-width:0;padding:8px;border-radius:9px;background:#f2f7f7}.player-live-status dt,.player-season-snapshot dt{color:var(--muted)}.player-live-status dd,.player-season-snapshot dd{color:var(--navy);font-size:1rem}.player-season-snapshot .is-wide{grid-column:auto}.player-quick-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:8px}.player-quick-actions a{display:grid;min-width:0;min-height:70px;place-items:center;align-content:center;gap:5px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);text-align:center;text-decoration:none}.player-quick-actions a>span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:#e2f1ef;color:var(--teal);font-weight:900}.player-quick-actions strong{max-width:100%;font-size:.72rem;line-height:1.15;overflow-wrap:normal;word-break:normal}.player-league-feed{display:grid;gap:7px;margin-top:8px}.player-feed-item,.player-feed-empty{padding:12px 14px}.player-feed-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.player-feed-item h3{margin:3px 0;font-size:.96rem}.player-feed-item p,.player-feed-empty p{margin:0;color:var(--muted);font-size:.82rem}.player-feed-item .button-link{min-height:44px;margin-top:5px;border:0;color:var(--teal);background:none;font-weight:850}.player-operations-center a:focus-visible,.player-operations-center button:focus-visible,.player-operations-center summary:focus-visible,.player-operations-center input:focus-visible{outline:3px solid #e2bc54;outline-offset:3px}
@media(max-width:760px){.player-ops-opening{padding-top:9px}.player-ops-hero{padding:13px}.player-ops-hero-heading{display:block}.player-ops-hero .status-badge{display:inline-flex;margin-top:8px}.player-ops-week-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}.player-primary-action{align-items:stretch}.player-primary-action .button{align-self:center}.player-ops-main-grid{grid-template-columns:1fr}.player-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.player-live-status dl,.player-season-snapshot dl{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:430px){.player-ops-opening>.container>.eyebrow{font-size:.65rem}.player-ops-hero h1{font-size:1.3rem}.player-ops-hero-heading p:last-child{font-size:.78rem}.player-ops-week-grid dt{font-size:.57rem}.player-ops-week-grid dd{font-size:.72rem}.player-primary-action{display:grid;padding:10px 12px}.player-primary-action h2{font-size:1rem}.player-primary-action .button{width:100%}.player-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.player-live-status dl,.player-season-snapshot dl{grid-template-columns:repeat(3,minmax(0,1fr))}.player-season-snapshot .is-wide{grid-column:span 2}.player-ops-attendance-status{font-size:.84rem}}
@media(max-width:340px){.player-ops-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.player-live-status dl,.player-season-snapshot dl{grid-template-columns:repeat(2,minmax(0,1fr))}.player-season-snapshot .is-wide{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){.player-operations-center *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Player Operations Center V2 */
.player-operations-v2{background:linear-gradient(180deg,#e9f3f0 0,#f7f9f9 520px)}.player-app-hero{position:relative;isolation:isolate;min-height:280px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#073d31 url("/assets/course/hyatt-hills/hole-6.jpg") center 43%/cover no-repeat}.player-app-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,26,26,.94) 0%,rgba(4,38,35,.78) 48%,rgba(4,34,28,.2) 100%),linear-gradient(0deg,rgba(2,22,21,.55),transparent 64%)}.player-app-hero-content{padding-top:38px;padding-bottom:30px}.player-app-hero .eyebrow{color:#b8e6d5}.player-app-greeting{margin:7px 0 0;font-family:Georgia,serif;font-size:clamp(1.35rem,3.8vw,2.2rem);line-height:1.1}.player-app-hero h1{margin:7px 0 0;color:#fff;font-size:clamp(2.5rem,8vw,5rem);line-height:.95}.player-app-course{display:block;margin-top:8px;color:#fff;font-family:Georgia,serif;font-size:clamp(1.05rem,3vw,1.55rem)}.player-app-hero-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.player-app-hero-facts span,.player-app-attendance{display:inline-flex;min-height:34px;align-items:center;padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(3,35,30,.68);font-size:.76rem;font-weight:800;backdrop-filter:blur(6px)}.player-app-attendance{gap:7px;margin-top:7px}.player-app-attendance>span{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;color:#074b3c;background:#d6f1e3}.player-today-section{margin-top:-16px;position:relative;z-index:2}.player-today-card{display:grid;grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);overflow:hidden;border:1px solid rgba(10,76,67,.16);border-radius:20px;background:#fff;box-shadow:0 13px 34px rgba(8,49,53,.13)}.player-today-thumbnail{min-height:240px;background:#0b4f36 url("/assets/course/hyatt-hills/hole-6.jpg") center 45%/cover no-repeat}.player-today-content{display:grid;align-content:center;gap:10px;min-width:0;padding:20px}.player-today-content header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.player-today-content h2{margin:2px 0;font-size:clamp(1.3rem,3vw,1.8rem)}.player-today-content>p{margin:0;color:var(--muted)}.player-state-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:#09543f;background:#daf2e7;font-size:.7rem;font-weight:900}.player-today-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.player-today-facts div{min-width:0;padding:8px 9px;border-radius:10px;background:#f0f6f4}.player-today-facts dt{color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase}.player-today-facts dd{margin:3px 0 0;color:var(--navy);font-size:.8rem;font-weight:850;overflow-wrap:normal;word-break:normal}.player-today-primary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:10px;border-top:1px solid #e5eceb}.player-today-primary p{display:grid;margin:0}.player-today-primary p span{color:var(--muted);font-size:.78rem}.player-today-primary .button{flex:0 0 auto;min-width:190px;min-height:52px}.player-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.player-snapshot-card{position:relative;display:grid;align-content:start;min-width:0;min-height:190px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(11,42,59,.065)}.player-snapshot-icon{position:absolute;top:13px;right:13px;display:grid;width:32px;height:32px;place-items:center;border-radius:9px;color:#075948;background:#e2f2ed}.player-snapshot-card h2{margin:6px 40px 8px 0;font-size:1.15rem}.player-snapshot-card dl{display:flex;flex-wrap:wrap;gap:6px;margin:0}.player-snapshot-card dl div{min-width:64px;padding:6px 8px;border-radius:8px;background:#f1f6f5}.player-snapshot-card dt{color:var(--muted);font-size:.6rem;font-weight:850;text-transform:uppercase}.player-snapshot-card dd{margin:2px 0 0;color:var(--navy);font-weight:900}.player-snapshot-card>p{margin:0;color:var(--muted);font-size:.8rem}.player-snapshot-card>a{align-self:end;display:inline-flex;min-height:44px;align-items:center;margin-top:10px;color:var(--teal);font-size:.8rem;font-weight:900}.player-operations-v2 .player-ops-section-heading>div{min-width:0}.player-operations-v2 .player-ops-section-heading>a{display:inline-flex;min-height:44px;align-items:center;color:var(--teal);font-size:.78rem;font-weight:900}
@media(max-width:760px){.player-app-hero{min-height:245px;background-position:center 38%}.player-app-hero-content{padding-top:24px;padding-bottom:27px}.player-today-card{grid-template-columns:120px minmax(0,1fr)}.player-today-thumbnail{min-height:265px}.player-today-content{padding:14px}.player-today-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.player-today-primary{display:grid}.player-today-primary .button{width:100%;min-width:0}.player-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-snapshot-card{min-height:205px;padding:12px}.player-snapshot-card dl{display:grid}.player-snapshot-card dl div{min-width:0}}
@media(max-width:520px){.player-app-hero{min-height:232px}.player-app-hero::before{background:linear-gradient(90deg,rgba(3,26,26,.94),rgba(4,38,35,.63)),linear-gradient(0deg,rgba(2,22,21,.55),transparent 64%)}.player-app-hero h1{font-size:2.55rem}.player-app-greeting{font-size:1.35rem}.player-app-course{font-size:1rem}.player-app-hero-facts{gap:5px;margin-top:11px}.player-app-hero-facts span{min-height:30px;padding:5px 8px;font-size:.68rem}.player-today-section{margin-top:-10px}.player-today-card{grid-template-columns:86px minmax(0,1fr);border-radius:16px}.player-today-thumbnail{min-height:310px}.player-today-content{gap:8px;padding:11px}.player-today-content header{display:grid}.player-state-badge{justify-self:start}.player-today-content h2{font-size:1.18rem}.player-today-content>p{font-size:.78rem}.player-today-facts{gap:5px}.player-today-facts div{padding:6px}.player-today-facts dt{font-size:.55rem}.player-today-facts dd{font-size:.69rem}.player-today-primary p span{font-size:.7rem}.player-snapshot-grid{grid-template-columns:1fr}.player-snapshot-card{min-height:0}.player-snapshot-card dl{display:flex}.player-snapshot-card>a{margin-top:7px}}

/* Player Operations Center V3 living-dashboard refinements. */
.player-operations-v2 .section-tight{padding-top:6px;padding-bottom:6px}.player-today-card{border-color:rgba(9,107,82,.28);box-shadow:0 15px 36px rgba(6,58,49,.16)}.player-today-primary .button{font-size:1rem;box-shadow:0 7px 16px rgba(7,91,72,.2)}.player-today-attendance{padding-top:8px;border-top:1px solid #e5eceb}.player-today-attendance summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:var(--teal);font-size:.78rem;font-weight:850}.player-today-attendance summary>span:first-child{display:grid;color:var(--navy)}.player-today-attendance summary small{color:var(--muted);font-size:.65rem;text-transform:uppercase}.player-today-attendance fieldset,.player-today-attendance button{margin-bottom:9px}.player-todays-round{border-color:#b9ddd4;background:linear-gradient(145deg,#fff 55%,#eaf7f2)}.player-todays-round .player-snapshot-icon{width:38px;color:#fff;background:#087b60;font-size:.58rem;letter-spacing:.04em}.player-round-signals{display:flex;flex-wrap:wrap;gap:5px;margin:-2px 0 8px}.player-round-signals span{padding:4px 7px;border-radius:999px;color:#075844;background:#dff4eb;font-size:.62rem;font-weight:900}.player-round-signals span:first-child::before{content:"●";margin-right:4px;color:#13a875}.player-snapshot-grid{align-items:stretch}.player-snapshot-card{min-height:178px}
@media(max-width:760px){.player-app-hero{min-height:220px}.player-app-hero-content{padding-top:19px;padding-bottom:22px}.player-today-thumbnail{min-height:278px}.player-snapshot-card{min-height:185px}}
@media(max-width:520px){.player-app-hero{min-height:205px}.player-app-hero-content{padding-top:16px;padding-bottom:17px}.player-today-thumbnail{min-height:330px}.player-today-primary .button{min-height:56px}.player-snapshot-grid{gap:6px}.player-snapshot-card{min-height:0;padding:11px}.player-round-signals{padding-right:36px}}

/* Player Operations Center V4 authoritative-state synchronization. */
.player-hero-state{display:grid;gap:2px;margin-top:9px}.player-hero-state strong{font-size:1rem}.player-hero-state span{color:#d9efea;font-size:.76rem}.player-operations-v2.state-yellow .player-state-badge{color:#725400;background:#fff1b7}.player-operations-v2.state-yellow .player-today-card{border-color:#dfc66d}.player-operations-v2.state-red .player-state-badge{color:#8a2924;background:#fae1df}.player-operations-v2.state-red .player-today-card{border-color:#dfaaa6}.player-operations-v2.state-red .player-todays-round{border-color:#ded8d3;background:linear-gradient(145deg,#fff 55%,#f5f2ef)}.player-operations-v2.state-red .player-round-signals span{color:#665b54;background:#eeeae6}.player-attendance-feedback{min-height:1.2em;margin:0 0 9px;color:var(--teal);font-size:.76rem;font-weight:800}.player-today-attendance[aria-busy="true"]{opacity:.78}
@media(max-width:520px){.player-hero-state{margin-top:7px}.player-hero-state strong{font-size:.9rem}.player-hero-state span{font-size:.69rem}}

/* Player Operations Center V5 density and announcement priority. */
.player-round-grid{display:grid}.player-round-grid .player-todays-round{min-height:150px}.player-season-playoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.player-season-playoff-grid .player-snapshot-card{height:100%;min-height:158px}.player-season-playoff-grid .player-snapshot-card dl{gap:4px}.player-season-playoff-grid .player-snapshot-card dl div{padding:5px 7px}.player-announcement-dialog{width:min(92vw,560px);max-height:min(88vh,720px);padding:0;overflow:auto;border:0;border-radius:20px;box-shadow:0 24px 70px rgba(3,25,29,.35)}.player-announcement-dialog::backdrop{background:rgba(2,18,24,.7);backdrop-filter:blur(3px)}.player-announcement-panel{padding:22px}.player-announcement-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-announcement-panel time{color:var(--muted);font-size:.75rem}.announcement-priority-label{padding:5px 8px;border-radius:999px;color:#765400;background:#fff0b3;font-size:.68rem;font-weight:900;letter-spacing:.04em}.priority-critical .announcement-priority-label{color:#fff;background:#a62d27}.player-announcement-panel h2{margin:13px 0 7px;font-size:clamp(1.35rem,4vw,1.8rem)}.player-announcement-panel>p{white-space:normal}.player-announcement-feedback{min-height:1.2em;color:#8b2d27;font-size:.78rem;font-weight:800}.player-announcement-attachments{padding-left:20px}.player-announcement-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.player-announcement-dialog .dialog-actions form{margin:0}
@media(max-width:520px){.player-round-grid .player-todays-round{min-height:0}.player-season-playoff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.player-season-playoff-grid .player-snapshot-card{min-height:175px;padding:10px}.player-season-playoff-grid .player-snapshot-card h2{margin-right:32px;font-size:1rem}.player-season-playoff-grid .player-snapshot-icon{width:28px;height:28px;top:10px;right:10px}.player-season-playoff-grid .player-snapshot-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.player-season-playoff-grid .player-snapshot-card>p{font-size:.72rem}.player-announcement-panel{padding:17px}.player-announcement-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}.player-announcement-dialog .dialog-actions button{width:100%;min-height:48px}}
@media(max-width:340px){.player-season-playoff-grid{grid-template-columns:1fr}.player-season-playoff-grid .player-snapshot-card{min-height:0}}
@media(max-width:350px){.player-today-card{grid-template-columns:1fr}.player-today-thumbnail{height:88px;min-height:88px;background-position:center 35%}.player-app-attendance{font-size:.7rem}.player-app-hero-facts span:last-child{max-width:100%}.player-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.round-mode .gps-topbar{right:5.75rem}.round-mode .gps-primary-yardage{top:42%}.round-mode .gps-primary-yardage strong{font-size:clamp(4.8rem,26vw,6.6rem)}.round-mode .gps-green-distances{gap:.4rem}.round-mode .gps-green-distances div{padding:.55rem .25rem}.round-mode .gps-green-distances strong{font-size:1.65rem}.round-mode .gps-pin-prompt{padding:.6rem}.round-mode .gps-pin-prompt>span{font-size:.75rem}.round-mode .gps-pin-prompt>div{grid-template-columns:repeat(2,minmax(0,1fr))}.email-workflow-results table{min-width:620px}}

/* LOCAL 475 ROUND WORKFLOW & GPS POLISH. */
.gps-round-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.gps-round-type-card{display:flex;flex-direction:column;gap:.75rem;padding:1.15rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}.gps-round-type-card h2,.gps-round-type-card p{margin:0}.gps-round-type-card form{display:grid;gap:.8rem;margin-top:auto}.gps-round-type-card>.button{margin-top:auto}.gps-round-type-card.is-disabled{background:#f3f5f4;color:var(--muted)}.gps-round-type-label{width:max-content;padding:.25rem .55rem;border-radius:999px;background:#e3f3ed;color:var(--teal-dark);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.gps-round-tee-choice{display:grid;gap:.5rem}.gps-round-tee-choice legend{font-weight:850}.play-this-week-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.round-mode .gps-topbar{right:.55rem;display:grid;grid-template-columns:1fr;gap:.25rem;padding:.48rem .6rem;overflow:hidden}.round-mode .gps-compact-row{display:flex;align-items:center;min-width:0;gap:clamp(.35rem,2vw,.75rem);white-space:nowrap;overflow:hidden}.round-mode .gps-compact-row span,.round-mode .gps-compact-row strong,.round-mode .gps-compact-row em{display:inline;min-width:0;font-size:clamp(.64rem,2.5vw,.82rem);line-height:1.2}.round-mode .gps-compact-primary{padding-right:5.6rem}.round-mode .gps-compact-primary strong{color:#fff;font-size:clamp(.76rem,3vw,.95rem)}.round-mode .gps-compact-primary b,.round-mode .gps-compact-secondary b{color:#f3d778}.round-mode .gps-compact-primary em{padding:.18rem .38rem;border-radius:999px;background:#315d4b;color:#d8ffed;font-style:normal;font-weight:850}.round-mode .gps-compact-secondary{padding-top:.28rem;border-top:1px solid rgba(255,255,255,.2)}.round-mode .gps-topbar .gps-status{display:block;flex:1 1 auto;grid-column:auto;margin:0;padding:0;border:0;overflow:hidden;color:#e9f7f2;text-align:right;text-overflow:ellipsis;white-space:nowrap}.round-mode-exit{font-family:inherit;cursor:pointer}.gps-exit-sheet .gps-sheet-card>button:not(.gps-sheet-close){min-height:48px}.gps-exit-sheet p{margin:0;color:#dce9e3}.gps-exit-sheet form[aria-busy="true"]{pointer-events:none;opacity:.82}
@media(max-width:760px){.gps-round-type-grid{grid-template-columns:1fr}.play-this-week-actions{width:100%;justify-content:stretch}.play-this-week-actions .button{flex:1 1 100%}}
@media(max-width:430px){.round-mode .gps-topbar{right:.45rem;left:.45rem;padding:.42rem .5rem}.round-mode .gps-compact-row{gap:.34rem}.round-mode .gps-compact-primary{padding-right:5.25rem}.round-mode .gps-compact-row span,.round-mode .gps-compact-row strong,.round-mode .gps-compact-row em{font-size:.64rem}.round-mode .gps-compact-primary strong{font-size:.74rem}.round-mode .gps-compact-secondary .gps-status{font-size:.6rem}.round-mode-exit{right:.45rem;min-width:78px;padding-inline:.55rem}.gps-exit-sheet .gps-sheet-card{gap:.75rem;padding:1.1rem .9rem calc(1rem + env(safe-area-inset-bottom))}}
@media(max-width:340px){.round-mode .gps-compact-primary{gap:.25rem}.round-mode .gps-compact-primary em{position:absolute;left:-9999px}.round-mode .gps-compact-secondary{gap:.25rem}.round-mode .gps-compact-secondary span{font-size:.58rem}.round-mode .gps-topbar .gps-status{font-size:.56rem}}
.playoff-dashboard-heading{align-items:flex-end}.playoff-admin-feedback{position:sticky;top:8px;z-index:10;margin-block:12px;box-shadow:0 8px 24px rgba(15,63,115,.14)}.playoff-admin-metrics{display:grid;grid-template-columns:1.45fr repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 24px}.playoff-admin-metrics article{display:grid;align-content:center;min-width:0;min-height:104px;padding:17px 18px;border:1px solid rgba(255,255,255,.17);border-radius:16px;background:linear-gradient(145deg,#123f70,#1d669c);color:#fff;box-shadow:0 10px 24px rgba(16,58,98,.15)}.playoff-admin-metrics article:not(.is-cutoff){background:linear-gradient(145deg,#18558a,#2675a9)}.playoff-admin-metrics span{font-size:.7rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase;opacity:.82}.playoff-admin-metrics strong{margin-top:8px;font-size:clamp(1.22rem,2vw,1.75rem);line-height:1.15;overflow-wrap:anywhere}.playoff-admin-metrics .is-cutoff strong{font-size:clamp(1rem,1.65vw,1.35rem)}.playoff-player-directory{padding:clamp(15px,2.4vw,25px)}.playoff-directory-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);align-items:end;gap:14px;margin:20px 0;padding:14px;border:1px solid #d7e2e9;border-radius:14px;background:#f6f9fb}.playoff-directory-tools label{display:grid;gap:6px;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.playoff-directory-tools input{min-height:46px;background:#fff}.playoff-filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.playoff-filter-buttons button{min-height:44px;padding:8px 13px;border:1px solid #aec4d2;border-radius:999px;background:#fff;color:#24475c;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.playoff-filter-buttons button[aria-pressed="true"]{border-color:#0f5f84;background:#0f5f84;color:#fff;box-shadow:0 4px 12px rgba(15,95,132,.2)}.playoff-filter-buttons button:focus-visible{outline:3px solid #f1b945;outline-offset:2px}.playoff-filter-count{grid-column:1/-1;margin:0;color:var(--muted);font-size:.78rem}.playoff-player-groups{display:grid;gap:13px}.playoff-player-group{overflow:hidden;border:1px solid #d6e1e8;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(29,66,89,.07)}.playoff-player-group>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:11px;min-height:68px;padding:11px 15px;cursor:pointer;list-style:none}.playoff-player-group>summary::-webkit-details-marker{display:none}.playoff-player-group>summary>span:first-child{display:grid;gap:2px;min-width:0}.playoff-player-group>summary small{color:#16607e;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.playoff-player-group>summary strong{font-size:1.03rem}.playoff-group-count{display:grid;place-items:center;min-width:32px;height:32px;padding-inline:8px;border-radius:999px;background:#eaf2f6;color:#164d68;font-size:.78rem;font-weight:900}.playoff-player-group[open]>summary{border-bottom:1px solid #dce6eb;background:#f9fbfc}.playoff-player-group[open]>summary .collapse-indicator::after{content:"−"}.playoff-player-group:not([open])>summary .collapse-indicator::after{content:"+"}.playoff-player-group-body{display:grid;gap:10px;padding:13px}.playoff-player-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(310px,2fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid #e0e7eb;border-radius:13px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.playoff-player-row:hover{border-color:#b7ccd8;box-shadow:0 6px 16px rgba(31,73,97,.08);transform:translateY(-1px)}.playoff-player-identity{display:grid;gap:8px;min-width:0}.playoff-player-identity>strong{font-size:1rem;overflow-wrap:anywhere}.playoff-player-badges{display:flex;gap:6px;flex-wrap:wrap}.playoff-status-badge{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:.67rem;font-weight:850;line-height:1.15}.playoff-status-badge.status-qualified{border-color:#91c5a0;background:#e4f5e8;color:#166534}.playoff-status-badge.status-bubble{border-color:#cbd5e1;background:#f8fafc;color:#475569}.playoff-status-badge.status-needs-one{border-color:#e9cd65;background:#fff8cf;color:#6f5700}.playoff-status-badge.status-needs-two{border-color:#efb068;background:#fff0dc;color:#8a4200}.playoff-status-badge.status-eliminated{border-color:#e4a5a5;background:#fde8e8;color:#9b1c1c}.playoff-status-badge.status-override{border-color:#92b8de;background:#e6f1fb;color:#174f80}.playoff-player-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.playoff-player-facts div{min-width:0;padding:8px 9px;border-radius:9px;background:#f5f8fa}.playoff-player-facts dt{font-size:.61rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#647783}.playoff-player-facts dd{margin:3px 0 0;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.playoff-player-action{display:flex;justify-content:flex-end}.playoff-player-action .button{min-height:44px;white-space:nowrap}.playoff-group-empty{padding:24px;border:1px dashed #bdd0da;border-radius:12px;background:#f8fbfc;text-align:center}.playoff-group-empty strong{color:#244a5e}.playoff-group-empty p{max-width:560px;margin:5px auto 0;color:var(--muted)}.playoff-settings-panel,.playoff-activity-panel{margin-top:18px}.playoff-settings-form{display:grid;gap:16px;padding-top:16px}.playoff-settings-form fieldset{display:grid;gap:12px;margin:0;padding:16px;border:1px solid #d8e3e9;border-radius:13px;background:#fbfcfd}.playoff-settings-form legend{padding:0 7px;color:#174e69;font-size:.95rem;font-weight:900}.playoff-settings-form fieldset>p{margin:-4px 0 0;color:var(--muted);font-size:.8rem}.playoff-settings-form label{display:grid;align-content:start;gap:6px}.playoff-settings-form label small{color:var(--muted);font-weight:500}.playoff-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.playoff-settings-wide{grid-column:1/-1}.playoff-settings-actions{display:flex;justify-content:flex-end}.playoff-settings-actions .button{min-width:200px}.playoff-activity-list{display:grid;gap:9px;padding-top:14px}.playoff-activity-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #dfe7eb;border-left:4px solid #2c6c8b;border-radius:11px;background:#fff}.playoff-activity-row.activity-override_applied{border-left-color:#2d6fad}.playoff-activity-row.activity-override_restored{border-left-color:#3c8c69}.playoff-activity-row.activity-settings_updated{border-left-color:#b47c18}.playoff-activity-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#edf4f8;color:#17516d;font-size:1rem;font-weight:900}.playoff-activity-row strong{color:#173e52}.playoff-activity-row p{margin:3px 0;font-size:.84rem}.playoff-activity-row small{display:block;color:var(--muted)}.playoff-activity-reason{margin-bottom:3px;color:#3d5664!important;font-style:italic}.playoff-action-loading{position:relative}.playoff-action-loading::before{content:"";display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:playoff-spin .7s linear infinite}@keyframes playoff-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.playoff-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-admin-metrics .is-cutoff{grid-column:span 2}.playoff-player-row{grid-template-columns:minmax(180px,1fr) minmax(0,1.7fr)}.playoff-player-action{grid-column:1/-1;justify-content:flex-start}.playoff-player-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.playoff-dashboard-heading{align-items:stretch}.playoff-dashboard-heading .qa-inline-actions{display:grid;grid-template-columns:1fr 1fr}.playoff-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.playoff-admin-metrics .is-cutoff{grid-column:1/-1}.playoff-admin-metrics article{min-height:88px;padding:14px}.playoff-directory-tools{grid-template-columns:1fr;padding:11px}.playoff-filter-count{grid-column:auto}.playoff-filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-filter-buttons button{width:100%;padding-inline:8px}.playoff-player-row{grid-template-columns:1fr;gap:12px}.playoff-player-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-player-action,.playoff-player-action form,.playoff-player-action .button{width:100%}.playoff-settings-grid{grid-template-columns:1fr}.playoff-settings-wide{grid-column:auto}.playoff-settings-actions .button{width:100%;min-width:0}.playoff-exemption-dialog{max-width:calc(100vw - 24px)}}
@media(max-width:360px){.playoff-dashboard-heading .qa-inline-actions,.playoff-admin-metrics,.playoff-player-facts{grid-template-columns:1fr}.playoff-admin-metrics .is-cutoff{grid-column:auto}.playoff-player-group>summary{grid-template-columns:minmax(0,1fr) auto 44px;padding-inline:10px}.playoff-player-group>summary small{font-size:.61rem}.playoff-player-group-body{padding:9px}.playoff-player-row{padding:11px}.playoff-filter-buttons{grid-template-columns:1fr 1fr}.playoff-status-badge{font-size:.63rem}}
.playoff-builder-heading{align-items:flex-end}.playoff-builder-heading .playoff-admin-heading-actions{justify-content:flex-end}.playoff-builder-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 22px}.playoff-builder-steps::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:2px;background:#cbd9e1;z-index:0}.playoff-builder-steps a{position:relative;z-index:1;display:grid;gap:3px;min-height:72px;padding:12px 14px;border:1px solid #cbd9e1;border-radius:14px;background:#fff;color:#264b60;text-decoration:none;box-shadow:0 5px 16px rgba(27,66,89,.07)}.playoff-builder-steps span{font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#617986}.playoff-builder-steps strong{font-size:.86rem}.playoff-builder-steps .is-complete{border-color:#91c5a0;background:#eef9f1;color:#176536}.playoff-builder-steps .is-current{border:2px solid #1a648c;background:#eef7fc;color:#164f70;box-shadow:0 8px 22px rgba(26,100,140,.15)}.playoff-builder-steps .is-upcoming{color:#72838d;background:#f8fafb}.playoff-builder-step-section{scroll-margin-top:16px;border-radius:16px;box-shadow:0 7px 22px rgba(32,70,92,.07)}.playoff-builder-step-section>.split-heading .eyebrow{color:#1b6487}.playoff-field-table td:first-child small,.playoff-field-table td[data-label="Rounds"] small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}.playoff-field-table td[data-label="Qualification"]{max-width:140px;font-size:.75rem;font-weight:750}.playoff-field-table .playoff-muted-value{color:#75858e;font-size:.74rem}.playoff-opening-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.playoff-opening-preview-card{overflow:hidden;border:1px solid #d4e0e6;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(27,66,89,.08)}.playoff-opening-preview-card header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;background:#eef5f8;border-bottom:1px solid #d4e0e6}.playoff-opening-preview-card header span{font-weight:900}.playoff-opening-preview-card header strong{font-size:.75rem;color:#456271}.playoff-opening-preview-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:#dfe8ed}.playoff-opening-preview-card dl div{padding:14px 9px;background:#fff;text-align:center}.playoff-opening-preview-card dt{font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#657983}.playoff-opening-preview-card dd{margin:5px 0 0;color:#163f57;font-size:1.35rem;font-weight:900}.playoff-builder-empty{display:grid;justify-items:center;gap:7px;padding:34px 18px;border:1px dashed #b7ccd7;border-radius:14px;background:#f8fbfc}.playoff-builder-empty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e7f1f6;color:#1b6487;font-size:1.6rem}.playoff-builder-actions{align-items:stretch;padding:13px;border:1px solid #d8e3e9;border-radius:13px;background:#f7fafb}.playoff-builder-actions form,.playoff-builder-actions .button{min-height:46px}.playoff-builder-actions .button{display:inline-flex;align-items:center;justify-content:center}.playoff-action-help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.playoff-action-help p{margin:0;padding:11px;border-radius:9px;background:#f5f8fa;font-size:.78rem}.playoff-admin-match-card{position:relative;overflow:hidden;border-radius:15px;box-shadow:0 7px 19px rgba(27,66,89,.08)}.playoff-admin-match-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#367b9d}.playoff-admin-match-card header{align-items:center;background:#f6f9fa}.playoff-admin-match-card header strong{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;background:#e6f0f5;color:#174e68;font-size:.72rem}.playoff-builder-confirmation{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:17px;box-shadow:0 24px 70px rgba(4,27,43,.32)}.playoff-builder-confirmation::backdrop{background:rgba(8,26,38,.68);backdrop-filter:blur(2px)}.playoff-builder-confirmation>div{display:grid;gap:14px;padding:clamp(18px,4vw,27px)}.playoff-builder-confirmation h2,.playoff-builder-confirmation p{margin:0}.playoff-builder-confirmation dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.playoff-builder-confirmation dl div{padding:11px;border-radius:10px;background:#f2f7f9}.playoff-builder-confirmation dt{font-size:.66rem;font-weight:850;text-transform:uppercase;color:#627984}.playoff-builder-confirmation dd{margin:4px 0 0;font-size:1.15rem;font-weight:900}.playoff-confirmation-warning{padding:11px;border-left:4px solid #c98517;border-radius:8px;background:#fff5df;color:#704205}.playoff-builder-confirmation.is-destructive .playoff-confirmation-warning{border-color:#b63e3e;background:#fdeaea;color:#8a2525}.playoff-builder-confirmation.is-destructive [data-builder-confirm-submit]{background:#a52f2f;border-color:#a52f2f}.playoff-builder-busy::before{content:"";display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:playoff-spin .7s linear infinite}.playoff-action-feedback .flash{box-shadow:0 8px 22px rgba(22,70,95,.12)}
@media(max-width:900px){.playoff-builder-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-steps::before{display:none}.playoff-opening-preview-grid{grid-template-columns:1fr}.playoff-field-table{min-width:0}.playoff-field-table thead{display:none}.playoff-field-table tbody{display:grid;gap:11px}.playoff-field-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;border:1px solid #d8e3e9;border-radius:13px;background:#fff;box-shadow:0 4px 13px rgba(27,66,89,.06)}.playoff-field-table td{display:grid;align-content:start;gap:5px;padding:0!important;border:0!important}.playoff-field-table td::before{content:attr(data-label);font-size:.62rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#687c87}.playoff-field-table td[data-label="Player"],.playoff-field-table td[data-label="Division"]{grid-column:1/-1}.playoff-field-table td[data-label="Qualification"]{max-width:none}.playoff-field-shell{overflow:visible}.playoff-field-table{width:100%}}
@media(max-width:620px){.playoff-builder-heading{align-items:stretch}.playoff-builder-heading .playoff-admin-heading-actions{display:grid;grid-template-columns:1fr}.playoff-builder-heading .button{width:100%}.playoff-builder-steps{grid-template-columns:1fr 1fr;gap:7px}.playoff-builder-steps a{min-height:66px;padding:10px}.playoff-builder-actions{display:grid;grid-template-columns:1fr}.playoff-builder-actions form,.playoff-builder-actions .button{width:100%}.playoff-action-help{grid-template-columns:1fr}.playoff-opening-preview-card dl{grid-template-columns:1fr 1fr}.playoff-opening-preview-card dl div:last-child{grid-column:1/-1}.playoff-builder-confirmation .dialog-actions{display:grid;grid-template-columns:1fr}.playoff-builder-confirmation .button{width:100%;min-height:46px}}
@media(max-width:360px){.playoff-builder-steps{grid-template-columns:1fr}.playoff-field-table tr{grid-template-columns:1fr}.playoff-field-table td[data-label="Player"],.playoff-field-table td[data-label="Division"]{grid-column:auto}.playoff-opening-preview-card header{align-items:flex-start;flex-direction:column}.playoff-builder-confirmation dl{grid-template-columns:1fr}}

/* Playoff Administration command center. Presentation only; qualification logic remains server-owned. */
.playoff-command-hero,.playoff-live-summary,.playoff-attention-center,.playoff-timeline-panel,.playoff-player-directory,.playoff-dashboard-panel{margin-bottom:20px}
.playoff-command-hero{overflow:hidden;padding:clamp(20px,4vw,34px);border:1px solid #174b61;border-radius:22px;background:radial-gradient(circle at 92% 8%,rgba(76,176,140,.24),transparent 34%),linear-gradient(135deg,#082e3c,#104d57 62%,#17604f);color:#fff;box-shadow:0 16px 38px rgba(13,55,69,.2)}
.playoff-command-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.playoff-command-heading h1{margin:.25rem 0 .45rem;color:#fff;font-size:clamp(1.65rem,4vw,2.55rem);line-height:1.05}.playoff-command-heading p{max-width:650px;margin:0;color:#d9eeeb}.playoff-command-heading .eyebrow{color:#9fe4cc}.playoff-command-actions{display:flex;flex-wrap:wrap;gap:8px}.playoff-command-actions .button{min-height:44px;border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(5px)}.playoff-command-actions .button:hover{background:#fff;color:#124a50}
.playoff-hero-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;margin-top:24px}.playoff-hero-facts article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 9px;align-items:center;min-width:0;height:100%;padding:12px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(0,0,0,.13)}.playoff-hero-facts article>div{display:grid;align-content:center;gap:3px;min-width:0}.playoff-fact-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.13);font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1rem;font-weight:400;line-height:1}.playoff-hero-facts small{display:block;color:#bce0dc;font-size:.64rem;font-weight:800;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}.playoff-hero-facts strong{display:block;min-width:0;color:#fff;font-size:.9rem;line-height:1.25;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.playoff-section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:12px}.playoff-section-heading h2{margin:.12rem 0 0;color:#153f50;font-size:clamp(1.2rem,3vw,1.55rem)}.playoff-section-heading p{max-width:580px;margin:.2rem 0 0;color:var(--muted);font-size:.8rem}.playoff-section-heading>.playoff-filter-count{font-weight:800;white-space:nowrap}.playoff-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.playoff-summary-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1px 9px;min-height:112px;padding:14px;border:1px solid #d6e2e6;border-radius:15px;background:#fff;color:#253f49;text-align:left;cursor:pointer;box-shadow:0 7px 20px rgba(26,67,81,.07);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.playoff-summary-card:hover,.playoff-summary-card:focus-visible{transform:translateY(-2px);box-shadow:0 11px 25px rgba(26,67,81,.12)}.playoff-summary-card[aria-pressed=true]{border-color:#145a65;box-shadow:0 0 0 3px rgba(20,90,101,.13)}.playoff-summary-symbol{grid-row:1/3;width:12px;height:12px;margin-top:7px;border:3px solid currentColor;border-radius:50%}.playoff-summary-card>strong{font-size:1.65rem;line-height:1}.playoff-summary-card>span:not(.playoff-summary-symbol){font-weight:850}.playoff-summary-card small{grid-column:1/-1;margin-top:6px;color:#61747c;font-size:.68rem;line-height:1.35}.summary-qualified{color:#197044}.summary-bubble{color:#65757d}.summary-needs-rounds{color:#9a7000}.summary-eliminated{color:#b13b3b}.summary-overrides{color:#2566a2}
.playoff-attention-center,.playoff-timeline-panel,.playoff-player-directory{padding:clamp(16px,3vw,22px);border:1px solid #d7e2e6;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(26,67,81,.06)}.playoff-attention-count{padding:5px 9px;border-radius:999px;background:#edf3f5;color:#345965;font-size:.72rem;font-weight:850}.playoff-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.playoff-attention-card{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:13px;border:1px solid #d9e3e6;border-radius:13px;background:#fbfcfc;color:#284550;text-decoration:none}.playoff-attention-card>span{width:10px;height:10px;border-radius:50%;background:#ca8c14}.playoff-attention-card strong{color:#153f50}.playoff-attention-card p{margin:3px 0 0;color:#687a81;font-size:.72rem;line-height:1.35}.playoff-attention-card b{font-size:1.2rem}.attention-critical>span{background:#b63d3d}.attention-info>span{background:#3373a9}
.playoff-command-empty{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed #b8ccd2;border-radius:13px;background:#f7fafb}.playoff-command-empty>span{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:50%;background:#e3f2eb;color:#1d704b;font-weight:900}.playoff-command-empty strong{color:#244651}.playoff-command-empty p{margin:3px 0 0;color:#6a7b82;font-size:.76rem}
.playoff-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:18px 0 0;padding:0;list-style:none}.playoff-timeline li{position:relative;display:grid;grid-template-columns:20px 1fr;gap:8px;min-width:0;padding-right:10px}.playoff-timeline li::before{content:"";position:absolute;top:8px;right:0;left:8px;height:2px;background:#d9e4e7}.playoff-timeline-marker{position:relative;z-index:1;width:17px;height:17px;border:4px solid #fff;border-radius:50%;background:#9aabb1;box-shadow:0 0 0 2px #9aabb1}.playoff-timeline .is-current .playoff-timeline-marker{background:#23805a;box-shadow:0 0 0 2px #23805a}.playoff-timeline div{position:relative;z-index:1;padding-top:28px}.playoff-timeline small{display:block;color:#687a81;font-size:.63rem;font-weight:850;text-transform:uppercase}.playoff-timeline strong{display:block;margin-top:3px;color:#173f4f;font-size:.82rem}.playoff-timeline p{margin:4px 0 0;color:#718087;font-size:.65rem;line-height:1.35}
.playoff-player-directory{scroll-margin-top:10px}.playoff-filter-shell{position:sticky;top:8px;z-index:15;margin:0 0 14px;border:1px solid #d6e2e6;border-radius:14px;background:rgba(249,252,252,.97);box-shadow:0 7px 18px rgba(28,65,79,.09);backdrop-filter:blur(8px)}.playoff-filter-compact{display:none;min-height:48px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 7px 5px 12px}.playoff-filter-compact>span{overflow:hidden;color:#173f4f;font-size:.78rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.playoff-filter-compact button{min-width:82px;min-height:40px;padding:6px 10px;border:1px solid #aec8d1;border-radius:9px;color:#155e67;background:#fff;font-weight:850}.playoff-filter-shell.is-compact .playoff-filter-compact{display:grid}.playoff-smart-filter{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.4fr) minmax(175px,.8fr);align-items:end;gap:10px;padding:10px}.playoff-smart-filter[hidden]{display:none!important}.playoff-smart-filter label{display:grid;gap:4px;color:#536b74;font-size:.65rem;font-weight:850;text-transform:uppercase}.playoff-smart-filter input,.playoff-smart-filter select{width:100%;min-height:44px;margin:0;background:#fff}.playoff-filter-buttons{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:thin}.playoff-filter-buttons button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid #ccdce1;border-radius:999px;background:#fff;color:#3d5964;font-weight:800;white-space:nowrap;cursor:pointer}.playoff-filter-buttons button b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#edf3f5;font-size:.68rem}.playoff-filter-buttons button[aria-pressed=true]{border-color:#155e67;background:#155e67;color:#fff}.playoff-filter-buttons button[aria-pressed=true] b{background:rgba(255,255,255,.2)}
.playoff-player-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.playoff-directory-card{position:relative;overflow:hidden;padding:14px;border:1px solid #d8e3e6;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(26,67,81,.055);transition:opacity .15s ease,transform .15s ease}.playoff-directory-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#758990}.playoff-directory-card.card-qualified::before{background:#238057}.playoff-directory-card.card-needs-one::before,.playoff-directory-card.card-needs-two::before{background:#d29b20}.playoff-directory-card.card-eliminated::before{background:#b54343}.playoff-directory-card[hidden]{display:none}.playoff-directory-card>header{display:flex;align-items:flex-start;gap:11px}.playoff-player-seed{display:grid;flex:0 0 auto;place-items:center;width:45px;height:48px;border-radius:11px;background:#edf3f5}.playoff-player-seed small{color:#687a81;font-size:.56rem;font-weight:850;text-transform:uppercase}.playoff-player-seed strong{color:#173f4f;font-size:1rem}.playoff-player-name{min-width:0}.playoff-player-name h3{overflow-wrap:anywhere;margin:1px 0 6px;color:#173f4f;font-size:1.05rem}.playoff-player-badges{display:flex;flex-wrap:wrap;gap:5px}.playoff-status-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;font-size:.63rem;font-weight:850}.status-qualified{background:#dff2e8;color:#17673f}.status-bubble{background:#e9eef0;color:#50636b}.status-needs-one,.status-needs-two{background:#fff0c8;color:#7b5700}.status-eliminated{background:#f8dddd;color:#982f2f}.status-override{background:#dcecff;color:#235e98}.playoff-card-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:13px 0}.playoff-card-facts div{min-width:0;padding:8px;border-radius:9px;background:#f5f8f9}.playoff-card-facts dt{color:#6d7d83;font-size:.56rem;font-weight:850;text-transform:uppercase}.playoff-card-facts dd{overflow-wrap:anywhere;margin:4px 0 0;color:#244651;font-size:.75rem;font-weight:850}.playoff-card-action{display:flex;justify-content:flex-end}.playoff-card-action form{margin:0}.playoff-card-action .button{min-height:42px}
.playoff-dashboard-panel{overflow:hidden;border:1px solid #d7e2e6;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(26,67,81,.06)}.playoff-dashboard-panel>summary{display:flex;align-items:center;gap:10px;min-height:64px;padding:14px 18px;cursor:pointer}.playoff-dashboard-panel>summary>span:first-child{display:grid;flex:1}.playoff-dashboard-panel>summary small{color:#6c7d84;font-size:.62rem;font-weight:850;text-transform:uppercase}.playoff-dashboard-panel>summary strong{color:#153f50;font-size:1.12rem}.playoff-dashboard-panel-body{padding:0 18px 18px}.playoff-setting-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.playoff-setting-card-grid fieldset{display:grid;align-content:start;gap:11px;min-width:0;margin:0;padding:16px;border:1px solid #d8e3e6;border-radius:14px;background:#fbfcfc}.playoff-setting-card-grid legend{padding:0 6px;color:#164858;font-weight:900}.playoff-setting-card-grid fieldset>p{margin:0;color:#687a81;font-size:.75rem}.playoff-setting-card-grid label{display:grid;gap:4px;color:#395762;font-size:.76rem;font-weight:800}.playoff-setting-card-grid input,.playoff-setting-card-grid select,.playoff-setting-card-grid textarea{width:100%;margin:0}.playoff-setting-card-grid label small{color:#75848a;font-weight:500}.playoff-enabled-toggle{grid-template-columns:auto 1fr!important;align-items:start}.playoff-enabled-toggle input{width:auto;margin-top:4px}.playoff-enabled-toggle span{display:grid}.playoff-settings-state{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;background:#edf5f2}.playoff-settings-actions{display:flex;justify-content:flex-end;margin-top:13px}
.playoff-activity-list{display:grid;gap:9px}.playoff-activity-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:13px;border:1px solid #dbe5e8;border-radius:13px;background:#fbfcfc}.playoff-activity-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e2edf1;color:#245d73}.playoff-activity-copy header{display:flex;align-items:start;justify-content:space-between;gap:12px}.playoff-activity-copy strong{color:#183f4f}.playoff-activity-copy time{color:#75858b;font-size:.68rem;white-space:nowrap}.playoff-activity-copy p{margin:4px 0;color:#50666f;font-size:.78rem}.playoff-activity-copy blockquote{margin:7px 0;padding:8px 10px;border-left:3px solid #4b7c91;background:#eef4f6;color:#405b65;font-size:.75rem}.playoff-activity-copy small{color:#74858b}
.playoff-action-loading::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:playoff-spin .7s linear infinite}.playoff-summary-card:focus-visible,.playoff-attention-card:focus-visible,.playoff-filter-buttons button:focus-visible,.playoff-dashboard-panel>summary:focus-visible{outline:3px solid #e2aa31;outline-offset:3px}
@media(max-width:980px){.playoff-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-attention-grid{grid-template-columns:1fr 1fr}.playoff-timeline{grid-template-columns:1fr}.playoff-timeline li{grid-template-columns:22px 1fr;padding:0 0 16px}.playoff-timeline li::before{inset:8px auto 0 8px;width:2px;height:auto}.playoff-timeline div{padding:0}.playoff-smart-filter{grid-template-columns:1fr 1fr}.playoff-filter-buttons{grid-column:1/-1;grid-row:1}.playoff-card-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.playoff-command-heading,.playoff-section-heading{align-items:stretch;flex-direction:column}.playoff-command-actions{display:grid;grid-template-columns:1fr}.playoff-command-actions .button{width:100%}.playoff-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-summary-card{min-height:105px}.playoff-attention-grid,.playoff-player-card-grid,.playoff-setting-card-grid{grid-template-columns:1fr}.playoff-filter-shell{top:4px}.playoff-smart-filter{grid-template-columns:1fr;padding:8px}.playoff-filter-buttons{grid-column:auto;grid-row:auto}.playoff-directory-card{padding:12px}.playoff-card-facts{margin:10px 0}.playoff-settings-actions .button{width:100%}.playoff-activity-copy header{align-items:flex-start;flex-direction:column;gap:3px}.playoff-activity-copy time{white-space:normal}}
@media(max-width:380px){.playoff-command-hero{padding:17px;border-radius:17px}.playoff-hero-facts{grid-template-columns:1fr}.playoff-summary-grid{gap:7px}.playoff-summary-card{min-height:98px;padding:11px}.playoff-summary-card>strong{font-size:1.4rem}.playoff-attention-center,.playoff-timeline-panel,.playoff-player-directory{padding:13px}.playoff-filter-shell{margin-right:-5px;margin-left:-5px}.playoff-directory-card{padding:10px}.playoff-card-facts{grid-template-columns:1fr 1fr}.playoff-card-action .button{width:100%}.playoff-card-action,.playoff-card-action form{width:100%}}
@media(prefers-reduced-motion:reduce){.playoff-summary-card,.playoff-directory-card{transition:none}.playoff-summary-card:hover,.playoff-summary-card:focus-visible{transform:none}.playoff-action-loading::before{animation:none}}

/* Batch 9 communication foundation */
.operations-communication-status{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;min-width:0;padding:10px 12px;border:1px solid #b9d7d8;border-radius:13px;color:var(--navy);background:linear-gradient(135deg,#f0fbfa,#fff);box-shadow:0 3px 10px rgba(8,74,76,.07);text-decoration:none}.operations-communication-status>div{display:grid}.operations-communication-status small{color:#247076;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.operations-communication-status dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.operations-communication-status dl div{min-width:0;padding:5px 7px;border-radius:8px;background:#fff}.operations-communication-status dt{color:var(--muted);font-size:.62rem}.operations-communication-status dd{margin:1px 0 0;font-size:.82rem;font-weight:900}.operations-communication-status>b{color:var(--teal);font-size:.74rem;white-space:nowrap}
.communication-center{display:grid;gap:14px;min-width:0}.communication-center-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#103d59,#146b6c)}.communication-center-header h1{margin:.2rem 0;color:#fff}.communication-center-header p{margin:0;color:#d9efef}.communication-center-header .eyebrow{color:#b7e1dd}.communication-health-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.communication-health-grid article{display:grid;align-content:center;min-width:0;min-height:88px;padding:12px;border:1px solid var(--border);border-radius:13px;background:#fff}.communication-health-grid small{color:var(--muted);font-size:.65rem;font-weight:800}.communication-health-grid strong{margin-top:5px;color:var(--navy);font-size:1.5rem}.communication-channel-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.communication-channel-status>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:#f7faf9}.communication-center-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.communication-test-form{display:grid;gap:13px}.communication-test-form fieldset{margin:0;padding:12px;border:1px solid var(--border);border-radius:11px}.communication-channel-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.communication-channel-choices label{display:flex;min-height:44px;align-items:center;gap:7px;padding:7px;border-radius:8px;background:#f4f8f8}.communication-history{display:grid;gap:8px;margin-top:12px}.communication-history article{display:grid;gap:8px;padding:11px;border:1px solid var(--border);border-radius:11px;background:#fafcfc}.communication-history article>div{display:grid}.communication-history small{color:var(--muted)}.communication-history dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0}.communication-history dl div{padding:6px;border-radius:7px;background:#edf4f4}.communication-history dt{color:var(--muted);font-size:.62rem}.communication-history dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.72rem;font-weight:850}
.communication-preferences>.container{display:grid;gap:14px}.communication-preference-form,.push-device-panel,.trusted-device-panel{display:grid;gap:13px}.communication-toggle{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:11px;background:#f8fbfb}.communication-toggle>span:first-child{display:grid}.communication-toggle small{color:var(--muted)}.communication-toggle input{width:24px;height:24px}.communication-toggle.is-locked{background:#eef7f2}.communication-actions{display:flex;flex-wrap:wrap;gap:8px}.communication-inline-status{min-height:1.25em;margin:0;color:var(--teal);font-weight:750}.push-qa-diagnostics{padding:12px;border:1px solid rgba(16,42,67,.16);border-radius:12px;background:#f8fafc}.push-qa-diagnostics ul{display:grid;gap:4px;margin:8px 0 0;padding-left:20px}.push-qa-diagnostics li{overflow-wrap:anywhere}.registered-device-list{display:grid;gap:7px}.registered-device-list h3{margin:5px 0}.registered-device-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fafcfc}.registered-device-list article>div{display:grid;min-width:0}.registered-device-list small{color:var(--muted)}.communication-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.communication-reactions button{min-height:36px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:var(--navy);background:#fff;font-size:.68rem}.communication-reactions button[aria-pressed=true]{border-color:var(--teal);color:#fff;background:var(--teal)}.communication-reactions span{align-self:center;color:var(--muted);font-size:.68rem}
@media(max-width:900px){.communication-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.communication-center-grid{grid-template-columns:1fr}}
@media(max-width:600px){.operations-communication-status{grid-template-columns:minmax(0,1fr) auto}.operations-communication-status dl{grid-column:1/-1}.communication-center-header{align-items:stretch;flex-direction:column;padding:14px}.communication-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-channel-status{grid-template-columns:1fr}.communication-channel-choices{grid-template-columns:1fr}.registered-device-list article{align-items:stretch;flex-direction:column}.registered-device-list article .button{width:100%}.communication-actions{display:grid}.communication-history dl{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:340px){.communication-health-grid{grid-template-columns:1fr}.communication-history dl{grid-template-columns:1fr}}

/* Playoff Builder command center redesign. Existing bracket behavior remains server-owned. */
.playoff-builder-command-hero,.playoff-builder-status-center,.playoff-builder-attention,.playoff-builder-settings-overview{margin-bottom:20px}
.playoff-builder-command-hero{overflow:hidden;padding:clamp(20px,4vw,34px);border:1px solid #183f64;border-radius:22px;background:radial-gradient(circle at 88% 6%,rgba(218,174,72,.24),transparent 35%),linear-gradient(135deg,#0a2941,#174d68 60%,#1d655b);color:#fff;box-shadow:0 16px 40px rgba(13,48,70,.21)}
.playoff-builder-command-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.playoff-builder-command-heading h1{margin:.25rem 0 .45rem;color:#fff;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.05}.playoff-builder-command-heading p{max-width:650px;margin:0;color:#dbeaf0}.playoff-builder-command-heading .eyebrow{color:#f1d38b}.playoff-builder-command-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.playoff-builder-command-actions .button{min-height:44px;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.11);color:#fff;backdrop-filter:blur(6px)}.playoff-builder-command-actions .button:hover,.playoff-builder-command-actions .button:focus-visible{background:#fff;color:#174b61}
.playoff-builder-hero-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:24px}.playoff-builder-hero-facts article{display:grid;min-width:0;gap:3px;padding:11px 12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(0,0,0,.13)}.playoff-builder-hero-facts small{color:#bcdce5;font-size:.6rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.playoff-builder-hero-facts strong{overflow:hidden;color:#fff;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}
.playoff-builder-wizard{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 20px;padding:9px;border:1px solid #d6e2e8;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(27,66,89,.07)}.playoff-builder-wizard::before{right:8%;left:8%;top:31px}.playoff-builder-wizard a{position:relative;z-index:1;display:grid;align-content:center;min-height:76px;padding:11px 12px;border:1px solid #d9e4e9;border-radius:12px;background:#f7fafb;text-decoration:none}.playoff-builder-wizard a span{font-size:.61rem}.playoff-builder-wizard a strong{font-size:.78rem}.playoff-builder-wizard a small{margin-top:3px;color:#74868f;font-size:.58rem}.playoff-builder-wizard .is-current{border-color:#2c728e;background:#e9f3f7;box-shadow:0 0 0 3px rgba(44,114,142,.12)}.playoff-builder-wizard .is-complete{border-color:#8ac3a6;background:#eaf5ef}.playoff-builder-wizard .is-upcoming{opacity:.68}.playoff-builder-wizard a[aria-disabled=true]{pointer-events:none}
.playoff-builder-status-center,.playoff-builder-attention{padding:clamp(16px,3vw,22px);border:1px solid #d6e2e7;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(27,66,89,.06)}.playoff-builder-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.playoff-builder-section-heading h2{margin:.1rem 0 0;color:#153f52;font-size:clamp(1.2rem,3vw,1.55rem)}.playoff-builder-section-heading p,.playoff-builder-section-heading>span{margin:0;color:#697d86;font-size:.75rem}.playoff-builder-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.playoff-builder-status-card{display:grid;gap:4px;min-height:99px;padding:13px;border:1px solid #d8e3e8;border-top:4px solid #3c7892;border-radius:13px;background:#fbfcfc;color:#274b5a;text-decoration:none;box-shadow:0 4px 13px rgba(27,66,89,.05);transition:transform .15s ease,box-shadow .15s ease}.playoff-builder-status-card:hover,.playoff-builder-status-card:focus-visible{transform:translateY(-2px);box-shadow:0 9px 20px rgba(27,66,89,.12)}.playoff-builder-status-card small{font-size:.62rem;font-weight:850;text-transform:uppercase}.playoff-builder-status-card strong{font-size:1.45rem;line-height:1}.playoff-builder-status-card span{align-self:end;color:#71838a;font-size:.64rem}.status-card-qualified{border-top-color:#23805a}.status-card-seeds{border-top-color:#367f9f}.status-card-byes{border-top-color:#d09a27}.status-card-ready{border-top-color:#6c8190}.status-card-generated{border-top-color:#755fa5}.status-card-published{border-top-color:#237047}
.playoff-builder-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.playoff-builder-attention-grid>a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:76px;padding:13px;border:1px solid #dae4e8;border-radius:13px;background:#fbfcfc;color:#284b59;text-decoration:none}.playoff-builder-attention-grid i{width:10px;height:10px;border-radius:50%;background:#cf9720}.playoff-builder-attention-grid strong{color:#173f51}.playoff-builder-attention-grid p{margin:3px 0 0;color:#6b7d84;font-size:.7rem;line-height:1.35}.playoff-builder-attention-grid b{font-size:1.15rem}.playoff-builder-attention-grid .attention-critical i{background:#b84242}.playoff-builder-attention-grid .attention-override i{background:#3374aa}.playoff-builder-empty-state{padding:18px;border:1px dashed #b8cbd3;border-radius:13px;background:#f7fafb;text-align:center}.playoff-builder-empty-state strong{color:#214858}.playoff-builder-empty-state p{margin:4px 0 0;color:#6c7e85;font-size:.76rem}
.playoff-builder-settings-overview{padding:clamp(16px,3vw,22px);border:1px solid #d6e2e7;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(27,66,89,.06)}.playoff-builder-settings-overview>.playoff-builder-section-heading>a{color:#24627b;font-size:.74rem;font-weight:850}.playoff-builder-settings-overview>div:last-child{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.playoff-builder-settings-overview>div:last-child>a{display:grid;gap:4px;min-width:0;padding:12px;border:1px solid #d9e4e8;border-radius:12px;background:#f8fafb;color:#294c5b;text-decoration:none}.playoff-builder-settings-overview small{color:#697d85;font-size:.6rem;font-weight:850;text-transform:uppercase}.playoff-builder-settings-overview strong{overflow-wrap:anywhere;font-size:.8rem}.playoff-builder-settings-overview span{color:#71838a;font-size:.64rem;line-height:1.35}
.playoff-builder-step-section{scroll-margin-top:12px;border:1px solid #d6e2e7!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(27,66,89,.06)!important}.playoff-builder-step-section>.split-heading{padding-bottom:12px;border-bottom:1px solid #e0e8eb}.playoff-setup-workflow .playoff-primary-action{border:1px solid #c7dce5;border-radius:14px;background:linear-gradient(135deg,#edf7f8,#f7fbfb)}.playoff-setup-checklist li{border-radius:11px}.playoff-setup-checklist .is-current{box-shadow:inset 3px 0 #2f7895}
.playoff-builder-filter-bar{position:sticky;top:7px;z-index:16;display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr) minmax(125px,.7fr);align-items:end;gap:9px;margin:0 0 13px;padding:10px;border:1px solid #d4e1e6;border-radius:14px;background:rgba(249,252,252,.97);box-shadow:0 7px 19px rgba(27,66,89,.1);backdrop-filter:blur(8px)}.playoff-builder-filter-bar input,.playoff-builder-filter-bar select{width:100%;min-height:44px;margin:0}.playoff-builder-sort-label{display:grid;gap:3px;color:#526b75;font-size:.65rem;font-weight:850}.playoff-builder-filter-bar .playoff-division-filters{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto}.playoff-builder-filter-bar .playoff-division-filters button{flex:0 0 auto;min-height:44px;padding:7px 10px;border-radius:999px;white-space:nowrap}.playoff-builder-filter-bar .playoff-division-filters button strong{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 4px;border-radius:999px;background:rgba(0,0,0,.07)}
.playoff-builder-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.playoff-builder-player-card{position:relative;display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid #d8e3e7;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(27,66,89,.06);transition:opacity .15s ease,transform .15s ease}.playoff-builder-player-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#28805c}.playoff-builder-player-card[hidden]{display:none}.playoff-builder-player-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.playoff-builder-player-card h3{overflow-wrap:anywhere;margin:2px 0 0;color:#183f51;font-size:1.05rem}.playoff-builder-player-card header small{color:#6d7f87;font-size:.63rem;font-weight:850;text-transform:uppercase}.playoff-builder-player-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}.playoff-builder-player-card dl div{min-width:0;padding:8px;border-radius:9px;background:#f4f8f9}.playoff-builder-player-card dt{color:#718188;font-size:.54rem;font-weight:850;text-transform:uppercase}.playoff-builder-player-card dd{overflow-wrap:anywhere;margin:4px 0 0;color:#284b5a;font-size:.72rem;font-weight:850}.playoff-builder-player-controls{display:grid;grid-template-columns:82px 1fr;align-items:end;gap:9px}.playoff-builder-player-controls>label{display:grid;gap:4px;color:#526c76;font-size:.65rem;font-weight:850}.playoff-builder-player-controls input{width:100%;min-height:44px;margin:0}.playoff-builder-player-controls .playoff-division-segments{min-width:0}.playoff-builder-override-note{display:flex;align-items:center;gap:7px;margin:0;color:#61747c;font-size:.69rem}
.playoff-opening-preview-grid{gap:11px}.playoff-opening-preview-card{position:relative;border:1px solid #d3e0e6;border-radius:16px;box-shadow:0 8px 22px rgba(27,66,89,.08);transition:transform .15s ease,box-shadow .15s ease}.playoff-opening-preview-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#3d7b96}.playoff-opening-preview-card.division-good::before{background:#287f5b}.playoff-opening-preview-card.division-bad::before{background:#c59322}.playoff-opening-preview-card.division-ugly::before{background:#a54949}.playoff-opening-preview-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(27,66,89,.13)}.playoff-opening-preview-card header{padding:15px 17px;background:#f5f9fa}.playoff-opening-preview-card dl div{padding:16px 10px}.playoff-opening-preview-card dd{font-size:1.55rem}
.playoff-admin-match-grid{gap:12px}.playoff-admin-match-card{border:1px solid #d5e1e6!important;border-radius:16px!important;box-shadow:0 8px 22px rgba(27,66,89,.08)!important}.playoff-admin-match-card header{margin:-14px -14px 12px;padding:12px 14px!important;border-bottom:1px solid #dce6ea;background:#f3f7f9!important}.playoff-admin-match-card header span{font-size:.68rem;font-weight:850;text-transform:uppercase}.playoff-admin-match-card.is-bye::before{background:#ca9323}.playoff-bye-note{display:flex;align-items:center;gap:8px;padding:10px;border-radius:9px;background:#fff2cf;color:#73520c}.playoff-bye-note strong{padding:3px 7px;border-radius:999px;background:#d59d28;color:#fff}.playoff-stroke-admin{border:1px solid #d7e2e7;border-radius:10px;background:#f8fafb}.playoff-stroke-admin summary{min-height:44px;padding:9px}
.playoff-builder-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid #d5e2e7;border-radius:14px;background:#f7fafb}.playoff-builder-actions form{margin:0}.playoff-builder-actions .button{min-height:46px}.playoff-builder-actions .button-primary{box-shadow:0 5px 14px rgba(24,102,83,.18)}.playoff-action-help{border-top:1px solid #e0e8eb;padding-top:12px}.playoff-builder-confirmation{border-radius:19px}.playoff-builder-confirmation>div{gap:15px}.playoff-builder-confirmation dl{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-builder-confirmation dl div{border:1px solid #dce6e9;background:#f6f9fa}.playoff-builder-confirmation dd{font-size:1.05rem}.playoff-builder-confirmation[open]{animation:builder-dialog-in .16s ease-out}.playoff-builder-confirmation::backdrop{background:rgba(4,24,37,.72)}@keyframes builder-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.playoff-builder-player-card:focus-within,.playoff-opening-preview-card:focus-within{border-color:#2c7893;box-shadow:0 0 0 3px rgba(44,120,147,.13)}.playoff-builder-status-card:focus-visible,.playoff-builder-attention-grid>a:focus-visible,.playoff-builder-wizard a:focus-visible{outline:3px solid #e0aa34;outline-offset:3px}
@media(max-width:1050px){.playoff-builder-hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-builder-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-builder-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-settings-overview>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}.playoff-builder-filter-bar{grid-template-columns:1fr 2fr}.playoff-builder-sort-label{grid-column:1/-1}.playoff-builder-sort-label select{max-width:220px}}
@media(max-width:760px){.playoff-builder-command-heading,.playoff-builder-section-heading{align-items:stretch;flex-direction:column}.playoff-builder-command-actions{display:grid;grid-template-columns:1fr}.playoff-builder-command-actions .button{width:100%}.playoff-builder-wizard{grid-template-columns:1fr 1fr}.playoff-builder-wizard::before{display:none}.playoff-builder-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-attention-grid,.playoff-builder-player-grid{grid-template-columns:1fr}.playoff-builder-settings-overview>div:last-child{grid-template-columns:1fr 1fr}.playoff-builder-filter-bar{grid-template-columns:1fr;top:4px}.playoff-builder-sort-label{grid-column:auto}.playoff-builder-sort-label select{max-width:none}.playoff-builder-player-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-confirmation dl{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-actions{display:grid;grid-template-columns:1fr}.playoff-builder-actions form,.playoff-builder-actions .button{width:100%}}
@media(max-width:430px){.playoff-builder-command-hero{padding:17px;border-radius:17px}.playoff-builder-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-builder-wizard{gap:7px;padding:7px}.playoff-builder-wizard a{min-height:72px;padding:9px}.playoff-builder-status-center,.playoff-builder-attention{padding:13px}.playoff-builder-filter-bar{margin-right:-5px;margin-left:-5px;padding:7px}.playoff-builder-player-controls{grid-template-columns:1fr}.playoff-builder-player-card{padding:12px}.playoff-builder-player-card>header{align-items:flex-start;flex-direction:column}.playoff-builder-player-card .playoff-status-badge{align-self:flex-start}.playoff-builder-confirmation dl{grid-template-columns:1fr 1fr}}
@media(max-width:340px){.playoff-builder-hero-facts,.playoff-builder-status-grid,.playoff-builder-wizard,.playoff-builder-settings-overview>div:last-child{grid-template-columns:1fr}.playoff-builder-confirmation dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.playoff-builder-status-card,.playoff-builder-player-card,.playoff-opening-preview-card{transition:none}.playoff-builder-status-card:hover,.playoff-opening-preview-card:hover{transform:none}.playoff-builder-confirmation[open]{animation:none}}

/* Playoff Builder Phase 3: one-decision-at-a-time guided workflow. */
.playoff-wizard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:clamp(18px,4vw,30px);border:1px solid #d4e1e6;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(27,66,89,.07)}.playoff-wizard-hero h1{margin:.2rem 0 .35rem;color:#153f52;font-size:clamp(1.65rem,4vw,2.4rem)}.playoff-wizard-hero p{margin:0;color:#697d85}.playoff-guided-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 16px}.playoff-guided-progress button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:9px;border:1px solid #d8e3e7;border-radius:12px;background:#f8fafb;color:#667a83;text-align:left;cursor:pointer}.playoff-guided-progress button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e6edef;font-weight:900}.playoff-guided-progress button strong{font-size:.72rem}.playoff-guided-progress .is-complete{border-color:#a8cdb9;background:#eff8f3;color:#266449}.playoff-guided-progress .is-complete>span{background:#2b805c;color:#fff}.playoff-guided-progress .is-current,.playoff-guided-progress .is-viewing{border-color:#347a95;background:#eaf4f7;color:#174c62;box-shadow:0 0 0 3px rgba(52,122,149,.11)}.playoff-guided-progress .is-current>span{background:#347a95;color:#fff}.playoff-guided-progress .is-future{opacity:.55;cursor:not-allowed}.playoff-guided-progress button:focus-visible{outline:3px solid #e0aa34;outline-offset:2px}
.playoff-guided-attention{display:grid;gap:3px;max-width:760px;margin:0 auto 20px;padding:13px 16px;border-left:4px solid #d09a27;border-radius:10px;background:#fff9e9}.playoff-guided-attention strong{color:#5d4816}.playoff-guided-attention p{margin:0;color:#74633b;font-size:.76rem}.playoff-guided-panel{max-width:940px;margin-right:auto!important;margin-left:auto!important;padding:clamp(18px,4vw,30px)!important;scroll-margin-top:12px}.playoff-guided-panel[hidden]{display:none!important}.playoff-guided-panel>.split-heading{margin-bottom:16px}.playoff-guided-panel h2{font-size:clamp(1.35rem,4vw,1.85rem)}.playoff-setup-workflow>.playoff-checklist-summary,.playoff-setup-workflow>.playoff-setup-checklist,.playoff-setup-workflow>.playoff-primary-action,.playoff-setup-workflow>.playoff-published-message{display:none!important}
.playoff-guided-decision{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid #d8e3e7;border-radius:16px;background:#f8fafb}.playoff-guided-decision>div{display:grid}.playoff-guided-decision small{color:#6b7d85;font-size:.65rem;font-weight:850;text-transform:uppercase}.playoff-guided-decision strong{color:#153f52;font-size:2.2rem;line-height:1.1}.playoff-guided-decision span{color:#2b7657;font-size:.75rem;font-weight:850}.playoff-guided-player-review{margin-top:12px;padding:12px;border:1px solid #dbe5e8;border-radius:12px}.playoff-guided-player-review[hidden]{display:none}.playoff-guided-player-review ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.playoff-guided-player-review li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-radius:8px;background:#f6f9fa}.playoff-guided-player-review li span{color:#708188;font-size:.68rem}
[data-guided-step-panel="2"] .playoff-builder-player-card dl,[data-guided-step-panel="2"] .playoff-builder-player-card>header>.playoff-status-badge,[data-guided-step-panel="2"] .playoff-builder-override-note,[data-guided-step-panel="2"] [data-division-filter="qualified"],[data-guided-step-panel="2"] [data-division-filter="overrides"]{display:none}[data-guided-step-panel="2"] .playoff-builder-player-card{gap:9px}[data-guided-step-panel="2"] .playoff-builder-player-card>header{padding-bottom:8px;border-bottom:1px solid #e1e9ec}
.playoff-guided-preview-gate,.playoff-guided-action-heading{display:grid;justify-items:center;gap:7px;padding:clamp(24px,6vw,50px) 16px;text-align:center}.playoff-guided-preview-gate h2,.playoff-guided-action-heading h2{margin:0;color:#153f52;font-size:clamp(1.55rem,5vw,2.15rem)}.playoff-guided-preview-gate>strong,.playoff-guided-action-heading>strong{padding:6px 11px;border-radius:999px;background:#e8f4ed;color:#276b4d;font-size:.75rem}.playoff-guided-preview-gate p,.playoff-guided-action-heading p{max-width:560px;margin:0 0 12px;color:#687b83}.playoff-guided-preview-gate .button,.playoff-guided-action-heading+.playoff-bracket-action-error+.playoff-builder-actions .button-primary{min-width:min(100%,280px);min-height:52px;font-size:1rem}.playoff-guided-preview-content[hidden]{display:none}.playoff-guided-preview-content>.playoff-opening-preview-grid{margin-top:12px}.playoff-guided-continue{display:flex!important;min-height:50px;margin:18px auto 0}.playoff-guided-panel .playoff-builder-actions{justify-content:center;border:0;background:transparent}.playoff-guided-panel .playoff-builder-actions>form,.playoff-guided-panel .playoff-builder-actions>.button{flex:0 1 300px}.playoff-guided-panel .playoff-builder-actions .button{width:100%;min-height:52px}.playoff-guided-panel .playoff-builder-actions form:has(input[value="confirm_matchups"]) .button{background:#176c58;border-color:#176c58;color:#fff}.playoff-guided-panel .playoff-builder-actions form:has(input[value="lock"]) .button{background:#176c58;border-color:#176c58;color:#fff}
.playoff-guided-success{display:grid;justify-items:center;max-width:760px;margin:20px auto;padding:clamp(30px,7vw,58px) 20px;border:1px solid #a9d0ba;border-radius:20px;background:linear-gradient(145deg,#f2faf5,#fff);text-align:center;box-shadow:0 14px 34px rgba(33,105,74,.11)}.playoff-guided-success>span{font-size:3rem}.playoff-guided-success h2{margin:.1rem 0;color:#19563d;font-size:clamp(1.8rem,6vw,2.7rem)}.playoff-guided-success>strong{color:#287052}.playoff-guided-success>p:not(.eyebrow){margin:.3rem 0 18px;color:#62766c}.playoff-guided-success>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.playoff-guided-success .button{min-height:46px}
.playoff-guided-secondary{display:none}.playoff-guided-advanced{max-width:940px;margin:24px auto!important;border-radius:16px!important}.playoff-guided-advanced>summary{display:flex;align-items:center;min-height:58px;padding:14px 18px;cursor:pointer}.playoff-guided-advanced>summary span{display:grid}.playoff-guided-advanced>summary small{color:#718188;font-size:.68rem}.playoff-guided-advanced [data-guided-advanced-content]{display:grid;gap:12px;padding:0 16px}.playoff-guided-advanced [data-guided-advanced-content]:empty{display:none}.playoff-guided-advanced [data-guided-advanced-content]>.admin-section,.playoff-guided-advanced [data-guided-advanced-content]>.playoff-admin-status{margin:0!important;box-shadow:none!important}.playoff-guided-advanced [data-guided-advanced-content]>.button{justify-self:start}.playoff-guided-advanced .playoff-advanced-body{margin-top:14px;border-top:1px solid #e0e8eb}.playoff-guided-advanced:not([open]) [data-guided-advanced-content],.playoff-guided-advanced:not([open]) .playoff-advanced-body{display:none}
@media(max-width:760px){.playoff-wizard-hero{align-items:stretch;flex-direction:column}.playoff-wizard-hero .button{width:100%}.playoff-guided-progress{grid-template-columns:1fr}.playoff-guided-progress button{min-height:50px}.playoff-guided-progress .is-future{display:none}.playoff-guided-decision{align-items:stretch;flex-direction:column}.playoff-guided-decision .button{width:100%}.playoff-guided-player-review ul{grid-template-columns:1fr}.playoff-guided-player-review li{align-items:flex-start;flex-direction:column}.playoff-guided-panel{padding:16px!important}.playoff-guided-panel .playoff-builder-filter-bar{position:static}.playoff-guided-success>div{display:grid;width:100%}.playoff-guided-success .button{width:100%}}
@media(max-width:360px){.playoff-wizard-hero{padding:15px}.playoff-guided-panel{padding:13px!important}.playoff-guided-decision{padding:16px}.playoff-guided-preview-gate,.playoff-guided-action-heading{padding:20px 8px}}
@media(prefers-reduced-motion:reduce){.playoff-guided-progress button,.playoff-guided-panel{scroll-behavior:auto}}

/* 475 Polish Batch 1: shared UI, homepage, and navigation consistency. */
.admin-page-heading{min-width:0;margin-bottom:var(--page-gap)}
.admin-page-heading h1{margin:5px 0 8px;color:var(--navy);font-family:Georgia,serif;font-size:clamp(1.9rem,5vw,2.4rem);font-weight:500;line-height:1.08}
.admin-page-heading p{max-width:760px;margin:0;color:var(--muted)}
.page-heading-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.admin-back-link{display:inline-flex;min-height:44px;align-items:center;gap:7px;margin:0 0 12px;padding:8px 11px;color:var(--teal-dark);border:1px solid #a9c9c3;border-radius:9px;font-size:.8rem;font-weight:850;line-height:1.2}
.admin-back-link:hover{background:#edf8f5;border-color:var(--teal)}
.home-section-heading{max-width:720px;margin-bottom:var(--page-gap)}
.home-section-heading h2{margin:6px 0 0;color:var(--navy);font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.65rem);font-weight:500;line-height:1.08}
.home-feature-grid article{grid-template-rows:auto auto 1fr auto;min-width:0;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.home-feature-grid a{display:inline-flex;min-height:44px;align-items:center;align-self:end;overflow-wrap:anywhere}
.home-leaders-section .leader-card{min-width:0;overflow-wrap:anywhere}
.main-nav .player-menu-card{gap:9px;min-width:0;border-color:var(--line);background:#fff}
.main-nav .player-menu-card[aria-current="page"]{border-color:#79b9ad;background:#edf8f5;box-shadow:inset 0 -3px var(--teal)}
.player-menu-card>span{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;line-height:1}
.player-menu-card>strong{min-width:0;line-height:1.2;overflow-wrap:anywhere}
.admin-nav a{gap:8px;min-width:0;line-height:1.2;overflow-wrap:normal;word-break:normal}
.admin-nav a:hover,.admin-nav a[aria-current="page"]{background:rgba(255,255,255,.12)}
.admin-nav a[aria-current="page"]{border-color:rgba(140,214,197,.65);box-shadow:inset 0 -3px #8cd6c5}
.admin-nav-label{flex:1 1 auto;min-width:0;overflow-wrap:normal;word-break:normal;white-space:normal}
.admin-menu-icon{flex:0 0 20px;width:20px;height:20px}
.gps-round-type-card,.gps-round-type-card form,.gps-round-tee-choice,.gps-tee-options,.gps-tee-options label,.gps-tee-options span{min-width:0;max-width:100%}
.gps-round-tee-choice,.gps-round-tee-choice *{overflow-wrap:normal;word-break:normal}
@media(max-width:760px){
    .admin-page-heading{align-items:stretch;gap:14px}
    .admin-page-heading>.button{width:100%}
}
@media(max-width:520px){
    .home-feature-section,.home-leaders-section{padding-block:36px}
}

/* 475 Polish Batch 2: announcements and attendance. */
.announcement-stack{gap:10px}
.announcement-banner{min-width:0;padding:14px 16px;overflow:hidden;transition:padding .2s ease,border-color .2s ease,box-shadow .2s ease}
.announcement-toggle{min-height:48px;padding:9px 10px 9px 12px}
.announcement-toggle-copy{display:flex;min-width:0;align-items:center;gap:10px}
.announcement-toggle-copy>span:last-child{min-width:0;overflow-wrap:anywhere}
.announcement-icon{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;color:#704b00;background:#f8d36e;border-radius:50%;font-family:Georgia,serif;font-weight:900}
.announcement-body{display:grid!important;max-height:60rem;gap:5px;margin-top:10px;overflow:hidden;opacity:1;transition:max-height .24s ease,margin .24s ease,opacity .18s ease,transform .24s ease;transform:translateY(0)}
.announcement-body h2{font-size:clamp(1.2rem,4vw,1.55rem);line-height:1.15;overflow-wrap:anywhere}
.announcement-body p{max-width:78ch;white-space:pre-line;overflow-wrap:anywhere}
.announcement-body small{color:#715f43}
.announcement-read-button{justify-self:start;min-width:132px;min-height:44px;margin-top:5px}
.collapsible-announcement.is-collapsed{padding:8px 10px;border-color:#eadba9;box-shadow:0 4px 14px rgba(8,35,51,.05)}
.collapsible-announcement.is-collapsed .announcement-body{display:grid!important;max-height:0;margin:0;opacity:0;transform:translateY(-6px);pointer-events:none}
.announcement-row{min-width:0;align-items:start;padding:16px;border-radius:13px}
.announcement-row>.stack-form,.announcement-row>div:first-child{min-width:0;flex:1}
.announcement-row textarea,.announcement-row input{max-width:100%}
.announcement-row p,.announcement-row strong{overflow-wrap:anywhere}
.announcement-archive>summary{display:flex;min-height:48px;align-items:center}
.hq-card .empty-state{margin-top:12px;padding:20px;border:1px dashed #c8d6d1;border-radius:13px;background:#f8fbfa;text-align:center}
.hq-card .empty-state h2{margin:0;color:var(--navy);font-size:1.2rem}
.hq-card .empty-state p{margin:5px 0 0;color:var(--muted)}
.account-attendance-card{min-width:0;gap:14px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.account-attendance-card>*,.attendance-edit-panel,.attendance-choice-grid{min-width:0}
.attendance-collapsed-message{align-items:center;gap:9px;line-height:1.2}
.account-attendance-card.is-collapsed .attendance-collapsed-message{display:flex}
.attendance-confirmation-icon{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:50%;background:#dcefe5;color:#166534;font-family:system-ui,sans-serif;font-size:1rem;font-weight:1000}
.status-not_playing .attendance-confirmation-icon{background:#fee2e2;color:#991b1b}
.status-unsure .attendance-confirmation-icon{background:#fef3c7;color:#854d0e}
.attendance-edit-panel summary{min-height:44px;align-items:center;gap:8px}
.attendance-edit-label{font-size:.78rem;font-weight:900}
.attendance-choice-grid label,.attendance-choice-card{min-width:0;overflow-wrap:anywhere}
.attendance-member-actions{min-width:0;flex-wrap:wrap}
.attendance-member-actions small{overflow-wrap:anywhere}
.attendance-countdown{max-width:100%;line-height:1.25;white-space:normal}
.attendance-form[aria-busy="true"],.account-attendance-card[aria-busy="true"]{pointer-events:none;opacity:.78}
.attendance-form button[aria-busy="true"],.account-attendance-card button[aria-busy="true"]{cursor:wait}
.attendance-status-options{min-width:0}
.attendance-table td:first-child strong{display:block;max-width:28ch;overflow-wrap:anywhere}
.attendance-totals span{min-width:0;overflow-wrap:anywhere}
.attendance-status-card.is-confirmed{animation:attendance-confirmed .38s ease-out}
@keyframes attendance-confirmed{0%{transform:scale(.985);box-shadow:0 0 0 0 rgba(24,134,75,.2)}70%{box-shadow:0 0 0 5px rgba(24,134,75,.08)}100%{transform:none;box-shadow:var(--shadow)}}
@media(max-width:760px){
    .announcement-banner{padding:12px}
    .announcement-toggle{align-items:flex-start}
    .announcement-toggle-copy{align-items:flex-start}
    .announcement-row{grid-template-columns:minmax(0,1fr)}
    .announcement-row .qa-inline-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0}
    .announcement-row .qa-inline-actions form,.announcement-row .qa-inline-actions .button{width:100%}
    .account-attendance-section{margin-top:-18px}
    .account-attendance-card{padding:17px}
    .attendance-form .table-shell{overflow:visible}
    .attendance-table,.attendance-table tbody,.attendance-table tr,.attendance-table td{display:block;width:100%;min-width:0}
    .attendance-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
    .attendance-table tbody{display:grid;gap:12px}
    .attendance-table tr{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-card)}
    .attendance-table td,.attendance-table td:first-child{position:static;padding:8px 0;border:0;background:transparent}
    .attendance-table td+td{border-top:1px solid var(--line)}
    .attendance-table td::before{display:block;margin-bottom:5px;color:var(--muted);content:attr(data-label);font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
    .attendance-table td:first-child strong{max-width:none;font-size:1rem}
    .attendance-status-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .attendance-status-options label,.attendance-clear-response{min-height:54px;padding:8px;font-size:.76rem}
    .attendance-actions{gap:10px}
}
@media(max-width:520px){
    .announcement-toggle-copy>span:last-child{font-size:.82rem;line-height:1.25}
    .announcement-body{padding-inline:2px}
    .announcement-row .qa-inline-actions{grid-template-columns:1fr}
    .attendance-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}
    .attendance-status-options label,.attendance-clear-response{min-height:48px}
    .attendance-totals{gap:7px}
    .attendance-totals span{min-height:76px;padding:9px;font-size:.78rem}
}
@media(max-width:340px){
    .attendance-totals{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .announcement-banner,.announcement-body,.account-attendance-card{transition:none;animation:none}
}

/* GPS round lifecycle history */
.gps-hole-controls button.is-finish{min-width:84px;padding-inline:.75rem;background:#0d7a6f;font-weight:850}
.gps-round-history{margin-top:clamp(1.25rem,3vw,2rem);padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.gps-round-history>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.gps-round-history h2{margin:.15rem 0 0}
.gps-history-list{display:grid;gap:.75rem}
.gps-history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--white)}
.gps-history-card>div{min-width:0}.gps-history-card strong,.gps-history-card span{display:block;overflow-wrap:anywhere}.gps-history-card span{margin-top:.2rem;color:var(--text-muted);font-size:.875rem}
.gps-history-card dl{display:grid;grid-template-columns:repeat(3,minmax(5.25rem,auto));gap:.75rem;margin:0}.gps-history-card dl div{min-width:0}.gps-history-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.gps-history-card dd{margin:.15rem 0 0;font-weight:700}
@media(max-width:600px){.gps-history-card{grid-template-columns:1fr}.gps-history-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.gps-history-card dd{font-size:.85rem;overflow-wrap:anywhere}}

/* 475 Polish Batch 2 hotfix: compact labels, safe collapsed cards, and commissioner autosave. */
.announcement-toggle-text{display:grid;min-width:0;gap:1px;text-align:left}
.announcement-toggle-text small{color:#715f43;font-size:.65rem;font-weight:900;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}
.announcement-toggle-text strong{min-width:0;color:var(--navy);font-size:.92rem;line-height:1.25;overflow-wrap:anywhere}
.account-summary-panel>summary{min-height:34px;padding-right:40px}
.account-summary-panel>summary .collapse-indicator{width:32px;min-width:32px;height:32px;min-height:32px;border-radius:8px}
.account-attendance-card.is-collapsed{grid-template-columns:minmax(0,1fr);align-items:start}
.account-attendance-card.is-collapsed .attendance-collapsed-message{max-width:100%}
.account-attendance-card.is-collapsed .attendance-edit-panel{width:100%}
.account-attendance-card.is-collapsed .attendance-edit-panel>summary{position:static;justify-content:flex-start;width:max-content;max-width:100%;min-height:44px}
.attendance-form [data-attendance-player][aria-busy="true"]{opacity:.72}
.attendance-save-feedback{display:block;min-height:1.2em;margin-top:4px;font-size:.72rem;font-weight:850;line-height:1.2}
.attendance-save-feedback.is-saving{color:var(--muted)}
.attendance-save-feedback.is-saved{color:#166534}
.attendance-save-feedback.is-error{color:#991b1b}
@media(max-width:520px){
    .announcement-toggle-text strong{font-size:.82rem}
    .account-attendance-card.is-collapsed{padding:14px}
}
@media(prefers-reduced-motion:reduce){
    .attendance-form [data-attendance-player]{transition:none}
}

/* 475 Polish Batch 2 final hotfix: synchronized reads and premium attendance hierarchy. */
.announcement-read-form{margin:0}
.account-attendance-card{grid-template-columns:minmax(0,1fr);align-items:start;padding:18px;border-left-width:6px}
.account-attendance-card .attendance-edit-panel{width:100%;margin-top:2px;padding-top:10px;border-top:1px solid rgba(15,118,110,.14)}
.account-attendance-card .attendance-edit-panel>summary,
.account-attendance-card.is-collapsed .attendance-edit-panel>summary{position:static;display:inline-flex;width:auto;max-width:100%;justify-content:flex-start;gap:8px;padding:2px 0;color:var(--teal-dark)}
.account-attendance-card .attendance-edit-panel>summary .collapse-indicator{width:36px;min-width:36px;height:36px;min-height:36px;border-radius:9px}
.account-attendance-card.is-collapsed{gap:8px;padding:16px 18px}
.account-attendance-card.is-collapsed .attendance-collapsed-message{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;margin:0;color:var(--navy);font-size:clamp(1.18rem,4.8vw,1.42rem);line-height:1.12}
.account-attendance-card.is-collapsed .attendance-confirmation-icon{width:40px;height:40px;font-size:1.05rem;box-shadow:0 3px 10px rgba(15,80,62,.1)}
.account-attendance-card.is-collapsed .attendance-edit-panel{margin-top:3px;padding-top:9px}
.account-attendance-card.is-collapsed .attendance-edit-label{font-size:.8rem;letter-spacing:.015em}
@media(max-width:520px){
    .account-attendance-card{padding:15px}
    .account-attendance-card>div:first-child{padding-right:0}
    .account-attendance-card>div:first-child .eyebrow{display:block;max-width:100%;line-height:1.25}
    .account-attendance-card .attendance-edit-panel{margin-top:4px}
}

/* 475 Polish Batch 3: player Live Scoring experience. */
.gps-start-page{overflow-x:clip}
.gps-start-heading{display:grid;gap:5px;margin-bottom:18px}
.gps-start-heading h1,.gps-start-heading p{margin:0}
.gps-start-heading small{max-width:64ch;color:var(--muted);font-size:.78rem;font-weight:750}
.gps-round-type-card{min-width:0;gap:10px;padding:18px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.gps-round-type-card h2{color:var(--navy);font-size:1.35rem;line-height:1.15}
.gps-round-type-card p{line-height:1.45;overflow-wrap:normal;word-break:normal}
.gps-round-type-card .button{width:100%;min-height:48px}
.gps-round-type-official{border:2px solid rgba(15,118,110,.48);box-shadow:0 10px 26px rgba(15,80,70,.12)}
.gps-round-type-official .gps-round-type-label{background:var(--teal);color:#fff}
.gps-round-tee-choice{padding:10px;border-radius:11px;background:#f5f9f8}
.gps-round-tee-choice label{min-height:44px}
.round-mode .gps-compact-primary small{display:inline;color:#b8d4c8;font-size:.64rem;font-weight:850;white-space:nowrap}
.gps-bottom-nav button{min-width:0;min-height:56px;padding:7px 5px;line-height:1.15}
.gps-bottom-nav button span{margin-bottom:2px;font-size:1.05rem}
.gps-score-sheet .gps-sheet-card{gap:12px;padding-top:20px}
.gps-score-sheet .eyebrow{padding-right:48px;color:#9ee0ce}
.gps-score-sheet h2{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,8vw,2.45rem);line-height:1}
.gps-score-player{display:grid;gap:3px;margin:0;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.07)}
.gps-score-player strong{min-width:0;color:#fff;font-size:1.05rem;line-height:1.2;overflow-wrap:normal;word-break:normal}
.gps-score-player span{color:#bed6cd;font-size:.78rem;font-weight:800}
.gps-score-stepper{gap:10px;margin-block:4px}
.gps-score-stepper button{min-width:58px;min-height:58px;height:58px;font-size:1.75rem;font-weight:900;touch-action:manipulation}
.gps-score-stepper strong{display:grid;min-height:68px;place-items:center;border-radius:14px;background:#081711;color:#fff;font-size:4.2rem;line-height:1}
.gps-score-sheet [data-save-gps-score]{min-height:52px;font-size:1rem}
.gps-score-sheet [data-save-gps-score][aria-busy="true"]{cursor:wait;opacity:.78}
.gps-score-message{min-height:1.4em;margin:0;font-size:.82rem;font-weight:850;line-height:1.3}
.gps-score-message.is-saving{color:#d7e7e1}
.gps-score-message.is-saved{color:#9ff0c8}
.gps-score-message.is-error{padding:9px;border-radius:9px;background:#632a27;color:#fff}
.live-scoring-status{box-shadow:0 7px 20px rgba(18,55,75,.07)}
.live-scoring-status>strong{line-height:1.15}
.live-score-entry-card>summary strong{max-width:100%;overflow-wrap:normal;word-break:normal}
.live-player-selector a{align-content:center;min-width:0;min-height:56px;overflow-wrap:normal;word-break:normal}
.live-player-selector a.is-selected{border-width:2px}
.live-entry-grid{align-items:stretch}
.live-hole-entry{position:relative;min-width:0;min-height:94px;align-content:center}
.live-hole-entry.is-complete{border-color:#72b69c;background:#f3fbf7}
.live-hole-entry.is-complete::after{position:absolute;top:5px;right:7px;color:#166534;content:"Saved";font-size:.56rem;font-weight:950;letter-spacing:.04em}
.live-hole-entry input{min-height:52px;font-size:1.2rem;font-weight:950}
.live-save-row{position:sticky;z-index:4;bottom:0;margin-inline:-14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(248,252,251,.97);backdrop-filter:blur(8px)}
.live-save-row .button{min-height:50px}
.live-scorecard-feedback{min-height:1.3em;margin:7px 0 0;color:var(--teal-dark);font-size:.78rem;font-weight:850}
.live-refresh-notice{max-width:42ch;margin:4px 0 0;color:#8a5b00;font-size:.76rem;font-weight:800;line-height:1.3}
.live-refresh-tools .button{min-height:44px}
.live-standings-filters{max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.live-standings-filters button{flex:0 0 auto;min-height:44px}
.live-leaderboard-wrap,.live-score-grid-wrap{scrollbar-gutter:stable}
.live-leaderboard tbody tr:first-child td,.live-leaderboard tbody tr:first-child th{background-color:#fff9e8}
.live-leaderboard tbody tr:first-child td:first-child{color:#7a5200;font-size:1.05rem;font-weight:1000}
.live-leaderboard td:nth-child(4){color:var(--navy);font-size:1rem;font-weight:950}
.live-score-grid th,.live-score-grid td{min-width:62px}
.live-score-grid td:not(:first-child){font-weight:850}
.live-score-grid td:empty::after{color:var(--muted);content:"—"}
.account-attendance-card.is-collapsed .attendance-collapsed-message{color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.012em}
.attendance-member-actions{margin-top:14px}
@media(max-width:620px){
    .gps-start-page{padding-top:22px}
    .gps-start-heading{margin-bottom:13px}
    .gps-round-type-card{padding:15px}
    .gps-score-sheet{max-height:calc(100dvh - env(safe-area-inset-top));overflow:auto}
    .gps-score-sheet .gps-sheet-card{padding:18px 15px calc(18px + env(safe-area-inset-bottom))}
    .live-score-entry-body{padding-inline:12px}
    .live-player-selector{grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px}
    .live-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
    .live-hole-entry{min-height:90px;padding:6px}
    .live-hole-entry input{min-height:50px;padding-inline:4px}
    .live-save-row{align-items:stretch;margin-inline:-12px;padding-inline:12px}
    .live-standings-heading{gap:12px}
    .live-refresh-tools{width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:end;justify-items:start}
    .live-status-legend{grid-column:1/-1}
    .live-leaderboard{min-width:650px}
    .live-leaderboard .col-player{width:130px}
    .live-leaderboard tbody th:nth-child(2){max-width:130px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:360px){
    .live-entry-grid{gap:5px}
    .live-hole-entry{min-height:86px;padding:5px;font-size:.65rem}
    .live-hole-entry input{font-size:1.05rem}
    .gps-score-stepper{grid-template-columns:58px minmax(0,1fr) 58px}
    .account-attendance-card.is-collapsed .attendance-collapsed-message{font-size:1.16rem}
}
@media(orientation:landscape) and (max-height:520px){
    .gps-score-sheet{width:min(620px,72vw);max-height:100dvh;overflow:auto}
    .gps-score-sheet .gps-sheet-card{gap:9px;padding-block:14px}
    .gps-score-stepper strong{min-height:58px}
}
@media(prefers-reduced-motion:reduce){
    .gps-round-type-card,.gps-player-marker,.live-progress-track span{transition:none}
}

/* 475 Polish Batch 3 typography hotfix. */
.account-attendance-card.is-collapsed .attendance-collapsed-message{font-size:clamp(1.08rem,4.3vw,1.3rem)}
@media(max-width:360px){
    .account-attendance-card.is-collapsed .attendance-collapsed-message{font-size:1.08rem}
}

/* 475 Development Batch 4: private scorecard upload and OCR-ready review. */
.scorecard-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.scorecard-page-heading>div{min-width:0}
.scorecard-page-heading h1{margin:0}
.scorecard-jump-nav{position:relative;z-index:12;max-width:1180px;margin:0 auto 12px}.scorecard-jump-nav details{width:fit-content;max-width:100%;margin-left:auto;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow-soft)}.scorecard-jump-nav summary{display:flex;min-height:44px;align-items:center;gap:7px;padding:7px 12px;color:var(--teal-dark);font-size:.76rem;font-weight:900;letter-spacing:.04em;list-style:none;cursor:pointer}.scorecard-jump-nav summary::-webkit-details-marker{display:none}.scorecard-jump-menu{display:flex;flex-wrap:wrap;gap:5px;padding:0 7px 7px}.scorecard-jump-menu button{min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#f7faf9;color:var(--navy);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.scorecard-jump-menu button:hover,.scorecard-jump-menu button:focus-visible{border-color:var(--teal);background:#edf8f5}.scorecard-jump-menu button[aria-current=location]{border-color:var(--teal);background:#dff3ed}.scorecard-jump-menu button[aria-current=location]::after{content:" · Current";font-size:.66rem}.scorecard-jump-nav :focus-visible,.scorecard-jump-target [data-scorecard-section-heading]:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.scorecard-jump-target{scroll-margin-top:18px}
.scorecard-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:1180px;margin:0 auto 20px;padding:0 20px;list-style:none;counter-reset:none}
.scorecard-workflow li{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.15}
.scorecard-workflow li span{display:grid;flex:0 0 27px;width:27px;height:27px;place-items:center;border-radius:50%;background:#e9f1ef;color:var(--teal-dark)}
.scorecard-workflow li.is-current{border-color:var(--teal);background:#f0faf7;color:var(--navy);box-shadow:0 6px 16px rgba(15,118,110,.1)}
.scorecard-workflow li.is-current span,.scorecard-workflow li.is-complete span{background:var(--teal);color:#fff}
.scorecard-workflow li.is-future{border-style:dashed}
.scorecard-upload-panel form{display:grid;gap:16px}
.scorecard-workflow-mode{display:grid;gap:10px}.scorecard-workflow-mode>.split-heading,.scorecard-upload-panel>.split-heading,.scorecard-queue>.split-heading,.week-finalize-panel>.split-heading{margin-bottom:0}.scorecard-workflow-mode h2,.scorecard-upload-panel>.split-heading h2,.scorecard-queue>.split-heading h2,.week-finalize-panel>.split-heading h2{margin-top:0}.scorecard-mode-controls{display:flex;flex-wrap:wrap;gap:8px}.scorecard-mode-controls .button{min-height:46px}.scorecard-current-context,.scorecard-selected-week-state{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f7faf9}.scorecard-current-context span,.scorecard-selected-week-state span{color:var(--muted);font-size:.82rem;font-weight:750}.scorecard-correction-context{display:grid;min-width:0;gap:12px}.scorecard-correction-context[hidden],.scorecard-current-context[hidden]{display:none!important}.scorecard-previous-week-intro h3,.scorecard-previous-week-intro p{margin:0}.scorecard-previous-week-intro p{margin-top:3px;color:var(--muted)}.scorecard-history-warning{display:grid;gap:5px;min-width:0}.scorecard-history-warning p{margin:0;overflow-wrap:anywhere}.scorecard-fixed-field{display:grid;align-content:start;gap:6px;min-width:0}.scorecard-fixed-field>span{font-size:.78rem;font-weight:800;color:var(--muted)}.scorecard-fixed-field>strong{min-height:46px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f5f8f7;overflow-wrap:anywhere}
.scorecard-workflow-shell{display:grid;max-width:1180px;margin:0 auto 20px;padding:18px 20px;gap:14px;border:1px solid #c8d6db;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,41,52,.07);overflow:hidden}.scorecard-week-context{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;min-width:0}.scorecard-week-context h2,.scorecard-week-context p{margin:0}.scorecard-week-context h2{font-size:1.45rem}.scorecard-week-context p{color:var(--muted)}.scorecard-week-context-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.scorecard-week-context-tags span{padding:5px 9px;border-radius:999px;background:#edf3f5;color:#183f50;font-size:.74rem;font-weight:800;overflow-wrap:anywhere}.scorecard-primary-week-status{grid-column:1/-1;width:fit-content;max-width:100%;padding:6px 10px;border-radius:8px;background:#e7f6ef;color:#14532d;font-size:.78rem;letter-spacing:.04em;overflow-wrap:anywhere}.scorecard-workflow-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.scorecard-workflow-progress li{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.scorecard-workflow-progress li>span{grid-row:1/3;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#e2e8ec;color:#264654;font-size:.72rem;font-weight:900}.scorecard-workflow-progress strong,.scorecard-workflow-progress small{min-width:0;overflow-wrap:anywhere}.scorecard-workflow-progress strong{font-size:.73rem}.scorecard-workflow-progress small{color:var(--muted);font-size:.66rem;font-weight:750}.scorecard-workflow-progress .is-complete{border-color:#7dbb9a;background:#f0faf5}.scorecard-workflow-progress .is-complete>span{background:#187047;color:#fff}.scorecard-workflow-progress .is-current{border-color:#397f91;background:#eff8fa}.scorecard-workflow-progress .is-current>span{background:#17677b;color:#fff}.scorecard-workflow-progress .is-attention{border-color:#d59a45;background:#fff8ed}.scorecard-workflow-progress .is-attention>span{background:#a84d0c;color:#fff}.scorecard-workflow-progress .is-waiting{border-style:dashed}.scorecard-next-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 16px;min-width:0;padding:14px;border:1px solid #79aab6;border-radius:12px;background:#f1f9fa}.scorecard-next-action .eyebrow,.scorecard-next-action h3,.scorecard-next-action p{grid-column:1;margin:0}.scorecard-next-action h3{font-size:1.05rem;overflow-wrap:anywhere}.scorecard-next-action p{color:var(--muted);overflow-wrap:anywhere}.scorecard-next-action .button{grid-column:2;grid-row:1/4;min-height:48px;max-width:100%;white-space:normal}.scorecard-next-action.is-complete{border-color:#69a985;background:#effaf3}.scorecard-workflow-advanced{font-size:.85rem}.scorecard-workflow-advanced summary{width:fit-content;cursor:pointer;font-weight:800}.scorecard-workflow-advanced p{margin:8px 0;color:var(--muted)}.scorecard-workflow-advanced div{display:flex;flex-wrap:wrap;gap:12px}.scorecard-workflow-shell :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.scorecard-workflow-secondary-action{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:9px 14px;padding:10px 12px;border:1px solid #c6d5db;border-radius:11px;background:#f8fbfc}.scorecard-workflow-secondary-action span{color:var(--muted);font-size:.82rem;font-weight:750;overflow-wrap:anywhere}.scorecard-workflow-secondary-action .button{min-height:46px;max-width:100%;white-space:normal}
.scorecard-metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.optional-label{color:var(--muted);font-size:.68rem;font-weight:750}
.scorecard-upload-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scorecard-camera-button,.scorecard-dropzone{position:relative;display:grid;min-width:0;min-height:145px;place-content:center;justify-items:center;gap:5px;padding:18px;border:2px dashed #8abdb0;border-radius:14px;background:#f5fbf9;color:var(--navy);text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.scorecard-camera-button:hover,.scorecard-camera-button:focus-within,.scorecard-dropzone:hover,.scorecard-dropzone:focus-within,.scorecard-dropzone.is-dragging{border-color:var(--teal);background:#eaf8f4}
.scorecard-camera-button>span,.scorecard-dropzone>span{font-size:1.7rem;color:var(--teal-dark)}
.scorecard-camera-button small,.scorecard-dropzone small{max-width:38ch;color:var(--muted);font-size:.72rem;line-height:1.35}
.scorecard-camera-button input,.scorecard-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.scorecard-file-queue{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.scorecard-file-queue li{display:flex;justify-content:space-between;gap:12px;min-width:0;padding:9px 11px;border-radius:9px;background:#f3f7f6;font-size:.76rem}
.scorecard-file-queue strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scorecard-file-queue span{flex:none;color:var(--muted)}
.scorecard-upload-progress{display:grid;gap:6px}
.scorecard-upload-progress>div{height:10px;overflow:hidden;border-radius:999px;background:#dce9e6}
.scorecard-upload-progress>div span{display:block;width:0;height:100%;border-radius:inherit;background:var(--teal);transition:width .12s linear}
.scorecard-upload-progress strong{color:var(--teal-dark);font-size:.76rem}
.scorecard-upload-result{min-width:0;overflow-wrap:anywhere}.scorecard-upload-result p{margin:0}.scorecard-upload-result p+p{margin-top:5px}
.scorecard-upload-submit{min-height:50px}
.scorecard-filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.scorecard-filter-bar label{flex:1 1 160px}
.scorecard-filter-bar .button{flex:none;min-height:46px}
.scorecard-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.scorecard-upload-card{display:grid;min-width:0;gap:9px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.scorecard-upload-card:hover,.scorecard-upload-card:focus-visible{border-color:var(--teal);transform:translateY(-2px);box-shadow:var(--shadow)}
.scorecard-upload-card header{display:flex;align-items:center;justify-content:space-between;gap:9px}
.scorecard-upload-card h3,.scorecard-upload-card p{margin:0;overflow-wrap:normal;word-break:normal}
.scorecard-upload-card h3{color:var(--navy);font-size:1rem}
.scorecard-upload-card p,.scorecard-upload-card>small{color:var(--muted);font-size:.76rem}
.scorecard-upload-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.scorecard-upload-card dl div{padding:8px;border-radius:8px;background:#f5f8f7}
.scorecard-upload-card dt{color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase}
.scorecard-upload-card dd{margin:2px 0 0;color:var(--navy);font-size:.76rem;font-weight:850}
.scorecard-upload-list{display:grid;gap:10px}
.scorecard-upload-group{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}
.scorecard-upload-group:target{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.12),var(--shadow-soft)}
.scorecard-upload-summary{display:grid;width:100%;min-width:0;grid-template-columns:minmax(72px,1fr) minmax(96px,auto) auto;align-items:center;gap:7px 10px;padding:9px 12px;border:0;background:#fff;color:var(--navy);text-align:left;cursor:pointer}
.scorecard-upload-summary:hover,.scorecard-upload-summary:focus-visible{background:#f5faf8}
.scorecard-upload-summary>strong,.scorecard-upload-summary>span{min-width:0}
.scorecard-upload-summary>strong{font-size:.9rem}
.scorecard-upload-summary .status-badge{max-width:100%;white-space:normal;text-align:center;line-height:1.15;overflow-wrap:anywhere}
.scorecard-expand-control{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--teal-dark);font-size:.72rem;font-weight:900}
.scorecard-expand-control i{display:grid;width:44px;height:44px;place-items:center;border:1px solid #9cc9bd;border-radius:9px;background:#f2faf7;font-size:1rem;font-style:normal}
.scorecard-upload-group-content{display:grid;gap:12px;padding:14px;border-top:1px solid var(--line);background:#fbfdfc}
.scorecard-upload-group-content[hidden]{display:none!important}
.scorecard-upload-expanded-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.scorecard-upload-expanded-details>div{min-width:0;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff}.scorecard-upload-expanded-details dt{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.scorecard-upload-expanded-details dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:.82rem;font-weight:800}
.scorecard-upload-group-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px}
.scorecard-upload-group-meta p{flex:1 1 240px;min-width:0;margin:0;overflow-wrap:normal;word-break:normal}
.scorecard-upload-group-meta span{color:var(--muted);font-size:.72rem}
.scorecard-group-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.scorecard-group-thumbnails a{display:grid;min-width:0;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 9px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none}
.scorecard-group-thumbnails img,.scorecard-group-thumbnails a>span{grid-row:1/3;width:54px;height:54px;border-radius:7px;background:#17201d;object-fit:cover;transform:rotate(var(--scorecard-rotation,0deg))}
.scorecard-group-thumbnails a>span{display:grid;place-items:center;color:#fff;font-size:.68rem;font-weight:900}
.scorecard-group-thumbnails strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:.72rem}
.scorecard-group-thumbnails small{color:var(--muted);font-size:.66rem}
.scorecard-group-actions{display:flex;flex-wrap:wrap;gap:8px}
.scorecard-group-actions .button{min-height:44px}
.scorecard-status-uploaded{background:#e8f1ff;color:#1e4f88}
.scorecard-status-awaiting_ocr{background:#fff4d8;color:#7b5700}
.scorecard-status-ocr_complete,.scorecard-status-verified,.scorecard-status-imported{background:#dcf7e9;color:#166534}
.scorecard-status-needs_review{background:#fee2e2;color:#991b1b}
.scorecard-status-archived{background:#eceff1;color:#4b5563}
.scorecard-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);align-items:start;gap:16px}
.scorecard-review-layout>main{display:grid;min-width:0;gap:16px}
.scorecard-review-layout>aside{position:sticky;top:16px;min-width:0}
.scorecard-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.scorecard-image-card{display:grid;min-width:0;align-content:start;gap:11px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.scorecard-preview-button{display:grid;width:100%;min-width:0;height:260px;place-items:center;overflow:hidden;border:0;border-radius:10px;background:#17201d;cursor:zoom-in}
.scorecard-preview-button img{display:block;max-width:92%;max-height:92%;object-fit:contain;transform:rotate(var(--scorecard-rotation,0deg))}
.scorecard-file-placeholder{display:grid;place-items:center;gap:5px;color:#fff}
.scorecard-file-placeholder b{font-size:1.7rem}
.scorecard-file-placeholder small{color:#c9d7d2}
.scorecard-image-info{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 8px}
.scorecard-image-info strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy)}
.scorecard-image-info small{grid-column:1;color:var(--muted);font-size:.7rem}
.scorecard-image-info .status-badge{grid-column:2;grid-row:1/3}
.scorecard-image-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.scorecard-image-actions form,.scorecard-image-actions details{min-width:0;margin:0}
.scorecard-image-actions .button{width:100%;min-height:44px;padding-inline:8px;font-size:.7rem}
.scorecard-image-actions details{grid-column:1/-1;padding:9px;border:1px solid var(--line);border-radius:9px}
.scorecard-image-actions details summary{min-height:38px;color:var(--teal-dark);font-size:.76rem;font-weight:850;cursor:pointer}
.scorecard-image-actions details form{display:grid;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.scorecard-review-metadata form{display:grid;gap:11px}
.scorecard-review-metadata .button{min-height:48px}
.scorecard-metadata-list{display:grid;gap:7px;margin:16px 0 0}
.scorecard-metadata-list div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;padding-top:7px;border-top:1px solid var(--line)}
.scorecard-metadata-list dt{color:var(--muted);font-size:.68rem;font-weight:850}
.scorecard-metadata-list dd{min-width:0;margin:0;color:var(--navy);font-size:.76rem;font-weight:800}
.scorecard-future-panel{border-style:dashed;background:#fbfcfc}
.scorecard-history-list{display:grid;gap:8px;margin-top:13px}
.scorecard-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border-radius:9px;background:#f5f8f7}
.scorecard-history-list span,.scorecard-history-list small{color:var(--muted);font-size:.7rem}
.scorecard-history-list small{grid-column:1/-1}
.scorecard-viewer{width:min(1100px,96vw);height:min(880px,94dvh);padding:0;border:0;border-radius:16px;background:#101714;color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.5)}
.scorecard-viewer::backdrop{background:rgba(2,10,8,.78)}
.scorecard-viewer-shell{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr) auto}
.scorecard-viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.15)}
.scorecard-viewer h2{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:1rem}
.scorecard-viewer header button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem}
.scorecard-viewer-stage{display:grid;min-width:0;min-height:0;place-items:center;overflow:auto;padding:20px;overscroll-behavior:contain}
.scorecard-viewer-stage img{display:block;max-width:100%;max-height:100%;transform-origin:center;transition:transform .12s ease}
.scorecard-viewer-stage iframe{width:100%;height:100%;border:0;background:#fff}
.scorecard-viewer-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px calc(11px + env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) calc(11px + env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.15)}
.scorecard-viewer-controls button{min-width:48px;min-height:44px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-weight:850}
.scorecard-viewer-controls output{min-width:55px;text-align:center;font-size:.78rem;font-weight:850}
.muted-text{color:var(--muted);font-size:.76rem}
@media(max-width:900px){
    .scorecard-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}
    .scorecard-workflow-progress{grid-template-columns:repeat(3,minmax(0,1fr))}
    .scorecard-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .scorecard-review-layout{grid-template-columns:minmax(0,1fr)}
    .scorecard-review-layout>aside{position:static}
    .scorecard-upload-expanded-details{grid-template-columns:repeat(2,minmax(0,1fr))}
    .scorecard-group-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .scorecard-page-heading{align-items:flex-start;flex-direction:column}
    .scorecard-jump-nav{position:sticky;top:max(6px,env(safe-area-inset-top));margin-inline:12px;margin-bottom:10px}.scorecard-jump-nav details{margin-left:auto}.scorecard-jump-nav details[open]{width:100%}.scorecard-jump-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.scorecard-jump-menu button{width:100%;min-width:0}.scorecard-jump-target{scroll-margin-top:72px}
    .scorecard-mode-controls{display:grid;grid-template-columns:minmax(0,1fr);margin:0 12px 10px}.scorecard-mode-controls .button{width:100%}
    .scorecard-workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-inline:12px}
    .scorecard-workflow li{padding:8px;font-size:.68rem}
    .scorecard-workflow-shell{margin-inline:12px;padding:14px 12px}.scorecard-week-context{grid-template-columns:minmax(0,1fr)}.scorecard-week-context-tags{justify-content:flex-start}.scorecard-workflow-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scorecard-next-action{grid-template-columns:minmax(0,1fr)}.scorecard-next-action .button{grid-column:1;grid-row:auto;width:100%}.scorecard-workflow-secondary-action{align-items:stretch;flex-direction:column}.scorecard-workflow-secondary-action .button{width:100%}
    .scorecard-metadata-grid,.scorecard-upload-choices,.scorecard-upload-grid,.scorecard-image-grid{grid-template-columns:minmax(0,1fr)}
    .scorecard-camera-button,.scorecard-dropzone{min-height:122px}
    .scorecard-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
    .scorecard-filter-bar label:first-child{grid-column:1/-1}
    .scorecard-preview-button{height:min(72vw,320px)}
    .scorecard-image-actions{grid-template-columns:minmax(0,1fr)}
    .scorecard-image-actions details{grid-column:auto}
    .scorecard-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}
    .scorecard-upload-summary{gap:6px 8px;padding:8px 9px}
    .scorecard-expand-control b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .scorecard-upload-expanded-details{grid-template-columns:minmax(0,1fr)}
    .scorecard-group-thumbnails{grid-template-columns:minmax(0,1fr)}
    .scorecard-group-actions{display:grid;grid-template-columns:minmax(0,1fr)}
    .scorecard-group-actions .button{width:100%}
}
@media(max-width:360px){
    .scorecard-workflow{grid-template-columns:minmax(0,1fr)}
    .scorecard-workflow-progress li{padding:7px}.scorecard-workflow-progress strong{font-size:.69rem}
    .scorecard-filter-bar{grid-template-columns:minmax(0,1fr)}
    .scorecard-filter-bar label:first-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
    .scorecard-camera-button,.scorecard-dropzone,.scorecard-upload-card,.scorecard-upload-progress>div span,.scorecard-viewer-stage img{transition:none}
}

/* Statistics administration */
.statistics-admin{display:grid;width:100%;max-width:100%;min-width:0;gap:1rem;margin:0 auto;padding:0 0 2rem}
.statistics-admin>*,.statistics-admin .admin-card,.statistics-admin .admin-page-heading>div,.statistics-admin form,.statistics-admin fieldset{max-width:100%;min-width:0}
.statistics-admin h1,.statistics-admin h2,.statistics-admin h3,.statistics-admin p,.statistics-admin li,.statistics-admin strong,.statistics-admin small{overflow-wrap:anywhere}
.statistics-admin .admin-page-heading{width:100%;max-width:100%;min-width:0}
.statistics-admin .button{max-width:100%;white-space:normal;text-align:center}
.statistics-table-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.statistics-table-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.statistics-table-scroll>.data-table{width:max-content;min-width:100%}
.statistics-validation,.statistics-validation .alert{min-width:0;max-width:100%}
.admin-body:has(.statistics-admin) .notebook-fab{display:none}
.statistics-dashboard-entry,.statistics-health-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.statistics-health-card{padding:1.15rem 1.25rem;border:1px solid var(--border,#d8dee8);border-left:5px solid #9b6a00;border-radius:var(--radius,14px);background:#fff}
.statistics-health-card.is-healthy{border-left-color:#217a43}.statistics-health-card.is-out_of_date,.statistics-health-card.is-needs_rebuild{border-left-color:#b35b18}
.statistics-health-card h2{margin:.15rem 0}.statistics-health-card p{margin:0;max-width:62ch}.statistics-version{display:grid;gap:.15rem;text-align:right}.statistics-version small{overflow-wrap:anywhere}
.statistics-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.statistics-summary-grid article{display:grid;gap:.35rem;min-width:0;padding:1rem;border:1px solid var(--border,#d8dee8);border-radius:12px;background:#fff}
.statistics-summary-grid span{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#536071}.statistics-summary-grid strong{font-size:1.15rem;overflow-wrap:anywhere}
.statistics-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.statistics-action-grid form{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:1rem;border:1px solid var(--border,#d8dee8);border-radius:12px;background:#f8fafc}
.statistics-action-grid h3{margin:0 0 .35rem;font-size:1.05rem}.statistics-action-grid p{flex:1;margin:0 0 1rem}
.statistics-target-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.statistics-target-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}.statistics-target-actions label{grid-column:1/-1;font-weight:700}
.statistics-preview-status{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:10px;background:#eef3f8}.statistics-preview-status.is-ready_to_publish{background:#e7f5eb;color:#175b32}.statistics-preview-status.is-warning{background:#fff5d9;color:#714d00}
.statistics-preview-actions{display:flex;align-items:center;gap:.5rem}.statistics-preview-actions form{margin:0}
.statistics-preview-modules ul{columns:2}.statistics-validation ul{margin-bottom:0}.statistics-history th,.statistics-history td{white-space:nowrap}
@media(max-width:900px){.statistics-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-target-actions{grid-template-columns:1fr}}
@media(max-width:620px){.statistics-health-card,.statistics-dashboard-entry{align-items:flex-start;flex-direction:column}.statistics-version{width:100%;text-align:left}.statistics-action-grid{grid-template-columns:1fr}.statistics-target-actions form{grid-template-columns:1fr}.statistics-target-actions label{grid-column:auto}.statistics-target-actions .button,.statistics-action-grid .button{width:100%;min-height:44px}.statistics-preview-status{flex-direction:column;gap:.25rem}.statistics-preview-actions{width:100%;align-items:stretch;flex-direction:column}.statistics-preview-actions form,.statistics-preview-actions .button{width:100%;min-height:44px}.statistics-preview-modules ul{columns:1}}

/* Compact Admin application launcher */
.admin-launcher-heading{margin-bottom:14px}
.admin-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0}
.admin-launcher-grid>a,.admin-launcher-placeholder{display:flex;min-width:0;min-height:132px;flex-direction:column;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-wrap:normal;word-break:normal}
.admin-launcher-grid>a{color:inherit;text-decoration:none}.admin-launcher-grid>a:hover,.admin-launcher-grid>a:focus-visible{border-color:var(--teal);box-shadow:var(--shadow-soft);transform:translateY(-1px)}
.admin-launcher-grid span{color:var(--gold);font-size:.76rem;font-weight:900}.admin-launcher-grid h2{margin:7px 0 5px;color:var(--navy);font-family:Georgia,serif;font-size:1.12rem;font-weight:500;line-height:1.15;overflow-wrap:normal;word-break:normal}
.admin-launcher-grid p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4;overflow-wrap:normal;word-break:normal}
.admin-launcher-placeholder{border-style:dashed;background:#f4f6f7;color:#62707a}
.admin-launcher-title{display:flex;width:100%;min-width:0;align-items:flex-start;justify-content:space-between;gap:6px}.admin-launcher-title h2{min-width:0}.admin-launcher-title b{flex:0 0 auto;margin-top:7px;padding:3px 6px;border-radius:999px;background:#e8edf0;color:#46545e;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}
.admin-launcher-placeholder small{margin-top:auto;padding-top:8px;font-size:.66rem}
@media(max-width:820px) and (min-width:341px){.admin-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:340px){.admin-launcher-grid{grid-template-columns:1fr}.admin-launcher-grid>a,.admin-launcher-placeholder{min-height:118px}}

/* Commissioner-reviewed scorecard OCR */
.scorecard-ocr-panel{display:grid;min-width:0;gap:14px}
.ocr-guided-steps{position:sticky;top:0;z-index:12;background:#fff;padding:8px;border-radius:14px;box-shadow:0 4px 16px rgba(9,30,45,.08)}
.ocr-guided-steps li.is-complete{opacity:.72}.ocr-guided-steps li.is-current{box-shadow:inset 0 0 0 2px currentColor}
.ocr-upload-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0;padding:12px;background:#f5f8f7;border:1px solid var(--line);border-radius:14px}
.ocr-upload-summary div{min-width:0}.ocr-upload-summary span,.ocr-upload-summary strong{display:block;overflow-wrap:anywhere}.ocr-upload-summary span{font-size:.75rem;color:var(--muted)}.ocr-upload-summary strong{margin-top:2px;color:var(--navy)}
.ocr-processing-panel,.ocr-validation-summary,.ocr-import-progress{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfa}
.ocr-card-review-summary{display:grid;gap:4px;margin:14px 0;padding:13px 14px;border:2px solid #d39a32;border-radius:14px;background:#fff9e9}.ocr-card-review-summary.is-complete{border-color:#2a8060;background:#eef9f3}.ocr-card-review-summary h3,.ocr-card-review-summary p{margin:0}.ocr-card-review-summary h3{font-size:1rem}.ocr-card-review-summary.is-review h3{color:#7a4b00}.ocr-card-review-summary.is-complete h3{color:#17582d}
.ocr-processing-panel ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0;padding:0;list-style:none}.ocr-processing-panel li{padding:8px;border-radius:9px;background:#fff;color:var(--muted);font-size:.82rem}.ocr-processing-panel li.is-current{background:var(--navy);color:#fff}.ocr-processing-panel li.is-complete{background:#e5f3e9;color:#17582d}
.ocr-guided-review{align-items:start}.ocr-guided-review .ocr-original{position:sticky;top:84px}.ocr-guided-review .scorecard-preview-button{width:100%}.ocr-guided-review .scorecard-preview-button img{width:100%;max-height:70vh;object-fit:contain}
.ocr-advanced{margin-top:8px}.ocr-validation-summary>p{margin:6px 0}.scorecard-secondary-tools>details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.ocr-import-confirm[aria-busy=true]{pointer-events:none}.ocr-import-progress[hidden],.ocr-processing-panel[hidden]{display:none}
.ocr-inline-feedback{margin:8px 0;padding:9px 11px;border-radius:9px;font-weight:700}.ocr-inline-feedback.is-saving{background:#eef3f6;color:var(--navy)}.ocr-inline-feedback.is-saved{background:#e5f3e9;color:#17582d}.ocr-inline-feedback.is-error{background:#fff0ef;color:#842a24}
.ocr-duplicate-panel{margin-top:12px;padding:14px;border:1px solid #d9b463;border-radius:14px;background:#fff9e9}.ocr-duplicate-panel h3{margin-top:0}.ocr-duplicate-panel dl{display:grid;gap:6px}.ocr-duplicate-panel dl div{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1fr);gap:8px}.ocr-duplicate-panel dt{font-weight:800}.ocr-duplicate-panel dd{margin:0;overflow-wrap:anywhere}
.ocr-import-success{display:grid;gap:8px}.ocr-import-success>strong{font-size:1.15rem}.ocr-import-success>span{font-weight:800}.ocr-success-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.ocr-success-actions .button{min-height:44px}
.scorecard-reversal-panel{min-width:0;overflow:hidden}.scorecard-reversal-panel .split-heading{align-items:center}.scorecard-reversal-panel p,.scorecard-reversal-panel li{overflow-wrap:anywhere}.scorecard-reversal-result:empty{display:none}
.scorecard-reversal-dialog{width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(3,22,16,.35)}.scorecard-reversal-dialog::backdrop{background:rgba(3,18,13,.7)}.scorecard-reversal-dialog form{display:grid;gap:14px;max-height:calc(100dvh - 24px);overflow:auto;padding:clamp(18px,5vw,28px)}.scorecard-reversal-dialog h3,.scorecard-reversal-dialog p{margin:0}.scorecard-reversal-dialog ul{display:grid;gap:5px;margin:0;padding-left:22px}.scorecard-reversal-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.scorecard-reversal-dialog-actions .button{min-height:44px;white-space:normal}
@media(max-width:430px){.scorecard-reversal-panel .split-heading{align-items:stretch}.scorecard-reversal-panel .split-heading>.button{width:100%}.scorecard-reversal-dialog-actions{display:grid;grid-template-columns:1fr}.scorecard-reversal-dialog-actions .button{width:100%}}
.ocr-review-card{display:grid;min-width:0;grid-template-columns:minmax(180px,.75fr) minmax(0,1.6fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}
.ocr-original{display:grid;min-width:0;align-content:start;gap:8px}.ocr-original img{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:10px;background:#17201d}.ocr-original small{overflow-wrap:anywhere}
.ocr-fields{display:grid;min-width:0;gap:12px}.ocr-card-heading{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:8px}.ocr-card-heading>div{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:7px}
.ocr-player-row{display:grid;min-width:0;gap:10px;margin:0;padding:12px;border:1px solid #cad8d4;border-radius:11px}.ocr-player-row legend{max-width:100%;padding:0 5px;color:var(--navy);font-weight:900;overflow-wrap:anywhere}
.ocr-player-row.is-ready{border-color:#79b48e;background:#f6fcf8}.ocr-player-row.needs-review{border-color:#d9b463;background:#fffdf7}.ocr-player-identity{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.ocr-player-identity>div{display:grid;min-width:0}.ocr-player-identity>div span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.ocr-player-identity strong{overflow-wrap:anywhere}.ocr-row-state{flex:0 1 auto;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:900;text-align:center}.ocr-row-state.is-ready{background:#dff3e5;color:#17582d}.ocr-row-state.needs-review{background:#fff0c8;color:#704300}.ocr-player-selector{display:grid;min-width:0;gap:4px;font-weight:800}.ocr-player-selector select{width:100%;min-width:0}.ocr-player-selector small{color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.ocr-hole-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.ocr-hole-grid label{display:grid;min-width:0;gap:3px;text-align:center}.ocr-hole-grid span{font-size:.65rem;font-weight:900}.ocr-hole-grid input{width:100%;min-width:0;padding:8px 3px;text-align:center}.ocr-total{grid-column:5}
.ocr-hole-grid label.needs-review input,.ocr-player-row [aria-invalid=true]{border-color:#b74646;box-shadow:0 0 0 2px rgba(183,70,70,.12)}.ocr-total-review{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr)) minmax(130px,auto);align-items:end;gap:8px;padding:10px;border-radius:10px;background:#fff}.ocr-total-review>div,.ocr-total-review label{display:grid;min-width:0;gap:3px}.ocr-total-review span{color:var(--muted);font-size:.72rem;font-weight:850}.ocr-total-review output{font-size:1.35rem;font-weight:950}.ocr-total-review input{width:100%;min-width:0}.ocr-total-review p{align-self:center;margin:0;font-size:.78rem;font-weight:900;overflow-wrap:anywhere}.ocr-total-review p.is-ready{color:#17582d}.ocr-total-review p.needs-review{color:#842a24}.ocr-row-issues{padding:9px 11px;border-left:4px solid #b74646;border-radius:8px;background:#fff0ef;color:#70241f}.ocr-row-issues[hidden]{display:none}.ocr-row-issues ul{margin:5px 0 0;padding-left:20px}.ocr-row-issues li{margin:3px 0;overflow-wrap:anywhere}
.ocr-import-confirm{display:grid;gap:9px;padding:16px;border:2px solid #2a8060;border-radius:14px;background:#eef9f3}.ocr-import-confirm h3,.ocr-import-confirm p{margin:0}.ocr-import-confirm .button{justify-self:start}
.dnp-replacement-notice{display:grid;min-width:0;gap:8px;padding:12px;border:1px solid #b36b00;border-radius:12px;background:#fff8e8}.dnp-replacement-notice h4,.dnp-replacement-notice p{margin:0}.dnp-replacement-notice ul{margin:0;padding-left:22px}.dnp-replacement-notice li{margin:4px 0;overflow-wrap:anywhere}
.standings-related-nav{margin-top:12px}
@media(max-width:760px){.ocr-review-card{grid-template-columns:1fr}.ocr-original img{max-height:300px}.ocr-hole-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ocr-upload-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-upload-summary div:last-child{grid-column:1/-1}.ocr-processing-panel ol{grid-template-columns:1fr 1fr}.ocr-guided-review .ocr-original{position:static}.ocr-guided-steps{top:4px;overflow-x:auto;scrollbar-width:none}.ocr-guided-steps li{min-width:82px}.scorecard-ocr-panel .split-heading{align-items:stretch}.scorecard-ocr-panel .split-heading form,.scorecard-ocr-panel .split-heading button,.ocr-import-confirm .button{width:100%;min-height:48px}}
@media(max-width:390px){.ocr-success-actions{display:grid}.ocr-success-actions .button{width:100%}.ocr-duplicate-panel dl div{grid-template-columns:1fr;gap:2px}}
@media(max-width:430px){.ocr-player-identity{align-items:flex-start;flex-direction:column}.ocr-row-state{align-self:flex-start}.ocr-total-review{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-total-review p{grid-column:1/-1}}
@media(max-width:390px){.ocr-review-card{padding:10px}.ocr-card-heading{flex-direction:column}.ocr-hole-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ocr-total{grid-column:auto}.ocr-import-confirm .button{width:100%;white-space:normal}.scorecard-ocr-panel .split-heading{align-items:flex-start;flex-direction:column}.scorecard-ocr-panel .split-heading form,.scorecard-ocr-panel .split-heading .button{width:100%}}
@media(max-width:430px){.scorecard-mode-controls{display:grid;grid-template-columns:minmax(0,1fr)}.scorecard-mode-controls .button,.scorecard-correction-context>.button{width:100%;white-space:normal}.scorecard-current-context,.scorecard-selected-week-state{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ocr-review-card,.ocr-import-confirm{scroll-behavior:auto}}

/* Persistent multi-scorecard OCR queue */
.scorecard-queue{min-width:0;overflow:clip}.scorecard-queue-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}.scorecard-queue-toolbar>details{position:relative}.scorecard-queue-toolbar summary{list-style:none;cursor:pointer}.scorecard-queue-toolbar summary::-webkit-details-marker{display:none}
.scorecard-select-all{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-weight:700}.scorecard-select-all input,.scorecard-queue-select input{inline-size:1.25rem;block-size:1.25rem}
.scorecard-bulk-editor{position:absolute;z-index:20;inset-block-start:calc(100% + .4rem);inset-inline-start:0;display:grid;gap:.7rem;min-width:min(22rem,calc(100vw - 2rem));padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px rgba(15,35,60,.18)}.scorecard-bulk-editor label{display:grid;gap:.3rem;font-weight:700}.scorecard-bulk-editor p{margin:0;font-size:.85rem;color:var(--muted)}
.scorecard-queue-progress{display:grid;gap:.35rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #b8d6c2;border-radius:12px;background:#f1faf4}.scorecard-queue-progress>div{height:.45rem;overflow:hidden;border-radius:999px;background:#d8e8dd}.scorecard-queue-progress i{display:block;height:100%;background:var(--green);transition:width .2s ease}
.scorecard-queue-item{position:relative;padding-inline-start:2.75rem}.scorecard-queue-select{position:absolute;z-index:3;inset-inline-start:.2rem;inset-block-start:.65rem;display:grid;place-items:center;min-width:44px;min-height:44px}.scorecard-queue-item[data-queue-state=processing]{outline:2px solid #d5a523}.scorecard-queue-item[data-queue-state=complete]{outline:2px solid #5a9a6e}.scorecard-queue-item[data-queue-state=failed]{outline:2px solid #b74646}.scorecard-queue-feedback{margin:.75rem 0}.scorecard-queue-feedback.is-error{color:#842a24;border-color:#e3b5b2;background:#fff4f3}
@media(max-width:390px){.scorecard-queue-toolbar{display:grid;grid-template-columns:1fr 1fr}.scorecard-queue-toolbar>*{min-width:0;width:100%}.scorecard-queue-toolbar>[data-ocr-run-all],.scorecard-queue-toolbar>details{grid-column:1/-1}.scorecard-bulk-editor{position:fixed;z-index:100;inset:auto .75rem max(.75rem,env(safe-area-inset-bottom)) .75rem;min-width:0;max-height:70vh;overflow:auto}.scorecard-queue-item{padding-inline-start:2.4rem}.scorecard-upload-summary{min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"week expand" "status expand"}.scorecard-upload-summary>strong{grid-area:week}.scorecard-upload-summary .status-badge{grid-area:status;justify-self:start}.scorecard-expand-control{grid-area:expand;align-self:center}.scorecard-upload-summary strong,.scorecard-upload-summary span{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.scorecard-queue-progress i{transition:none}}

/* Batch 12C.2B.2: active-work and scorecard-review hierarchy. */
.scorecard-history-disclosure{margin-top:16px;border-top:1px solid var(--line)}
.scorecard-history-disclosure>summary,.scorecard-card-details>summary,.scorecard-imported-review-details>summary,.scorecard-technical-details>details>summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
.scorecard-history-disclosure>summary span,.scorecard-imported-review-details>summary span,.scorecard-technical-details>details>summary span{color:var(--muted);font-size:.78rem;font-weight:700;text-align:right}
.scorecard-history-disclosure>p{margin:0 0 12px;color:var(--muted);font-size:.82rem}
.scorecard-history-listing{opacity:.92}
.scorecard-upload-group-content{gap:10px}
.scorecard-queue-previews{order:1;margin:0}.scorecard-queue-previews a{min-height:118px}.scorecard-queue-previews img{max-height:180px;object-fit:contain}
.scorecard-queue-primary-state{order:2;display:grid;gap:3px;padding:10px 12px;border-radius:10px;background:#f4f8f6}.scorecard-queue-primary-state strong{color:var(--navy);font-size:.86rem}.scorecard-queue-primary-state p{margin:0;color:var(--muted);font-size:.8rem}
.scorecard-primary-actions{order:3}.scorecard-primary-actions .button{min-height:44px}
.scorecard-card-details{order:4;border-top:1px solid var(--line)}.scorecard-card-details[open]{padding-bottom:4px}.scorecard-advanced-actions{margin-top:10px}.scorecard-advanced-actions .button{font-size:.78rem}
.scorecard-ocr-panel>.split-heading{margin-bottom:0}
.ocr-review-card{background:#fff}
.ocr-original>strong,.ocr-card-heading>div>strong{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}
.ocr-player-row{padding:11px}.ocr-player-row legend{font-size:1rem}
.ocr-player-confirmation{display:grid;gap:8px;padding:10px;border:1px solid #d9b463;border-radius:10px;background:#fff9e9}.ocr-player-confirmation p{display:grid;gap:2px;margin:0}.ocr-player-confirmation p span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}
.ocr-player-change>summary{display:flex;min-height:44px;align-items:center;color:var(--teal-dark);font-size:.78rem;font-weight:850;cursor:pointer}.ocr-player-change>p{margin:0 0 8px;color:var(--muted);font-size:.8rem}
.ocr-calculated-total{padding:7px 10px;border-radius:9px;background:#eef7f2}.ocr-calculated-total output{color:var(--navy);font-size:1.7rem}
.ocr-row-issues p{margin:8px 0 0;font-weight:750}
.ocr-card-review-summary{order:5;margin:2px 0}.ocr-validation-summary,.ocr-import-confirm{order:6}.ocr-import-confirm{margin-top:0}
.scorecard-imported-review-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scorecard-imported-review-details[open]{display:grid;gap:12px;padding-bottom:12px}
.scorecard-technical-details{padding-block:10px}.scorecard-technical-details>details>summary strong{font-size:1rem}.scorecard-technical-details .ocr-upload-summary{margin:6px 0 14px}.scorecard-technical-details .scorecard-history-list h3{font-size:.9rem}
@media(max-width:760px){.scorecard-history-disclosure>summary,.scorecard-imported-review-details>summary,.scorecard-technical-details>details>summary{align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}.scorecard-history-disclosure>summary span,.scorecard-imported-review-details>summary span,.scorecard-technical-details>details>summary span{text-align:left}.scorecard-queue-previews a{min-height:100px}.ocr-guided-review{gap:10px}.ocr-original .scorecard-preview-button img{max-height:52vh}.ocr-player-row{padding:10px}.ocr-total-review{padding:8px}}
@media(max-width:430px){.scorecard-primary-actions,.scorecard-advanced-actions{display:grid;grid-template-columns:1fr}.scorecard-primary-actions .button,.scorecard-advanced-actions .button{width:100%;white-space:normal}.ocr-player-row legend{font-size:.92rem}.ocr-hole-grid{grid-template-columns:repeat(3,minmax(64px,1fr));}.ocr-hole-grid input{min-height:44px;padding:8px 4px}.ocr-total-review{grid-template-columns:1fr 1fr}.ocr-total-review p{grid-column:1/-1}.ocr-calculated-total output{font-size:1.55rem}}
@media(max-width:340px){.ocr-hole-grid{grid-template-columns:repeat(3,minmax(60px,1fr));gap:5px}.ocr-review-card{padding:8px}.ocr-player-row{padding:8px}}
/* Batch 11E: concise player-state hierarchy and explicit attendance selection. */
.player-today-attendance .attendance-choice-card{border-color:#cad6d8;background:#f8faf9;color:var(--navy);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}
.player-today-attendance .attendance-choice-playing.is-selected{border-color:#16a34a;background:#f0fdf4!important;color:#166534;box-shadow:0 0 0 3px rgba(22,163,74,.2)}
.player-today-attendance .attendance-choice-not_playing.is-selected{border-color:#dc6262;background:#fff1f2!important;color:#991b1b;box-shadow:0 0 0 3px rgba(220,38,38,.16)}
.player-today-attendance .attendance-choice-unsure.is-selected{border-color:#d97706;background:#fffbeb!important;color:#854d0e;box-shadow:0 0 0 3px rgba(217,119,6,.2)}
@media(prefers-reduced-motion:reduce){.player-today-attendance .attendance-choice-card{transition:none}}

/* Batch 12: compact course weather surfaces. */
.player-weather-details{border-top:1px solid #e5eceb}.player-weather-details summary{min-height:44px;display:flex;align-items:center;color:var(--teal-dark);font-size:.78rem;font-weight:900;cursor:pointer}.player-weather-details>div{padding:0 0 10px}.player-weather-details p{margin:0 0 8px;color:var(--navy);font-size:.82rem}.player-weather-details dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 6px}.player-weather-details dl div{min-width:0;padding:7px;border-radius:8px;background:#f1f6f5}.player-weather-details dt{color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase}.player-weather-details dd{margin:2px 0 0;color:var(--navy);font-size:.72rem;font-weight:850;overflow-wrap:anywhere}.player-weather-details small{color:var(--muted);font-size:.66rem}.player-course-update{padding:9px 11px;border-left:4px solid var(--gold);border-radius:8px;background:#fff8df}.player-course-update strong{color:var(--navy);font-size:.78rem}.player-course-update p{margin:3px 0;color:var(--ink);font-size:.78rem}.player-course-update small{color:var(--muted);font-size:.66rem}.operations-weather{display:grid;gap:10px}.operations-weather-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operations-weather-summary>div{display:grid;gap:2px;min-width:0}.operations-weather-summary small,.operations-weather-summary span{color:var(--muted);font-size:.72rem}.operations-weather-summary strong{color:var(--navy);font-size:1.05rem;overflow-wrap:anywhere}.weather-risk{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e6f4ec;color:#17603a;font-size:.66rem;font-weight:900;text-transform:uppercase}.weather-risk.risk-watch{background:#fff2c7;color:#795800}.weather-risk.risk-high_risk,.weather-risk.risk-severe{background:#fde4e1;color:#8a2924}.operations-weather-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.operations-weather-health div{min-width:0;padding:8px;border-radius:9px;background:#f2f6f6}.operations-weather-health dt{color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase}.operations-weather-health dd{margin:2px 0 0;color:var(--navy);font-size:.75rem;font-weight:850;overflow-wrap:anywhere}.operations-weather-actions{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.operations-weather-actions details{min-width:min(100%,330px)}.operations-weather-actions summary{display:flex;min-height:44px;align-items:center;color:var(--teal-dark);font-weight:900;cursor:pointer}.operations-weather-actions form{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.operations-weather-actions label{display:grid;gap:4px;color:var(--navy);font-size:.72rem;font-weight:850}.operations-weather-actions textarea,.operations-weather-actions input{width:100%;min-width:0}.operations-weather-actions form>div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:520px){.player-weather-details dl,.operations-weather-health{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-weather-summary{align-items:flex-start}.operations-weather-actions,.operations-weather-actions>.button,.operations-weather-actions details{width:100%}}
@media(max-width:340px){.player-weather-details dl,.operations-weather-health{grid-template-columns:1fr}}
.operations-weather-health{grid-template-columns:repeat(5,minmax(0,1fr))}
.operations-current-course-update{margin:0 0 8px;padding:9px 10px;border-left:4px solid var(--gold);border-radius:8px;background:#fff8df}.operations-current-course-update strong{color:var(--navy);font-size:.78rem}.operations-current-course-update p{margin:3px 0;color:var(--ink);font-size:.78rem;overflow-wrap:anywhere}.operations-current-course-update small,.operations-weather-actions [data-no-course-update]{color:var(--muted);font-size:.68rem}
.player-current-weather dd{display:grid;gap:2px}.player-current-weather dd strong{font-size:.8rem}.player-current-weather dd span{display:block;font-size:.69rem;line-height:1.25}.my-season dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.my-season dl div{min-width:0}.player-weather-details>div{padding-top:4px}.player-weather-details dl{gap:8px}.player-weather-details dl div{padding:9px}.player-weather-details dt{letter-spacing:.045em}.player-weather-details dd{margin-top:4px;line-height:1.3}.player-course-update{display:grid;gap:2px}.hcp-value{gap:5px;flex-wrap:wrap}.hcp-trend{font-size:.72rem;white-space:nowrap}
@media(max-width:520px){.operations-weather-health{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:340px){.operations-weather-health{grid-template-columns:1fr}}

/* Polish Batch 7: compact playoff controls and consistent weather type. */
.player-current-weather dd strong,.player-current-weather dd span{font-size:.72rem;font-weight:850;line-height:1.3}.playoff-admin-feedback{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.playoff-admin-feedback [data-dismiss-feedback]{flex:0 0 36px;width:36px;height:36px;margin:-7px -7px -7px 0;border:0;border-radius:50%;color:inherit;background:transparent;font-size:1.25rem;font-weight:900;cursor:pointer}.playoff-admin-feedback [data-dismiss-feedback]:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.playoff-timeline-panel>summary{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;cursor:pointer;list-style:none}.playoff-timeline-panel>summary::-webkit-details-marker{display:none}.playoff-timeline-panel>summary strong{color:var(--navy)}.playoff-timeline-panel>summary small{color:var(--muted)}.playoff-timeline-panel[open]>summary>span{transform:rotate(90deg)}.playoff-tiebreak-editor{display:grid;gap:7px}.playoff-tiebreak-editor>p{margin:0;color:var(--muted);font-size:.72rem}.playoff-tiebreak-editor ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.playoff-tiebreak-editor li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:#fff}.playoff-tiebreak-editor li label{display:flex;align-items:center;gap:7px;min-width:0}.playoff-tiebreak-editor li label span{overflow-wrap:anywhere}.playoff-tiebreak-editor li>div{display:flex;gap:4px}.playoff-tiebreak-editor button{width:40px;height:40px;border:1px solid #aec4d2;border-radius:8px;color:#174e69;background:#f6fafb;font-weight:900;cursor:pointer}.playoff-tiebreak-editor button:focus-visible{outline:3px solid var(--gold);outline-offset:1px}@media(max-width:390px){.playoff-timeline-panel>summary{grid-template-columns:20px minmax(0,1fr)}.playoff-timeline-panel>summary small{grid-column:2}.playoff-tiebreak-editor li{grid-template-columns:1fr}.playoff-tiebreak-editor li>div{justify-content:flex-end}}

/* Polish Batch 8A: uniform, scan-friendly current-weather rows. */
.player-current-weather dd{gap:4px}.player-current-weather dd strong,.player-current-weather dd span{font-size:.72rem;font-weight:800;line-height:1.35;letter-spacing:0}

/* Polish Batch 8C: compact movement, actionable forecast, and efficient playoff controls. */
.hcp-value{display:inline-flex;align-items:baseline;gap:4px}.hcp-trend{font-size:.76rem;line-height:1}.player-weather-details summary{gap:7px;text-decoration:underline;text-underline-offset:3px}.player-weather-details summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}.playoff-admin-feedback{margin-bottom:8px}.playoff-settings-panel{margin-top:8px}.playoff-tiebreak-editor li{grid-template-columns:minmax(0,1fr) auto auto}.playoff-tiebreak-editor li>label{font-weight:850}.tiebreak-priority{color:var(--muted);font-size:.68rem;font-weight:850;white-space:nowrap}.playoff-tiebreak-editor li>div{display:grid;grid-template-columns:repeat(2,minmax(74px,auto));gap:5px}.playoff-tiebreak-editor button{width:auto;min-width:74px;padding-inline:8px;font-size:.68rem}.playoff-tiebreak-editor li.is-future{grid-template-columns:1fr;border-style:dashed;background:#f4f6f7;color:#687771}.playoff-tiebreak-editor li.is-future input{display:none}.tiebreak-coming-later{margin-left:auto;padding:3px 7px;border-radius:999px;background:#e8edef;color:#52636b;font-size:.62rem;font-weight:900;white-space:nowrap}@media(max-width:390px){.playoff-tiebreak-editor li{grid-template-columns:1fr auto}.playoff-tiebreak-editor li>div{grid-column:1/-1;justify-content:start}.playoff-tiebreak-editor li.is-future{grid-template-columns:1fr}}

/* Polish Batch 8D: non-sticky feedback and explicit timeline disclosure. */
.hcp-trend.trend-new{color:#18864b}.playoff-admin-feedback{position:relative;inset:auto;z-index:auto;box-shadow:none}.playoff-timeline-panel[open]>summary>span{transform:none}.playoff-timeline-disclosure{display:grid;place-items:center;width:28px;height:28px;border:1px solid #aec4d2;border-radius:8px;background:#f6fafb;color:#174e69;font-size:1.1rem;font-weight:900;line-height:1}.playoff-timeline-panel>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}

/* Polish Batch 8E: unmistakable timeline glyphs and commissioner-friendly feedback/rules. */
.playoff-timeline-disclosure{border:0;background:transparent;font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1.25rem}.playoff-validation-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid #e8a8a8;border-radius:12px;background:#fff4f4;color:#7d2020}.playoff-warning-icon{font-size:1.05rem}.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:minmax(0,1fr) auto}.playoff-tiebreak-editor li:not(.is-future)>div{grid-column:1/-1;justify-content:start}.playoff-tiebreak-editor li:not(.is-future)>div button{min-height:40px}.playoff-tiebreak-editor li.is-future label{justify-content:space-between}@media(max-width:390px){.playoff-validation-warning{grid-template-columns:auto minmax(0,1fr) auto}.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:minmax(0,1fr) auto}}

/* Polish Batch 8F: unified disclosures, compact summary/rules, and paired result panels. */
.playoff-hero-facts{margin-top:14px}.playoff-hero-facts article{min-height:72px;padding:9px 10px}.playoff-timeline-panel>summary{grid-template-columns:minmax(0,1fr) auto 32px;padding-right:4px}.playoff-dashboard-panel>summary{padding-right:16px}.playoff-disclosure-icon{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;margin-left:auto;border:0;background:transparent;font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:1.25rem;line-height:1;transform:none!important}.playoff-success-panel,.playoff-validation-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:11px 12px}.playoff-success-panel{border:1px solid #8bc99d;border-radius:12px;background:#f0faf3;color:#145c2c}.playoff-success-icon{font-size:1.1rem;font-weight:900}.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:minmax(0,1fr) auto auto;padding:6px 7px}.playoff-tiebreak-editor li:not(.is-future)>div{grid-column:auto;display:flex}.playoff-tiebreak-editor li:not(.is-future)>div button{min-width:62px;min-height:36px;height:36px;padding-inline:6px}.playoff-tiebreak-editor li.is-future{padding:6px 7px}@media(max-width:390px){.playoff-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:minmax(0,1fr) auto}.playoff-tiebreak-editor li:not(.is-future)>div{grid-column:1/-1}.playoff-timeline-panel>summary{grid-template-columns:minmax(0,1fr) 32px}.playoff-timeline-panel>summary small{grid-column:1}.playoff-timeline-panel>summary .playoff-disclosure-icon{grid-column:2;grid-row:1/3}}

/* Polish Batch 8G: dense semantic tie-break list. */
.playoff-tiebreak-editor ol{gap:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.playoff-tiebreak-editor li,.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:44px 32px minmax(0,1fr) 44px 44px;gap:4px;padding:4px 6px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.playoff-tiebreak-editor li:last-child{border-bottom:0}.playoff-tiebreak-editor li:not(.is-future)>label{display:contents}.playoff-tiebreak-editor li:not(.is-future)>label input{grid-column:1;justify-self:center;width:20px;height:20px}.playoff-tiebreak-editor li:not(.is-future)>label span{grid-column:3;font-size:.76rem;font-weight:850}.playoff-tiebreak-editor .tiebreak-priority{grid-column:2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f1f4;color:#174e69;font-size:.72rem}.playoff-tiebreak-editor li:not(.is-future)>div{display:contents}.playoff-tiebreak-editor li:not(.is-future)>div button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:1rem}.playoff-tiebreak-editor li.is-disabled{background:#f5f7f7;color:#6d797d}.playoff-tiebreak-editor li.is-disabled .tiebreak-priority{background:#e8ebec;color:#758084}.playoff-tiebreak-editor button:disabled{border-color:#d8dfe1;background:#f2f4f4;color:#9aa3a6;cursor:not-allowed}.playoff-tiebreak-editor li.is-future{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:44px;color:#6d797d;background:#f5f7f7}.playoff-tiebreak-editor li.is-future label{display:flex;grid-column:1/-1;justify-content:space-between}.playoff-tiebreak-editor li.is-future .tiebreak-coming-later{margin-left:8px}@media(max-width:390px){.playoff-tiebreak-editor li,.playoff-tiebreak-editor li:not(.is-future){grid-template-columns:40px 28px minmax(0,1fr) 44px 44px;padding-inline:3px}.playoff-tiebreak-editor li:not(.is-future)>label span{font-size:.7rem}.playoff-tiebreak-editor li.is-future{grid-template-columns:minmax(0,1fr) auto}}
/* Member Profile V1 */
.member-profile-page{background:linear-gradient(180deg,#eef7f0 0,#f7faf7 420px);min-height:100vh;padding-bottom:40px}.member-profile-hero{padding:28px 0 22px;background:linear-gradient(135deg,#0d4c32,#167248);color:#fff}.member-profile-identity{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:18px}.member-avatar,.member-photo-preview{width:104px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#dff1e5;color:#11583a;display:grid;place-items:center;font-size:2rem;font-weight:800;border:4px solid rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(0,0,0,.18)}.member-avatar img,.member-photo-preview img{width:100%;height:100%;object-fit:cover}.member-profile-title h1{margin:3px 0;font-size:clamp(1.8rem,5vw,2.8rem)}.member-profile-title p{margin:0;color:#e4f1e9}.member-profile-primary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.member-profile-primary-stats>div{padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.1)}.member-profile-primary-stats span,.member-profile-primary-stats strong{display:block}.member-profile-primary-stats span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#d8eee1}.member-profile-primary-stats strong{margin-top:4px;font-size:1.15rem}.member-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.member-card{background:#fff;border:1px solid #dce8df;border-radius:18px;padding:18px;box-shadow:0 5px 18px rgba(20,70,45,.06);min-width:0}.member-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.member-card h2{font-size:1.2rem;margin:2px 0}.member-card header>a{font-weight:700}.member-upcoming,.member-recent,.member-profile-information,.member-account-security{grid-column:1/-1}.member-fact-grid,.member-stat-grid,.member-bests-grid{display:grid;gap:10px;margin:0}.member-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.member-bests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-fact-grid>div,.member-stat-grid>div,.member-bests-grid>div{background:#f5f9f6;border-radius:12px;padding:11px;min-width:0}.member-card dt{color:#587063;font-size:.76rem}.member-card dd{margin:4px 0 0;font-weight:800;overflow-wrap:anywhere}.movement-up{color:#168148}.movement-down{color:#b53b3b}.movement-steady{color:#68736c}.status-badge{padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}.status-playing{background:#dcf6e4;color:#13683b}.status-not_playing{background:#fde5e5;color:#9a2e2e}.status-unsure{background:#fff0c8;color:#7a5911}.member-round-list{display:grid;gap:8px}.member-round-row{display:grid;grid-template-columns:minmax(140px,1fr) 62px 62px 62px 24px;align-items:center;gap:8px;min-height:58px;padding:8px 10px;border-radius:12px;background:#f5f9f6;color:inherit;text-decoration:none}.member-round-row>span{display:grid}.member-round-row small{color:#65776d;font-size:.72rem}.member-profile-information{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.member-profile-information>header{grid-column:1/-1;margin-bottom:0}.member-photo-editor,.member-preference-summary{padding:14px;border-radius:14px;background:#f5f9f6}.member-photo-editor form{display:grid;gap:10px}.member-photo-preview{width:132px;border-color:#fff;border-radius:18px}.member-photo-crop{display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-photo-crop label{font-size:.75rem}.member-photo-crop input{width:100%}.member-preference-summary dl{display:grid;gap:8px}.member-preference-summary dl>div{display:flex;justify-content:space-between;gap:12px}.member-commissioner-tools nav{display:grid;gap:8px}.member-commissioner-tools a{min-height:44px;display:flex;align-items:center;padding:9px 12px;border-radius:10px;background:#f3f7f4;font-weight:700}.member-commissioner-tools .danger-link{color:#9a2e2e}.member-account-security>summary{font-weight:800;cursor:pointer;min-height:44px;display:flex;align-items:center}.member-account-security>div{padding-top:16px}.empty-copy{color:#64756b}.member-profile-page :focus-visible{outline:3px solid #f4b942;outline-offset:3px}
@media(max-width:700px){.member-profile-page{background:linear-gradient(180deg,#eef7f0 0,#f7faf7 330px)}.member-profile-hero{padding:20px 0 16px}.member-profile-identity{grid-template-columns:76px minmax(0,1fr);gap:12px}.member-profile-identity>.button{grid-column:1/-1;width:100%}.member-avatar{width:76px}.member-profile-title h1{font-size:1.55rem}.member-profile-title p{font-size:.82rem}.member-profile-primary-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.member-profile-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}.member-card{grid-column:1;padding:14px}.member-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-profile-information{grid-template-columns:1fr}.member-profile-information>header{grid-column:1}.member-round-row{grid-template-columns:minmax(120px,1fr) 50px 50px 20px}.member-round-row>span:nth-child(4){display:none}.member-photo-crop{grid-template-columns:1fr}.member-card>header{margin-bottom:10px}}
@media(max-width:340px){.member-profile-primary-stats{gap:7px}.member-profile-primary-stats>div{padding:10px}.member-card{padding:12px}.member-round-row{grid-template-columns:minmax(105px,1fr) 44px 44px 18px;padding:7px}.member-bests-grid{grid-template-columns:1fr}}
.member-profile-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.member-profile-actions .button{min-height:44px}.member-profile-hero .member-profile-actions .button:first-child{background:#fff;color:#11583a;border-color:#fff}
@media(max-width:700px){.member-profile-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.member-profile-actions .button{width:100%;padding-inline:8px}}
@media(max-width:340px){.member-profile-actions{grid-template-columns:1fr}}

/* Communication Center V1 */
.communication-center{display:grid;gap:16px;padding-bottom:40px}.communication-dashboard{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.communication-dashboard article{min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.communication-dashboard small,.communication-dashboard strong{display:block}.communication-dashboard small{color:var(--muted);font-size:.65rem;font-weight:800}.communication-dashboard strong{margin-top:4px;color:var(--navy);font-size:1.1rem;overflow-wrap:anywhere}.communication-quick-send{display:grid;gap:9px}.communication-quick-send>div:last-child{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.communication-quick-send button{display:grid;place-items:center;gap:5px;min-height:76px;padding:8px;border:1px solid #d4e3dd;border-radius:12px;background:#fff;color:var(--teal-dark);cursor:pointer}.communication-quick-send button span{font-size:1.25rem}.communication-quick-send button strong{font-size:.72rem;text-align:center}.communication-composer,.communication-history-panel,.communication-settings-panel,.communication-test-panel,.communication-automation-grid article{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(18,63,47,.05)}.communication-composer{padding:16px}.communication-composer>header,.communication-composer>footer,.communication-history-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.communication-composer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:16px;margin-top:12px}.communication-compose-fields,.communication-targeting{display:grid;align-content:start;gap:10px}.communication-composer label{display:grid;gap:4px;color:var(--navy);font-size:.72rem;font-weight:800}.communication-composer input,.communication-composer textarea,.communication-composer select{width:100%;min-width:0}.communication-inline-fields{display:grid;grid-template-columns:minmax(160px,.5fr) minmax(0,1fr);gap:9px}.field-note,.communication-composer small{color:var(--muted);font-weight:500}.communication-targeting fieldset{display:grid;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px}.communication-targeting fieldset>label:has(input[type=checkbox]),.communication-targeting fieldset>label:has(input[type=radio]){display:flex;grid-template-columns:20px 1fr;align-items:center;min-height:38px}.communication-targeting input[type=checkbox],.communication-targeting input[type=radio]{width:20px;height:20px}.recipient-live-preview{display:grid;gap:3px;padding:8px;border-radius:8px;background:#eef7f3}.recipient-live-preview span{color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}.channel-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}.channel-live-summary div{padding:6px;border-radius:7px;background:#f4f7f6}.channel-live-summary dt{font-size:.58rem;color:var(--muted)}.channel-live-summary dd{margin:2px 0 0;font-weight:900}.communication-composer>footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.communication-composer>footer p{margin:0;color:var(--muted);font-size:.7rem}.communication-automation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.communication-automation-grid article{padding:13px}.communication-automation-grid p{min-height:58px;color:var(--muted);font-size:.75rem}.communication-history-panel{min-width:0;padding:14px}.communication-history-table{margin-top:10px;overflow:auto}.communication-history-table table{min-width:860px;width:100%;border-collapse:collapse}.communication-history-table th,.communication-history-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;font-size:.7rem;vertical-align:top}.communication-history-table td>strong,.communication-history-table td>span,.communication-history-table td>small{display:block}.communication-history-table form{display:flex;gap:5px}.communication-history-table button{min-height:36px;border:1px solid var(--line);border-radius:7px;background:#fff}.communication-settings-panel,.communication-test-panel{padding:12px}.communication-settings-panel summary,.communication-test-panel summary{min-height:44px;display:flex;align-items:center;font-weight:900;cursor:pointer}.communication-test-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:10px}.communication-test-panel label{display:grid;gap:4px}.communication-test-panel fieldset{display:flex;gap:10px;flex-wrap:wrap}.communication-category-preferences{display:grid;gap:7px}.communication-category-preferences>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:44px;padding:6px 0;border-bottom:1px solid var(--line)}.communication-category-preferences label{display:flex;align-items:center;gap:5px}
@media(max-width:900px){.communication-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.communication-quick-send>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}.communication-composer-grid{grid-template-columns:1fr}.communication-automation-grid{grid-template-columns:1fr}.communication-automation-grid p{min-height:0}}
@media(max-width:520px){.communication-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-quick-send>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-composer{padding:12px}.communication-inline-fields{grid-template-columns:1fr}.communication-composer>footer{align-items:stretch;flex-direction:column}.communication-composer>footer .button{width:100%}.communication-test-panel form{grid-template-columns:1fr}.communication-category-preferences>div{grid-template-columns:1fr auto auto}.communication-center{overflow-x:hidden}}
.communication-settings-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:10px}.communication-settings-panel label{display:grid;gap:4px}.communication-settings-panel input,.communication-settings-panel select{width:100%;min-width:0}@media(max-width:520px){.communication-settings-panel form{grid-template-columns:1fr}}

/* Communication Center Polish 10A */
.operations-health-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.communication-center-header-compact{min-height:0;padding:3px 0 1px;border:0;background:transparent;box-shadow:none}.communication-center-header-compact h1{margin:0;font-size:clamp(1.45rem,4vw,2rem)}.communication-dashboard{grid-template-columns:repeat(6,minmax(0,1fr))}.communication-quick-send>h2{margin:0;font-size:1rem}.specific-player-choices{display:grid;max-height:264px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:9px;background:#fff}.specific-player-choices label{display:flex!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:center;min-height:44px;padding:7px 9px;border-bottom:1px solid #edf1f2}.specific-player-choices label:last-child{border-bottom:0}.communication-send-footer{display:grid!important;gap:9px}.communication-send-footer>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.communication-send-success{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;gap:8px;width:100%;padding:10px 11px;border:1px solid #8bc99d;border-radius:11px;background:#f0faf3;color:#145c2c}.communication-send-success>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;background:#18864b}.communication-send-success button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;color:#145c2c;background:transparent;font-size:1.2rem;cursor:pointer}.communication-send-success button:focus-visible,.communication-history-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.communication-history-toggle{display:flex;min-height:44px;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--line);border-radius:9px;color:var(--teal-dark);background:#fff;font-weight:850;cursor:pointer}.communication-history-toggle i{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-style:normal}.communication-history-table tr[hidden]{display:none}.communication-history-table td>details p{max-width:280px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.operations-health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.communication-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.communication-center{gap:11px}.communication-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.communication-dashboard article{padding:9px}.communication-quick-send>div:last-child{gap:6px}.communication-send-footer>div:last-child{align-items:stretch;flex-direction:column}.communication-history-panel{padding:11px}.communication-history-panel>header{align-items:center}.communication-history-toggle{flex:0 0 auto}.specific-player-choices{max-height:220px}}
@media(max-width:350px){.operations-health-grid{grid-template-columns:1fr}}

/* 11C.3.1: scoped mobile polish; behavior and destinations remain unchanged. */
.member-account-security .profile-link-row{display:flex;width:100%;justify-content:center;margin:14px 0 18px}.member-account-security .profile-link-row .button{display:flex;width:100%;min-width:0;min-height:44px;align-items:center;justify-content:center;text-align:center}
.operations-health-grid a{grid-template-rows:auto auto;align-content:center;min-height:64px;padding:9px 8px;line-height:1.2;overflow:hidden}.operations-health-grid strong,.operations-health-grid span{max-width:100%;overflow-wrap:anywhere;word-break:normal}.operations-health-grid span{line-height:1.25;padding-bottom:1px}
.operations-weather-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px}.operations-weather-actions>.button,.operations-weather-actions>details>summary.button{display:flex;width:100%;min-width:0;min-height:44px;align-items:center;justify-content:center;margin:0;padding:7px 9px;text-align:center;white-space:normal}.operations-weather-actions details{display:contents}.operations-weather-actions details>.operations-current-course-update,.operations-weather-actions details>[data-no-course-update],.operations-weather-actions details>form{grid-column:1/-1}.operations-weather-actions details>form{width:100%}
.admin-body:has(.operations-center) .notebook-fab{display:inline-flex;align-items:center;justify-content:center;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,calc(env(safe-area-inset-bottom) + 1rem));z-index:60}
@media(max-width:350px){.operations-weather-actions{gap:6px}.operations-weather-actions>.button,.operations-weather-actions>details>summary.button{padding-inline:6px;font-size:.72rem}}

/* 11C.3.2: authoritative Admin Menu and scoped responsive layout corrections. */
.operations-health-grid .health-label-long{font-size:clamp(.62rem,2.3vw,.72rem);letter-spacing:-.035em;white-space:nowrap;overflow-wrap:normal;word-break:normal}
@media(min-width:351px) and (max-width:379px){.operations-health-grid .health-label-long{font-size:.52rem;letter-spacing:-.045em}}
.operations-weather-actions>.button{grid-column:1;grid-row:1;position:relative;z-index:2}.operations-weather-actions>details{display:block;grid-column:1/-1;grid-row:1 / span 2;width:100%;min-width:0}.operations-weather-actions>details>summary.button{width:calc((100% - 9px)/2);margin-left:auto}.operations-weather-actions>details>.operations-current-course-update,.operations-weather-actions>details>[data-no-course-update],.operations-weather-actions>details>form{width:100%;max-width:none;margin-top:9px}.operations-weather-actions>details>form textarea,.operations-weather-actions>details>form input{width:100%;max-width:none}
@media(max-width:350px){.operations-weather-actions>details>summary.button{width:calc((100% - 6px)/2)}}

/* Communication Center Polish 10B */
.communication-center-header-compact{display:flex!important;align-items:center!important;min-height:64px!important;padding:9px 13px!important;border:1px solid #d7e4df!important;border-radius:13px!important;background:linear-gradient(135deg,#f5faf7,#eef6f2)!important}.communication-center-header-compact h1{display:block!important;margin:0!important;color:var(--navy)!important;visibility:visible!important}.communication-center-header-compact p{display:block;margin:2px 0 0;color:var(--muted)!important;font-size:.76rem;line-height:1.25}.communication-targeting [data-specific-players][hidden],.communication-targeting [data-specific-division][hidden],.communication-history-table [data-history-extra][hidden]{display:none!important}#communication-send{scroll-margin-top:16px}
@media(max-width:520px){.communication-center-header-compact{min-height:58px!important;padding:8px 11px!important}.communication-center-header-compact h1{font-size:1.35rem!important}}

/* Communication Center Polish 10C */
.communication-center-header-compact{border-color:#174f70!important;background:linear-gradient(135deg,#102a43,#0b5266)!important;color:#fff!important}.communication-center-header-compact h1{color:#fff!important}.communication-center-header-compact p{color:#dcebf2!important}.communication-diagnostics{margin:12px 0;border:1px solid #b7ccd6;border-radius:12px;background:#f7fbfc}.communication-diagnostics>summary{min-height:44px;padding:11px 13px;color:#102a43;font-weight:850;cursor:pointer}.communication-diagnostics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px}.communication-diagnostics-grid article{display:grid;gap:3px;min-width:0;padding:9px;border:1px solid #d7e4e8;border-radius:9px;background:#fff}.communication-diagnostics-grid small{color:#54656d}.communication-diagnostics-grid strong{font-size:1.2rem}.communication-diagnostics>.field-note{margin:0;padding:0 12px 12px}.communication-diagnostics summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(min-width:821px){.admin-nav-toggle{display:inline-flex;align-items:center;min-height:40px;margin-left:auto}.admin-notification-bell{margin-left:0}.admin-nav[hidden]{display:none!important}.admin-nav.is-open{display:block!important}}@media(max-width:820px){.admin-nav[hidden]{display:none!important}.admin-nav.is-open{display:block!important}}@media(max-width:520px){.communication-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.roster-account-card{margin:18px 0;padding:16px;border:1px solid #cbd9d1;border-radius:14px;background:#f7fbf8}.roster-account-card h2{margin:0 0 12px}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.admin-detail-grid div{min-width:0;padding:10px;border-radius:10px;background:#fff}.admin-detail-grid dt{font-size:.76rem;font-weight:700;color:#52645a;text-transform:uppercase;letter-spacing:.04em}.admin-detail-grid dd{margin:3px 0 0;overflow-wrap:anywhere;font-weight:700}@media(max-width:390px){.admin-detail-grid{grid-template-columns:1fr}.roster-account-card{padding:12px}}
.member-lifecycle-panel{margin-top:18px;border:1px solid #d2ddd6;border-radius:14px;background:#fff;overflow:hidden}.member-lifecycle-panel>summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:12px 15px;cursor:pointer}.member-lifecycle-panel>summary span:first-child{display:grid;gap:2px}.member-lifecycle-panel>summary small{color:#59685f}.member-lifecycle-body{display:grid;gap:15px;padding:15px;border-top:1px solid #e1e8e3}.lifecycle-recommendation{padding:12px;border-radius:10px;background:#f5f8f6}.lifecycle-recommendation p{margin:4px 0 0}.lifecycle-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lifecycle-summary-grid section{padding:12px;border:1px solid #e0e6e2;border-radius:11px}.lifecycle-summary-grid h3{margin:0 0 8px;font-size:.9rem}.lifecycle-summary-grid ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.lifecycle-summary-grid li{display:flex;justify-content:space-between;gap:8px;font-size:.82rem}.lifecycle-safe-actions{display:flex;flex-wrap:wrap;gap:8px}.lifecycle-delete-confirm{display:grid;gap:10px;padding:13px;border:1px solid #e6a3a3;border-radius:11px;background:#fff7f7}.lifecycle-delete-confirm h3,.lifecycle-delete-confirm p{margin:0}.lifecycle-ack{display:flex;align-items:flex-start;gap:8px}.lifecycle-ack input{width:auto;margin-top:3px}.admin-detail-wide{grid-column:1/-1}@media(max-width:520px){.lifecycle-summary-grid{grid-template-columns:1fr}.lifecycle-safe-actions{display:grid}.member-lifecycle-body{padding:11px}}

.roster-compact-tools{display:flex;align-items:flex-start;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.roster-lifecycle-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:.5rem}.roster-lifecycle-buttons .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.roster-lifecycle-buttons .button.is-selected{border-color:var(--navy);background:var(--navy);color:#fff}.roster-search-disclosure{max-width:min(100%,34rem)}.roster-search-disclosure summary{min-height:44px;display:flex;align-items:center;gap:.4rem;cursor:pointer;font-weight:700}.roster-search-disclosure form{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.roster-search-disclosure input{flex:1 1 13rem;min-width:0}
.dues-toggle{min-width:88px;min-height:44px;border:2px solid currentColor;border-radius:999px;font:inherit;font-weight:800;cursor:pointer}.dues-toggle:disabled{cursor:wait;opacity:.65}.dues-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.dues-status small{display:block;font-weight:600;font-size:.72rem}
.registration-approval-actions{display:grid;gap:.75rem;margin-top:1rem}.registration-approval-actions form{margin:0}.registration-approval-actions label{display:grid;gap:.4rem}.registration-approval-actions .button{min-height:44px;width:100%}.registration-approval-actions button:disabled{opacity:.55;cursor:not-allowed}@media(min-width:760px){.registration-approval-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}}
.claim-player-list{display:grid;gap:.75rem}.claim-player-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border-color,#d7dee7)}.claim-player-row:last-child{border-bottom:0}.claim-player-row .button{min-width:132px;min-height:44px}.claim-player-row button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:520px){.claim-player-row{align-items:stretch;flex-direction:column}.claim-player-row .button{width:100%}}
.confirmation-dialog{width:min(92vw,520px);padding:1.5rem;border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.3)}.confirmation-dialog::backdrop{background:rgba(15,23,42,.6)}.confirmation-dialog h2{margin-top:0}.confirmation-dialog .qa-inline-actions{justify-content:flex-end}
.roster-inline-feedback{margin:.75rem 0;padding:.75rem 1rem;border:1px solid;border-radius:var(--radius-card);font-weight:700}.roster-inline-feedback.is-success{color:#14532d;background:#f0fdf4;border-color:#22c55e}.roster-inline-feedback.is-error{color:#7f1d1d;background:#fef2f2;border-color:#ef4444}
@media(max-width:390px){.roster-lifecycle-buttons{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.roster-lifecycle-buttons .button{width:100%;padding-inline:.55rem}.roster-search-disclosure,.roster-search-disclosure form{width:100%}}
.communication-diagnostics-table{margin:0 12px 12px;overflow-x:auto}.communication-diagnostics-table table{min-width:760px}.communication-diagnostics-table td span{display:block;overflow-wrap:anywhere}
.member-push-reminder{background:#991b1b;color:#fff}.member-push-reminder .container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding-block:8px;font-weight:750}.member-push-reminder a{color:#fff;text-decoration:underline;font-weight:900}.onboarding-page{padding:clamp(24px,5vw,54px) 0;background:#f3f7f8}.onboarding-shell{width:min(100%,720px);display:grid;gap:18px}.onboarding-hero{text-align:center}.onboarding-hero h1{margin:.35rem 0}.onboarding-card,.onboarding-complete{border:1px solid #c8d9df;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.07);padding:18px}.onboarding-device-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-device-buttons form,.onboarding-device-buttons button,.onboarding-wide-action{width:100%;min-height:48px}.onboarding-instructions{display:grid;gap:12px;margin:16px 0;padding:0;list-style:none}.onboarding-instructions li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start}.onboarding-instructions li>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#102a43;color:#fff;font-weight:900}.onboarding-instructions p{margin:.25rem 0 0}.onboarding-callout{padding:12px;border-left:5px solid #d69e2e;background:#fff8dc;font-weight:700}.onboarding-inline-feedback{min-height:1.5em;margin:10px 0 0;color:#8b1e1e;font-weight:850}.onboarding-inline-feedback.is-success,.onboarding-push-complete{padding:10px;border-radius:10px;background:#dcfce7;color:#14532d;font-weight:850}.onboarding-later{text-align:center}.onboarding-help{margin-top:14px}.onboarding-help summary{min-height:44px;cursor:pointer;font-weight:800}.onboarding-complete{text-align:center;border-color:#16803c}.instruction-thumbnails{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.instruction-thumbnails button{min-height:44px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:zoom-in}.instruction-thumbnails img{display:block;width:100%;height:auto}.instruction-image-modal{width:min(92vw,760px);max-height:92vh;padding:0;border:0;border-radius:16px}.instruction-image-modal::backdrop{background:rgba(4,20,32,.78)}.instruction-image-modal>div{display:grid;gap:12px;padding:16px}.instruction-image-modal img{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}.instruction-image-modal .button{justify-self:end;min-height:44px}@media(max-width:520px){.member-push-reminder .container{align-items:flex-start;flex-direction:column;gap:4px}.onboarding-device-buttons{grid-template-columns:1fr}.onboarding-card{padding:15px}}
@media(max-width:390px){.mobile-auth-shortcut{display:none}}
.onboarding-page [hidden]{display:none!important}
.onboarding-page[data-selected-device=""] #notifications{display:none}
.communication-test-panel select,.communication-test-panel label{min-width:0;max-width:100%}.communication-test-panel select{width:100%;text-overflow:ellipsis}.communication-test-panel [data-qa-recipient-meta]{display:block;overflow-wrap:anywhere;color:var(--muted)}

/* 12C.1C: week-level Statistics finalization on the existing scorecard workflow. */
.week-finalize-panel{display:grid;gap:14px;overflow:hidden}.week-finalize-panel>.split-heading{align-items:end}.week-finalize-panel>.split-heading label{display:grid;min-width:min(100%,220px);gap:5px;font-weight:800}.week-finalize-panel select{width:100%;min-width:0}.week-finalize-card{display:grid;min-width:0;gap:12px;padding:16px;border:1px solid #cbd7dd;border-radius:14px;background:#f8fbfc}.week-finalize-card.is-ready{border-color:#2b7a54;background:#f3fbf6}.week-finalize-card.is-published{border-color:#16803c;background:#effaf2}.week-finalize-card.is-blocked{border-color:#d9b86c;background:#fffaf0}.week-finalize-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.week-finalize-heading h3{margin:2px 0 0}.week-finalize-heading .status-badge{max-width:100%;white-space:normal;text-align:center}.week-finalize-reasons{display:grid;gap:5px;margin:0;padding-left:1.25rem;color:#6f370c}.week-finalize-card>.button{width:fit-content;max-width:100%;min-height:48px;white-space:normal}.week-finalize-card>.button:disabled{cursor:not-allowed;opacity:.62}.week-finalize-dialog{width:min(92vw,560px);max-height:90vh;padding:0;border:0;border-radius:16px;box-shadow:0 24px 72px rgba(15,23,42,.32)}.week-finalize-dialog::backdrop{background:rgba(15,23,42,.65)}.week-finalize-confirmation{display:grid;gap:12px;padding:20px;overflow:auto}.week-finalize-confirmation h3,.week-finalize-confirmation p{margin:0}.week-finalize-confirmation ul{display:grid;gap:6px;margin:0;padding-left:1.3rem}.week-finalize-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.week-finalize-actions .button{min-height:48px;white-space:normal}.week-finalize-progress,.week-finalize-success{display:grid;gap:4px;padding:12px;border-radius:11px}.week-finalize-progress{background:#edf5fa;color:#123d5a}.week-finalize-success{background:#dcfce7;color:#14532d}.week-finalize-progress p,.week-finalize-success p{margin:0}.week-finalize-card [data-week-finalize-feedback]{overflow-wrap:anywhere}.week-finalize-card :focus-visible{outline:3px solid var(--gold);outline-offset:2px}.week-communication-summary{display:grid;min-width:0;gap:8px;padding:13px;border:1px solid #b9cad3;border-radius:12px;background:#fff;overflow-wrap:anywhere}.week-communication-summary h4,.week-communication-summary p{margin:0}.week-communication-summary.is-complete{border-color:#2b7a54;background:#f3fbf6}.week-communication-summary.is-partial,.week-communication-summary.is-failed{border-color:#b45309;background:#fff8ed}.week-communication-summary.is-pending{border-color:#397393;background:#f0f8fc}.week-communication-summary>.button{width:fit-content;max-width:100%;min-height:48px;white-space:normal}.week-communication-summary :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.week-finalize-card.is-pending{border-color:#b45309;background:#fff8ed}.week-correction-pending,.week-correction-review{display:grid;min-width:0;gap:9px;padding:13px;border-radius:12px;overflow-wrap:anywhere}.week-correction-pending{border:1px solid #d69b49;background:#fff4df;color:#713b08}.week-correction-pending p,.week-correction-review h4,.week-correction-review p{margin:0}.week-correction-review{border:1px solid #b9cad3;background:#fff}.week-correction-review.is-ready{border-color:#2b7a54;background:#f3fbf6}.week-correction-review.is-blocked{border-color:#b45309;background:#fffaf0}.week-correction-results{display:grid;min-width:0;gap:0;margin:0;padding:0;border:1px solid #cad8df;border-radius:10px;background:#fff;list-style:none;overflow:hidden}.week-correction-results li{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #dce5e9}.week-correction-results li:last-child{border-bottom:0}.week-correction-results li>span{display:grid;min-width:0;gap:2px;overflow-wrap:anywhere}.week-correction-results li>span:last-child{display:block;flex:0 0 auto;text-align:right}.week-correction-results small{color:var(--muted)}.week-correction-warnings{padding:9px 11px;border:1px solid #d9b86c;border-radius:9px;background:#fffaf0}.week-correction-warnings summary{cursor:pointer;font-weight:800}.week-correction-warnings ul{margin-bottom:0;padding-left:1.2rem}.week-correction-freshness{font-weight:700;color:#14532d}.week-correction-actions{display:flex;flex-wrap:wrap;gap:9px}.week-correction-actions .button{min-height:48px;max-width:100%;white-space:normal}
.week-guidance-blocker,.week-rainout-state,.week-rainout-action,.week-next-scheduled{display:grid;min-width:0;gap:7px;padding:13px;border:1px solid #c4d2d8;border-radius:12px;background:#fff;overflow-wrap:anywhere}.week-guidance-blocker{border-color:#d59a45;background:#fff8ed}.week-rainout-state{border-color:#5c8fa3;background:#eff8fb}.week-rainout-action{grid-template-columns:minmax(0,1fr) auto;align-items:center}.week-rainout-action h4,.week-rainout-action p,.week-rainout-state p,.week-next-scheduled h4,.week-next-scheduled p,.week-guidance-blocker p{margin:0}.week-rainout-action>.button{min-height:48px;max-width:100%;white-space:normal}.week-next-scheduled{border-color:#7dbb9a;background:#f3fbf6}.week-next-scheduled>.button{width:fit-content;min-height:48px;max-width:100%;white-space:normal}
.week-correction-no-play{display:grid;min-width:0;gap:5px;padding:12px;border:1px solid #70a889;border-radius:10px;background:#fff;color:#143e2b;overflow-wrap:anywhere}.week-correction-no-play strong{letter-spacing:.035em}.week-correction-no-play small{color:#365b4a}
.week-correction-stage{display:grid;min-width:0;gap:10px}.week-publish-ready,.week-publish-blocked{display:grid;gap:4px;padding:11px 12px;border-radius:10px}.week-publish-ready{background:#e7f6ec;color:#14532d}.week-publish-blocked{background:#fff1dc;color:#713b08}.week-publish-ready p,.week-publish-blocked p{margin:0}
.week-correction-metrics,.week-communication-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.week-correction-metrics div,.week-communication-counts div{min-width:0;padding:9px;border-radius:9px;background:#fff}.week-correction-metrics dt,.week-communication-counts dt{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.week-correction-metrics dd,.week-communication-counts dd{margin:3px 0 0;color:var(--navy);font-size:1rem;font-weight:900;overflow-wrap:anywhere}
.week-closeout-state{padding:14px}.week-closeout-state>h4{font-size:1.05rem}.week-closeout-state.is-complete{border-width:2px}.week-communication-issue{display:grid;gap:3px;padding:10px 12px;border-left:4px solid #b45309;border-radius:8px;background:#fff}.week-communication-issue p{margin:0}.week-closeout-details{border-top:1px solid rgba(74,96,106,.22)}.week-closeout-details>summary{display:flex;min-height:44px;align-items:center;color:var(--teal-dark);font-size:.78rem;font-weight:850;cursor:pointer}.week-closeout-details>p{margin:0 0 10px;color:var(--muted);font-size:.78rem}.week-closeout-details>.button{margin-bottom:10px;min-height:44px;white-space:normal}
@media(max-width:430px){.week-finalize-panel{padding:13px}.week-finalize-panel>.split-heading{align-items:stretch;flex-direction:column}.week-finalize-panel>.split-heading label{width:100%}.week-finalize-heading{align-items:flex-start;flex-direction:column}.week-finalize-card>.button,.week-finalize-actions,.week-finalize-actions .button,.week-communication-summary>.button,.week-correction-actions,.week-correction-actions .button,.week-rainout-action>.button,.week-next-scheduled>.button{width:100%}.week-rainout-action{grid-template-columns:minmax(0,1fr)}.week-finalize-actions{flex-direction:column-reverse}.week-finalize-confirmation{padding:16px}.week-finalize-dialog{width:calc(100vw - 24px)}.week-correction-results li{align-items:flex-start;flex-direction:column;gap:5px}.week-correction-results li>span:last-child{text-align:left}}
@media(max-width:360px){.week-finalize-card{padding:12px}.week-finalize-confirmation{padding:13px}.week-finalize-card>.button,.week-finalize-actions .button{padding-inline:9px;font-size:.78rem}}
@media(max-width:430px){.week-correction-metrics,.week-communication-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.week-correction-review>.button,.week-closeout-state>.button,.week-closeout-details>.button{width:100%;min-height:48px;white-space:normal}.week-closeout-state{padding:12px}}
@media(max-width:340px){.week-correction-metrics,.week-communication-counts{grid-template-columns:1fr 1fr;gap:5px}.week-correction-metrics div,.week-communication-counts div{padding:7px}.week-finalize-card{padding:10px}.week-finalize-dialog{width:calc(100vw - 16px)}}
