:root{--n:#102a43;--b:#1769aa;--g:#f6bc31;--bg:#f3f6f9;--l:#dce5ec;--m:#687b8d;--r:#b42318}*{box-sizing:border-box}body{margin:0;font:14px Segoe UI,Arial;background:var(--bg);color:#17212b}header{background:linear-gradient(130deg,var(--n),var(--b));color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}header h1{margin:0}.badge{background:#fff3cd;color:#5d4600;padding:8px 12px;border-radius:8px;font-weight:700}nav{display:flex;gap:5px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--l);overflow:auto}nav button{background:transparent;color:var(--n);white-space:nowrap}nav button.on{background:var(--n);color:#fff}button{border:0;border-radius:8px;padding:9px 12px;background:var(--b);color:#fff;font-weight:700;cursor:pointer}button.alt{background:#e8eef3;color:var(--n)}button.danger{background:var(--r);margin-left:auto}main{max-width:1250px;margin:18px auto;padding:0 14px}.page{display:none}.page.on{display:block}.card,.stat{background:#fff;border:1px solid var(--l);border-radius:12px;padding:16px;margin-bottom:14px}.portal{max-width:760px;margin:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stats.three{grid-template-columns:repeat(3,1fr)}.stat{border-left:5px solid var(--b)}.stat b{display:block;font-size:22px;color:var(--n);overflow:hidden;text-overflow:ellipsis}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}h2{margin:0 0 12px;color:var(--n)}label{display:block;font-size:12px;color:var(--m);font-weight:700;margin:7px 0}input,select{width:100%;padding:9px;border:1px solid #b8c7d3;border-radius:7px}.actions,.heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.heading{justify-content:space-between}.table{overflow:auto}.compact{max-height:440px}table{width:100%;border-collapse:collapse;min-width:720px}th{background:var(--n);color:#fff;text-align:left;padding:8px}td{padding:8px;border-bottom:1px solid #e7edf2}.notice,.locked{padding:10px;background:#fff7dc;border:1px solid #efd37d;border-radius:8px;margin-bottom:12px}.error{color:var(--r);font-weight:700}.hidden{display:none!important}hr{border:0;border-top:1px solid var(--l);margin:18px 0}@media(max-width:850px){.stats,.stats.three,.grid2,.grid3,.grid4{grid-template-columns:1fr}}@media print{header,nav,.page:not(#pins),#printPins{display:none!important}#pins{display:block!important}.card{border:0}.table{overflow:visible}}

.selected-scroll{max-height:330px;overflow-y:auto;overflow-x:auto;border:1px solid var(--l);border-radius:8px;background:#fff}.selected-scroll table{margin:0}.selected-scroll thead th{position:sticky;top:0;z-index:2}.selected-scroll td{background:#fff}

/* Bowling Tournaments brand header */
header{min-height:150px;padding:14px 24px;gap:24px}
.brand{display:flex;align-items:center;gap:24px;min-width:0}
.app-logo{display:block;width:300px;max-width:42vw;height:120px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 10px rgba(0,0,0,.28))}
.brand-title{font-size:clamp(26px,3vw,44px);font-weight:800;line-height:1;color:#fff;white-space:nowrap}
@media(max-width:760px){header{min-height:112px;padding:10px 14px}.brand{gap:10px}.app-logo{width:170px;height:90px;max-width:50vw}.brand-title{font-size:22px;white-space:normal}.badge{font-size:11px;padding:6px 8px}}

/* v10.3 mobile-first responsive improvements */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{overflow-x:hidden}
button,input,select{font:inherit;min-height:44px}
button{touch-action:manipulation}
nav{position:sticky;top:0;z-index:30;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table{-webkit-overflow-scrolling:touch}
.table table{width:100%}
#bowlerSelect,#registrationTournamentSelect,#standingsTournamentSelect{min-height:240px}
.score-input{font-size:18px;text-align:center}

@media(max-width:900px){
  main{margin:12px auto;padding:0 10px}
  nav{padding:7px 8px}
  nav button{flex:0 0 auto;min-height:42px;padding:9px 12px}
  .card{padding:14px;border-radius:10px}
  .stats,.stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heading{align-items:flex-start}
  .heading input{max-width:100%}
}

@media(max-width:640px){
  header{min-height:auto;display:grid;grid-template-columns:1fr auto;padding:8px 10px;gap:8px}
  .brand{gap:8px;min-width:0}
  .app-logo{width:112px;height:70px;max-width:34vw}
  .brand-title{font-size:20px;line-height:1.05;white-space:normal}
  .badge{align-self:start;font-size:10px;padding:5px 7px}
  main{padding:0 8px;margin:9px auto}
  .card{padding:12px;margin-bottom:10px}
  .portal{max-width:none}
  .grid2,.grid3,.grid4,.stats,.stats.three{grid-template-columns:1fr}
  .stat{margin-bottom:0;min-height:82px}
  .actions,.heading{display:grid;grid-template-columns:1fr;gap:7px}
  .actions button,.heading button,.card>button{width:100%}
  label{font-size:13px}
  input,select{font-size:16px;padding:11px 10px}
  #bowlerSelect,#registrationTournamentSelect,#standingsTournamentSelect{min-height:220px;height:220px}
  .selected-scroll,.compact{max-height:300px}
  details summary{min-height:44px;display:flex;align-items:center}

  /* Read-only tables become stacked cards on small screens. */
  #dashboardTournaments table,#allTournaments table,#allBowlers table,#standingsTable table,#winnersTable table,#pinsTable table,#teamsDisplay table{min-width:0;border:0}
  #dashboardTournaments thead,#allTournaments thead,#allBowlers thead,#standingsTable thead,#winnersTable thead,#pinsTable thead,#teamsDisplay thead{display:none}
  #dashboardTournaments tbody,#allTournaments tbody,#allBowlers tbody,#standingsTable tbody,#winnersTable tbody,#pinsTable tbody,#teamsDisplay tbody{display:grid;gap:10px}
  #dashboardTournaments tr,#allTournaments tr,#allBowlers tr,#standingsTable tr,#winnersTable tr,#pinsTable tr,#teamsDisplay tr{display:block;border:1px solid var(--l);border-radius:10px;padding:9px;background:#fff;box-shadow:0 2px 7px rgba(16,42,67,.08)}
  #dashboardTournaments td,#allTournaments td,#allBowlers td,#standingsTable td,#winnersTable td,#pinsTable td,#teamsDisplay td{display:flex;justify-content:space-between;gap:12px;padding:7px 3px;border-bottom:1px solid #edf1f4;text-align:right}
  #dashboardTournaments td:last-child,#allTournaments td:last-child,#allBowlers td:last-child,#standingsTable td:last-child,#winnersTable td:last-child,#pinsTable td:last-child,#teamsDisplay td:last-child{border-bottom:0}
  #allTournaments td:last-child{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  #allTournaments td:last-child button{width:100%}

  /* Score roster remains horizontally scrollable for fast numeric entry. */
  #roster{overflow-x:auto;border:1px solid var(--l);border-radius:8px}
  #roster table{min-width:1120px;font-size:12px}
  #roster th,#roster td{padding:5px}
  #roster input{min-width:70px;padding:8px 6px;font-size:16px}
  #roster input[id^="fn-"],#roster input[id^="ln-"],#roster input[id^="em-"]{min-width:130px}
  #roster input[id^="x1-"],#roster input[id^="x2-"],#roster input[id^="x3-"]{min-width:64px;text-align:center;font-weight:700}
  #saveAllRoster{position:sticky;bottom:8px;z-index:20;box-shadow:0 4px 14px rgba(0,0,0,.24)}

  /* Bowler scoring portal: large tap-friendly score controls. */
  #bowler .grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #bowler #g1,#bowler #g2,#bowler #g3{font-size:24px;text-align:center;padding:12px 4px}
  #bowler .actions{grid-template-columns:1fr 1fr}
}

@media(max-width:390px){
  .app-logo{width:92px;height:60px}
  .brand-title{font-size:17px}
  #bowler .grid3{grid-template-columns:1fr}
  #bowler .actions{grid-template-columns:1fr}
}

/* v11.6 Registration & Scores field sizing */
#scoringPage #roster input:not([type="checkbox"]),
#registration #selectedBowlerList input:not([type="checkbox"]){
  box-sizing:border-box;
  width:92px;
  min-width:92px;
  max-width:92px;
  height:34px;
  min-height:34px;
  padding:5px 6px;
  font-size:12px;
  line-height:1.2;
}
#scoringPage #roster input[type="email"],
#scoringPage #roster input[id^="fn-"],
#scoringPage #roster input[id^="ln-"]{
  width:130px;
  min-width:130px;
  max-width:130px;
  font-size:12px;
}
#scoringPage #roster input[id^="x1-"],
#scoringPage #roster input[id^="x2-"],
#scoringPage #roster input[id^="x3-"]{
  width:70px;
  min-width:70px;
  max-width:70px;
  font-size:12px;
  text-align:center;
}
#scoringPage #roster input[type="checkbox"],
#registration #selectedBowlerList input[type="checkbox"]{
  width:20px;
  height:20px;
  min-height:20px;
}
@media(max-width:640px){
  #scoringPage #roster input:not([type="checkbox"]),
  #registration #selectedBowlerList input:not([type="checkbox"]){font-size:12px;min-height:34px;height:34px}
  #scoringPage #roster input[id^="fn-"],
  #scoringPage #roster input[id^="ln-"],
  #scoringPage #roster input[type="email"]{width:130px;min-width:130px;max-width:130px}
  #scoringPage #roster input[id^="x1-"],
  #scoringPage #roster input[id^="x2-"],
  #scoringPage #roster input[id^="x3-"]{width:70px;min-width:70px;max-width:70px}
}

