*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f4f6;color:#111827}.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:white;width:420px;max-width:94vw;padding:28px;border-radius:18px;box-shadow:0 15px 45px #0002}.login-card h1{margin-top:0}.login-card input,.login-card select,.login-card textarea,.form input,.form select,.form textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:10px;margin:6px 0 14px;background:white}.login-card button,.btn,button{background:#0f172a;color:white;border:0;border-radius:10px;padding:11px 16px;text-decoration:none;display:inline-block;cursor:pointer}.btn.secondary{background:#6b7280}.btn.danger{background:#dc2626}.btn.green{background:#16a34a}.notice{background:#ecfeff;border:1px solid #67e8f9;border-radius:10px;padding:12px;margin:12px 0}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:#111827;color:white;padding:18px;position:fixed;top:0;bottom:0;left:0;overflow:auto}.sidebar h2{font-size:18px}.sidebar a{display:block;color:#e5e7eb;text-decoration:none;padding:10px;border-radius:8px;margin:4px 0}.sidebar a:hover{background:#374151}.main{margin-left:250px;padding:24px;width:calc(100% - 250px)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card{background:white;border-radius:16px;padding:18px;box-shadow:0 6px 20px #0001;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.table{width:100%;border-collapse:collapse;background:white}.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.badge{display:inline-block;background:#e5e7eb;border-radius:999px;padding:4px 9px;font-size:12px}.logo-thumb{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#e5e7eb}.form label{font-weight:bold;font-size:13px}.score-buttons{display:flex;flex-wrap:wrap;gap:8px}.score-buttons button{min-width:58px}.overlay-url{font-family:monospace;background:#111827;color:#bbf7d0;border-radius:8px;padding:10px;overflow:auto}.small{font-size:12px;color:#6b7280}@media(max-width:800px){.sidebar{position:relative;width:100%;bottom:auto}.layout{display:block}.main{margin-left:0;width:100%}.grid,.grid3{grid-template-columns:1fr}}

