:root{--navy:#101a3a;--navy2:#172553;--blue:#2d67f6;--cyan:#18b8ff;--bg:#f4f6fb;--card:#fff;--text:#172033;--muted:#6e7890;--line:#dfe4ef;--danger:#d83b4b;--success:#138a5b;--warning:#e99813;--shadow:0 10px 30px rgba(18,31,67,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:.72rem 1rem;font-weight:700}button:hover{border-color:#aab6d0}.primary{background:var(--blue);border-color:var(--blue);color:#fff}.primary:hover{background:#1f56db}.danger{background:#fff2f3;border-color:#f1bec4;color:var(--danger)}.success{background:#e8f8f1;border-color:#b7e6d0;color:var(--success)}.warning{background:#fff7e6;border-color:#f5d597;color:#8d5b00}.ghost{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}.icon-btn{width:40px;height:40px;padding:0;border-radius:50%;font-size:1.35rem}.topbar{height:72px;background:linear-gradient(120deg,var(--navy),var(--navy2));display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3.5rem);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 5px 24px rgba(9,18,48,.23)}.brand{font-size:1.75rem;font-weight:900;letter-spacing:-.04em;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.1rem}.brand span{color:var(--cyan)}.brand small{font-size:.62rem;letter-spacing:.12em;margin-left:.55rem;padding:.3rem .45rem;border:1px solid rgba(255,255,255,.35);border-radius:6px}.top-actions{display:flex;align-items:center;gap:.8rem}.user-badge{font-size:.88rem;color:#d8e3ff}.setup-banner{background:#fff2c8;color:#664700;padding:.85rem 1rem;text-align:center;border-bottom:1px solid #e5c768}.page-shell{width:min(1500px,100%);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.hidden{display:none!important}.auth-layout{display:grid;grid-template-columns:1.35fr .8fr;gap:2rem;min-height:calc(100vh - 140px);align-items:center}.hero-card{background:radial-gradient(circle at 85% 10%,rgba(24,184,255,.24),transparent 30%),linear-gradient(135deg,var(--navy),#1b3476);border-radius:26px;color:#fff;padding:clamp(2rem,5vw,5rem);box-shadow:var(--shadow)}.hero-card h1{font-size:clamp(2.35rem,6vw,5.4rem);line-height:.96;margin:.7rem 0 1.4rem;max-width:850px;letter-spacing:-.055em}.hero-card p{font-size:1.12rem;line-height:1.7;max-width:720px;color:#dce5ff}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.73rem;font-weight:900;color:var(--blue)}.hero-card .eyebrow{color:#7fdcff}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2rem}.feature-grid span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:.8rem;border-radius:10px;text-align:center;font-weight:800}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.35rem;box-shadow:var(--shadow)}.auth-card{padding:2rem}.auth-card h2,.panel h2,.panel h3{margin-top:0}.muted{color:var(--muted)}label{display:flex;flex-direction:column;gap:.42rem;font-weight:800;font-size:.88rem;margin-bottom:.9rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.78rem .85rem;color:var(--text);outline:none}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,103,246,.1)}.button-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.form-message{min-height:1.3rem;margin:.6rem 0 0;font-size:.9rem}.section-heading,.workspace-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading{margin-bottom:1.3rem}.section-heading h1,.workspace-heading h1{margin:.15rem 0 0;font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.035em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem}.league-card,.data-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.15rem;box-shadow:0 5px 18px rgba(18,31,67,.05)}.league-card{display:flex;flex-direction:column;gap:1rem;min-height:190px}.league-card-top{display:flex;gap:.85rem;align-items:flex-start}.logo{width:58px;height:58px;border-radius:13px;object-fit:contain;background:#f4f6fb;border:1px solid var(--line);flex:none}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e9edf5;border:1px solid var(--line)}.league-card h3,.data-card h3{margin:.1rem 0 .3rem}.pill-row{display:flex;gap:.45rem;flex-wrap:wrap}.pill,.status{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .58rem;font-size:.73rem;font-weight:900;background:#edf1f9;color:#40506d}.status.live{background:#ffe5e7;color:#b01828}.status.final{background:#e6f6ef;color:#0b7850}.status.upcoming{background:#eef3ff;color:#335fbd}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1.4rem;align-items:start}.sidebar{position:sticky;top:92px;background:var(--navy);border-radius:18px;padding:1rem;color:#fff;min-height:calc(100vh - 120px);box-shadow:var(--shadow)}.back-btn{width:100%;text-align:left;background:transparent;border-color:rgba(255,255,255,.15);color:#dbe5ff}.league-identity{display:flex;gap:.7rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.league-identity .logo{width:48px;height:48px}.league-identity h3{margin:0;font-size:1rem}.league-identity p{margin:.2rem 0 0;color:#aebddd;font-size:.8rem}.sidebar-select{margin:1rem 0;color:#cbd7f2}.sidebar-select select{background:#182854;color:#fff;border-color:#344873}.side-tabs{display:flex;flex-direction:column;gap:.25rem}.side-tabs button{background:transparent;border-color:transparent;color:#bfcbed;text-align:left;padding:.72rem .8rem}.side-tabs button:hover,.side-tabs button.active{background:#203665;color:#fff;border-color:#31508c}.workspace-main{min-width:0}.workspace-heading{margin-bottom:1.1rem}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.05rem}.stat-card b{display:block;font-size:1.75rem;margin-top:.2rem}.stat-card span{color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stack{display:flex;flex-direction:column;gap:.8rem}.data-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--line);background:#fff;border-radius:13px;padding:.85rem}.data-row-main{display:flex;gap:.75rem;align-items:center;min-width:0}.data-row-main h4{margin:0}.data-row-main p{margin:.2rem 0 0}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.scroll{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:.78rem .8rem;border-bottom:1px solid var(--line);text-align:left;font-size:.88rem}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#61708b;background:#f8f9fc;position:sticky;top:0}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfe}.empty{padding:2.4rem;text-align:center;color:var(--muted);border:1px dashed #bec8dc;border-radius:14px;background:#fafbfe}.competition-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(120deg,#fff,#f2f6ff);border:1px solid #d8e2fa;border-radius:16px;padding:1rem 1.2rem;margin-bottom:1rem}.competition-banner h2{margin:.1rem 0}.match-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.match-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem;background:#f9faff;border-bottom:1px solid var(--line)}.match-card-body{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.2rem}.team-block{text-align:center}.team-block img{width:58px;height:58px;object-fit:contain}.score-block{text-align:center}.score-block strong{font-size:2rem}.lineup-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.check-list{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:.4rem}.check-item{display:flex;align-items:center;gap:.55rem;padding:.48rem;border-bottom:1px solid #eef1f6}.check-item:last-child{border-bottom:0}.check-item input{width:auto;margin:0}.scoring-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:1rem}.scoreboard{background:linear-gradient(135deg,var(--navy),#223b7b);color:#fff;border-radius:20px;padding:1.3rem}.scoreboard-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.scoreboard-team{text-align:center}.scoreboard-team img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:16px;padding:.35rem}.big-score{font-size:clamp(2.2rem,6vw,4.2rem);font-weight:950;letter-spacing:-.06em}.score-meta{text-align:center;color:#bdc9e6;margin-top:.5rem}.event-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.event-log{max-height:540px;overflow:auto}.event-item{display:flex;justify-content:space-between;gap:.7rem;padding:.65rem;border-bottom:1px solid var(--line)}.event-item:last-child{border-bottom:0}.modal{position:fixed;inset:0;background:rgba(9,16,38,.62);display:grid;place-items:center;padding:1rem;z-index:50}.modal-card{background:#fff;border-radius:20px;width:min(920px,100%);max-height:92vh;overflow:auto;padding:1.4rem;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.3)}.modal-close{position:absolute;right:.8rem;top:.8rem}.toast{position:fixed;right:1.2rem;bottom:1.2rem;background:#152342;color:#fff;padding:.85rem 1rem;border-radius:12px;box-shadow:var(--shadow);z-index:80;max-width:360px}.danger-zone{border:1px solid #efc2c7;background:#fff7f8;border-radius:14px;padding:1rem}.subnav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.subnav button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.note{border-left:4px solid var(--blue);background:#eef4ff;padding:.8rem 1rem;border-radius:8px}.kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.clickable{cursor:pointer}.clickable:hover{border-color:#99add7;transform:translateY(-1px)}@media(max-width:1050px){.auth-layout{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.side-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(2,1fr)}.scoring-shell{grid-template-columns:1fr}}@media(max-width:700px){.page-shell{padding:1rem}.topbar{height:64px}.auth-layout{min-height:auto}.hero-card{padding:2rem 1.4rem}.feature-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.three,.split,.lineup-grid{grid-template-columns:1fr}.section-heading,.workspace-heading,.panel-heading{align-items:flex-start;flex-direction:column}.side-tabs{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr 1fr}.match-card-body{grid-template-columns:1fr}.event-buttons{grid-template-columns:repeat(2,1fr)}.scoring-shell{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.data-row{align-items:flex-start;flex-direction:column}.top-actions .user-badge{display:none}}


/* Basketball scorekeeper */
.basketball-scorekeeper{padding-bottom:112px}.basket-clockbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:linear-gradient(135deg,#11186a,#171c87);color:#fff;border-radius:18px 18px 0 0;padding:1rem 1.2rem;box-shadow:var(--shadow)}.basket-clockbar>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.basket-clockbar small{color:#cdd6ff}.basket-clock-centre{text-align:center}.basket-clock-centre span{display:block;font-size:.78rem;font-weight:900;color:#dfe4ff;text-transform:uppercase;letter-spacing:.08em}.basket-clock-centre strong{font-size:clamp(2.5rem,6vw,4.4rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.04em}.basket-clock-centre strong.clock-low{color:#ffcb55}.basket-clock-actions{display:flex;justify-content:flex-end;gap:.5rem}.basket-clock-actions button:not(.primary){background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.basket-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;background:#e9edf5;padding:.75rem;border:1px solid #d6dce8;border-top:0}.basket-team-panel{background:#f8f9fc;border:1px solid #dce1eb;border-radius:12px;overflow:hidden}.basket-team-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;background:#fff;border-bottom:1px solid var(--line)}.basket-team-title>strong{font-size:2rem;color:#101a3a}.basket-team-brand{display:flex;align-items:center;gap:.7rem}.basket-team-brand img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:#f1f3f8}.basket-team-brand h2{font-size:1.05rem;margin:0}.basket-team-brand span{font-size:.72rem;color:var(--muted);font-weight:800}.basket-team-controls{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.basket-team-controls>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem;padding:.75rem 1rem;border-right:1px solid var(--line)}.basket-team-controls>div:last-child{border-right:0}.basket-team-controls span{font-size:.75rem;color:var(--muted);font-weight:800}.basket-team-controls b{font-size:1.05rem}.basket-team-controls small{grid-column:1/-1;color:var(--muted)}.mini-controls{display:flex!important;gap:.25rem}.mini-controls button{width:28px;height:28px;padding:0;border-radius:50%}.basket-player-head,.basket-player-row{display:grid;grid-template-columns:42px minmax(120px,1fr) 42px 42px 42px 42px 52px;align-items:center;gap:.2rem}.basket-player-head{padding:.55rem .7rem;background:#dfe3f1;color:#343c66;font-size:.68rem;text-transform:uppercase;font-weight:900}.basket-player-row{min-height:52px;padding:.35rem .7rem;background:#fff;border-bottom:1px solid var(--line)}.basket-player-row:last-child{border-bottom:0}.basket-player-row.fouled-out{background:#fff0f1}.basket-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid #cfd6e3;border-radius:50%;font-weight:900}.basket-player-name{display:flex;flex-direction:column}.basket-player-name small{font-size:.62rem;color:var(--danger);font-weight:950}.basket-stat{text-align:center;font-variant-numeric:tabular-nums}.basket-stat.points{font-weight:950;color:#171c87}.danger-text{color:var(--danger);font-weight:950}.basket-edit-lineup{margin:.75rem;background:#2f6fe6;color:#fff;border-color:#2f6fe6}.basket-admin-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-top:0;padding:.8rem 1rem}.basket-event-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem}.basket-event-log{max-height:340px;overflow:auto}.basket-action-dock{position:sticky;bottom:0;z-index:16;display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:.5rem;background:rgba(244,246,251,.96);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:.65rem;margin-top:1rem;box-shadow:0 -8px 30px rgba(18,31,67,.13)}.basket-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:72px;border-radius:14px}.basket-action b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#2f6fe6;color:#fff;font-size:1.15rem}.basket-action span{font-size:.68rem}.basket-action.score{background:#edf4ff;border-color:#bdd3ff}.basket-action.undo b{background:#737d91}.team-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.team-choice-grid button{display:flex;flex-direction:column;gap:.3rem;min-height:110px;justify-content:center}.team-choice-grid b{font-size:1.1rem}.team-choice-grid span{color:var(--muted)}.basket-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.basket-choice-team{border:1px solid var(--line);border-radius:14px;overflow:hidden}.basket-choice-title{display:flex;align-items:center;gap:.6rem;padding:.75rem;background:#eef1f8}.basket-choice-title img{width:38px;height:38px;object-fit:contain}.basket-choice-title h3{margin:0}.basket-player-choice{width:100%;display:grid;grid-template-columns:42px 1fr;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0}.basket-player-choice:last-child{border-bottom:0}.basket-player-choice small{display:block;color:var(--muted);font-weight:600}.basket-player-choice:disabled{background:#fff0f1;color:#999}.period-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.empty.small{padding:1rem}
@media(max-width:1000px){.basket-teams-grid{grid-template-columns:1fr}.basket-clockbar{grid-template-columns:1fr auto}.basket-clock-actions{grid-column:1/-1;justify-content:center}.basket-action-dock{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.basketball-scorekeeper{padding-bottom:0}.basket-clockbar{grid-template-columns:1fr;text-align:center}.basket-clockbar>div:first-child{align-items:center}.basket-clock-actions{grid-column:auto}.basket-admin-strip{align-items:flex-start;flex-direction:column}.basket-player-head,.basket-player-row{grid-template-columns:38px minmax(105px,1fr) 36px 44px}.basket-hide-mobile{display:none}.basket-action-dock{position:sticky;bottom:0;grid-template-columns:repeat(3,1fr);border-radius:14px}.basket-choice-grid,.team-choice-grid{grid-template-columns:1fr}.period-choice-grid{grid-template-columns:repeat(2,1fr)}}

/* AFL live scorekeeper */
.afl-scorekeeper{padding-bottom:112px}.afl-clockbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:linear-gradient(135deg,#101a3a,#234b87);color:#fff;border-radius:18px 18px 0 0;padding:1rem 1.2rem;box-shadow:var(--shadow)}.afl-clockbar>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.afl-clockbar small{color:#d3e2ff}.afl-clock-centre{text-align:center}.afl-clock-centre span{display:block;font-size:.78rem;font-weight:950;color:#dfeaff;text-transform:uppercase;letter-spacing:.1em}.afl-clock-centre strong{font-size:clamp(2.5rem,6vw,4.4rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.04em}.afl-clock-centre strong.clock-low{color:#ffce55}.afl-clock-actions{display:flex;justify-content:flex-end;gap:.5rem}.afl-clock-actions button:not(.primary){background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.afl-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;background:#e8edf5;padding:.75rem;border:1px solid #d3dae7;border-top:0}.afl-team-panel{background:#f8fafc;border:1px solid #d9e0eb;border-radius:12px;overflow:hidden}.afl-team-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;background:#fff;border-bottom:1px solid var(--line)}.afl-team-title>strong{font-size:clamp(1.35rem,3vw,2rem);color:#101a3a;font-variant-numeric:tabular-nums}.afl-team-brand{display:flex;align-items:center;gap:.7rem}.afl-team-brand img{width:46px;height:46px;object-fit:contain;border-radius:50%;background:#f1f3f8}.afl-team-brand h2{font-size:1.05rem;margin:0}.afl-team-brand span{font-size:.72rem;color:var(--muted);font-weight:800}.afl-player-head,.afl-player-row{display:grid;grid-template-columns:44px minmax(130px,1fr) 48px 48px 58px;align-items:center;gap:.2rem}.afl-player-head{padding:.55rem .75rem;background:#dbe2ee;color:#34415c;font-size:.69rem;text-transform:uppercase;font-weight:950}.afl-player-row{min-height:54px;padding:.38rem .75rem;background:#fff;border-bottom:1px solid var(--line)}.afl-player-row:last-child{border-bottom:0}.afl-number{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd4e2;border-radius:50%;font-weight:950}.afl-player-name{display:flex;flex-direction:column}.afl-player-name small{color:var(--muted);font-size:.68rem}.afl-stat{text-align:center;font-variant-numeric:tabular-nums}.afl-stat.points{font-weight:950;color:#173b75}.afl-edit-lineup{margin:.75rem;background:#2f6fe6;color:#fff;border-color:#2f6fe6}.afl-admin-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-top:0;padding:.8rem 1rem}.afl-event-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem}.afl-event-log{max-height:340px;overflow:auto}.afl-action-dock{position:sticky;bottom:0;z-index:16;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.6rem;background:rgba(244,246,251,.96);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:.7rem;margin-top:1rem;box-shadow:0 -8px 30px rgba(18,31,67,.13)}.afl-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;min-height:78px;border-radius:14px}.afl-action b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;font-size:1.2rem}.afl-action.goal{background:#eaf5ff;border-color:#abd4ff}.afl-action.goal b{background:#1768c5}.afl-action.behind{background:#fff6df;border-color:#f0d28a}.afl-action.behind b{background:#b47700}.afl-action.undo b{background:#737d91}.afl-action span{font-size:.72rem;font-weight:900}.afl-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.afl-choice-team{border:1px solid var(--line);border-radius:14px;overflow:hidden}.afl-choice-title{display:flex;align-items:center;gap:.65rem;padding:.8rem;background:#eef2f8}.afl-choice-title img{width:40px;height:40px;object-fit:contain}.afl-choice-title h3{margin:0}.afl-player-choice{width:100%;display:grid;grid-template-columns:44px 1fr;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0}.afl-player-choice:last-child{border-bottom:0}.afl-player-choice small{display:block;color:var(--muted);font-weight:600}
@media(max-width:1000px){.afl-teams-grid{grid-template-columns:1fr}.afl-clockbar{grid-template-columns:1fr auto}.afl-clock-actions{grid-column:1/-1;justify-content:center}}
@media(max-width:650px){.afl-scorekeeper{padding-bottom:0}.afl-clockbar{grid-template-columns:1fr;text-align:center}.afl-clockbar>div:first-child{align-items:center}.afl-clock-actions{grid-column:auto}.afl-admin-strip{align-items:flex-start;flex-direction:column}.afl-player-head,.afl-player-row{grid-template-columns:40px minmax(110px,1fr) 38px 38px 48px}.afl-action-dock{grid-template-columns:repeat(3,1fr);border-radius:14px}.afl-choice-grid{grid-template-columns:1fr}.afl-team-title{align-items:flex-start}.afl-team-title>strong{font-size:1.25rem}}

/* Cricket live scorekeeper */
.cricket-scorekeeper{padding-bottom:126px}.cricket-innings-head{display:grid;grid-template-columns:minmax(150px,.55fr) 1fr 1fr;gap:.65rem;align-items:stretch;background:#dfe3eb;padding:.75rem;border-radius:18px 18px 0 0;border:1px solid #d1d7e2}.cricket-innings-head>div:first-child{display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:.8rem}.cricket-innings-head small{font-weight:900;color:#44506a}.cricket-team-score{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.7rem;background:#fff;border-radius:10px;padding:.8rem 1rem;border:1px solid var(--line)}.cricket-team-score.active-blue{background:#3f74c9;color:#fff;border-color:#3f74c9}.cricket-team-score img{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff}.cricket-team-score b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cricket-team-score strong{font-size:1.8rem;font-variant-numeric:tabular-nums}.cricket-match-tools,.cricket-admin-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-top:0;padding:.8rem 1rem}.cricket-ready-note{margin:.8rem 0}.cricket-table-card{margin-top:.85rem;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.cricket-section-title{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#eef1f7}.cricket-section-title h2{margin:0;font-size:1rem}.cricket-section-title span{font-weight:950}.cricket-table-head,.cricket-player-row,.cricket-bowler-row{display:grid;align-items:center;gap:.25rem}.cricket-table-head.batting,.cricket-player-row{grid-template-columns:46px minmax(140px,1fr) 52px 52px 48px 48px 70px}.cricket-table-head.bowling,.cricket-bowler-row{grid-template-columns:46px minmax(140px,1fr) 62px 52px 52px 72px}.cricket-table-head{padding:.52rem .75rem;background:#d6d9e1;color:#343d56;font-size:.68rem;font-weight:950;text-transform:uppercase}.cricket-player-row,.cricket-bowler-row{min-height:54px;padding:.42rem .75rem;border-bottom:1px solid var(--line);cursor:pointer}.cricket-player-row:hover,.cricket-bowler-row:hover{background:#f5f8ff}.cricket-player-row.active-blue,.cricket-bowler-row.active-blue{background:#3f74c9;color:#fff}.cricket-player-row.is-out{opacity:.62}.cricket-number{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-weight:900}.cricket-player-name{display:flex;flex-direction:column}.cricket-player-name small{font-size:.64rem;font-weight:900;opacity:.8}.cricket-summary-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto minmax(190px,1fr);gap:.8rem;padding:.8rem 1rem;background:#e3e5eb;align-items:center}.cricket-summary-row small{text-align:right}.cricket-event-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem}.cricket-event-log{max-height:330px;overflow:auto}.cricket-action-dock{position:sticky;bottom:0;z-index:16;display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:.45rem;background:rgba(244,246,251,.97);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:.65rem;margin-top:1rem;box-shadow:0 -8px 30px rgba(18,31,67,.14)}.cricket-action-dock button{min-height:68px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.4rem}.cricket-action-dock button b{display:grid;place-items:center;min-width:34px;height:34px;padding:0 .35rem;border-radius:999px;background:#3f74c9;color:#fff}.cricket-action-dock button span{font-size:.64rem}.cricket-action-dock button.danger b{background:#c9363f}.cricket-action-dock button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.cricket-innings-head{grid-template-columns:1fr 1fr}.cricket-innings-head>div:first-child{grid-column:1/-1}.cricket-action-dock{grid-template-columns:repeat(5,1fr)}}
@media(max-width:720px){.cricket-scorekeeper{padding-bottom:0}.cricket-innings-head{grid-template-columns:1fr}.cricket-innings-head>div:first-child{grid-column:auto}.cricket-match-tools,.cricket-admin-strip{align-items:flex-start;flex-direction:column}.cricket-table-head.batting,.cricket-player-row{grid-template-columns:40px minmax(105px,1fr) 40px 40px 40px}.cricket-table-head.batting span:nth-child(6),.cricket-table-head.batting span:nth-child(7),.cricket-player-row>span:nth-child(6),.cricket-player-row>span:nth-child(7){display:none}.cricket-table-head.bowling,.cricket-bowler-row{grid-template-columns:40px minmax(105px,1fr) 48px 42px 42px}.cricket-table-head.bowling span:nth-child(6),.cricket-bowler-row>span:nth-child(6){display:none}.cricket-summary-row{grid-template-columns:1fr auto;gap:.4rem}.cricket-summary-row small{grid-column:1/-1;text-align:left}.cricket-action-dock{grid-template-columns:repeat(4,1fr);border-radius:14px}.cricket-team-score{grid-template-columns:38px minmax(0,1fr) auto}.cricket-team-score strong{font-size:1.35rem}}

/* V9 Soccer and Netball scorekeepers */
.soccer-scorekeeper,.netball-scorekeeper{display:grid;gap:1rem;padding-bottom:6rem}
.sport-clockbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:#17156f;color:#fff;border-radius:18px;padding:1rem 1.25rem;box-shadow:0 12px 28px rgba(23,21,111,.22)}
.sport-clockbar>div:first-child{display:grid;gap:.25rem}.sport-clockbar small{opacity:.8}.sport-clock-centre{text-align:center;display:grid;gap:.1rem}.sport-clock-centre strong{font-size:2.35rem;letter-spacing:.08em}.sport-clock-actions{display:flex;justify-content:flex-end;gap:.6rem}.sport-clock-actions button{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.1)}.sport-clock-actions .primary{background:#2f77e7;border-color:#2f77e7}
.sport-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sport-team-panel{background:#eef1f7;border:1px solid #dce1eb;border-radius:16px;padding:.75rem;overflow:hidden}.sport-team-title{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:.75rem}.sport-team-title>div{display:flex;align-items:center;gap:.7rem}.sport-team-title img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:#f7f8fb}.sport-team-title h2{margin:0;font-size:1.05rem}.sport-team-title strong{font-size:2rem}.soccer-player-head,.soccer-player-row{display:grid;grid-template-columns:46px minmax(150px,1fr) repeat(4,52px);align-items:center;gap:.35rem}.netball-player-head,.netball-player-row{display:grid;grid-template-columns:46px minmax(145px,1fr) repeat(6,50px);align-items:center;gap:.3rem}.soccer-player-head,.netball-player-head{padding:.8rem .55rem .35rem;color:#616779;font-size:.72rem;text-transform:uppercase}.soccer-player-row,.netball-player-row{background:#fff;border-radius:10px;margin:.35rem 0;padding:.6rem .5rem}.sport-number{width:34px;height:34px;border:1px solid #d2d7e1;border-radius:50%;display:grid;place-items:center}.sport-player{display:grid;min-width:0}.sport-player b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-player small{color:#73798a}.soccer-player-row.sent-off{opacity:.62;background:#fff0f0}.sport-edit-lineup{margin-top:.65rem;background:#2f77e7;color:#fff;border-color:#2f77e7}.sport-admin-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border-radius:14px;padding:.8rem 1rem;border:1px solid #e1e5ed}.soccer-action-dock,.netball-action-dock{position:sticky;bottom:.75rem;z-index:8;display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid #dfe4ed;border-radius:18px;padding:.75rem;box-shadow:0 14px 30px rgba(19,24,48,.16)}.soccer-action-dock button,.netball-action-dock button{min-width:92px;background:#2f77e7;color:#fff;border-color:#2f77e7}.soccer-action-dock button:nth-child(4){background:#f3c644;border-color:#f3c644;color:#231f20}.soccer-action-dock button:nth-child(5){background:#cf3f3f;border-color:#cf3f3f}.netball-action-dock button:nth-child(2){background:#eef2f8;color:#1d2441;border-color:#d9e0eb}.period-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.period-choice-grid button{min-height:48px}
@media(max-width:900px){.sport-clockbar{grid-template-columns:1fr auto}.sport-clock-actions{grid-column:1/-1;justify-content:center}.sport-teams-grid{grid-template-columns:1fr}.sport-admin-strip{align-items:flex-start;flex-direction:column}.netball-player-head,.netball-player-row{grid-template-columns:42px minmax(120px,1fr) repeat(4,46px)}.netball-player-head span:nth-child(7),.netball-player-head span:nth-child(8),.netball-player-row span:nth-child(7),.netball-player-row span:nth-child(8){display:none}}
@media(max-width:560px){.sport-clock-centre strong{font-size:1.9rem}.soccer-player-head,.soccer-player-row{grid-template-columns:40px minmax(110px,1fr) repeat(2,44px)}.soccer-player-head span:nth-child(5),.soccer-player-head span:nth-child(6),.soccer-player-row span:nth-child(5),.soccer-player-row span:nth-child(6){display:none}.netball-player-head,.netball-player-row{grid-template-columns:40px minmax(105px,1fr) repeat(3,42px)}.netball-player-head span:nth-child(6),.netball-player-row span:nth-child(6){display:none}.soccer-action-dock,.netball-action-dock{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.period-choice-grid{grid-template-columns:1fr 1fr}}

.league-card.just-created{outline:3px solid var(--accent,#2f76ed);box-shadow:0 0 0 7px rgba(47,118,237,.15);transform:translateY(-2px);transition:.25s ease}
#createLeaguePanel{scroll-margin-top:90px}

/* V14 PlayHQ-inspired SportHQ competition management design */
.sporthq-workspace{display:block;max-width:1180px;margin:0 auto;padding-bottom:3rem}.competition-hero{position:relative;overflow:hidden;border-radius:0 0 28px 28px;background:linear-gradient(180deg,#252994 0%,#303ca7 74%,#3444ae 100%);color:#fff;padding:1rem clamp(1rem,4vw,2.5rem) 0;box-shadow:0 18px 45px rgba(32,43,130,.24);min-height:260px}.competition-hero:before{content:"";position:absolute;inset:-40% -10% auto auto;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(88,180,255,.32),rgba(88,180,255,0) 68%);pointer-events:none}.competition-hero-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-back{background:transparent;border:0;color:#fff;padding:.55rem 0;font-weight:800}.hero-back:hover{border:0;opacity:.85}.sporthq-site-pill{padding:.55rem 1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);font-weight:800}.competition-hero-main{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:2rem 0 1.35rem}.league-identity{display:flex;align-items:center;gap:1rem;padding:0;border:0;min-width:0}.league-identity .logo{width:84px;height:84px;border-radius:18px;background:#fff;border:3px solid rgba(255,255,255,.75);box-shadow:0 8px 25px rgba(0,0,0,.16)}.league-identity h1{font-size:clamp(2.25rem,6vw,4.75rem);line-height:.94;margin:0;letter-spacing:-.055em;color:#fff}.league-identity p{margin:.55rem 0 0;color:#dce5ff;font-size:1rem}.hero-competition-select{width:min(360px,100%);color:#fff;margin:0}.hero-competition-select span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#cbd7ff}.hero-competition-select select{margin-top:.38rem;background:rgba(255,255,255,.96);border:0;color:#151b4e;border-radius:999px;padding:.85rem 2.5rem .85rem 1rem;font-weight:850;box-shadow:0 8px 24px rgba(0,0,0,.12)}.competition-tabs{position:relative;z-index:2;display:flex;flex-direction:row;gap:0;overflow:auto;margin:0 -2rem;padding:0 clamp(1rem,4vw,2.5rem);scrollbar-width:none;background:rgba(18,23,99,.18)}.competition-tabs::-webkit-scrollbar{display:none}.competition-tabs button{flex:0 0 auto;white-space:nowrap;background:transparent;border:0;border-radius:0;color:#e3e8ff;padding:1rem 1.05rem;font-size:.93rem;font-weight:750;position:relative}.competition-tabs button:hover{background:rgba(255,255,255,.08);border:0}.competition-tabs button.active{background:transparent;color:#fff}.competition-tabs button.active:after{content:"";position:absolute;left:1rem;right:1rem;bottom:0;height:5px;border-radius:5px 5px 0 0;background:#48a4ff}.competition-shell{margin:-1px auto 0;background:#eef1f6;border-radius:0 0 26px 26px;padding:1.4rem clamp(.85rem,3vw,2rem) 2.2rem;min-height:520px}.workspace-heading{padding:.45rem .2rem 1rem}.workspace-heading h1{color:#222b88}.workspace-heading .eyebrow{color:#6070b8}.workspace-actions{margin-left:auto}.competition-shell .panel{border:0;border-radius:10px;box-shadow:0 8px 25px rgba(24,31,87,.09)}.competition-shell .panel-heading{padding-bottom:.8rem;border-bottom:1px solid #e1e4ec;margin-bottom:.9rem}.competition-shell .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.competition-shell .stat-card{border:0;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(24,31,87,.08);padding:1.1rem}.competition-shell .stat-card b{color:#293596}.competition-shell .data-row{border:0;border-radius:8px;box-shadow:0 1px 0 #e3e6ef;background:#fff}.competition-shell .data-row:nth-child(even){background:#f5f6fa}.competition-shell .primary{background:#2f72dc;border-color:#2f72dc}.competition-shell .primary:hover{background:#245fbd}.competition-shell .subnav{display:flex;gap:.55rem;overflow:auto;padding:.25rem 0 .9rem;scrollbar-width:none}.competition-shell .subnav button{white-space:nowrap;border-radius:999px}.competition-shell .subnav button.active{background:#2b3495;color:#fff;border-color:#2b3495}

/* Fixtures and rounds */
.rounds-dashboard{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem}.round-manager-card,.fixture-board{background:#fff;border-radius:10px;box-shadow:0 8px 25px rgba(24,31,87,.09);overflow:hidden}.round-manager-head,.fixture-board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:#303b9f;color:#fff}.round-manager-head h2,.fixture-board-head h2{margin:0;color:#fff}.round-manager-list{padding:.65rem}.round-chip{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.75rem .8rem;border-radius:8px;margin-bottom:.45rem;background:#f1f3fa}.round-chip.active{background:#303b9f;color:#fff}.round-chip p{margin:.15rem 0 0;font-size:.76rem;color:inherit;opacity:.75}.round-chip-actions{display:flex;gap:.35rem}.round-chip-actions button{padding:.38rem .52rem;font-size:.75rem}.round-selector{display:flex;gap:.35rem;overflow:auto;padding:.8rem 1rem;background:#e8eaf4;scrollbar-width:none}.round-selector::-webkit-scrollbar{display:none}.round-selector button{min-width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;color:#4250a0}.round-selector button.active{background:#303b9f;color:#fff}.fixture-round-title{padding:1rem 1.1rem .55rem}.fixture-round-title h3{font-size:1.35rem;color:#33419c;margin:0}.fixture-round-title p{margin:.2rem 0;color:#717789}.fixture-cards{padding:.4rem 1rem 1rem}.admin-fixture-card{position:relative;border:1px solid #dfe2eb;border-radius:6px;background:#fff;overflow:hidden;margin-bottom:.8rem}.admin-fixture-main{display:grid;grid-template-columns:minmax(0,1fr) 90px;min-height:180px}.admin-fixture-teams{padding:1.1rem}.admin-team-line{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.35rem 0}.admin-team-line img{width:44px;height:44px;border-radius:50%;object-fit:contain;background:#f4f5f9}.admin-team-line strong{font-size:1.05rem}.admin-team-line .score{font-size:1.75rem;font-weight:900;color:#17143e}.admin-fixture-result{margin:.65rem 0 0;color:#74798b}.admin-fixture-arrow{display:grid;place-items:center;background:#edf0f5;color:#5e6374;font-size:2rem}.admin-fixture-meta{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;border-top:1px solid #e3e5eb;padding:.85rem 1.1rem;color:#626879}.admin-fixture-actions{display:flex;gap:.45rem;flex-wrap:wrap;border-top:1px solid #e3e5eb;padding:.75rem 1rem;background:#fafbfc}.admin-fixture-actions button{padding:.5rem .7rem;font-size:.78rem}.admin-status{display:inline-flex;border-radius:6px;padding:.35rem .55rem;font-size:.72rem;font-weight:850;background:#edf0fa;color:#303b9f}.admin-status.live{background:#ffe5e7;color:#b01828}.admin-status.final{background:#ececf8;color:#282278}.admin-status.upcoming{background:#e8f3ff;color:#2772c9}

/* Ladder */
.play-ladder-card{background:#fff;border-radius:10px;box-shadow:0 8px 25px rgba(24,31,87,.09);overflow:hidden}.play-ladder-title{padding:1rem 1.15rem;background:#303b9f;color:#fff}.play-ladder-title h2{margin:0;color:#fff}.play-ladder-scroll{overflow:auto}.play-ladder{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.play-ladder th{background:#e4e6f2;color:#4957a7}.play-ladder th,.play-ladder td{padding:.9rem .85rem;border-bottom:1px solid #dfe2eb;text-align:center}.play-ladder th:nth-child(2),.play-ladder td:nth-child(2){position:sticky;left:0;text-align:left;z-index:2;background:inherit;min-width:220px}.play-ladder tbody tr:nth-child(even){background:#f1f3f7}.play-ladder tbody tr:nth-child(odd){background:#fff}.play-ladder tbody tr:last-child{background:#eeeafa}.play-ladder td.points{font-weight:950;color:#17143e}.ladder-note{padding:1rem 1.15rem 1.25rem;font-style:italic;line-height:1.55;color:#28233f}

/* Player statistics */
.play-stats-card{background:#fff;border-radius:10px;box-shadow:0 8px 25px rgba(24,31,87,.09);overflow:hidden}.play-stats-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;background:#303b9f;color:#fff}.play-stats-title h2{margin:0;color:#fff}.play-stats-scroll{overflow:auto}.play-stats-table{width:100%;min-width:760px;border-collapse:collapse}.play-stats-table th{background:#ccd0e5;color:#242851;text-align:center}.play-stats-table th:nth-child(2),.play-stats-table td:nth-child(2){text-align:left}.play-stats-table td{text-align:center;padding:.75rem;border-bottom:1px solid #dfe2eb}.play-stats-table tbody tr:nth-child(even){background:#f5f6fa}.player-cell{display:flex;align-items:center;gap:.7rem}.number-bubble{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ccd0db;border-radius:50%;font-size:1.05rem;color:#1c1c43;flex:none}.player-cell img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eef0f6}.player-cell b{display:block;color:#293a96}.player-cell small{color:#70778a}.manual-button{padding:.45rem .65rem;font-size:.75rem}

@media(max-width:900px){.competition-hero-main{align-items:flex-start;flex-direction:column}.hero-competition-select{width:100%}.rounds-dashboard{grid-template-columns:1fr}.round-manager-card{order:2}.fixture-board{order:1}.competition-shell .stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.topbar{height:62px}.page-shell{padding:0}.sporthq-workspace{max-width:none}.competition-hero{border-radius:0;min-height:250px;padding:.75rem 1rem 0}.competition-hero-main{padding:1.2rem 0 .9rem}.league-identity .logo{width:64px;height:64px}.league-identity h1{font-size:2.35rem}.league-identity p{font-size:.85rem}.competition-tabs{margin:0 -1rem;padding:0 .35rem}.competition-tabs button{padding:.9rem .75rem;font-size:.82rem}.competition-shell{border-radius:0;padding:.9rem .7rem 1.5rem}.workspace-heading{align-items:flex-start;flex-direction:column}.workspace-heading h1{font-size:1.7rem}.workspace-heading .button-row{width:100%;overflow:auto;flex-wrap:nowrap}.workspace-heading .button-row button{white-space:nowrap}.competition-shell .stat-grid{grid-template-columns:repeat(2,1fr)}.admin-fixture-main{grid-template-columns:minmax(0,1fr) 54px}.admin-fixture-meta{grid-template-columns:1fr}.admin-team-line{grid-template-columns:40px minmax(0,1fr) auto}.admin-team-line img{width:38px;height:38px}.admin-team-line strong{font-size:.93rem}.admin-team-line .score{font-size:1.45rem}.round-manager-head,.fixture-board-head{padding:.8rem}.fixture-cards{padding:.35rem .55rem .8rem}.play-ladder th:nth-child(2),.play-ladder td:nth-child(2){min-width:190px}.sporthq-site-pill{font-size:.76rem;padding:.45rem .7rem}}

/* V19 AFL best-player selector */
.best-player-checklist{display:grid;gap:.45rem}.best-player-option{display:grid!important;grid-template-columns:auto 44px 1fr;align-items:center;gap:.65rem;border:1px solid #dfe3eb;border-radius:10px;padding:.65rem;background:#fff}.best-player-option input{width:auto;margin:0}.best-player-option small{display:block;color:#707687;margin-top:.12rem}

/* V20 official SportHQ logo */
.site-logo-link{display:inline-flex;align-items:center;gap:.6rem;padding:.28rem .48rem;background:#fff;border-radius:12px;text-decoration:none;line-height:1;box-shadow:0 2px 10px rgba(10,21,73,.16)}
.site-logo{display:block;width:190px;height:52px;object-fit:contain}
.admin-logo-link small{display:inline-flex;align-items:center;justify-content:center;background:#16245a;color:#fff;border-radius:999px;padding:.36rem .55rem;font-size:.64rem;letter-spacing:.08em}
@media(max-width:650px){.site-logo-link{padding:.22rem .35rem;border-radius:10px;gap:.35rem}.site-logo{width:145px;height:42px}.admin-logo-link small{font-size:.55rem;padding:.3rem .42rem}.topbar{padding:0 .65rem}}

/* V23 image preview */
.image-preview-row{display:flex;align-items:center;gap:.75rem;padding:.65rem;border:1px solid #dfe3eb;border-radius:10px;background:#f7f8fb}.image-preview-row .logo{width:58px;height:58px;object-fit:contain}

/* V26 independent club directory */
.directory-block{margin-top:2rem}.directory-block>.section-heading{margin-bottom:1rem}.directory-block>.section-heading h2{margin:.15rem 0 .2rem;font-size:clamp(1.5rem,2.6vw,2.15rem)}
#createIndependentClubPanel{margin-bottom:1.5rem}

/* V27 basketball scorekeeper based on the supplied two-team scoring layout */
body.basketball-score-mode{background:#eef0f6;overflow-x:hidden}
body.basketball-score-mode>.topbar,
body.basketball-score-mode .competition-hero,
body.basketball-score-mode .workspace-heading,
body.basketball-score-mode .competition-shell>.subnav,
body.basketball-score-mode #workspaceContent>.subnav{display:none!important}
body.basketball-score-mode .page-shell{width:100%;max-width:none;margin:0;padding:0}
body.basketball-score-mode .sporthq-workspace{width:100%;max-width:none;margin:0;padding:0}
body.basketball-score-mode .competition-shell{width:100%;max-width:none;margin:0;padding:0;border-radius:0;background:#eef0f6;min-height:100vh}
body.basketball-score-mode .workspace-main{width:100%;max-width:none;margin:0;padding:0}
body.basketball-score-mode #workspaceContent{width:100%;max-width:none;margin:0;padding:0}

.playhq-basketball-screen{min-height:100vh;background:#eef0f6;color:#15162b;padding-bottom:72px}
.playhq-basket-topbar{height:96px;background:#171775;color:#fff;position:sticky;top:0;z-index:31;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.playhq-basket-back{position:absolute;left:12px;top:8px;border:0;background:transparent;color:#fff;padding:.2rem .35rem;font-size:.78rem;font-weight:650}
.playhq-basket-back:hover{border:0;background:rgba(255,255,255,.08)}
.playhq-basket-more{position:absolute;left:12px;bottom:12px;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:transparent;color:#fff;letter-spacing:.04em}
.playhq-basket-brand{position:absolute;left:50%;top:8px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center}
.playhq-basket-brand img{display:block;width:58px;height:25px;object-fit:contain;background:#fff;border-radius:5px;padding:2px 4px}
.playhq-basket-clock-centre{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:baseline;gap:13px;white-space:nowrap}
.playhq-basket-clock-centre span{font-size:.72rem;font-weight:750;color:#eef0ff}
.playhq-basket-clock-centre strong{font-size:2.35rem;line-height:1;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#fff}
.playhq-basket-clock-centre strong.clock-low{color:#ffd25f}
.playhq-basket-start-controls{position:absolute;right:12px;bottom:13px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.7);border-radius:999px;overflow:hidden}
.playhq-basket-start-controls button{height:36px;border:0;border-radius:0;background:transparent;color:#fff;padding:0 18px;font-size:.78rem;font-weight:650}
.playhq-basket-start-controls button+button{border-left:1px solid rgba(255,255,255,.45);padding:0 12px}
.playhq-basket-start-controls button:hover{background:rgba(255,255,255,.1);border:0}
.playhq-basket-start-controls button:disabled{opacity:.5}

.playhq-basket-content{padding:16px 10px 24px;background:#eef0f6}
.playhq-basket-teams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;max-width:1600px;margin:0 auto}
.playhq-basket-team-panel{min-width:0;background:#e9ecf3;padding:0 0 13px}
.playhq-basket-team-score{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:4px;padding:8px 13px;box-shadow:0 1px 2px rgba(22,28,64,.05)}
.playhq-basket-team-name{min-width:0;display:flex;align-items:center;gap:10px;font-size:1rem}
.playhq-basket-team-name img{width:27px;height:27px;border-radius:50%;object-fit:contain;background:#f3f4f8}
.playhq-team-fallback{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#111;color:#fff;font-size:.9rem}
.playhq-basket-team-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playhq-basket-team-score>strong{font-size:1.55rem;color:#111;font-weight:900;font-variant-numeric:tabular-nums}
.playhq-basket-team-meta{display:flex;align-items:center;gap:19px;min-height:50px;padding:8px 10px;color:#131522}
.playhq-basket-meta-item{display:flex;align-items:center;gap:7px;font-size:.72rem;white-space:nowrap}
.playhq-basket-meta-item b{font-size:.78rem}
.playhq-basket-meta-item>span:not(.playhq-meta-icon){font-weight:650}
.playhq-meta-icon{font-size:1rem;color:#222}
.playhq-timeout-plus{display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:50%;background:#397bd5;color:#fff;font-size:1rem;line-height:1}
.playhq-timeout-plus:hover{border:0;background:#2e69bd}
.playhq-basket-lineup-title{display:grid;grid-template-columns:minmax(0,1fr) 72px 72px;align-items:end;gap:6px;padding:0 13px 7px;color:#111}
.playhq-basket-lineup-title b{font-size:.78rem}
.playhq-basket-lineup-title span{text-align:center;font-size:.56rem;color:#777b88;text-transform:uppercase;letter-spacing:.05em}
.playhq-basket-player-list{display:flex;flex-direction:column;gap:4px}
.playhq-basket-player-row{display:grid;grid-template-columns:38px minmax(0,1fr) 72px 72px;align-items:center;gap:6px;min-height:45px;background:#fff;border-radius:4px;padding:5px 10px;box-shadow:0 1px 2px rgba(22,28,64,.05)}
.playhq-basket-player-row.fouled-out{background:#fff1f2}
.playhq-basket-number{display:grid;place-items:center;width:27px;height:27px;border:1px solid #c8ccd5;border-radius:50%;font-size:.72rem;color:#1a1c28}
.playhq-basket-player-name{display:flex;flex-direction:column;min-width:0}
.playhq-basket-player-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#161823}
.playhq-basket-player-name small{font-size:.54rem;color:#bf2536;font-weight:900}
.playhq-basket-fouls,.playhq-basket-points{text-align:center;font-size:.82rem;font-weight:850;font-variant-numeric:tabular-nums}
.playhq-basket-points{color:#111}
.playhq-basket-empty{padding:15px;background:#fff;border-radius:4px;color:#737887;font-size:.78rem;text-align:center}
.playhq-basket-edit{display:inline-flex;align-items:center;justify-content:center;margin:11px 10px 8px;border:0;border-radius:999px;background:#397bd5;color:#fff;padding:8px 17px;font-size:.72rem;font-weight:750}
.playhq-basket-edit:hover{border:0;background:#2e69bd}
.playhq-coach-title{padding:7px 10px 6px;font-size:.72rem;font-weight:850;color:#151722}
.playhq-coach-row{display:grid;grid-template-columns:38px minmax(0,1fr) 72px;align-items:center;gap:6px;min-height:45px;background:#fff;border-radius:4px;padding:5px 10px}
.playhq-coach-badge{font-size:.68rem;font-weight:850}
.playhq-coach-row b{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playhq-coach-row>span:last-child{text-align:center;font-size:.8rem;font-weight:800}
.playhq-basket-edit.coach-edit{margin-top:10px}

.playhq-basket-dock{position:fixed;left:0;right:0;bottom:0;z-index:32;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;background:linear-gradient(180deg,rgba(248,249,252,.98),rgba(233,236,242,.98));border-top:1px solid #bcc2ce;box-shadow:0 -5px 18px rgba(26,33,68,.08)}
.playhq-dock-left,.playhq-dock-actions{display:flex;align-items:center;gap:10px}
.playhq-event-log-button{border:0;border-radius:999px;background:#d5d9e1;color:#fff;padding:9px 17px;font-size:.72rem}
.playhq-event-log-button:hover{border:0;background:#c4cad5}
.playhq-undo-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#d4d9e3;color:#fff;font-size:1.4rem}
.playhq-undo-button:hover{border:0;background:#c3cad6}
.playhq-undo-button:disabled{opacity:.5}
.playhq-score-circle{display:grid;place-items:center;width:43px;height:43px;padding:0;border:0;border-radius:50%;background:#397bd5;color:#fff;font-size:1rem;font-weight:800}
.playhq-score-circle:hover{border:0;background:#2e69bd}
.playhq-foul-button{height:43px;border:0;border-radius:999px;background:#397bd5;color:#fff;padding:0 23px;font-size:.76rem}
.playhq-foul-button:hover{border:0;background:#2e69bd}
.playhq-dock-more{height:43px;border:0;border-radius:999px;background:#397bd5;color:#fff;padding:0 14px;font-size:.85rem;letter-spacing:.08em}
.playhq-dock-more:hover{border:0;background:#2e69bd}
.playhq-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.playhq-more-grid button{min-height:52px}

@media(max-width:900px){
  .playhq-basket-teams{grid-template-columns:1fr}
  .playhq-basket-clock-centre{bottom:13px}
  .playhq-basket-clock-centre strong{font-size:2rem}
}
@media(max-width:650px){
  .playhq-basket-topbar{height:102px}
  .playhq-basket-brand{top:10px}
  .playhq-basket-clock-centre{bottom:11px;gap:8px}
  .playhq-basket-clock-centre span{font-size:.62rem}
  .playhq-basket-clock-centre strong{font-size:1.65rem}
  .playhq-basket-start-controls{right:7px;bottom:10px}
  .playhq-basket-start-controls button{padding:0 10px;font-size:.67rem}
  .playhq-basket-more{left:7px;bottom:10px;width:34px;height:34px}
  .playhq-basket-back{left:6px}
  .playhq-basket-content{padding:8px 6px 100px}
  .playhq-basket-teams{gap:8px}
  .playhq-basket-lineup-title{grid-template-columns:minmax(0,1fr) 50px 54px}
  .playhq-basket-player-row{grid-template-columns:34px minmax(0,1fr) 50px 54px;padding:5px 7px}
  .playhq-basket-team-meta{gap:10px;flex-wrap:wrap}
  .playhq-basket-dock{overflow-x:auto;padding:7px;gap:8px}
  .playhq-dock-left,.playhq-dock-actions{gap:7px;flex:none}
  .playhq-event-log-button{padding:8px 12px}
  .playhq-score-circle,.playhq-undo-button{width:39px;height:39px}
  .playhq-foul-button,.playhq-dock-more{height:39px}
  .playhq-more-grid{grid-template-columns:1fr}
}

/* V29 reliable logos and permanent multi-team player IDs */
.player-sport-tabs a{border:0;box-shadow:none;background:#fff;color:#1f1b40;padding:.9rem 1.6rem;border-radius:999px;font-size:1.3rem;white-space:nowrap;text-decoration:none}.player-sport-tabs a.active{background:#237be5;color:#fff}.player-membership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.player-membership-card{display:flex;align-items:center;gap:.8rem;padding:.9rem;border:1px solid #dfe3eb;border-radius:10px;text-decoration:none;color:#19163d;background:#fff}.player-membership-card:hover{background:#eef3ff}.player-membership-card img{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#f3f5fa}.player-membership-card span{display:grid;gap:.15rem;min-width:0}.player-membership-card small{color:#697083;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:#eef2f8;padding:.25rem .4rem;border-radius:5px;color:#273393}.data-row img.logo,.league-card img.logo,.competition-card img,.team-card img{background:#f4f6fb;object-fit:contain}
@media(max-width:650px){.player-sport-tabs a{font-size:1rem;padding:.75rem 1.2rem}.player-membership-grid{grid-template-columns:1fr}}

/* V31 open grade names */
.form-note,.registration-open-note,.league-grade-note{border:1px solid #dbe4f3;background:#f4f8ff;border-radius:10px;padding:.85rem 1rem;color:#4f5870}.form-note{display:flex;flex-direction:column;gap:.25rem}.form-note b,.registration-open-note b{color:#17205a}.registration-open-note{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.league-grade-note{margin:0 0 1rem;line-height:1.45}

/* V33 add new or existing player by permanent Player ID */
.player-add-choice{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0 1.15rem;padding:.35rem;background:#eef1f7;border-radius:12px}
.player-add-choice button{border:0;border-radius:9px;background:transparent;color:#424966;padding:.85rem 1rem;font-weight:850}
.player-add-choice button.active{background:#29379f;color:#fff;box-shadow:0 4px 12px rgba(39,52,145,.2)}
.player-id-lookup{padding:1rem;margin-bottom:1rem;border:1px solid #dfe3ed;border-radius:12px;background:#f8f9fc}
.inline-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-top:.35rem}
.inline-search input{text-transform:uppercase}
.player-id-result{margin-top:.9rem;color:#6a7082}
.player-id-error{display:flex;flex-direction:column;gap:.2rem;padding:.85rem;border-radius:9px;background:#fff0f0;color:#a52a2a}
.player-id-found{display:flex;align-items:center;gap:.9rem;padding:.9rem;border:1px solid #cfd6eb;border-radius:10px;background:#fff}
.player-id-found img{width:58px;height:58px;object-fit:cover;border-radius:50%;background:#eef1f5}
.player-id-found div{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.player-id-found b{font-size:1.1rem;color:#19143b}.player-id-found code{width:max-content;color:#2b399e;font-weight:850}.player-id-found span{color:#6b7181;white-space:normal}
.modal-subheading{margin:1.25rem 0 .65rem;color:#1d173d}
@media(max-width:650px){.player-add-choice{grid-template-columns:1fr}.inline-search{grid-template-columns:1fr}.inline-search button{width:100%}}

/* V34 multiple team leadership roles */
.leadership-badge{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#e8efff;color:#243c9d;font-size:.78rem;font-weight:850;white-space:nowrap}
.leadership-picker table th:nth-child(n+3),.leadership-picker table td:nth-child(n+3){text-align:center;min-width:120px}
.leadership-picker .leadership-check{width:22px;height:22px;accent-color:#2f67d8;cursor:pointer}
.leadership-picker small{display:block;color:#72788a;margin-top:.2rem}
.leadership-actions{justify-content:flex-end;margin-top:1rem}
@media(max-width:700px){.leadership-picker{overflow-x:auto}.leadership-picker table{min-width:720px}}


/* V35 round byes */
.fixture-create-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.admin-bye-card{padding:1.1rem 1.2rem;background:#fff}
.admin-bye-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.admin-bye-heading h3{margin:.25rem 0 0;font-size:1.75rem;color:#646a79;font-weight:500}
.admin-status.bye,.status.bye{background:#ebeef7;color:#2a3596}
.admin-bye-team{display:flex;align-items:center;gap:1rem;padding:1.4rem .4rem}
.admin-bye-team img{width:76px;height:76px;border-radius:50%;object-fit:contain;background:#f4f5f9}
.admin-bye-team strong{font-size:1.45rem;color:#18133d}
.admin-bye-note,.bye-points-message{padding:.8rem 1rem;border-radius:9px;background:#f2f5fb;color:#586078}
.bye-points-message{margin:1rem 0}
@media(max-width:650px){.fixture-create-actions{width:100%}.fixture-create-actions button{flex:1}.admin-bye-team img{width:62px;height:62px}.admin-bye-team strong{font-size:1.15rem}}


/* V36 round publishing */
.round-manager-head small{display:block;margin-top:.2rem;color:#dbe0ff;font-weight:600}
.round-publish-filters{display:flex;gap:.35rem;padding:.65rem;background:#eef0f7;border-bottom:1px solid #dde1eb;overflow:auto}
.round-publish-filters button{border:1px solid #cfd4e3;background:#fff;color:#3e4667;padding:.45rem .65rem;border-radius:999px;font-size:.72rem;white-space:nowrap}
.round-publish-filters button.active{background:#303b9f;color:#fff;border-color:#303b9f}
.round-chip{align-items:flex-start}.round-chip-copy{min-width:0}.round-chip-actions{flex-wrap:wrap;justify-content:flex-end;max-width:112px}
.round-publish-state{display:inline-flex;margin-top:.35rem;padding:.25rem .42rem;border-radius:4px;font-size:.62rem;font-weight:900;letter-spacing:.04em}
.round-publish-state.published{background:#e4f6ed;color:#19845b}.round-publish-state.draft{background:#fff1dc;color:#a66100}
.round-chip.is-draft{border:1px dashed #e0a64c}.round-chip.is-published{border:1px solid #cfe7dc}
.round-chip.active .round-publish-state.published{background:#fff;color:#19845b}.round-chip.active .round-publish-state.draft{background:#fff;color:#9a5d00}
.round-selector button.published{box-shadow:inset 0 0 0 2px #45aa7b}.round-selector button.draft{box-shadow:inset 0 0 0 2px #d99836}
.round-selector button.active{box-shadow:none}
.round-publish-check{display:flex!important;align-items:flex-start!important;gap:.75rem!important;margin:1rem 0;padding:1rem;border:1px solid #d9deea;border-radius:8px;background:#f7f8fc}
.round-publish-check input{width:22px;height:22px;margin-top:.1rem}.round-publish-check span{display:flex;flex-direction:column;gap:.25rem}.round-publish-check small{color:#6c7282;font-weight:500}
@media(max-width:650px){.round-chip-actions{max-width:100px}.round-chip-actions button{font-size:.68rem;padding:.35rem .45rem}}

/* V37 season and game permits */
.permit-badge{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:23px;padding:0 .48rem;margin-left:.35rem;border-radius:999px;font-size:.68rem;font-weight:950;letter-spacing:.04em;vertical-align:middle}
.permit-badge.sp{background:#dfe8ff;color:#1f3f9d;border:1px solid #b8c8f5}
.permit-badge.gp{background:#fff0c9;color:#8a5800;border:1px solid #efd28d}
.permit-warning{display:block;margin-top:.55rem;padding:.55rem .7rem;border-radius:9px;background:#fff5dd;color:#805500;font-size:.78rem;line-height:1.4}
.permits-panel{max-width:1100px}.permit-summary{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.permit-summary span{display:flex;align-items:center;gap:.4rem;background:#f2f5fb;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;color:var(--muted)}.permit-summary b{font-size:1.15rem;color:var(--text)}
.permit-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:15px;padding:1rem;background:#fff}.permit-card-main{min-width:0}.permit-card-top{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem}.permit-card h3{margin:.15rem 0}.permit-card p{margin:.35rem 0}.permit-card code{display:inline-block;margin:.15rem 0 .35rem;padding:.2rem .42rem;border-radius:6px;background:#eef2f8;color:#24305e}
.status.pending{background:#fff3d6;color:#865600}.status.approved{background:#e4f7ed;color:#087348}.status.declined{background:#ffe8eb;color:#a11a2b}
@media(max-width:650px){.permit-card{align-items:flex-start;flex-direction:column}.permit-card .row-actions{width:100%}.permit-card .row-actions button{flex:1}}

#wipeSportHQDataBtn{background:#b42318!important;color:#fff!important;border-color:#b42318!important;font-weight:900}

.permit-badge.required{background:#fff1c7;color:#7a4b00;border:1px solid #ffd56a;border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:900;white-space:nowrap}

.admin-login-view{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:2rem;background:#eef2f8}
.admin-login-card{width:min(440px,92vw);background:#fff;border:1px solid #dbe2ef;border-radius:22px;padding:2rem;box-shadow:0 18px 45px rgba(16,26,58,.16);display:grid;gap:1rem}
.admin-login-card img{width:130px}.admin-login-card h1{margin:.25rem 0;color:#101a3a}.admin-login-card label{display:grid;gap:.35rem;font-weight:800}.checkbox-line{display:flex!important;align-items:center;gap:.55rem;background:#fff8e8;border:1px solid #f2d38a;border-radius:12px;padding:.8rem!important}

.finals-round-gold{background:linear-gradient(135deg,#f7d35a,#b8860b)!important;color:#211600!important;border-color:#a87300!important;font-weight:1000}
.round-card.finals-round-gold,.data-row.finals-round-gold{box-shadow:0 0 0 2px rgba(184,134,11,.25)}
#finalsCodeLabel select{font-weight:900;color:#7a4b00}

.scoresheet-download-bar{display:flex;align-items:center;justify-content:center;gap:1rem;background:#fff8dc;border:2px solid #d6b34c;border-radius:16px;padding:.8rem;margin:0 0 1rem;box-shadow:0 8px 24px rgba(122,75,0,.12)}
.scoresheet-download-bar span{font-weight:700;color:#6b5412}
@media(max-width:720px){.scoresheet-download-bar{align-items:stretch;flex-direction:column;text-align:center}}

.admin-build-status{font-weight:1000;color:#2346b3;margin-bottom:.35rem}
.league-sync-status{padding:.65rem .85rem;border:1px solid #c8d6ff;background:#edf3ff;color:#243b78;border-radius:12px;font-weight:800}
.league-sync-status.success{border-color:#9bd2ad;background:#e9f7ee;color:#17643a}
.league-sync-status.error{border-color:#eda6a6;background:#fff0f0;color:#972424}
.section-heading.compact{align-items:center;margin:.5rem 0 1rem}

/* V62 finals and round ordering */
.round-chip{display:grid;grid-template-columns:46px minmax(0,1fr) auto}
.round-chip-order{display:grid;place-items:center;gap:.2rem}
.round-chip-order button{width:32px;height:28px;padding:0;border-radius:7px;font-size:1rem}
.round-chip-order span{font-size:.72rem;font-weight:1000}
.round-chip.finals-round-gold{background:linear-gradient(135deg,#ffe993,#d2a51b)!important;color:#2a1b00!important;border:2px solid #aa7600}
.round-chip.finals-round-gold .round-publish-state{border-color:#8b6200;color:#493100;background:#fff7d3}
.admin-fixture-card.finals-match-gold,.admin-bye-card.finals-match-gold{border:3px solid #c49410;background:linear-gradient(180deg,#fffdf2,#fff2b8);box-shadow:0 10px 24px rgba(166,116,0,.22)}
.admin-fixture-card.finals-match-gold .admin-fixture-arrow{background:linear-gradient(180deg,#f3d45e,#b8860b);color:#261900}
.admin-fixture-card.finals-match-gold .kicker{color:#7a5200;font-weight:1000}
.round-selector button.finals-round-gold{background:linear-gradient(135deg,#ffe993,#b8860b)!important;color:#241700!important;border-color:#8e6200!important}
@media(max-width:720px){.round-chip{grid-template-columns:40px minmax(0,1fr)}.round-chip-actions{grid-column:1/-1;justify-content:flex-end}.round-chip-order{grid-row:1/2}}

/* V63 ordered AFL best players */
.ordered-best-team{align-self:start}
.ordered-best-list{display:grid;gap:.65rem}
.ordered-best-row{display:grid;grid-template-columns:38px minmax(110px,.7fr) minmax(180px,1.3fr);gap:.65rem;align-items:center;background:#fff;border:1px solid #dfe3ef;border-radius:12px;padding:.65rem}
.best-rank-number{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#243594;color:#fff;font-weight:1000}
.ordered-best-row>span:nth-child(2){font-weight:900}
.ordered-best-row select{width:100%;padding:.65rem;border:1px solid #cdd3e3;border-radius:10px;background:#fff}
@media(max-width:650px){.ordered-best-row{grid-template-columns:38px 1fr}.ordered-best-row select{grid-column:1/-1}}

/* V64 secure admin and system health */
.admin-login-view{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(135deg,#eef3ff,#f8faff)}
.admin-login-card{width:min(470px,100%);background:#fff;border:1px solid #dfe5f3;border-radius:24px;padding:2rem;box-shadow:0 22px 60px rgba(27,44,91,.16);display:grid;gap:1rem}
.admin-login-card>img{width:min(240px,75%);margin:0 auto .25rem}
.admin-login-card h1{margin:0;text-align:center}
.admin-login-card p{margin:0;text-align:center;color:#5e687e}
.admin-login-card label{font-weight:900;display:grid;gap:.4rem}
.admin-login-card input{width:100%;padding:.85rem 1rem;border:1px solid #cbd3e4;border-radius:12px;font:inherit}
.secure-login-badge{justify-self:center;padding:.38rem .7rem;border-radius:999px;background:#e8f7ed;color:#17653a;border:1px solid #9ed1ae;font-size:.72rem;font-weight:1000;letter-spacing:.08em}
.admin-login-message{min-height:1.4rem;text-align:center;color:#a22222;font-weight:800}
.admin-login-help{text-align:center;color:#687187}
.system-tools-panel{border:2px solid #c8d7ff;background:linear-gradient(180deg,#fff,#f5f8ff)}
.system-check-result{margin-top:1rem}
.system-check-loading{padding:1rem;border-radius:12px;background:#eef3ff;color:#29417f;font-weight:900}
.system-check-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border-radius:14px;margin-bottom:.75rem}
.system-check-summary.success{background:#e9f8ee;border:1px solid #9dd6b0;color:#17663b}
.system-check-summary.warning{background:#fff7dc;border:1px solid #e4ca76;color:#765800}
.system-check-summary.error{background:#fff0f0;border:1px solid #eca6a6;color:#9d2323}
.system-check-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;max-height:360px;overflow:auto}
.system-check-list li{display:grid;grid-template-columns:84px 1fr;gap:.65rem;align-items:start;padding:.65rem .8rem;border-radius:10px;background:#f7f8fc;border:1px solid #e4e7f0}
.system-check-list li b{font-size:.72rem;letter-spacing:.04em}
.system-pass b{color:#17663b}.system-warning b{color:#8a6500}.system-error b{color:#aa2323}
@media(max-width:700px){
  .system-check-summary{display:grid}
  .system-check-list li{grid-template-columns:72px 1fr}
  .admin-login-card{padding:1.35rem}
}

.loading-card{animation:pulseLoading 1.3s ease-in-out infinite alternate}
@keyframes pulseLoading{from{opacity:.65}to{opacity:1}}

.data-store-status{padding:.75rem 1rem;border-radius:12px;background:#edf3ff;border:1px solid #bfd0ff;color:#213979;font-weight:900}

/* V68 commercial polish */
.commercial-hero,.public-commercial-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;border-radius:22px;background:linear-gradient(135deg,#162c7a,#3147c2);color:#fff;box-shadow:0 18px 40px rgba(28,48,130,.2);margin-bottom:1rem}
.commercial-hero h2,.public-commercial-hero h2{margin:.1rem 0;color:#fff}
.commercial-hero p,.public-commercial-hero p{margin:0;opacity:.86}
.connection-pill,.public-live-pill{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.55rem .8rem;font-weight:900;white-space:nowrap}
.pulse-dot{width:10px;height:10px;border-radius:50%;background:#4cff8a;box-shadow:0 0 0 rgba(76,255,138,.8);animation:pulseDot 1.6s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(76,255,138,.65)}70%{box-shadow:0 0 0 10px rgba(76,255,138,0)}100%{box-shadow:0 0 0 0 rgba(76,255,138,0)}}
.commercial-stats .stat-card,.public-commercial-stats .stat-card{border:1px solid #dbe2f5;box-shadow:0 10px 24px rgba(32,47,100,.08)}
.activity-feed{display:grid;gap:.5rem}
.activity-row{display:grid;grid-template-columns:78px 1fr;gap:.3rem .65rem;padding:.65rem .75rem;border:1px solid #e0e4f0;border-radius:12px;background:#fafbff}
.activity-row span{font-size:.72rem;font-weight:1000;color:#2d46b6;text-transform:uppercase}
.activity-row small{grid-column:2;color:#6c7485}
.page-fading{opacity:.35;transition:opacity .16s ease}
@media(max-width:720px){.commercial-hero,.public-commercial-hero{display:grid}.connection-pill,.public-live-pill{justify-self:start}.activity-row{grid-template-columns:1fr}.activity-row small{grid-column:1}}