/* v12.5 team-oriented Tournament Scoring */
.team-scoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.team-score-card{border:1px solid var(--l);border-radius:10px;padding:10px;background:#f8fafc}.team-score-card h3{margin:0 0 8px;color:var(--n)}.team-score-bowler{display:grid;grid-template-columns:minmax(150px,1fr) 58px 58px 58px;gap:6px;align-items:end;padding:7px 0;border-top:1px solid #dfe7ed}.team-score-bowler:first-of-type{border-top:0}.team-score-name{display:flex;flex-direction:column;gap:2px}.team-score-name span{font-size:11px;color:var(--m)}.team-score-bowler label{margin:0;font-size:11px}.team-score-input{width:58px!important;min-width:58px!important;max-width:58px!important;height:38px!important;min-height:38px!important;font-size:16px!important;text-align:center;font-weight:700;padding:5px!important}@media(max-width:640px){.team-scoring-grid{grid-template-columns:1fr}.team-score-bowler{grid-template-columns:1fr 56px 56px 56px}.team-score-input{width:56px!important;min-width:56px!important;max-width:56px!important;font-size:16px!important}}

/* v12.6 scoring identity fields */
#scoringPage #roster .locked-name{background:#eef2f5;color:#334e68;cursor:not-allowed;border-color:#cbd5df;font-size:12px!important}

/* v12.8 scores entered only through Bowling Partners / Teams */
#scoringPage #roster .roster-score-locked{background:#e9eef2!important;color:#52606d!important;border-color:#cbd5df!important;cursor:not-allowed!important;box-shadow:none!important}
#scoringPage #roster .roster-score-locked:focus{outline:none!important;border-color:#cbd5df!important}

/* v15.2 Contact menu */
#adminNav .nav-menu{position:relative;display:inline-flex}.nav-menu-toggle{display:flex;align-items:center;gap:6px}.nav-menu-dropdown{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:50;min-width:190px;padding:6px;background:#fff;border:1px solid #d0d5dd;border-radius:9px;box-shadow:0 10px 28px rgba(16,24,40,.16)}.nav-menu.open .nav-menu-dropdown{display:grid;gap:4px}.nav-menu-dropdown button{width:100%;text-align:left;white-space:nowrap;background:#fff;color:#182230;border:0}.nav-menu-dropdown button:hover{background:#eef5fa}.nav-menu.active-parent>.nav-menu-toggle{box-shadow:inset 0 -3px 0 currentColor}.contact-placeholder{padding:18px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.contact-placeholder p{margin-bottom:0;color:#667085}@media(max-width:760px){#adminNav .nav-menu{display:block;width:100%}.nav-menu-toggle{width:100%}.nav-menu-dropdown{position:static;margin-top:4px;box-shadow:none;min-width:0;width:100%}}

/* v15.2.1 combined admin menus */
#adminNav{align-items:center}.nav-menu.active-parent>.nav-menu-toggle{background:rgba(255,255,255,.14);box-shadow:inset 0 -3px 0 currentColor}.nav-menu-dropdown [data-view].on{background:#e8f1f8;font-weight:700}@media(max-width:760px){#adminNav{align-items:stretch}.nav-menu-dropdown [data-view]{width:100%}}

/* v16.0 full rebuild */
.header-actions{display:flex;align-items:center;gap:8px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#fff;color:#102a43;font-weight:900}.admin-login-top{margin-left:auto;background:#fff;color:var(--n);border:1px solid rgba(255,255,255,.55);font-weight:700}.admin-login-top.hidden{display:none}#adminNav{align-items:center}.nav-menu{position:relative;display:inline-flex}.nav-menu-toggle{display:flex;align-items:center;gap:6px}.nav-menu-dropdown{display:none;position:absolute;left:0;top:calc(100% + 4px);z-index:100;min-width:210px;padding:6px;background:#fff;border:1px solid #d0d5dd;border-radius:9px;box-shadow:0 10px 28px rgba(16,24,40,.16)}.nav-menu.open .nav-menu-dropdown{display:grid;gap:4px}.nav-menu-dropdown button{width:100%;text-align:left;white-space:nowrap;background:#fff;color:#182230;border:0}.nav-menu-dropdown button:hover,.nav-menu-dropdown button.on{background:#e8f1f8}.nav-menu.active-parent>.nav-menu-toggle{box-shadow:inset 0 -3px 0 currentColor}.admin-member-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--l)}.muted{color:#667085;font-size:13px}.admin-presence{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:13px;font-weight:700}.presence-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.admin-presence.online{color:#16733b}.admin-presence.online .presence-dot{background:#22a559}.admin-presence.offline{color:#667085}.admin-presence.offline .presence-dot{background:#98a2b3}.contact-placeholder{padding:18px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}@media(max-width:760px){#adminNav{align-items:stretch}.nav-menu{display:block;width:100%}.nav-menu-toggle{width:100%}.nav-menu-dropdown{position:static;margin-top:4px;box-shadow:none;min-width:0;width:100%}}

/* v16.2 dropdown navigation polish */
#adminNav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-menu{position:relative;display:inline-flex}.nav-menu-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap}.nav-menu-dropdown{display:none;position:absolute;left:0;top:calc(100% + 5px);z-index:200;min-width:220px;padding:7px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 12px 30px rgba(16,24,40,.18)}.nav-menu.open .nav-menu-dropdown{display:grid;gap:4px}.nav-menu-dropdown button{width:100%;text-align:left;white-space:nowrap;background:#fff;color:#182230;border:0;padding:9px 11px}.nav-menu-dropdown button:hover,.nav-menu-dropdown button.on{background:#e8f1f8;color:#102a43}.nav-menu.active-parent>.nav-menu-toggle{background:rgba(255,255,255,.15);box-shadow:inset 0 -3px 0 currentColor}@media(max-width:760px){#adminNav{align-items:stretch}.nav-menu{display:block;width:100%}.nav-menu-toggle{width:100%;justify-content:space-between}.nav-menu-dropdown{position:static;width:100%;min-width:0;margin-top:4px;box-shadow:none}.nav-menu-dropdown button{width:100%}}

/* v16.3 true overlay dropdown menus */
#adminNav{position:relative;overflow:visible!important;z-index:1000}#adminNav .nav-menu{position:relative;overflow:visible!important}#adminNav .nav-menu-dropdown{display:none;position:absolute!important;top:100%!important;left:0!important;margin-top:4px!important;z-index:10000!important;min-width:230px;width:max-content;max-width:320px;padding:7px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 14px 36px rgba(15,23,42,.24);overflow:visible!important}#adminNav .nav-menu.open .nav-menu-dropdown{display:block!important}#adminNav .nav-menu-dropdown button{display:block!important;width:100%!important;margin:0 0 3px!important;text-align:left!important;white-space:nowrap!important;background:#fff!important;color:#182230!important;border:0!important;border-radius:7px!important;padding:10px 12px!important}#adminNav .nav-menu-dropdown button:last-child{margin-bottom:0!important}#adminNav .nav-menu-dropdown button:hover,#adminNav .nav-menu-dropdown button.on{background:#e8f1f8!important;color:#102a43!important}main,.wrap,.card,.page{overflow:visible}header{position:relative;z-index:1100}@media(max-width:760px){#adminNav{overflow:visible!important}#adminNav .nav-menu{display:inline-flex!important;width:auto!important}#adminNav .nav-menu-toggle{width:auto!important;justify-content:flex-start!important}#adminNav .nav-menu-dropdown{position:absolute!important;top:100%!important;left:0!important;width:max-content!important;min-width:210px!important;box-shadow:0 14px 36px rgba(15,23,42,.24)!important}}

/* v16.4 Company Contacts */
.contacts-shell{max-width:1000px;margin:0 auto}.contacts-hero{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;padding:30px;border-radius:18px;background:linear-gradient(135deg,#102a43 0%,#194f78 58%,#2477a8 100%);color:#fff;box-shadow:0 16px 42px rgba(16,42,67,.20);overflow:hidden}.contacts-logo-wrap{display:grid;place-items:center;width:150px;height:120px;padding:12px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.16)}.contacts-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}.contacts-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;opacity:.78}.contacts-hero h2{margin:5px 0 8px;font-size:34px;color:#fff}.contacts-hero p{margin:0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.88)}.contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}.contact-profile{display:flex;gap:18px;align-items:center;padding:24px;border:1px solid #d8e3ec;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,42,67,.09);transition:transform .16s ease,box-shadow .16s ease}.contact-profile:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,42,67,.14)}.contact-avatar{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#173f5f,#2c82b8);color:#fff;font-weight:900;font-size:20px;letter-spacing:.04em;box-shadow:0 6px 18px rgba(23,63,95,.24)}.contact-profile-body{min-width:0}.contact-profile h3{margin:0 0 6px;font-size:21px;color:#102a43}.contact-email{margin:0 0 14px;overflow-wrap:anywhere}.contact-email a{color:#216b9a;text-decoration:none;font-weight:600}.contact-email a:hover{text-decoration:underline}.contact-email-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:9px;background:#173f5f;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13px}.contact-email-button:hover{background:#225f89}.contacts-footer-card{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding:15px 18px;border-radius:12px;background:#eef5fa;color:#27445d}.contacts-footer-card span{color:#5d7285}@media(max-width:720px){.contacts-hero{grid-template-columns:1fr;text-align:center;padding:24px}.contacts-logo-wrap{margin:0 auto;width:130px;height:104px}.contacts-hero h2{font-size:28px}.contacts-grid{grid-template-columns:1fr}.contacts-footer-card{flex-direction:column;text-align:center}}

/* v16.5 Support Center */
.support-shell{max-width:1100px;margin:0 auto}.support-hero{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;padding:30px;border-radius:18px;background:linear-gradient(135deg,#102a43 0%,#194f78 58%,#2477a8 100%);color:#fff;box-shadow:0 16px 42px rgba(16,42,67,.20)}.support-logo-wrap{display:grid;place-items:center;width:150px;height:120px;padding:12px;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.16)}.support-logo{display:block;max-width:100%;max-height:100%;object-fit:contain}.support-eyebrow,.support-step{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900}.support-eyebrow{opacity:.78}.support-hero h2{margin:5px 0 8px;font-size:34px;color:#fff}.support-hero p{margin:0;color:rgba(255,255,255,.88);line-height:1.55}.support-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:22px;margin-top:24px}.support-form-card,.support-direct-card{padding:26px;border:1px solid #d8e3ec;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,42,67,.09)}.support-card-heading h3,.support-direct-card h3{margin:5px 0 18px;font-size:23px;color:#102a43}.support-step{color:#2477a8}.support-form-card textarea{width:100%;resize:vertical;min-height:150px}.support-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.support-form-message{min-height:20px;color:#a32626;font-weight:700}.support-privacy-note{margin-top:14px;padding:12px 14px;border-radius:9px;background:#f8fafc;color:#667085;font-size:12px;line-height:1.45}.support-direct-card{background:linear-gradient(180deg,#fff,#f5f9fc)}.support-direct-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border-radius:14px;background:#173f5f;color:#fff;font-size:25px;font-weight:900}.support-direct-card>p{color:#5d7285;line-height:1.55}.support-email-address{display:block;margin:20px 0 12px;color:#216b9a;font-weight:800;text-decoration:none;overflow-wrap:anywhere}.support-email-button{display:flex;justify-content:center;padding:11px 15px;border-radius:9px;background:#173f5f;color:#fff!important;text-decoration:none!important;font-weight:800}.support-email-button:hover{background:#225f89}.support-tip{display:grid;gap:5px;margin-top:22px;padding-top:18px;border-top:1px solid #d8e3ec}.support-tip strong{color:#102a43}.support-tip span{color:#667085;font-size:13px;line-height:1.5}@media(max-width:820px){.support-layout{grid-template-columns:1fr}.support-hero{grid-template-columns:1fr;text-align:center}.support-logo-wrap{margin:0 auto}}@media(max-width:560px){.support-hero{padding:22px}.support-logo-wrap{width:125px;height:100px}.support-hero h2{font-size:28px}.support-form-card,.support-direct-card{padding:20px}.support-actions button{width:100%}}

/* v16.5.1 support validation */
.field-error{display:block;min-height:17px;margin-top:5px;color:#b42318;font-size:12px;font-weight:700}.support-form-card input.field-invalid,.support-form-card select.field-invalid,.support-form-card textarea.field-invalid{border-color:#d92d20!important;background:#fff7f6!important;box-shadow:0 0 0 3px rgba(217,45,32,.10)!important}.support-form-message.error-summary{padding:11px 13px;border:1px solid #f0a6a0;border-radius:8px;background:#fff3f2;color:#b42318}.support-form-message.success-summary{padding:11px 13px;border:1px solid #8bd3a2;border-radius:8px;background:#edf9f0;color:#176b36}

/* v16.6 ticket submission */
#supportComposeEmail:disabled{opacity:.65;cursor:wait}.support-form-message.success-summary{font-weight:700}

/* v16.7 ticket confirmation */
.ticket-confirmation{margin-top:18px;padding:22px;border:1px solid #85c99a;border-radius:14px;background:linear-gradient(180deg,#f2fbf5,#fff);box-shadow:0 8px 24px rgba(23,107,54,.10)}.ticket-confirmation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ticket-confirmation-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#176b36}.ticket-confirmation h3{margin:5px 0 16px;color:#124f29}.ticket-reference{padding:9px 13px;border-radius:9px;background:#176b36;color:#fff;font-weight:900;letter-spacing:.04em;white-space:nowrap}.ticket-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ticket-details>div{display:grid;gap:3px;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #d8eadf}.ticket-details span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#667085}.ticket-details strong{color:#183b27;overflow-wrap:anywhere}.ticket-issue-detail{grid-column:1/-1}.ticket-confirmation-note{margin:14px 0 0;color:#456253;font-size:13px}@media(max-width:650px){.ticket-confirmation-header{display:grid}.ticket-reference{width:max-content}.ticket-details{grid-template-columns:1fr}}

/* v16.8 bowler Contact Support */
.support-top-button{background:#fff;color:var(--n);border:1px solid rgba(255,255,255,.65);font-weight:800}.support-top-button:hover{background:#eef5fa}

/* v16.8.1 Support return navigation */
.support-hero-actions{margin-top:16px}.support-back-button{background:#fff!important;color:#173f5f!important;border:1px solid rgba(255,255,255,.8)!important;font-weight:800!important;box-shadow:0 5px 16px rgba(0,0,0,.12)}.support-back-button:hover{background:#eef5fa!important}

/* v17.0 responsive desktop / tablet / phone */
:root{--touch:44px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button,a.button{min-height:var(--touch);touch-action:manipulation}input,select,textarea{min-height:44px;font-size:16px}textarea{min-height:110px}.wrap,main{width:min(100%,1280px);margin-inline:auto}.page{min-width:0}.card{min-width:0}.grid2,.grid3{min-width:0}table{max-width:100%}.table-wrap,.overflow-x{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#adminNav{position:relative;overflow:visible!important;z-index:1000}.nav-menu-dropdown{z-index:10000!important}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.brand{min-width:0}.brand-title{overflow-wrap:anywhere}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions>*{flex:0 1 auto}.support-shell,.contacts-shell{width:100%;min-width:0}.support-layout,.contacts-grid{min-width:0}.admin-member-row{min-width:0}.admin-member-row>div{min-width:0}@media (max-width:1024px){.wrap,main{width:100%;padding-inline:14px}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.support-layout{grid-template-columns:1fr}.contacts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#adminNav{gap:6px}}@media (max-width:768px){header{padding:10px 12px;gap:10px}.brand-title{font-size:18px}.header-actions{margin-left:auto}.page{padding-inline:0}.card{padding:16px}.grid2,.grid3{grid-template-columns:1fr!important}.contacts-grid{grid-template-columns:1fr}.contacts-hero,.support-hero{grid-template-columns:1fr!important;text-align:center;padding:20px}.contacts-logo-wrap,.support-logo-wrap{margin-inline:auto}.actions{display:grid;grid-template-columns:1fr}.actions button,.actions a{width:100%}#adminNav{display:flex;flex-wrap:wrap;align-items:center;padding:8px;overflow:visible!important}#adminNav.hidden{display:none!important}#adminNav>button,#adminNav>.nav-menu{flex:1 1 auto}.nav-menu{position:relative!important;display:inline-flex!important;width:auto!important}.nav-menu-toggle{width:100%!important;justify-content:center!important}.nav-menu-dropdown{position:absolute!important;top:calc(100% + 4px)!important;left:0!important;width:max-content!important;min-width:220px!important;max-width:min(90vw,320px)!important;box-shadow:0 14px 36px rgba(15,23,42,.24)!important}.nav-menu:last-of-type .nav-menu-dropdown{left:auto!important;right:0!important}.admin-member-row{align-items:flex-start;flex-wrap:wrap}.admin-member-row button{width:100%}.ticket-confirmation-header{display:grid}.ticket-details{grid-template-columns:1fr!important}.score-grid,.team-score-grid{grid-template-columns:1fr!important}}@media (max-width:520px){:root{--touch:48px}body{font-size:15px}.wrap,main{padding-inline:10px}header{align-items:center}.brand-mark{width:38px;height:38px}.brand-title{font-size:16px}.header-actions{gap:5px}.support-top-button{padding-inline:10px;font-size:12px}.card{padding:14px;border-radius:12px}#adminNav{display:grid;grid-template-columns:1fr 1fr;gap:6px}#adminNav>.admin-home-link,#adminNav>#adminLogoutTop{grid-column:auto}.nav-menu{width:100%!important}.nav-menu-toggle{width:100%!important}.nav-menu-dropdown{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin-top:4px!important}.contacts-hero h2,.support-hero h2{font-size:26px}.contact-profile{align-items:flex-start;padding:18px}.contact-avatar{flex-basis:52px;width:52px;height:52px}.support-form-card,.support-direct-card{padding:16px}.support-email-address{font-size:14px}.ticket-reference{white-space:normal;overflow-wrap:anywhere}.scoring-card,.team-card{padding:12px}input[type="number"],input[inputmode="numeric"]{font-size:18px}}@media (orientation:landscape) and (max-height:500px){.nav-menu-dropdown{max-height:70vh;overflow-y:auto!important}.support-hero,.contacts-hero{padding-block:14px}}@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header{padding-top:max(10px,env(safe-area-inset-top))}}

/* v17.5 main page Admin button */
.main-login-admin-action{display:flex;justify-content:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--l)}.main-login-admin-action #openAdminFromMainLogin{min-width:150px;background:#102a43;color:#fff;font-weight:800}.main-login-admin-action #openAdminFromMainLogin:hover{background:#1769aa}@media(max-width:640px){.main-login-admin-action{display:grid}.main-login-admin-action #openAdminFromMainLogin{width:100%}}

/* v17.6 bowler blind-partner display */
.blind-partners{margin:12px 0 16px;padding:14px 16px;border-left:4px solid #1769aa}.blind-partners strong{font-size:17px;color:#102a43}.blind-partner-label{margin-top:5px;font-size:13px;font-weight:700;color:#52606d}.blind-partner-name{margin-top:5px;font-weight:800}

/* v17.11 Registration details and removal */
.registered-details-table td{vertical-align:middle}.registered-details-table .danger{background:#b42318;color:#fff;border-color:#b42318}.registered-details-table .danger:hover{background:#8f1c13}.registered-details-table .danger:disabled{opacity:.55;cursor:wait}@media(max-width:760px){.registered-details-table thead{display:none}.registered-details-table,.registered-details-table tbody,.registered-details-table tr,.registered-details-table td{display:block;width:100%}.registered-details-table tr{margin:0 0 14px;padding:12px;border:1px solid #d8e0e8;border-radius:12px;background:#fff}.registered-details-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:6px 0;border:0}.registered-details-table td::before{content:attr(data-label);font-weight:800;color:#52606d}.registered-details-table td:last-child{display:block;padding-top:10px}.registered-details-table td:last-child::before{display:none}.registered-details-table .danger{width:100%;min-height:44px}}

/* v17.12.4 Bowling Partners / Teams Save Scores */
.team-score-save-actions{justify-content:flex-end;margin-top:14px}.team-score-save-actions #saveTeamScores{min-width:170px}@media(max-width:640px){.team-score-save-actions #saveTeamScores{width:100%;min-height:48px}}
