:root{
 --navy:#102746;--blue:#22639b;--sky:#eaf4fb;--bg:#f3f6fa;--white:#fff;
 --ink:#172235;--muted:#6d7b8d;--line:#dce5ee;--danger:#bd3d3d;--good:#21814b;
 --shadow:0 10px 28px rgba(16,39,70,.10)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;padding-bottom:82px}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.app-header{position:sticky;top:0;z-index:600;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.app-header h1{margin:3px 0 0;font-size:22px;color:var(--navy)}
.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--blue)}
main{max-width:1280px;margin:auto;padding:18px}
.page{display:none}.page.active{display:block}
.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;border-radius:20px;background:linear-gradient(135deg,var(--navy),#28689d);color:#fff;box-shadow:var(--shadow)}
.hero h2{margin:0 0 8px;font-size:30px}.hero p{max-width:700px;line-height:1.5;margin:0;opacity:.88}
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.tile{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:left;min-height:150px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);cursor:pointer}
.tile>span{width:44px;height:44px;border-radius:12px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:23px}
.tile strong{color:var(--navy);font-size:17px}.tile small{color:var(--muted);line-height:1.35}
.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.page-heading h2{margin:0;color:var(--navy)}.page-heading p{margin:4px 0 0;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:16px}
.card h3{margin:0 0 12px;color:var(--navy)}
.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.card-heading h3,.card-heading p{margin:0}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
label{display:block;color:#344357;font-size:13px;font-weight:700}
input,select,textarea{width:100%;margin-top:5px;padding:11px 12px;border:1px solid #ccd8e4;border-radius:10px;background:#fff;min-height:44px}
textarea{min-height:90px;resize:vertical}
.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.button-row.compact{margin:0 0 12px}
.button{border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer;min-height:43px}
.button.primary{background:var(--blue);color:#fff}.button.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.button.danger{background:#fff0f0;color:var(--danger);border:1px solid #efc9c9}
.hidden{display:none!important}.notice{border-left:4px solid var(--blue);background:#edf6fc;border-radius:9px;padding:12px 14px;margin-top:13px;line-height:1.45}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.drill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.drill-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.drill-card h3{margin:9px 0 7px;color:var(--navy);font-size:17px}.drill-card p{font-size:13px;line-height:1.4}.drill-card .button-row{margin-top:auto}
.tag{display:inline-block;background:var(--sky);color:var(--blue);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;margin:0 4px 4px 0}
.timeline{display:grid;gap:9px}.timeline-item{display:grid;grid-template-columns:75px 1fr 90px auto;gap:9px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fbfdff}
.timeline-item input,.timeline-item textarea{margin:0}.timeline-item textarea{min-height:64px}.total-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.stack{display:grid;gap:9px}.stack-item{border:1px solid var(--line);border-radius:11px;padding:11px;background:#fbfdff}
.profile{border:1px solid var(--line);border-radius:12px;padding:12px}.profile-head{display:grid;grid-template-columns:2fr 1fr auto;gap:8px}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.ratings label{font-size:10px}.ratings input{min-height:36px;padding:6px}
.pitch{position:relative;background:#31864b;border:4px solid #fff;outline:1px solid #bdd0c0;border-radius:14px;overflow:hidden;touch-action:none}
.pitch.portrait{aspect-ratio:68/92;max-height:720px;margin:auto}
.pitch:before{content:"";position:absolute;inset:4%;border:2px solid rgba(255,255,255,.85)}
.pitch:after{content:"";position:absolute;left:4%;right:4%;top:50%;border-top:2px solid rgba(255,255,255,.85)}
.pitch .centre-circle{position:absolute;left:39%;top:42%;width:22%;aspect-ratio:1;border:2px solid rgba(255,255,255,.85);border-radius:50%}
.marker{position:absolute;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:#fff;color:var(--navy);border:3px solid #69b5e5;font-size:11px;font-weight:800;user-select:none;touch-action:none}
.marker.opponent{border-color:#e27070}.marker.ball{width:25px;height:25px;border:2px solid #222;font-size:15px}.marker.goal{width:72px;height:27px;border:3px solid #fff;border-radius:2px;background:transparent;color:#fff}
.marker.selected{box-shadow:0 0 0 4px rgba(255,217,88,.75)}
.arrow-line{position:absolute;height:2px;background:#fff;transform-origin:0 50%;pointer-events:none}.arrow-line.pass{background:repeating-linear-gradient(90deg,#fff 0 7px,transparent 7px 12px)}.arrow-line:after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
.tactics-layout{display:grid;grid-template-columns:230px 1fr;gap:16px}.tools{display:grid;gap:8px;align-content:start}.board-card{margin:0}
.file-button input{display:none}.muted{color:var(--muted)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:6px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -8px 24px rgba(16,39,70,.12)}
.bottom-nav button{border:0;background:transparent;color:#647386;border-radius:11px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:800}.bottom-nav button span{font-size:20px}.bottom-nav button small{font-size:10px}.bottom-nav button.active{color:var(--blue);background:var(--sky)}
.sheet-backdrop{display:none;position:fixed;inset:0;z-index:1090;background:rgba(8,22,40,.5)}.sheet-backdrop.open{display:block}
.more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:#fff;border-radius:22px 22px 0 0;padding:9px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(110%);transition:.22s;box-shadow:0 -14px 42px rgba(16,39,70,.24)}.more-sheet.open{transform:translateY(0)}
.sheet-handle{width:45px;height:5px;background:#d7e0e9;border-radius:99px;margin:0 auto 12px}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head button{width:38px;height:38px;border:0;border-radius:50%;font-size:25px}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.more-grid button{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:15px;text-align:left;font-weight:800;color:var(--navy)}
@media(min-width:900px){body{padding-bottom:0}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:540px;border-radius:16px 16px 0 0}}
@media(max-width:900px){.tile-grid,.drill-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.tactics-layout{grid-template-columns:1fr}.tools{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){
 .app-header{padding:11px 13px}.app-header h1{font-size:19px}main{padding:13px}
 .hero{align-items:flex-start;flex-direction:column;padding:18px}.hero h2{font-size:24px}.hero .button{width:100%}
 .tile-grid{gap:9px}.tile{min-height:135px;padding:14px 11px}.tile strong{font-size:15px}
 .form-grid,.filters{grid-template-columns:1fr}.drill-grid{grid-template-columns:1fr}
 .timeline-item{grid-template-columns:55px 1fr}.timeline-item .mins,.timeline-item .remove{grid-column:2}
 .profile-head{grid-template-columns:1fr}.ratings{grid-template-columns:repeat(2,1fr)}
 .pitch.portrait{width:100%;max-height:none}.page-heading h2{font-size:22px}
}


.board-status{grid-column:1/-1;margin:0 0 4px;font-size:12px}
.tools .button.active-tool,.diagram-tools .button.active-tool{background:var(--blue);color:#fff;border-color:var(--blue)}
.marker.neutral{border-color:#f2cb4d}
.marker.cone{width:22px;height:22px;border:0;border-radius:2px;background:#f08c2e;clip-path:polygon(50% 0,100% 100%,0 100%);font-size:0}
.arrow-line{z-index:2;height:3px}
.arrow-line:after{right:-2px;top:-4px;border-left-width:8px;border-top-width:5px;border-bottom-width:5px}
.lineup-pitch{min-height:560px}
.lineup-slot{position:absolute;transform:translate(-50%,-50%);width:108px;z-index:3}
.lineup-slot span{display:block;text-align:center;color:#fff;font-size:10px;font-weight:800;text-shadow:0 1px 2px #000;margin-bottom:2px}
.lineup-slot select{margin:0;min-height:34px;padding:5px 6px;font-size:11px;border-radius:8px}
.inline-label{min-width:180px}
.squad-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:center}
.diagram-modal{display:none;position:fixed;inset:0;z-index:3000;background:rgba(6,20,36,.76);padding:18px;overflow:auto}
.diagram-modal.open{display:block}
.diagram-dialog{max-width:1120px;margin:auto;background:#f3f6fa;border-radius:18px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.diagram-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.diagram-head strong{display:block;color:var(--navy);font-size:18px}.diagram-head small{display:block;color:var(--muted);margin-top:2px}
.diagram-head button{border:0;width:40px;height:40px;border-radius:50%;font-size:27px}
.diagram-layout{display:grid;grid-template-columns:230px 1fr;gap:14px;padding:14px}
.diagram-tools{display:grid;gap:8px;align-content:start}.diagram-board-wrap{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px}
.diagram-board-wrap .pitch{max-height:690px}
@media(max-width:760px){
 .diagram-modal{padding:0}
 .diagram-dialog{min-height:100vh;border-radius:0}
 .diagram-layout{grid-template-columns:1fr;padding:10px}
 .diagram-tools{grid-template-columns:repeat(2,1fr);order:2}
 .diagram-tools .notice{grid-column:1/-1}
 .diagram-board-wrap{order:1;padding:7px}
 .lineup-pitch{min-height:480px}
 .lineup-slot{width:90px}
 .squad-row{grid-template-columns:1fr}
}


.position-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lineup-controls{align-items:end}
.lineup-player{
  position:absolute;
  transform:translate(-50%,-50%);
  width:112px;
  z-index:4;
  touch-action:none;
  cursor:grab;
}
.lineup-player.dragging{cursor:grabbing;z-index:8}
.lineup-player .position-label{
  display:block;
  text-align:center;
  color:#fff;
  font-size:10px;
  font-weight:800;
  text-shadow:0 1px 3px rgba(0,0,0,.85);
  margin-bottom:3px
}
.lineup-player select{
  margin:0;
  min-height:35px;
  padding:5px 6px;
  font-size:11px;
  border-radius:8px;
  box-shadow:0 3px 10px rgba(0,0,0,.18)
}
.lineup-player.matched-primary select{border:2px solid #5eb5e6}
.lineup-player.matched-alternate select{border:2px solid #f0c34e}
.lineup-player.manual select{border:2px solid #fff}
.position-key{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;margin-top:9px}
.position-key span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.position-key .primary-key:before{background:#5eb5e6}
.position-key .alternate-key:before{background:#f0c34e}
.position-key .manual-key:before{background:#fff;border:1px solid #8794a4}
@media(max-width:760px){
 .position-selects{grid-template-columns:1fr}
 .lineup-player{width:92px}
 .lineup-controls{display:grid;grid-template-columns:1fr 1fr}
 .lineup-controls .inline-label{grid-column:1/-1}
}


.squad-row-v2{
  display:grid;
  grid-template-columns:minmax(150px,1.5fr) minmax(240px,2fr) minmax(130px,.8fr) auto;
  gap:9px;
  align-items:end
}
.pick-priority.first{border-color:#3fa66a;background:#f0fbf5}
.pick-priority.second{border-color:#e2ae3b;background:#fff9eb}
.pick-priority.third{border-color:#8f79c6;background:#f7f3ff}
.pick-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;margin-top:6px}
.pick-badge.first{background:#e4f7ec;color:#217044}
.pick-badge.second{background:#fff2cd;color:#8a6310}
.pick-badge.third{background:#eee7fb;color:#5e4795}
.lineup-player.pick-first select{box-shadow:0 0 0 3px rgba(63,166,106,.28),0 3px 10px rgba(0,0,0,.18)}
.lineup-player.pick-second select{box-shadow:0 0 0 3px rgba(226,174,59,.28),0 3px 10px rgba(0,0,0,.18)}
.lineup-player.pick-third select{box-shadow:0 0 0 3px rgba(143,121,198,.28),0 3px 10px rgba(0,0,0,.18)}
.priority-key{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;margin-top:7px}
.priority-key span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.priority-key .first-priority:before{background:#3fa66a}
.priority-key .second-priority:before{background:#e2ae3b}
.priority-key .third-priority:before{background:#8f79c6}
@media(max-width:900px){
 .squad-row-v2{grid-template-columns:1fr 1fr}
 .squad-row-v2>button{align-self:end}
}
@media(max-width:620px){
 .squad-row-v2{grid-template-columns:1fr}
}


.session-practice{grid-template-columns:62px minmax(0,1fr) 86px auto}
.practice-order,.practice-minutes{display:grid;gap:5px;align-content:start}
.print-label,.print-content,.print-minutes{display:none}
.practice-main{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px}
.session-diagram{width:100%;max-height:260px;min-height:220px;margin:0}
.session-diagram .marker{width:27px;height:27px;font-size:8px;border-width:2px}
.session-diagram .marker.ball{width:18px;height:18px;font-size:11px}
.session-diagram .marker.goal{width:48px;height:20px;font-size:7px}
.session-diagram .marker.cone{width:15px;height:15px}
.session-diagram .arrow-line{height:2px}
.print-content h4{margin:0 0 5px;color:var(--navy);font-size:15px}
.print-content p{margin:0;white-space:pre-wrap;line-height:1.4}
@media(max-width:760px){
 .session-practice{grid-template-columns:48px minmax(0,1fr)}
 .practice-main{grid-template-columns:1fr}
 .practice-minutes,.session-practice .remove{grid-column:2}
 .session-diagram{max-width:310px;min-height:360px}
}

:root{
 --club-primary:#102746;
 --club-secondary:#22639b;
 --club-accent:#eaf4fb;
 --club-contrast:#ffffff;
}
body[data-club="thundersley"]{
 --club-primary:#111111;
 --club-secondary:#d51f2f;
 --club-accent:#f5f5f5;
 --club-contrast:#ffffff;
}
body[data-club="wivenhoe"]{
 --club-primary:#2c0064;
 --club-secondary:#e2cf00;
 --club-accent:#f4efff;
 --club-contrast:#ffffff;
}
body[data-club]{
 --navy:var(--club-primary);
 --blue:var(--club-secondary);
 --sky:var(--club-accent);
}
.header-actions{display:flex;gap:8px}
.brand-block{display:flex;align-items:center;gap:10px}
.header-club-logo{width:46px;height:46px;object-fit:contain;border-radius:10px;background:#fff;padding:3px;border:1px solid var(--line)}
.club-selector{padding:8px 0 20px}
.club-selector-head{text-align:center;max-width:700px;margin:0 auto 18px}
.club-selector-head h2{font-size:30px;margin:6px 0;color:var(--navy)}
.club-selector-head p{color:var(--muted);margin:0}
.club-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:920px;margin:auto}
.club-card{border:0;border-radius:22px;padding:22px;display:flex;align-items:center;gap:20px;text-align:left;min-height:220px;cursor:pointer;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}
.club-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(16,39,70,.16)}
.club-card strong{display:block;font-size:24px;margin-bottom:6px}
.club-card small{font-size:13px;opacity:.8}
.club-logo-wrap{width:145px;height:145px;border-radius:18px;background:rgba(255,255,255,.94);display:grid;place-items:center;padding:10px;flex:0 0 auto}
.club-logo-wrap img{max-width:100%;max-height:100%;object-fit:contain}
.thundersley-card{background:linear-gradient(145deg,#090909,#242424);color:#fff;border:3px solid #d51f2f}
.wivenhoe-card{background:linear-gradient(145deg,#2c0064,#4d1782);color:#fff;border:3px solid #e2cf00}
.selected-club-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--club-primary),var(--club-secondary));color:var(--club-contrast);border-radius:20px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.selected-club-banner img{width:92px;height:92px;object-fit:contain;border-radius:16px;background:#fff;padding:6px}
.selected-club-banner h2{margin:4px 0;font-size:28px}.selected-club-banner p{margin:0;opacity:.85}
body[data-club="wivenhoe"] .button.primary,
body[data-club="wivenhoe"] .bottom-nav button.active{color:#2c0064;font-weight:900}
body[data-club="wivenhoe"] .button.primary{background:#e2cf00}
body[data-club="wivenhoe"] .tag{color:#2c0064}
body[data-club="thundersley"] .hero,
body[data-club="thundersley"] .selected-club-banner{background:linear-gradient(135deg,#111,#d51f2f)}
body[data-club="wivenhoe"] .hero,
body[data-club="wivenhoe"] .selected-club-banner{background:linear-gradient(135deg,#2c0064,#5a2488)}
@media(max-width:700px){
 .club-card-grid{grid-template-columns:1fr}
 .club-card{min-height:170px;padding:16px}
 .club-logo-wrap{width:105px;height:105px}
 .club-card strong{font-size:20px}
 .selected-club-banner img{width:72px;height:72px}
 .selected-club-banner h2{font-size:23px}
 .header-club-logo{width:38px;height:38px}
 .header-actions .button{padding:8px 9px;font-size:12px}
}


.marker{pointer-events:auto!important;cursor:grab;z-index:5}
.marker.dragging{cursor:grabbing;z-index:20}
.editable{touch-action:none!important;user-select:none;-webkit-user-select:none}
.arrow-line{pointer-events:none;z-index:3}
.arrow-line.selected-arrow{filter:drop-shadow(0 0 4px #ffd95a)}
.arrow-hitbox{
  position:absolute;
  height:22px;
  transform-origin:0 50%;
  background:transparent;
  z-index:8;
  cursor:move;
  touch-action:none;
  pointer-events:auto
}
.arrow-hitbox.dragging{cursor:grabbing}
.arrow-handle{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ffd95a;
  border:2px solid #7b5d00;
  transform:translate(-50%,-50%);
  z-index:12;
  touch-action:none;
  cursor:crosshair
}
.diagram-board-wrap,.board-card{overflow:visible}
@media(max-width:760px){
 .arrow-hitbox{height:30px;margin-top:-4px}
 .arrow-handle{width:22px;height:22px}
 .marker{min-width:34px;min-height:34px}
 .marker.ball,.marker.cone{min-width:24px;min-height:24px}
}


.pitch.editable,.diagram-board-wrap .pitch,.board-card .pitch{
  touch-action:none!important;
  overscroll-behavior:contain;
  -webkit-user-select:none!important;
  user-select:none!important
}
.pitch .marker{
  pointer-events:auto!important;
  touch-action:none!important;
  -webkit-user-drag:none;
  z-index:20!important
}
.pitch .marker.goal{min-width:72px}
.pitch .marker.cone{min-width:22px;min-height:22px}
.pitch .arrow-hitbox{z-index:18!important;pointer-events:auto!important}
.pitch .arrow-handle{z-index:25!important;pointer-events:auto!important}
.pitch:before,.pitch:after,.pitch .centre-circle{pointer-events:none!important}
@media(max-width:760px){
 .pitch .marker{width:42px;height:42px}
 .pitch .marker.ball{width:30px;height:30px}
 .pitch .marker.goal{width:82px;height:34px}
 .pitch .marker.cone{width:28px;height:28px}
 .pitch .arrow-hitbox{height:38px;margin-top:-7px}
}

:root{--navy:#0b0b0b;--blue:#b69059;--sky:#f2eadf;--bg:#0e0e0f;--white:#fff;--ink:#f5f3ef;--muted:#b8b2a8;--line:#3a332b;--shadow:0 12px 34px rgba(0,0,0,.34)}
body{background:radial-gradient(circle at top,#27211a 0,#111 38%,#090909 100%);color:var(--ink)}
.app-header{background:rgba(8,8,8,.95);border-bottom-color:#4d3d2b}
.app-header h1,.page-heading h2,.card h3,.drill-card h3,.tile strong{color:#fff}
.eyebrow{color:#c7a06a}.brand-logo{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid #b69059;box-shadow:0 0 0 3px rgba(182,144,89,.16)}
.hero{background:linear-gradient(135deg,#080808,#2b2118 55%,#b69059);border:1px solid #6d5233}
.tile,.card,.drill-card{background:linear-gradient(180deg,#181818,#111);border-color:#3d342a;color:#f4f0e9}
.tile>span{background:#2a2118;color:#d1ac76;border:1px solid #5a4631}
.button.primary{background:#b69059;color:#0b0b0b}.button.secondary{background:#171717;color:#f5f3ef;border-color:#4a4035}
.button.danger{background:#2a1111;color:#ffaaaa;border-color:#743333}
input,select,textarea{background:#101010;color:#fff;border-color:#4b4136}
input::placeholder,textarea::placeholder{color:#847c72}.notice{background:#201a14;border-left-color:#b69059;color:#eee7dd}
.bottom-nav{background:rgba(8,8,8,.98);border-top-color:#40362c}.bottom-nav button{color:#aaa198}.bottom-nav button.active{color:#0b0b0b;background:#b69059}
.more-sheet{background:#111}.more-grid button{background:#181818;color:#fff;border-color:#40362c}
.video-card .video-thumb{aspect-ratio:16/9;border-radius:10px;background:#080808;display:grid;place-items:center;border:1px solid #44382d;font-size:36px;color:#b69059}
body[data-club="wivenhoe"] .button.primary{background:#d7c800;color:#2d0061}
body[data-club="thundersley"] .button.primary{background:#d01f2f;color:#fff}
@media(max-width:620px){.brand-logo{width:46px;height:46px}}

.video-progress-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.video-progress-copy{flex:1}.video-progress-copy h3{margin:4px 0}.video-progress-copy p{margin:0 0 8px}
.progress-track{height:12px;border-radius:999px;background:#29231d;overflow:hidden;border:1px solid #4b3c2d}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#8a693e,#d2ad76);transition:width .25s ease}
.video-progress-copy small{display:block;margin-top:6px;color:var(--muted)}
.video-status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}
.video-status-badge.filmed{background:#e4f7ec;color:#217044}
.video-status-badge.unfilmed{background:#2a2118;color:#d6b27e;border:1px solid #5a4631}
.drill-card{position:relative}
.drill-card .open-detail{width:100%;text-align:left;background:none;border:0;color:inherit;padding:0;cursor:pointer}
.drill-detail-modal{display:none;position:fixed;inset:0;z-index:3500;background:rgba(0,0,0,.82);padding:18px;overflow:auto}
.drill-detail-modal.open{display:block}
.drill-detail-dialog{max-width:1180px;margin:auto;background:#0f0f0f;border:1px solid #574530;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.55)}
.drill-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#15100c,#0d0d0d)}
.drill-detail-head h2{margin:8px 0 4px;color:#fff;font-size:28px}
.drill-detail-head button{width:42px;height:42px;border:0;border-radius:50%;font-size:28px;background:#241c15;color:#fff}
.drill-detail-tabs{display:flex;gap:5px;overflow:auto;padding:9px 12px;border-top:1px solid #34291f;border-bottom:1px solid #34291f;background:#121212}
.drill-detail-tabs button{border:0;background:transparent;color:#aaa198;padding:10px 14px;border-radius:9px;font-weight:800;white-space:nowrap}
.drill-detail-tabs button.active{background:#b69059;color:#0b0b0b}
.drill-detail-content{padding:16px}
.detail-panel{display:none}.detail-panel.active{display:block}
.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 0}
.detail-facts div{background:#151515;border:1px solid #3c3228;border-radius:10px;padding:10px}
.detail-facts dt{font-size:11px;color:#b8b2a8}.detail-facts dd{margin:4px 0 0;font-weight:800;color:#fff}
.detail-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.detail-diagram{max-height:690px}
.video-empty{text-align:center;padding:30px 10px}.video-placeholder{font-size:58px;color:#b69059}
.video-embed{aspect-ratio:16/9;background:#050505;border-radius:13px;overflow:hidden;border:1px solid #44382d}
.video-embed iframe{width:100%;height:100%;border:0}
.related-card{cursor:pointer}
@media(max-width:700px){
 .video-progress-card{align-items:stretch;flex-direction:column}
 .drill-detail-modal{padding:0}
 .drill-detail-dialog{min-height:100vh;border-radius:0}
 .drill-detail-content{padding:10px}
 .detail-facts,.detail-action-grid{grid-template-columns:1fr}
}





.club-only-hidden{display:none!important}
.club-selector-create{margin-top:14px}


/* v1.5 classic full-width layout */
.app-header{left:0!important;right:0}
main{
  margin-left:0!important;
  width:100%!important;
  max-width:1280px!important;
  margin-right:auto!important;
  margin-left:auto!important;
  padding:18px 18px 96px!important
}
.bottom-nav{display:grid}
.page{width:100%;max-width:none;margin:0}
.club-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px;
  max-width:900px;
  margin:0 auto
}
.club-card.dynamic-card{
  min-height:180px;
  display:grid;
  place-items:center;
  padding:18px;
  border-radius:22px;
  text-align:center
}
.club-card.dynamic-card .club-logo-wrap{
  width:132px;
  height:132px;
  border-radius:20px;
  padding:8px;
  margin:0
}
.club-card.dynamic-card .club-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain
}
.club-card.dynamic-card .club-card-copy{display:none!important}
.club-selector-create{margin-top:18px}
.club-only-hidden{display:none!important}
.club-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(min-width:900px){
  .bottom-nav{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:540px;
    border-radius:16px 16px 0 0
  }
}
@media(max-width:700px){
  main{padding:13px 13px 92px!important}
  .club-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .club-card.dynamic-card{min-height:145px;padding:12px}
  .club-card.dynamic-card .club-logo-wrap{width:105px;height:105px}
}

/* v1.5.2 Proving Ground home background */
.home-platform-page{
  position:relative;
  isolation:isolate;
  min-height:calc(100vh - 120px);
  overflow:hidden;
  border-radius:22px
}
.platform-logo-background{
  position:absolute;
  inset:-4%;
  z-index:-2;
  background-image:
    linear-gradient(180deg,rgba(8,8,8,.58),rgba(8,8,8,.88)),
    url("../assets/the-proving-ground-logo.jpg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:min(82vw,980px) auto;
  filter:saturate(.8) contrast(1.05);
  transform:scale(1.02);
  opacity:.54;
  animation:provingGroundSlowZoom 28s ease-in-out infinite alternate;
  pointer-events:none
}
.home-platform-page:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at center,rgba(182,144,89,.08),transparent 48%),
    linear-gradient(180deg,rgba(10,10,10,.10),rgba(10,10,10,.62));
  pointer-events:none
}
.home-platform-page .club-selector,
.home-platform-page .club-home-content{
  position:relative;
  z-index:1
}
.home-platform-page .club-selector{
  min-height:calc(100vh - 165px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px 18px
}
.home-platform-page .club-selector-head{
  background:rgba(8,8,8,.66);
  border:1px solid rgba(182,144,89,.40);
  border-radius:18px;
  padding:20px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px)
}
.home-platform-page .club-card-grid{
  margin-top:18px
}
.home-platform-page .club-card.dynamic-card{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 16px 38px rgba(0,0,0,.42)
}
body[data-club] .platform-logo-background{
  opacity:.12;
  background-size:min(60vw,700px) auto;
  animation:none
}
body[data-club] .home-platform-page:after{
  background:linear-gradient(180deg,rgba(10,10,10,.05),rgba(10,10,10,.28))
}
@keyframes provingGroundSlowZoom{
  from{transform:scale(1.02)}
  to{transform:scale(1.055)}
}
@media(prefers-reduced-motion:reduce){
  .platform-logo-background{animation:none}
}
@media(max-width:700px){
  .home-platform-page{
    min-height:calc(100vh - 105px);
    border-radius:15px
  }
  .platform-logo-background{
    inset:0;
    background-size:145vw auto;
    opacity:.46
  }
  .home-platform-page .club-selector{
    min-height:calc(100vh - 125px);
    padding:22px 10px
  }
  .home-platform-page .club-selector-head{
    padding:16px
  }
}


/* v1.5.3 Global Proving Ground watermark */
.page{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(10,10,10,.78),rgba(10,10,10,.88)),
    url("../assets/the-proving-ground-logo.jpg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:min(70vw,820px) auto;
  opacity:.12;
  pointer-events:none;
}
.page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at center,rgba(182,144,89,.04),transparent 55%);
  pointer-events:none;
}

/* Home page remains stronger */
.home-platform-page::before{
  opacity:.52;
  background-size:min(82vw,980px) auto;
}

body[data-club] .page::before{
  opacity:.08;
  background-size:min(55vw,650px) auto;
}

.card,
.hero,
.tile,
.drill-card,
.notice,
.video-progress-card,
.selected-club-banner{
  background-color:rgba(18,18,18,.92);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

@media(max-width:700px){
  .page::before{
    background-size:130vw auto;
    opacity:.10;
  }
  .home-platform-page::before{
    background-size:145vw auto;
    opacity:.46;
  }
}

/* v1.6 professional dashboard */
.club-home-content{display:block}
.club-home-content.hidden{display:none}
.dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  margin-bottom:16px;
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(8,8,8,.92),rgba(36,27,19,.88)),
    radial-gradient(circle at 85% 15%,rgba(182,144,89,.22),transparent 36%);
  border:1px solid rgba(182,144,89,.42);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px)
}
.dashboard-hero-brand{display:flex;align-items:center;gap:16px;min-width:0}
.dashboard-hero-brand img{width:92px;height:92px;object-fit:contain;border-radius:18px;background:#fff;padding:7px;flex:0 0 auto}
.dashboard-hero-brand h2{margin:4px 0 5px;font-size:30px;color:#fff}
.dashboard-hero-brand p{margin:0;color:#c3bbb1}
.dashboard-hero-actions{display:flex;gap:9px;flex-wrap:wrap}

.dashboard-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px
}
.dashboard-stat{
  border:1px solid #41362b;
  border-radius:15px;
  background:linear-gradient(180deg,rgba(28,28,28,.96),rgba(15,15,15,.96));
  color:#fff;
  padding:15px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  min-height:105px;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.25)
}
.dashboard-stat:hover{border-color:#b69059;transform:translateY(-1px)}
.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#2a2118;color:#d2ad76;font-size:21px;flex:0 0 auto}
.dashboard-stat small{display:block;color:#aaa198;font-size:11px}
.dashboard-stat strong{display:block;font-size:22px;margin:3px 0;color:#fff}
.dashboard-stat em{display:block;color:#b69059;font-size:10px;font-style:normal}

.dashboard-main-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;margin-bottom:16px}
.dashboard-panel{
  border:1px solid #3c3127;
  background:linear-gradient(180deg,rgba(22,22,22,.96),rgba(13,13,13,.96));
  border-radius:18px;
  padding:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.26);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px)
}
.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.dashboard-panel-head h3{margin:4px 0 0;color:#fff;font-size:19px}
.text-action{border:0;background:transparent;color:#cda873;font-weight:800;cursor:pointer}

.dashboard-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-action-grid button{
  border:1px solid #41362b;
  border-radius:13px;
  background:#15120f;
  color:#fff;
  padding:14px;
  min-height:122px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  text-align:left;
  cursor:pointer
}
.dashboard-action-grid button:hover{background:#201a14;border-color:#b69059}
.dashboard-action-grid button>span{width:38px;height:38px;border-radius:10px;background:#2a2118;color:#d2ad76;display:grid;place-items:center;font-size:19px}
.dashboard-action-grid strong{font-size:14px}.dashboard-action-grid small{color:#9f978e;line-height:1.3}

.dashboard-list{display:grid;gap:9px}
.dashboard-list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #3b3026;border-radius:11px;background:#14110f;padding:11px}
.dashboard-list-item strong{display:block;color:#fff;font-size:13px}
.dashboard-list-item small{display:block;color:#9f978e;margin-top:3px}
.dashboard-list-item button{border:0;background:#2a2118;color:#d2ad76;border-radius:8px;padding:7px 9px;font-weight:800}
.dashboard-empty{border:1px dashed #4a3d31;border-radius:12px;padding:18px;text-align:center;color:#9f978e}

.fixture-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fixture-dashboard-card{border:1px solid #3e3329;border-radius:12px;background:#14110f;padding:14px;text-decoration:none;color:#fff;display:flex;flex-direction:column;gap:5px}
.fixture-dashboard-card span{font-size:24px}.fixture-dashboard-card small{color:#999188}
.fixture-dashboard-card.disabled{opacity:.42;pointer-events:none}

.dashboard-progress-block{display:grid;grid-template-columns:120px 1fr;gap:17px;align-items:center}
.dashboard-progress-ring{
  width:112px;height:112px;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(#b69059 0deg,#2b241d 0deg);
  position:relative
}
.dashboard-progress-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#111}
.dashboard-progress-ring span{position:relative;z-index:1;color:#fff;font-size:22px;font-weight:900}
.dashboard-progress-block strong{color:#fff;font-size:16px}
.dashboard-progress-block p{font-size:12px;line-height:1.45}

.page{transition:opacity .18s ease,transform .18s ease}
.page.active{animation:pageReveal .18s ease}
@keyframes pageReveal{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}

@media(max-width:950px){
  .dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .dashboard-hero{align-items:flex-start;flex-direction:column;padding:17px}
  .dashboard-hero-brand img{width:72px;height:72px}
  .dashboard-hero-brand h2{font-size:23px}
  .dashboard-hero-actions{width:100%}
  .dashboard-hero-actions .button{flex:1}
  .dashboard-stat-grid{grid-template-columns:1fr 1fr;gap:8px}
  .dashboard-stat{min-height:92px;padding:11px;gap:8px}
  .stat-icon{width:35px;height:35px}
  .dashboard-stat strong{font-size:17px}
  .dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-action-grid button{min-height:112px;padding:11px}
  .fixture-dashboard-grid{grid-template-columns:1fr}
  .dashboard-progress-block{grid-template-columns:1fr;text-align:center}
  .dashboard-progress-ring{margin:auto}
}

/* v1.6.1 FA link fixes */
.fixture-dashboard-card,
.fixture-link{
  cursor:pointer;
  position:relative
}
.fixture-dashboard-card:not(.disabled):hover,
.fixture-link:not(.disabled):hover{
  border-color:#b69059;
  background:#201a14;
  transform:translateY(-1px)
}
.fixture-dashboard-card.disabled,
.fixture-link.disabled{
  cursor:not-allowed;
  pointer-events:none;
  opacity:.42
}
.fixture-dashboard-card:not(.disabled):after,
.fixture-link:not(.disabled):after{
  content:"↗";
  position:absolute;
  right:11px;
  top:9px;
  color:#b69059;
  font-size:13px
}

/* v1.6.2 mobile session readability */
.screen-editor textarea{
  overflow:hidden;
  resize:none;
  min-height:88px;
  line-height:1.45;
  color:#ffffff;
  background:#101010;
}
.screen-editor input{
  color:#ffffff;
  font-weight:800;
}
.session-practice{
  overflow:visible;
}
.practice-main,
.screen-editor{
  min-width:0;
}
@media(max-width:760px){
  .session-practice{
    display:block;
    padding:12px;
  }
  .practice-order{
    display:none;
  }
  .practice-main{
    display:block;
  }
  .screen-editor input{
    font-size:16px;
    margin-bottom:8px;
  }
  .screen-editor textarea{
    width:100%;
    min-height:120px;
    height:auto;
    overflow:hidden;
    font-size:14px;
    line-height:1.55;
    padding:12px;
    white-space:pre-wrap;
  }
  .session-diagram{
    width:min(100%,330px);
    min-height:430px;
    margin:12px auto 0;
  }
  .practice-minutes{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
  }
  .practice-minutes .mins{
    max-width:100px;
  }
  .session-practice .remove{
    width:100%;
    margin-top:8px;
  }
}

/* v1.6.2 clean A4 session pack */
@media print{
  @page{
    size:A4 portrait;
    margin:12mm 11mm 13mm;
  }

  html,
  body{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#ffffff!important;
    color:#000000!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  body::before,
  body::after,
  .page::before,
  .page::after,
  .platform-logo-background{
    display:none!important;
    content:none!important;
    background:none!important;
  }

  .app-header,
  .bottom-nav,
  .more-sheet,
  .sheet-backdrop,
  .planner-setup-card,
  #sessionReason,
  #addPractice,
  .session-output-card .button-row,
  .session-output-card > .card-heading .button,
  .screen-editor,
  .remove,
  .two-col,
  .video-progress-card{
    display:none!important;
  }

  main{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#ffffff!important;
  }

  .page{
    display:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#ffffff!important;
    color:#000000!important;
  }

  #planner.page.active{
    display:block!important;
  }

  #planner,
  #planner *,
  #planner h2,
  #planner h3,
  #planner h4,
  #planner p,
  #planner strong,
  #planner span,
  #planner small,
  #planner em{
    color:#000000!important;
    text-shadow:none!important;
  }

  #planner .page-heading{
    display:block!important;
    margin:0 0 6mm!important;
    padding:0 0 3mm!important;
    border-bottom:1.2pt solid #000000!important;
  }

  #planner .page-heading h2{
    margin:0!important;
    font-size:18pt!important;
    line-height:1.15!important;
  }

  #planner .page-heading p{
    display:none!important;
  }

  .session-output-card{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#ffffff!important;
    overflow:visible!important;
  }

  .session-output-card > .card-heading{
    display:block!important;
    margin:0 0 5mm!important;
    padding:0!important;
  }

  #sessionName{
    margin:0 0 1.5mm!important;
    font-size:17pt!important;
    line-height:1.2!important;
    color:#000000!important;
  }

  #sessionMeta{
    margin:0!important;
    font-size:9.5pt!important;
    line-height:1.3!important;
    color:#000000!important;
  }

  .timeline{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  .session-practice{
    display:grid!important;
    grid-template-columns:13mm minmax(0,1fr) 18mm!important;
    gap:3mm!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 5mm!important;
    padding:3.5mm!important;
    border:1.2pt solid #000000!important;
    border-radius:2.5mm!important;
    background:#ffffff!important;
    box-shadow:none!important;
    overflow:visible!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    orphans:3;
    widows:3;
  }

  .practice-order,
  .practice-minutes{
    display:block!important;
    min-width:0!important;
    font-size:8pt!important;
    line-height:1.25!important;
  }

  .practice-order input,
  .practice-minutes input{
    display:none!important;
  }

  .print-label,
  .print-content,
  .print-minutes{
    display:block!important;
    color:#000000!important;
  }

  .print-label{
    margin-bottom:1.5mm!important;
    font-size:7.5pt!important;
    font-weight:700!important;
    text-transform:uppercase;
  }

  .print-minutes{
    font-size:9pt!important;
    font-weight:800!important;
  }

  .practice-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48mm!important;
    gap:4mm!important;
    min-width:0!important;
    align-items:start!important;
  }

  .print-content{
    display:block!important;
    min-width:0!important;
    overflow:visible!important;
  }

  .print-content h4{
    margin:0 0 2mm!important;
    font-size:12pt!important;
    line-height:1.2!important;
    color:#000000!important;
    break-after:avoid!important;
  }

  .print-content p{
    display:block!important;
    margin:0!important;
    padding:0!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:pre-wrap!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    font-size:8.5pt!important;
    line-height:1.35!important;
    color:#000000!important;
  }

  .session-diagram{
    display:block!important;
    width:48mm!important;
    height:63mm!important;
    min-width:48mm!important;
    min-height:63mm!important;
    max-width:48mm!important;
    max-height:63mm!important;
    margin:0!important;
    border:1pt solid #000000!important;
    border-radius:1.5mm!important;
    outline:0!important;
    overflow:hidden!important;
    break-inside:avoid!important;
  }

  .session-diagram .marker{
    width:5.5mm!important;
    height:5.5mm!important;
    min-width:0!important;
    min-height:0!important;
    border-width:1.2pt!important;
    font-size:5.5pt!important;
    color:#000000!important;
    background:#ffffff!important;
  }

  .session-diagram .marker.ball{
    width:4mm!important;
    height:4mm!important;
    font-size:6pt!important;
  }

  .session-diagram .marker.goal{
    width:12mm!important;
    height:5mm!important;
    font-size:4.5pt!important;
    color:#ffffff!important;
    background:transparent!important;
  }

  .session-diagram .marker.cone{
    width:4mm!important;
    height:4mm!important;
  }

  .total-row{
    display:flex!important;
    justify-content:space-between!important;
    margin:2mm 0 0!important;
    padding:3mm 0 0!important;
    border-top:1.5pt solid #000000!important;
    background:#ffffff!important;
    color:#000000!important;
    font-size:11pt!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}

/* v1.6.3 consistent club badge sizing */
.club-card.dynamic-card{
  overflow:hidden;
}

.club-card.dynamic-card .club-logo-wrap{
  width:132px!important;
  height:132px!important;
  min-width:132px!important;
  min-height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  padding:12px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border-radius:20px!important;
  background:#ffffff!important;
}

.club-card.dynamic-card .club-logo-wrap img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  transform:none!important;
}

@media(max-width:700px){
  .club-card.dynamic-card .club-logo-wrap{
    width:104px!important;
    height:104px!important;
    min-width:104px!important;
    min-height:104px!important;
    max-width:104px!important;
    max-height:104px!important;
    padding:9px!important;
  }
}

/* v1.6.5 iPhone safe-area support */
:root{
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-right:env(safe-area-inset-right, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --safe-left:env(safe-area-inset-left, 0px);
}

html{
  background:#0b0b0b;
}

body{
  min-height:100vh;
  min-height:100dvh;
  padding-top:var(--safe-top);
  padding-left:var(--safe-left);
  padding-right:var(--safe-right);
  background:#0b0b0b;
}

.app-header{
  top:var(--safe-top)!important;
  left:var(--safe-left)!important;
  right:var(--safe-right)!important;
  padding-top:10px!important;
}

main{
  padding-top:calc(18px + var(--safe-top))!important;
  padding-left:calc(18px + var(--safe-left))!important;
  padding-right:calc(18px + var(--safe-right))!important;
  padding-bottom:calc(96px + var(--safe-bottom))!important;
}

.bottom-nav{
  bottom:0!important;
  padding-bottom:var(--safe-bottom)!important;
  min-height:calc(66px + var(--safe-bottom));
}

.more-sheet{
  padding-bottom:calc(18px + var(--safe-bottom))!important;
}

.diagram-modal,
.drill-detail-modal{
  padding-top:var(--safe-top)!important;
  padding-left:var(--safe-left)!important;
  padding-right:var(--safe-right)!important;
  padding-bottom:var(--safe-bottom)!important;
}

.diagram-head,
.drill-detail-head{
  padding-top:calc(14px + var(--safe-top))!important;
}

@supports(padding:max(0px)){
  body{
    padding-left:max(var(--safe-left), 0px);
    padding-right:max(var(--safe-right), 0px);
  }
}

@media(max-width:700px){
  .app-header{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  main{
    padding-top:calc(12px + var(--safe-top))!important;
    padding-left:calc(13px + var(--safe-left))!important;
    padding-right:calc(13px + var(--safe-right))!important;
    padding-bottom:calc(92px + var(--safe-bottom))!important;
  }

  .home-platform-page{
    min-height:calc(100dvh - 105px - var(--safe-top) - var(--safe-bottom));
  }
}

/* Browser mode should not receive double spacing where safe-area values are zero. */
@media(display-mode:browser){
  body{padding-top:0}
  .app-header{top:0!important}
  main{padding-top:18px!important}
}

@media print{
  body{
    padding:0!important;
  }
  main{
    padding:0!important;
  }
}

/* v1.6.6 squad player rows */
.squad-row-v3{
  display:grid;
  grid-template-columns:minmax(170px,1.25fr) minmax(240px,1.6fr) minmax(135px,.8fr) minmax(190px,1fr) auto;
  gap:10px;
  align-items:end;
  border-left:4px solid #b69059;
}
.squad-row-v3.team-first{border-left-color:#b69059}
.squad-row-v3.team-reserve{border-left-color:#6d6d6d}
.player-name-field{min-width:0}
.team-group-control>span{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:#d9d1c7}
.segmented-team{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #4b4035;
  border-radius:10px;
  overflow:hidden;
}
.segmented-team button{
  border:0;
  border-radius:0;
  background:#141414;
  color:#aaa198;
  padding:10px 8px;
  font-weight:800;
}
.segmented-team button.active{
  background:#b69059;
  color:#0b0b0b;
}
.team-reserve .segmented-team button.active{
  background:#777;
  color:#fff;
}
@media(max-width:1050px){
  .squad-row-v3{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .squad-row-v3{
    display:block;
    padding:12px;
  }
  .squad-row-v3>label,
  .squad-row-v3>.position-selects,
  .squad-row-v3>.team-group-control,
  .squad-row-v3>.remove-player{
    display:block;
    width:100%;
    margin-bottom:10px;
  }
  .position-selects{grid-template-columns:1fr}
}

/* v1.6.7 match team selection */
.team-selection-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.team-select-tile{
  border:1px solid #44382d;
  border-radius:16px;
  background:linear-gradient(180deg,#191919,#111);
  color:#fff;
  padding:16px;
  display:grid;
  grid-template-columns:48px 1fr;
  column-gap:12px;
  text-align:left;
  align-items:center;
}
.team-select-tile>span{
  width:48px;height:48px;border-radius:12px;background:#2a2118;color:#d2ad76;
  display:grid;place-items:center;font-size:22px;font-weight:900;grid-row:1/3;
}
.team-select-tile strong{font-size:17px}
.team-select-tile small{color:#9d958c}
.team-select-tile.active{border-color:#b69059;box-shadow:0 0 0 2px rgba(182,144,89,.18)}
.reserve-promotion-panel{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  margin:12px 0;
  padding:14px;
  border:1px solid #44382d;
  border-radius:14px;
  background:#15120f;
}
.reserve-promotion-panel.hidden{display:none!important}
.reserve-promotion-panel h3{margin:0 0 4px}
.reserve-promotion-panel p{margin:0}
.promotion-controls{display:flex;gap:8px;align-items:end}
.promotion-controls select{min-width:220px}
.promoted-reserve-list{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.promoted-player-chip{
  display:inline-flex;align-items:center;gap:7px;
  background:#2a2118;color:#fff;border:1px solid #6a5238;
  border-radius:999px;padding:6px 8px 6px 11px;
}
.promoted-player-chip button{
  border:0;background:#5b2222;color:#fff;border-radius:50%;width:23px;height:23px
}
.subs-section{margin-top:16px;padding-top:14px;border-top:1px solid #41362b}
.substitute-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.substitute-slot span{display:block;font-size:11px;font-weight:800;margin-bottom:5px;color:#d5cdc3}
@media(max-width:850px){
  .reserve-promotion-panel{grid-template-columns:1fr}
  .promoted-reserve-list{grid-column:auto}
  .substitute-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .team-selection-tabs{grid-template-columns:1fr}
  .promotion-controls{display:grid;grid-template-columns:1fr}
  .promotion-controls select{min-width:0}
  .substitute-slots{grid-template-columns:1fr}
}

/* v1.6.8 availability, favourites and captain */
.squad-row-v3{
  grid-template-columns:minmax(160px,1.2fr) minmax(230px,1.5fr) minmax(125px,.75fr) minmax(180px,1fr) auto auto;
}
.favourite-player.active{
  background:#b69059;
  color:#0b0b0b;
  border-color:#d8bb8a;
}
.match-availability-card{margin-bottom:14px}
.availability-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:9px;
}
.availability-player{
  display:grid;
  grid-template-columns:auto 18px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  border:1px solid #44382d;
  border-radius:12px;
  padding:11px;
  background:#15120f;
  cursor:pointer;
}
.availability-player input{width:20px;height:20px;margin:0}
.availability-player strong{display:block;color:#fff}
.availability-player small{display:block;color:#9e968d;margin-top:2px}
.availability-player em{font-style:normal;font-size:10px;font-weight:900;color:#61b97b}
.availability-player.unavailable{opacity:.58;background:#141414}
.availability-player.unavailable em{color:#df7777}
.availability-star{color:#d2ad76;font-size:16px}
.captain-selection-row{
  display:grid;
  grid-template-columns:minmax(220px,360px) 1fr;
  gap:12px;
  align-items:end;
  margin:14px 0;
  padding:13px;
  border:1px solid #44382d;
  border-radius:13px;
  background:#15120f;
}
.captain-status{
  display:flex;
  align-items:center;
  min-height:42px;
  color:#aaa198;
  font-weight:800;
}
.captain-status.selected{color:#d2ad76}
@media(max-width:1050px){
  .squad-row-v3{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .captain-selection-row{grid-template-columns:1fr}
  .availability-grid{grid-template-columns:1fr}
}

/* v1.6.9 smart selection */
.squad-row-v3{
  grid-template-columns:minmax(150px,1.1fr) minmax(220px,1.4fr) minmax(120px,.7fr) minmax(170px,.9fr) minmax(125px,.7fr) minmax(95px,.55fr) auto auto;
}
.captain-selection-row{
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(220px,1fr);
}
.match-summary-card{
  margin-top:16px;
  padding:14px;
  border:1px solid #44382d;
  border-radius:14px;
  background:#15120f;
}
.match-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.match-summary-grid>div{
  border:1px solid #3e3329;
  background:#111;
  border-radius:10px;
  padding:10px;
}
.match-summary-grid small{
  display:block;
  color:#9e968d;
  font-size:10px;
  margin-bottom:4px;
}
.match-summary-grid strong{
  display:block;
  color:#fff;
  font-size:14px;
}
.availability-player.unavailable strong{
  text-decoration:line-through;
}
@media(max-width:1100px){
  .squad-row-v3{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .captain-selection-row{grid-template-columns:1fr}
  .match-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
  .match-summary-grid{grid-template-columns:1fr}
}
