
:root{--blue:#05a9e8;--blue2:#7bdcff;--bg:#01050a;--panel:#071b2e;--line:rgba(5,169,232,.45);--white:#f7fbff;--muted:#aac1d5;--green:#14c46a;--red:#ed3045;--orange:#f28b18}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#01050a,#061c31);color:var(--white)}a{color:inherit}button,a.card{touch-action:manipulation}
header{background:linear-gradient(90deg,#02070d,#09243e,#02070d);border-bottom:3px solid var(--blue);padding:16px 22px}
.brand{max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand-left{display:flex;align-items:center;gap:14px}
.logo{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(5,169,232,.75))}
h1{margin:0;font-size:34px;text-transform:uppercase;letter-spacing:1.2px}.subtitle{color:var(--blue2);font-weight:900;text-transform:uppercase}
nav a{font-weight:900;margin-left:14px}main{max-width:1600px;margin:auto;padding:14px}.footer{display:flex;justify-content:space-between;padding:16px;color:var(--blue);font-weight:900}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.full{grid-column:1/-1}
.scorer-grid{display:grid;grid-template-columns:330px 1fr 330px;gap:12px}.players{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card{background:linear-gradient(180deg,rgba(7,29,50,.98),rgba(1,8,14,.98));border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);text-decoration:none}
.card:hover{outline:1px solid var(--blue)}h2,h3{margin:-14px -14px 12px;padding:10px 12px;background:linear-gradient(180deg,var(--blue),#007fbd);border-radius:9px 9px 0 0;text-align:center;text-transform:uppercase;font-size:18px}
label{display:block;color:var(--blue2);font-size:12px;text-transform:uppercase;font-weight:900;margin:8px 0 4px}input,select,textarea{width:100%;background:#03080d;color:#fff;border:1px solid rgba(119,220,255,.38);border-radius:7px;padding:10px;font-size:14px}textarea{min-height:115px;resize:vertical}
button{border:1px solid rgba(119,220,255,.28);border-radius:8px;padding:11px 14px;margin:4px;cursor:pointer;font-weight:900;text-transform:uppercase;background:linear-gradient(180deg,var(--blue),#0078b8);color:#fff}button:disabled{opacity:.38;cursor:not-allowed}.secondary{background:linear-gradient(180deg,#18344f,#071624)}.ok{background:linear-gradient(180deg,#18c66f,#08753c)}.danger{background:linear-gradient(180deg,#ff334a,#b80d1d)}.warn{background:linear-gradient(180deg,#ffa42a,#b75a00)}
.notice{background:rgba(5,169,232,.09);border:1px solid rgba(5,169,232,.4);border-radius:8px;padding:11px;color:#dff6ff;margin:8px 0}.warning{background:rgba(242,139,24,.15);border:1px solid rgba(242,139,24,.6);border-radius:8px;padding:11px;color:#ffe1b3;margin:8px 0}
.score{font-size:70px;text-align:center;font-weight:1000;line-height:1}.big{font-size:26px;font-weight:1000}.highlight{color:var(--blue2);font-weight:900}.muted{color:var(--muted)}.status-live{color:#16ff89;font-weight:1000}.status-complete{color:#ffd166;font-weight:1000}.status-upcoming{color:#77dcff;font-weight:1000}
table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.16);margin-top:8px}th,td{border-bottom:1px solid rgba(119,220,255,.16);padding:8px;text-align:left;font-size:13px;vertical-align:top}th{color:var(--blue2);text-transform:uppercase;background:rgba(5,169,232,.08)}
.hero-score{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center}.team-name{font-size:25px;font-weight:1000;text-transform:uppercase}.big-v{font-size:24px;color:var(--blue2);font-weight:900}
.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.block{padding:10px;border-radius:7px;background:#05080c;border:1px solid rgba(119,220,255,.3);text-align:center}.block.active{background:linear-gradient(180deg,#09b9f4,#006aa4)}.block.done{background:linear-gradient(180deg,#108b41,#064722)}
.score-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.score-buttons button{min-height:68px;font-size:22px}.score-buttons .wide{grid-column:span 1}.current-batters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.batter-card{border:1px solid rgba(119,220,255,.25);border-radius:10px;padding:12px;background:#030b13}.batter-card.striker{outline:3px solid var(--blue)}
.bowler-list button{display:block;width:100%;text-align:left;margin:5px 0}.innings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.innings-tab{padding:12px;border-radius:8px;border:1px solid rgba(119,220,255,.35);background:#03080d;text-align:center;font-weight:1000;text-transform:uppercase;cursor:pointer}.innings-tab.active{background:linear-gradient(180deg,var(--blue),#0078b8)}
.complete-panel{border:2px solid var(--green);background:rgba(22,196,107,.13);border-radius:10px;padding:14px;margin:10px 0;text-align:center}.tie-panel{border:2px solid var(--orange);background:rgba(242,139,24,.18);border-radius:10px;padding:14px;margin:10px 0;text-align:center}.locked-panel{border:2px solid var(--orange);background:rgba(242,139,24,.15);border-radius:10px;padding:14px;margin:10px 0;text-align:center;font-weight:900}
.pair-row,.manual-adjust,.fixture-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px;align-items:end;margin-bottom:10px}.fixture-grid{grid-template-columns:70px 1fr 1fr 1fr 1fr 1fr}.manual-adjust{grid-template-columns:1fr 1fr 1fr}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.option-grid button{min-height:52px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-card{max-width:980px;width:100%;max-height:92vh;overflow:auto;background:linear-gradient(180deg,#09243e,#02070d);border:2px solid var(--blue);border-radius:12px;padding:16px}.hidden{display:none!important}
.mobile-score-strip{display:none}.stat-number{font-size:32px;font-weight:1000;color:var(--blue2)}
@media(max-width:1100px){.grid,.grid3,.grid4,.players,.team-grid,.scorer-grid,.hero-score,.fixture-grid,.pair-row,.manual-adjust{grid-template-columns:1fr}.score{font-size:48px}.progress{grid-template-columns:1fr}.score-buttons button{min-height:72px;font-size:24px}.mobile-score-strip{display:block;position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#09243e,#02070d);border:2px solid var(--blue);border-radius:10px;padding:10px;margin-bottom:10px;text-align:center}.mobile-score-strip .scoreline{font-size:30px;font-weight:1000}#scoreCard{display:none}h1{font-size:25px}.option-grid{grid-template-columns:repeat(2,1fr)}}

.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:180px;background:radial-gradient(circle at 20% 20%,rgba(5,169,232,.25),transparent 30%),linear-gradient(135deg,rgba(7,29,50,.98),rgba(0,0,0,.96));}
.dashboard-hero h2{margin:0 0 8px;padding:0;background:none;text-align:left;font-size:34px;border-radius:0}
.eyebrow{color:var(--blue2);font-weight:1000;letter-spacing:2px}
.dash-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;min-width:420px}
.dash-summary div{background:rgba(0,0,0,.28);border:1px solid rgba(119,220,255,.25);border-radius:12px;padding:14px;text-align:center}
.dash-summary b{display:block;font-size:34px;color:var(--blue2)}.dash-summary span{text-transform:uppercase;font-size:12px;font-weight:900;color:var(--muted)}
.dash-card{position:relative;overflow:hidden;min-height:155px}.dash-card p{padding-right:60px}.dash-icon{position:absolute;right:16px;bottom:10px;font-size:46px;opacity:.7}
.logo{width:96px;height:96px}
@media(max-width:1100px){.dashboard-hero{display:block}.dash-summary{min-width:0;grid-template-columns:repeat(2,1fr)}.dashboard-hero h2{font-size:28px}}

.injury-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}
.bowler-injury-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bowler-injury-list button{width:100%;text-align:left;margin:0}
@media(max-width:1100px){.injury-grid,.bowler-injury-list{grid-template-columns:1fr}}
