:root {
  --ink: #111714;
  --muted: #66706a;
  --paper: #f3f2ed;
  --surface: #fffef9;
  --line: #dde0da;
  --lime: #d7ff3f;
  --lime-deep: #a8d300;
  --pitch: #224b38;
  --pitch-2: #2b5a43;
  --orange: #ff7a45;
  --marker: #d7ff3f;
  --marker-ink: #111714;
  --keeper: #29a3ff;
  --keeper-ink: #111714;
  --opposition: #e53935;
  --opposition-ink: #ffffff;
  --marker-size: 36px;
  --shadow: 0 12px 40px rgba(20, 30, 24, .09);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 250px 1fr; transition:grid-template-columns .2s ease; }
.app-shell.sidebar-collapsed { grid-template-columns:78px 1fr; }
.sidebar { background: var(--ink); color: white; padding: 28px 18px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; transition:padding .2s ease; }
.sidebar-toggle { position:absolute; z-index:2; top:28px; right:-14px; width:29px; height:29px; padding:6px; display:grid; place-items:center; border-radius:50%; border:1px solid #48504c; background:var(--ink); color:white; box-shadow:0 3px 10px rgba(0,0,0,.22); }
.sidebar-toggle svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.sidebar-collapsed .sidebar-toggle svg { transform:rotate(180deg); }
.sidebar-collapsed .sidebar { padding-left:10px; padding-right:10px; }
.brand { display: flex; gap: 12px; align-items: center; padding: 0 10px 28px; }
.brand-mark { width: 42px; height: 42px; border: 1px solid #48504c; border-radius: 13px; display: grid; place-items: center; color: var(--lime); font-weight: 900; }
.brand strong { display: block; font-size: 14px; letter-spacing: .02em; }
.brand small { color: #9da59f; }
.nav { display: grid; gap: 7px; }
.nav-btn { background: transparent; color: #aeb5b0; border: 0; border-radius: 11px; padding: 12px 13px; display: flex; align-items: center; gap: 11px; text-align: left; }
.nav-btn:hover, .nav-btn.active { color: white; background: #262e2a; }
.nav-btn.active::before { content: ""; width: 4px; height: 18px; border-radius: 4px; background: var(--lime); margin-left: -13px; }
.nav-icon { width:22px; height:22px; flex:0 0 22px; display:grid; place-items:center; }
.nav-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sidebar-collapsed .brand { padding-left:8px; padding-right:8px; justify-content:center; }
.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .side-card { display:none; }
.sidebar-collapsed .nav-btn { justify-content:center; padding-left:13px; padding-right:13px; }
.sidebar-collapsed .nav-btn.active::before { display:none; }
.side-card { margin-top: auto; background: #202723; border: 1px solid #313a35; border-radius: 15px; padding: 14px; }
.side-card small { color: #9da59f; display: block; margin-bottom: 7px; }
.side-card strong { font-size: 13px; }
.side-signout { display:block; border:0; background:transparent; color:#bdc5bf; padding:8px 0 0; font-size:11px; text-decoration:underline; }
.auth-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:linear-gradient(145deg,#101513 0%,#183629 100%); }
.auth-card { width:min(430px,100%); display:grid; gap:20px; background:var(--surface); border-radius:22px; padding:30px; box-shadow:0 24px 80px rgba(0,0,0,.35); }
.auth-card>.brand-mark { background:var(--ink); }
.auth-card h2 { font-size:28px; }
.auth-card p { color:var(--muted); margin:8px 0 0; }
.auth-card>small { color:var(--muted); line-height:1.45; }
.auth-form { display:grid; gap:13px; }
.auth-error { min-height:18px; color:#a53010; font-size:12px; font-weight:700; }
.auth-link { border:0; background:transparent; color:#46504a; padding:4px; text-decoration:underline; font-size:12px; }
.content { min-width: 0; padding: 32px clamp(20px, 4vw, 60px) 80px; }
.topbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 28px; }
.eyebrow { color: var(--muted); text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .12em; margin-bottom: 8px; }
h1 { margin: 0; font-size: clamp(28px, 4vw, 44px); line-height: 1; letter-spacing: -.045em; }
h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
h3 { margin: 0; font-size: 16px; }
p { line-height: 1.55; }
.actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.btn { border: 0; border-radius: 11px; padding: 11px 16px; font-weight: 750; background: var(--ink); color: white; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--lime); color: var(--ink); }
.btn-secondary { background: var(--surface); color: var(--ink); border: 1px solid var(--line); }
.btn-danger { background: #fff0ea; color: #a53010; }
.btn-small { padding: 8px 11px; font-size: 13px; }
.btn-icon { width: 40px; height: 40px; padding: 0; }
.grid { display: grid; gap: 18px; }
.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.two-col { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 17px; padding: 20px; box-shadow: 0 2px 4px rgba(20,30,24,.02); }
.card-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.stat-card { min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; }
.stat-value { font-size: 35px; font-weight: 850; letter-spacing: -.04em; }
.stat-label { color: var(--muted); font-size: 13px; font-weight: 650; }
.stat-accent { border-top: 4px solid var(--lime-deep); }
.hero { background: var(--ink); color: white; padding: clamp(24px, 4vw, 42px); overflow: hidden; position: relative; min-height: 230px; display: flex; align-items: center; }
.hero::after { content: ""; width: 250px; height: 250px; border: 45px solid var(--lime); border-radius: 50%; position: absolute; right: -55px; top: -40px; opacity: .92; }
.hero-copy { max-width: 570px; position: relative; z-index: 1; }
.hero h2 { font-size: clamp(25px, 3vw, 38px); margin-bottom: 12px; }
.hero p { color: #b7beb9; margin: 0 0 22px; }
.section-gap { margin-top: 18px; }
.list { display: grid; gap: 10px; }
.list-row { border: 1px solid var(--line); border-radius: 13px; padding: 13px 14px; display: flex; gap: 12px; align-items: center; background: white; }
.list-row.clickable:hover { border-color: #adb7b0; box-shadow: var(--shadow); }
.squad-group-title { margin:14px 4px 2px; color:var(--muted); font-size:11px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; display:flex; justify-content:space-between; }
.avatar { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; background: #e7ebe6; display: grid; place-items: center; font-size: 12px; font-weight: 850; }
.avatar.lime { background: var(--marker); color: var(--marker-ink); }
.marker-player { background:var(--marker)!important; color:var(--marker-ink)!important; }
.marker-keeper { background:var(--keeper)!important; color:var(--keeper-ink)!important; }
.marker-opposition { background:var(--opposition)!important; color:var(--opposition-ink)!important; }
.marker-preview { border:2px solid var(--ink); }
.team-settings-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.row-copy { min-width: 0; flex: 1; }
.row-copy strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-copy small, .muted { color: var(--muted); }
.pill { border-radius: 999px; background: #eef1ec; color: #48524c; font-size: 11px; font-weight: 750; padding: 5px 9px; white-space: nowrap; }
.pill.green { background: #e9f7dc; color: #407212; }
.pill.orange { background: #fff0e7; color: #a3431d; }
.empty { text-align: center; padding: 42px 20px; color: var(--muted); border: 1px dashed #c8cdc8; border-radius: 15px; }
.empty-icon { font-size: 34px; margin-bottom: 10px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { color: #46504a; font-size: 12px; font-weight: 750; }
input, select, textarea { width: 100%; background: white; border: 1px solid #ccd1cc; border-radius: 10px; padding: 11px 12px; color: var(--ink); outline: none; }
input:focus, select:focus, textarea:focus { border-color: #7d8b82; box-shadow: 0 0 0 3px rgba(168,211,0,.15); }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.filters { display: flex; gap: 7px; flex-wrap: wrap; }
.filter { border: 1px solid var(--line); background: var(--surface); border-radius: 99px; padding: 7px 11px; font-size: 12px; font-weight: 700; color: var(--muted); }
.filter.active { background: var(--ink); color: white; border-color: var(--ink); }
.pitch-wrap { --marker-size:36px; --pitch-thin:1px; --pitch-thick:2px; --pitch-radius:18px; --marker-font:9px; --label-font:8px; --label-width:82px; --draw-stroke:1.5px; --draw-selected:2.7px; --dash-a:4px; --dash-b:5px; --line-hit:14px; --spot-size:6px; --shadow-y:4px; --shadow-blur:12px; padding:5%; background: #183629; border-radius:var(--pitch-radius); overflow: hidden; touch-action:none; }
.pitch-wrap.layout-wrap-half { padding-left:0; }
.pitch-wrap.layout-wrap-half-vertical { padding-bottom:0; }
.pitch { position: relative; aspect-ratio: 1.48 / 1; border:var(--pitch-thick) solid rgba(255,255,255,.78); background: repeating-linear-gradient(90deg,var(--pitch) 0,var(--pitch) 12.5%,var(--pitch-2) 12.5%,var(--pitch-2) 25%); border-radius:calc(var(--pitch-radius) * .32); overflow: visible; user-select: none; touch-action: none; }
.pitch::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width:var(--pitch-thin); background: rgba(255,255,255,.7); }
.pitch::after { content: ""; position: absolute; width: 17%; aspect-ratio: 1; border:var(--pitch-thin) solid rgba(255,255,255,.7); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.pitch.layout-half { aspect-ratio: 1.05 / 1; }
.pitch.layout-half::before { left: 0; }
.pitch.layout-half::after { left: 0; width: 24%; }
.pitch.layout-half-vertical { aspect-ratio: 1.15 / 1; }
.pitch.layout-half-vertical::before { left:0; right:0; top:auto; bottom:0; width:auto; height:var(--pitch-thin); }
.pitch.layout-half-vertical::after { left:50%; top:100%; width:22%; }
.box.top { left:20%; right:20%; top:0; bottom:auto; width:auto; height:38%; border:var(--pitch-thick) solid rgba(255,255,255,.78); border-top:0; }
.six-yard.top { position:absolute; left:35%; right:35%; top:0; height:16%; border:var(--pitch-thick) solid rgba(255,255,255,.78); border-top:0; }
.goal.top { left:40%; right:40%; top:-7%; bottom:auto; width:auto; height:7%; border:var(--pitch-thick) solid white; border-bottom:0; }
.spot.top { left:50%; top:25%; transform:translate(-50%,-50%); }
.box { position:absolute; top:26%; bottom:26%; width:16%; border:var(--pitch-thin) solid rgba(255,255,255,.7); }
.box.left { left:0; border-left:0; }.box.right { right:0; border-right:0; }
.goal { position:absolute; top:40%; bottom:40%; width:3%; border:var(--pitch-thick) solid white; }.goal.left{left:0;border-left:0}.goal.right{right:0;border-right:0}
.spot { position:absolute; width:var(--spot-size); height:var(--spot-size); border-radius:50%; background:white; top:50%; transform:translateY(-50%); }.spot.left{left:10%}.spot.right{right:10%}
.marker { position: absolute; transform: translate(-50%,-50%); width: var(--marker-size); height: var(--marker-size); padding:0; line-height:1; text-align:center; border-radius: 50%; background: var(--marker); border:var(--pitch-thick) solid var(--ink); display: grid; place-items: center; color: var(--marker-ink); font-weight: 900; font-size:var(--marker-font); z-index: 3; box-shadow:0 var(--shadow-y) var(--shadow-blur) rgba(0,0,0,.25); cursor: grab; }
.marker > span { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.marker small { position: absolute; top: calc(var(--marker-size) - 1px); width:var(--label-width); text-align: center; color: white; text-shadow: 0 1px 3px #000; font-weight: 800; font-size:var(--label-font); pointer-events: none; }
.marker .remove-dot { display:none; position:absolute; right:-7px; top:-7px; width:18px; height:18px; border-radius:50%; background:#e4572e; color:white; font-size:12px; place-items:center; }
.pitch.editing .marker .remove-dot { display:grid; }
.template-card { padding: 0; overflow: hidden; }
.template-thumb { background: var(--pitch); height: 145px; position: relative; overflow:hidden; }
.template-thumb::after { content:""; position:absolute; inset:15px; border:1px solid rgba(255,255,255,.6); }
.mini-dot { position:absolute; width:14px; height:14px; background:var(--marker); border:2px solid var(--ink); border-radius:50%; transform:translate(-50%,-50%); z-index:1; }
.drawing-layer { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; overflow:visible; }
.drawing-line { fill:none; stroke:white; stroke-width:var(--draw-stroke); vector-effect:non-scaling-stroke; }
.drawing-line.dotted { stroke-dasharray:var(--dash-a) var(--dash-b); }
.drawing-line.selected { stroke-width:var(--draw-selected); }
.line-hit { fill:none; stroke:transparent; stroke-width:var(--line-hit); vector-effect:non-scaling-stroke; pointer-events:stroke; cursor:move; }
.curve-handle { fill:var(--marker); stroke:var(--ink); stroke-width:var(--pitch-thick); vector-effect:non-scaling-stroke; pointer-events:all; cursor:grab; }
.highlight-box { position:absolute; z-index:1; border:var(--pitch-thick) solid; border-radius:calc(var(--pitch-radius) * .22); cursor:move; touch-action:none; }
.highlight-box.selected { outline:var(--pitch-thick) solid white; outline-offset:var(--pitch-thick); }
.highlight-resize { position:absolute; right:calc(var(--marker-size) * -.2); bottom:calc(var(--marker-size) * -.2); width:calc(var(--marker-size) * .4); height:calc(var(--marker-size) * .4); border:var(--pitch-thick) solid var(--ink); border-radius:50%; background:var(--marker); cursor:nwse-resize; }
.highlight-box.preview { pointer-events:none; }
.marker-role-label { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 8px; }
.marker-role-label input { grid-column:1 / -1; }
.role-colour { width:14px; height:14px; border-radius:50%; border:1px solid var(--ink); }
.draw-toolbar { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.draw-tool { border:1px solid #cbd1cc; background:white; color:var(--ink); border-radius:9px; padding:8px 10px; font-size:12px; font-weight:750; }
.draw-tool.active { background:var(--ink); color:white; border-color:var(--ink); }
.draw-colour { width:40px!important; height:35px!important; padding:3px!important; border-radius:9px; }
.drawing-row { grid-template-columns:minmax(110px,1fr) auto auto; }
.notes-box { min-height:130px; resize:vertical; line-height:1.5; }
.note-panel { background:#f5f4ee; border-left:4px solid var(--marker); border-radius:10px; padding:12px 14px; margin-bottom:12px; white-space:pre-wrap; color:#3f4943; font-size:13px; }
.color-row { display:flex; gap:12px; align-items:center; }
input[type="color"] { width:54px; height:44px; padding:4px; cursor:pointer; }
.side-toggle { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:4px; background:#eceee9; border-radius:11px; }
.reorder-list { display:grid; gap:9px; }
.reorder-row { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:white; }
.reorder-number { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; font-size:12px; font-weight:850; }
.slideshow-overlay { position:fixed; inset:0; z-index:100; background:#0b100d; color:white; padding:clamp(14px,2vw,28px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:16px; }
.slideshow-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.slideshow-head h2 { font-size:clamp(22px,3vw,38px); margin-bottom:4px; }
.slideshow-head small { color:#aeb7b1; }
.slideshow-close { width:42px; height:42px; flex:0 0 42px; border-radius:50%; border:1px solid #59625d; background:#202723; color:white; font-size:27px; line-height:1; }
.slideshow-stage { min-height:0; display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,.75fr); gap:22px; align-items:center; }
.slideshow-pitch { min-width:0; max-height:100%; display:flex; align-items:center; justify-content:center; }
.slideshow-pitch .pitch-wrap { width:min(100%,calc((100vh - 175px) * 1.48)); max-height:100%; }
.slideshow-pitch .layout-wrap-half { width:min(70%,calc(100vh - 175px)); }
.slideshow-pitch .layout-wrap-half-vertical { width:min(78%,calc((100vh - 175px) * 1.15)); }
.slideshow-pitch .marker small { display:none; }
.slideshow-info { align-self:stretch; min-height:0; overflow:auto; padding:12px; background:#151c18; border:1px solid #303a34; border-radius:14px; }
.slideshow-info h3 { margin-bottom:8px; }
.slideshow-roles { display:grid; gap:3px; }
.slideshow-role { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid #303a34; padding:7px 0; font-size:13px; }
.slideshow-role span { color:#c8cfca; text-align:right; }
.slideshow-notes { margin-top:14px; padding:12px; border-radius:10px; background:#202a24; white-space:pre-wrap; }
.slideshow-notes p { color:#d7ded9; margin:6px 0 0; font-size:13px; }
.slideshow-controls { display:flex; align-items:center; justify-content:center; gap:18px; }
.slideshow-controls span { min-width:55px; text-align:center; font-weight:800; }
.slideshow-controls .btn:disabled,.reorder-row .btn:disabled { opacity:.35; cursor:default; transform:none; }
.side-option { border:0; background:transparent; color:var(--muted); padding:8px 12px; border-radius:8px; font-size:13px; font-weight:800; }
.side-option.active { background:var(--surface); color:var(--ink); box-shadow:0 2px 8px rgba(20,30,24,.1); }
.template-info { padding: 15px; }
.template-info p { margin: 5px 0 12px; color:var(--muted); font-size:12px; }
.template-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.formation-card .card-header > div { display:flex; align-items:center; gap:12px; }
.formation-card h3 { margin:0; }
.formation-position-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.formation-position-list span { background:#f0f3ef; border:1px solid var(--line); border-radius:999px; padding:6px 10px; font-size:12px; font-weight:800; }
.formation-slots-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.modal-backdrop { position: fixed; z-index: 20; inset: 0; background: rgba(8,12,10,.65); display: grid; place-items: center; padding: 18px; backdrop-filter: blur(4px); }
.modal { width: min(700px,100%); max-height: calc(100vh - 36px); overflow:auto; background:var(--surface); border-radius:20px; box-shadow:0 30px 100px rgba(0,0,0,.3); }
.modal.wide { width:min(1180px,100%); }
.modal-head { padding:20px 22px 15px; display:flex; align-items:flex-start; justify-content:space-between; border-bottom:1px solid var(--line); gap:14px; }
.modal-body { padding:22px; }
.modal-foot { padding:15px 22px 20px; display:flex; justify-content:flex-end; gap:9px; }
.close { background:transparent;border:0;font-size:22px;color:var(--muted); }
.stepper { display:flex; gap:5px; margin-bottom:22px; }
.step { height:5px; border-radius:8px; background:#dfe3de; flex:1; }.step.done,.step.current{background:var(--lime-deep)}
.select-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.select-card { text-align:left; border:1px solid var(--line); background:white; border-radius:13px; padding:14px; display:flex; align-items:center; gap:10px; }
.select-card.selected { border-color:var(--lime-deep); box-shadow:0 0 0 2px rgba(168,211,0,.2); }
.formation-badge { min-width:58px; padding:8px 9px; border-radius:9px; background:#edf0eb; font-size:11px; font-weight:900; text-align:center; }
.check { width:20px;height:20px;border:1px solid #bdc4be;border-radius:6px;display:grid;place-items:center;margin-left:auto; }.selected .check{background:var(--lime);border-color:var(--lime-deep)}
.lineup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.setpiece-editor-grid { grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr); }
.match-setpiece-grid { grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr); }
.match-pitch-wrap { align-self:start; }
.match-pitch-wrap .marker small { display:none; }
.match-notes { margin:18px 0 0; width:100%; }
.match-notes strong { display:block; margin-bottom:6px; color:var(--ink); }
.pitch-wrap.layout-wrap-half { border-radius:0 var(--pitch-radius) var(--pitch-radius) 0; }
.pitch-wrap.layout-wrap-half-vertical { border-radius:var(--pitch-radius) var(--pitch-radius) 0 0; }
.lineup-panel { border:1px solid var(--line);border-radius:14px;padding:14px; }
.lineup-panel h3{margin-bottom:11px}.player-check{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px}.player-check:hover{background:#f2f3ef}.player-check input{width:auto}
.match-card { position:relative; overflow:hidden; }
.match-card::before {content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lime-deep)}
.match-score { font-size:18px;font-weight:900; }
.match-meta { display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px; }
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:18px; overflow:auto; }
.tab {border:0;background:transparent;padding:10px 12px;color:var(--muted);font-weight:750;white-space:nowrap;border-bottom:3px solid transparent}.tab.active{color:var(--ink);border-color:var(--lime-deep)}
.assignment-list { display:grid;gap:8px;margin-top:12px }.assignment-row { display:grid;grid-template-columns:minmax(110px,1fr) minmax(140px,1fr);align-items:center;gap:12px;border-bottom:1px solid #eceeea;padding:8px 0}.assignment-row:last-child{border:0}
.warning {background:#fff5df;border:1px solid #f2d89b;border-radius:12px;padding:12px 14px;color:#73551c;font-size:13px;margin-bottom:15px}
.success {background:#edf8df;border:1px solid #c7e69f;border-radius:12px;padding:12px 14px;color:#3e6818;font-size:13px;margin-bottom:15px}
.toast { position:fixed;right:20px;bottom:20px;z-index:40;background:var(--ink);color:white;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s; }.toast.show{opacity:1;transform:translateY(0)}
.mobile-head { display:none; }
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}
@media(max-width:900px){.slideshow-stage{grid-template-columns:1fr;overflow:auto;align-items:start}.slideshow-pitch .pitch-wrap{width:min(100%,720px)}.slideshow-info{overflow:visible}.slideshow-overlay{overflow:auto}.reorder-row{align-items:flex-start;flex-wrap:wrap}.reorder-row .actions{margin-left:42px}}
@media(max-width:700px){
  .app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar,.sidebar-collapsed .sidebar{position:fixed;z-index:15;left:0;right:0;bottom:0;top:auto;height:auto;padding:7px 8px calc(7px + env(safe-area-inset-bottom));}.sidebar-toggle,.brand,.side-card{display:none}.nav{display:grid;grid-template-columns:repeat(5,1fr)}.nav-btn,.sidebar-collapsed .nav-btn{flex-direction:column;gap:2px;font-size:10px;justify-content:center;padding:7px 3px}.nav-label,.sidebar-collapsed .nav-label{display:inline}.nav-btn.active::before{display:none}.nav-icon{width:20px;height:20px;flex-basis:20px}.content{padding:22px 16px 100px}.topbar{margin-bottom:20px}.topbar .actions .btn-secondary{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:15px;min-height:105px}.stat-value{font-size:28px}.hero::after{opacity:.25}.template-grid{grid-template-columns:1fr}.form-grid,.select-grid,.lineup-grid,.formation-slots-grid,.team-settings-grid{grid-template-columns:1fr}.modal-backdrop{padding:0;place-items:end center}.modal,.modal.wide{width:100%;max-height:93vh;border-radius:20px 20px 0 0}.assignment-row{grid-template-columns:1fr}.hide-mobile{display:none}
}