/* v3 auto scoring improvements */
.live-score-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.score-big{font-size:34px;font-weight:900;background:#111827;color:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.score-big span{font-size:18px;color:#fde68a;margin-left:10px}
.current-players .player-pill{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;margin:10px 0;background:#f3f4f6;border:1px solid #e5e7eb}
.current-players .player-pill.active{background:#fff7ed;border-color:#fdba74}
.current-players .player-pill.bowler{background:#eff6ff;border-color:#93c5fd}
.current-players .player-pill b{font-size:12px;text-transform:uppercase;color:#6b7280}
.current-players .player-pill span{font-size:16px;font-weight:700}
.current-players .player-pill strong{font-size:18px}
.score-buttons.large{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:10px}
.score-buttons.large button,.score-buttons.two button,.wicket-form button{min-height:52px;font-size:20px;font-weight:900;border-radius:14px}
.score-buttons.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.score-buttons.two form{display:flex;gap:8px}.score-buttons.two select{min-width:0;width:100%}
.ball-form{margin:0}.wicket-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.danger{background:#dc2626!important;color:#fff!important}.green{background:#16a34a!important;color:#fff!important}
details{margin-top:8px}summary{cursor:pointer;font-weight:800;padding:10px 0}
@media (max-width:900px){.score-buttons.large{grid-template-columns:repeat(3,1fr)}.wicket-form{grid-template-columns:1fr}.current-players .player-pill{grid-template-columns:1fr}.score-big{font-size:26px;width:100%}.score-buttons.two{grid-template-columns:1fr}}

/* v5 professional cricket scoring controls */
.alert-card{border-left:6px solid #f59e0b;background:#fff7ed;color:#7c2d12;font-size:16px;}
.alert-card.over-alert{border-left-color:#dc2626;background:#fef2f2;color:#7f1d1d;box-shadow:0 12px 30px rgba(220,38,38,.12);}
.professional-top{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;}
.professional-top .overlay-url{background:rgba(255,255,255,.14);color:#fff;}
.mini-score-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb;}
.mini-score-row b{font-size:22px;color:#111827;}
.extras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 18px;}
.extras-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px;text-align:center;font-weight:700;color:#334155;}
.extras-grid b{display:block;font-size:22px;color:#0f172a;}
.scoring-pad h3{margin-top:18px;margin-bottom:8px;color:#0f172a;}
.hint{font-size:12px;font-weight:600;color:#64748b;}
.score-buttons button:disabled,.wicket-form button:disabled,.wicket-form select:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(1);}
.change-bowler-form{display:flex;gap:8px;align-items:center;}
.change-bowler-form select{min-width:180px;}

/* v6 tablet / phone scoring mode */
.scorer-shell{max-width:1380px;margin:0 auto;padding-bottom:38px}
.score-hero{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:linear-gradient(135deg,#07111f,#123166 55%,#0f172a);color:#fff;border-radius:24px;padding:18px 20px;margin-bottom:18px;box-shadow:0 14px 40px rgba(2,6,23,.22)}
.scorer-mode-label{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#bfdbfe}
.score-hero h2{margin:8px 0 4px;font-size:24px;line-height:1.1}.match-line{color:#dbeafe}.score-hero-main{text-align:right}.score-main-number{font-size:58px;font-weight:1000;line-height:1;letter-spacing:-.05em}.score-main-meta{font-size:18px;color:#fde68a;margin-top:4px;font-weight:800}.score-hero-side{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 16px;text-align:center;min-width:90px}.score-hero-side span{display:block;color:#cbd5e1;font-size:12px;text-transform:uppercase;font-weight:800}.score-hero-side b{display:block;font-size:28px;margin-top:2px}
.scorer-grid-main{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr);gap:18px;align-items:start}.tablet-card{border-radius:24px;box-shadow:0 12px 35px rgba(15,23,42,.08);border:1px solid #e5e7eb}.section-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.section-title-row h2{margin:0;font-size:22px}.section-title-row span{font-size:12px;color:#64748b;font-weight:800;text-transform:uppercase}.touch-form label,.tablet-card label{display:block;margin-bottom:6px;font-weight:900;color:#334155}.touch-select-grid{display:grid;grid-template-columns:1fr;gap:12px}.touch-select,.touch-form select{min-height:52px;border-radius:16px;font-size:17px;padding:12px 14px;background:#f8fafc;border:1px solid #cbd5e1;width:100%;-webkit-appearance:none;appearance:none}.touch-submit,.touch-action{width:100%;min-height:54px;font-size:17px;font-weight:1000;border-radius:16px;margin-top:10px}.live-player-strip{margin-top:16px}.live-player-strip .player-pill{display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:18px;margin:9px 0;background:#f8fafc;border:1px solid #e2e8f0}.live-player-strip .player-pill.active{background:#fff7ed;border-color:#fb923c}.live-player-strip .player-pill.bowler{background:#eff6ff;border-color:#93c5fd}.live-player-strip .player-pill b{font-size:11px;text-transform:uppercase;color:#64748b}.live-player-strip .player-pill span{font-size:15px;font-weight:900;color:#0f172a}.live-player-strip .player-pill strong{font-size:18px;color:#111827}.tablet-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.next-bowler-box{display:grid;grid-template-columns:1fr;gap:8px}.quick-rule-line{background:#ecfeff;border:1px solid #67e8f9;color:#155e75;border-radius:16px;padding:10px 12px;font-size:13px;font-weight:800;margin-bottom:14px}.scoring-card h3{margin:14px 0 8px}.touch-runs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.touch-runs .ball-form{margin:0}.touch-runs button{width:100%;min-height:74px;border-radius:22px;font-size:30px;font-weight:1000;box-shadow:0 9px 18px rgba(15,23,42,.12);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.primary-runs button{background:#0f172a}.primary-runs button.green,.touch-runs button.green{background:#16a34a!important}.touch-runs button.extra-btn{background:#334155}.touch-runs button:active,.touch-action:active,.touch-submit:active{transform:translateY(1px) scale(.99)}.touch-details{border:1px solid #e2e8f0;border-radius:20px;padding:10px 12px;margin-top:14px;background:#f8fafc}.touch-details summary{font-size:18px;font-weight:1000;list-style:none;display:flex;justify-content:space-between;align-items:center}.touch-details summary::-webkit-details-marker{display:none}.touch-details summary:after{content:'Tap to open/close';font-size:11px;color:#64748b;font-weight:800;text-transform:uppercase}.wicket-details{background:#fff7f7;border-color:#fecaca}.touch-wicket-form{grid-template-columns:1fr;gap:10px}.compact-status-card{padding:14px}.status-grid-touch{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.status-grid-touch>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:12px;min-height:72px}.status-grid-touch span{display:block;font-size:12px;color:#64748b;text-transform:uppercase;font-weight:900}.status-grid-touch b{font-size:28px;color:#0f172a}.status-grid-touch p{margin:7px 0 0;display:flex;flex-wrap:wrap;gap:5px}.status-grid-touch em{font-style:normal;background:#0f172a;color:#fff;border-radius:999px;padding:4px 8px;font-weight:900;font-size:12px}.manual-card{opacity:.96}.ball-form button.submitting,.touch-action.submitting,.touch-submit.submitting{opacity:.65;pointer-events:none}.ball-form button.submitting:after,.touch-action.submitting:after,.touch-submit.submitting:after{content:'...';margin-left:3px}
@media (max-width:1180px){.scorer-grid-main{grid-template-columns:1fr}.score-hero{grid-template-columns:1fr auto}.score-hero-side{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center}.touch-runs{grid-template-columns:repeat(4,1fr)}.status-grid-touch{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){body{background:#eef2f7}.layout{display:block}.sidebar{position:relative;width:100%;padding:10px;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar h2{display:none}.sidebar a{display:inline-block;padding:9px 12px;font-size:13px;margin:0}.main{margin-left:0;width:100%;padding:10px}.topbar{display:none}.score-hero{position:sticky;top:0;z-index:30;border-radius:0 0 22px 22px;margin:-10px -10px 12px;padding:14px 12px;grid-template-columns:1fr}.score-hero h2{font-size:17px;margin:6px 0 3px}.match-line{font-size:13px}.score-hero-main{text-align:left;display:flex;align-items:end;gap:12px}.score-main-number{font-size:46px}.score-main-meta{font-size:15px;margin:0 0 5px}.score-hero-side{padding:8px 12px}.card{padding:14px;border-radius:20px;margin-bottom:12px}.section-title-row{align-items:flex-start;flex-direction:column;gap:3px}.section-title-row h2{font-size:20px}.touch-select{font-size:16px;min-height:50px}.live-player-strip .player-pill{grid-template-columns:1fr auto}.live-player-strip .player-pill b{grid-column:1 / -1}.touch-runs{grid-template-columns:repeat(3,1fr);gap:8px}.touch-runs button{min-height:68px;border-radius:18px;font-size:27px}.status-grid-touch{grid-template-columns:repeat(2,1fr)}.status-grid-touch>div:last-child{grid-column:1 / -1}.grid,.grid3{grid-template-columns:1fr}.score-buttons.two{grid-template-columns:1fr}.manual-card{margin-bottom:90px}}
@media (max-width:420px){.touch-runs button{min-height:62px;font-size:24px}.score-main-number{font-size:40px}.score-hero-main{display:block}.status-grid-touch{grid-template-columns:1fr 1fr}.status-grid-touch b{font-size:24px}.scorer-mode-label{font-size:10px}.touch-details summary:after{content:'Open/close'}}

/* v7 Android tablet + phone compatibility polish */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;scroll-behavior:smooth;}
body{overscroll-behavior-y:none;}
button,select,input,textarea{font-size:16px;touch-action:manipulation;}
button{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;}
select.touch-select{background-image:linear-gradient(45deg,transparent 50%,#475569 50%),linear-gradient(135deg,#475569 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px;}
.mobile-device-hint{display:none;background:#ecfdf5;border:1px solid #86efac;color:#14532d;border-radius:18px;padding:10px 12px;font-weight:800;margin-bottom:12px;}
.scorer-bottom-safe{height:env(safe-area-inset-bottom);}
@media (pointer:coarse){
  .mobile-device-hint{display:block;}
  .touch-runs button,.touch-action,.touch-submit{min-height:76px;}
  .touch-select{min-height:58px;}
  .sidebar a{min-height:42px;display:inline-flex;align-items:center;}
}
@media (min-width:821px) and (max-width:1180px) and (pointer:coarse){
  .main{padding:18px;}
  .score-hero{position:sticky;top:0;z-index:30;}
  .touch-runs{grid-template-columns:repeat(4,1fr);}
  .scorer-grid-main{grid-template-columns:1fr;}
  .tablet-actions{grid-template-columns:1fr 1.3fr;align-items:end;}
  .next-bowler-box{grid-template-columns:1fr auto;}
  .next-bowler-box .touch-action{width:auto;min-width:190px;margin-top:0;}
}
@media (max-width:820px) and (pointer:coarse){
  .touch-runs button,.touch-action,.touch-submit{min-height:72px;}
  .tablet-actions{position:sticky;bottom:0;z-index:25;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:10px;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 -8px 24px rgba(15,23,42,.08);}
}
@media (max-width:740px) and (orientation:landscape){
  .score-hero{grid-template-columns:1fr auto;align-items:center;}
  .score-hero-main{text-align:right;display:block;}
  .score-main-number{font-size:38px;}
  .touch-runs{grid-template-columns:repeat(6,1fr);}
  .touch-runs button{min-height:58px;font-size:22px;}
  .live-player-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
  .live-player-strip .player-pill{grid-template-columns:1fr;padding:10px;margin:0;}
}

/* v9 overs/weather control + target/chase summary */
.match-settings-card{border:1px solid #dbeafe;background:#f8fbff}.match-settings-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:16px;align-items:stretch}.overs-update-form label{font-weight:1000;color:#0f172a}.inline-control{display:flex;gap:10px;align-items:center}.inline-control input{min-height:48px;border:1px solid #cbd5e1;border-radius:14px;padding:10px 12px;font-size:18px;width:130px}.inline-control button{min-height:48px;border-radius:14px}.target-summary-box{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;justify-content:center}.target-summary-box span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#bfdbfe;font-weight:900}.target-summary-box b{font-size:28px;line-height:1.05;margin-top:5px}.target-summary-box small{display:block;color:#dbeafe;margin-top:7px;font-size:14px}.over-alert form{max-width:360px}@media(max-width:820px){.match-settings-grid{grid-template-columns:1fr}.inline-control{display:grid;grid-template-columns:1fr auto}.inline-control input{width:100%}.target-summary-box b{font-size:22px}}

/* v10 professional match setup */
.setup-wizard{max-width:1180px;margin:0 auto 40px;}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.wizard-steps span{padding:12px 14px;border-radius:16px;background:#12231d;border:1px solid rgba(255,255,255,.12);color:#9fb8ad;font-weight:800;text-align:center;}
.wizard-steps span.active{background:linear-gradient(135deg,#16a34a,#eab308);color:#07130d;border-color:transparent;box-shadow:0 16px 40px rgba(22,163,74,.25);}
.wizard-steps span.done{background:#0f3a25;color:#d7ffe7;border-color:rgba(34,197,94,.35);}
.pro-form-card h3{margin-top:22px;margin-bottom:10px;color:#f8fafc;letter-spacing:.02em;}
.xi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.xi-panel{background:rgba(15,23,42,.45);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:16px;}
.xi-panel h3{margin-top:0;}
.xi-panel.compact, .xi-grid.compact .xi-panel{max-height:360px;overflow:auto;}
.xi-player{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer;}
.xi-player input{width:22px;height:22px;grid-row:1/3;}
.xi-player span{font-weight:800;}
.xi-player small{color:#9ca3af;}
.xi-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#1f2937;color:#d1d5db;font-weight:800;margin-bottom:8px;}
.xi-count.good{background:#14532d;color:#dcfce7;}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 22px;}
.review-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;min-height:116px;}
.review-card span{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:#a7f3d0;font-weight:900;margin-bottom:8px;}
.review-card b{display:block;font-size:18px;color:#fff;margin-bottom:8px;}
.review-card small{color:#cbd5e1;line-height:1.45;}
.start-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:18px;}
@media(max-width:850px){.wizard-steps{grid-template-columns:1fr 1fr}.xi-grid,.review-grid{grid-template-columns:1fr}.start-actions{position:sticky;bottom:0;background:#07130d;padding:12px;border-radius:16px;justify-content:stretch}.start-actions .btn,.start-actions button{flex:1}.xi-player{padding:14px 10px}.xi-player input{width:28px;height:28px}}
