:root { --orange:#FF671F; --deep:#C4430E; --ink:#0A0A0A; --bone:#F7F6F4; --line:#E4E1DC; --muted:#5f5f5f; --red:#B42318; --green:#067647;
  /* Surfaces and text — the dark theme below only swaps these values. --ink stays the brand black
     (header, text on orange); body text uses --text. */
  --card:#fff; --card-2:#FBFAF8; --soft:#F2F1EE; --line-soft:#F1EFEB; --field:#cfcac2;
  --text:#0A0A0A; --text-2:#4a4a4a; --faint:#999; --inv-bg:#0A0A0A; --inv-fg:#fff;
  --t-orange:#FFF1E8; --t-orange-fg:#8F2C04; --t-green:#E3F4EA; --t-red:#FDE8E7; --t-amber:#FFF1E6; --amber:#B54708;
  --t-blue:#EEF4FF; --blue:#3538CD; --b-amber:#F8DCC6; --b-green:#D5EEDD; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.5 -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; color:var(--text); background:var(--bone); }
a { color:var(--deep); }
main { max-width:1100px; margin:0 auto; padding:24px 16px 60px; }
h1 { font-size:26px; margin:0 0 16px; }
h2 { font-size:17px; margin:28px 0 10px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:16px; }
.grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); }
label { display:block; font-size:13px; color:var(--muted); margin-bottom:4px; }
input[type=text], input[type=email], input[type=password], input[type=date], input[type=tel], select, textarea {
  width:100%; padding:9px 10px; border:1px solid var(--field); border-radius:7px; font:inherit; background:var(--card); }
textarea { min-height:90px; }
.check { display:flex; gap:8px; align-items:flex-start; margin:8px 0; font-size:14px; }
.check input { margin-top:3px; width:18px; height:18px; }
.req { color:var(--deep); font-weight:700; font-size:12px; }
button, .btn { display:inline-block; background:var(--orange); color:var(--ink); border:0; border-radius:999px; padding:9px 18px; font:600 14px/1.2 inherit; cursor:pointer; text-decoration:none; }
button.secondary, .btn.secondary { background:var(--card); border:1px solid var(--field); }
button.danger { background:var(--red); color:var(--card); }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }
th { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); background:var(--card-2); }
.tablewrap { overflow-x:auto; }
.flag { color:var(--orange); font-weight:800; }
.pill { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; background:var(--soft); }
.pill.yes { background:var(--t-green); color:var(--green); } .pill.no { background:var(--soft); color:var(--faint); }
.flash { padding:10px 14px; border-radius:8px; margin-bottom:12px; }
.flash.error { background:var(--t-red); color:var(--red); } .flash.ok { background:var(--t-green); color:var(--green); }
.filters { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; margin-bottom:14px; }
.filters > div { min-width:150px; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.muted { color:var(--muted); font-size:13px; }
.scores { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.score { font-weight:800; }
.warn { background:var(--t-amber); border:1px solid var(--b-amber); border-radius:8px; padding:10px 14px; }
.banner { background:var(--t-amber); color:var(--t-orange-fg); text-align:center; font-size:13px; padding:6px; }
.login { max-width:380px; margin:60px auto; }
@media (max-width: 640px) {
  h1 { font-size: 22px; }
  th, td { padding: 8px; }
  .hide-sm { display: none; }
  .grid { grid-template-columns: 1fr; }
  .two { grid-template-columns: 1fr; }
}
.between { justify-content: space-between; }
.mt0 { margin-top: 0; } .mt12 { margin-top: 12px; } .mt16 { margin-top: 16px; }
label.plain { color: inherit; font-size: 14px; margin: 0; }
.red { color: var(--red); }
.row.between { margin-bottom: 12px; }
.qr { width: 220px; margin: 8px 0 12px; background:var(--card); padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.qr svg { width: 100%; height: auto; display: block; }
code.key { font-size: 15px; letter-spacing: .08em; background: var(--soft); padding: 2px 6px; border-radius: 4px; }
summary.link { cursor: pointer; color: var(--deep); font-size: 14px; }
ol { padding-left: 20px; }
/* scouting profile */
.summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:12px; }
.summary > div { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 16px; }
.summary .lbl { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:4px; }
.profile { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:12px; }
.profile .card { margin:0; }
.profile h3 { margin:0 0 8px; font-size:15px; }
.crit { display:grid; grid-template-columns:1fr auto 18px; gap:8px; align-items:center; padding:5px 0; border-bottom:1px solid var(--line-soft); font-size:14px; }
.crit:last-child { border-bottom:0; }
.trend { font-size:11px; color:var(--muted); text-align:center; }
.rate { display:inline-block; padding:2px 9px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; }
.rate.r1 { background:var(--t-red); color:var(--red); } .rate.r2 { background:var(--t-amber); color:var(--amber); }
.rate.r3 { background:var(--soft); color:var(--text-2); } .rate.r4 { background:var(--t-green); color:var(--green); }
.rate.r5 { background:var(--green); color:var(--card); } .rate.none { background:transparent; color:var(--faint); font-weight:400; }
details.assess summary { cursor:pointer; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.chip { display:inline-flex; gap:6px; align-items:center; border:1px solid var(--line); border-radius:999px; padding:3px 4px 3px 10px; font-size:13px; }
fieldset { border:1px solid var(--line); border-radius:10px; margin:14px 0 0; padding:10px 14px 14px; }
legend { font-weight:700; font-size:14px; padding:0 6px; }

/* ---------------------------------------------------------------- header */
header.top { background:var(--ink); color:#fff; position:sticky; top:0; z-index:20; box-shadow:0 1px 0 rgba(255,255,255,.06); }
header.top .in { max-width:1100px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; flex-shrink:0; }
.brand .mark { background:var(--orange); color:var(--ink); font-weight:800; font-size:12px; letter-spacing:.06em; padding:7px 7px; border-radius:7px; }
.brand .words { display:flex; flex-direction:column; line-height:1.15; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.brand .words b { color:var(--orange); }
.brand small { font-size:11px; font-weight:500; letter-spacing:.02em; text-transform:none; color:#9a9a9a; }
nav.main { display:flex; gap:4px; flex:1; min-width:0; }
nav.main a { color:#cfcfcf; text-decoration:none; font-size:14px; padding:8px 12px; border-radius:8px; white-space:nowrap; }
nav.main a:hover { color:#fff; background:rgba(255,255,255,.07); }
nav.main a.on { color:#fff; background:rgba(255,103,31,.16); box-shadow:inset 0 -2px 0 var(--orange); }
.tools { display:flex; align-items:center; gap:6px; margin-left:auto; }
details.dd { position:relative; }
details.dd > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:7px; color:#ddd; font-size:13px; padding:6px 10px; border-radius:8px; border:1px solid rgba(255,255,255,.12); user-select:none; }
details.dd > summary::-webkit-details-marker { display:none; }
details.dd > summary:hover, details.dd[open] > summary { color:#fff; border-color:rgba(255,255,255,.3); }
.caret { font-size:10px; opacity:.7; }
.globe { font-size:14px; }
.avatar { width:26px; height:26px; border-radius:50%; background:var(--orange); color:var(--ink); font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
details.dd .menu { position:absolute; right:0; top:calc(100% + 8px); background:var(--card); color:var(--text); border-radius:12px; min-width:220px; padding:6px; box-shadow:0 12px 40px rgba(0,0,0,.25); border:1px solid var(--line); z-index:30; }
.menu .item { display:flex; justify-content:space-between; align-items:center; width:100%; text-align:left; background:none; border:0; border-radius:8px; padding:9px 12px; font:500 14px/1.2 inherit; color:var(--text); text-decoration:none; cursor:pointer; }
.menu .item:hover { background:var(--bone); }
.menu .item.on { background:var(--t-orange); color:var(--t-orange-fg); font-weight:700; }
.menu .item small { color:var(--muted); font-size:11px; }
.menu .who { display:flex; flex-direction:column; gap:2px; padding:10px 12px 12px; border-bottom:1px solid var(--line); margin-bottom:6px; font-size:13px; }
.menu .who span { color:var(--muted); font-size:12px; }
.menu form { margin:0; }
@media (max-width: 760px) {
  header.top .in { flex-wrap:wrap; gap:10px 12px; }
  .brand .words small, .uname { display:none; }
  nav.main { order:3; flex-basis:100%; flex-wrap:wrap; padding-bottom:2px; }
  nav.main a, details.navdd > summary { padding:7px 10px; }
}

/* ---------------------------------------------------------------- photos */
.photo { width:84px; height:84px; border-radius:16px; object-fit:cover; background:var(--soft); flex-shrink:0; }
.photo.ph { display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:26px; color:var(--faint); }
.thumb { width:34px; height:34px; border-radius:50%; object-fit:cover; background:var(--soft); display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--faint); vertical-align:middle; }
.who-head { display:flex; align-items:center; gap:16px; }
.who-head h1 { margin:0; }
.photo-edit { display:flex; gap:14px; align-items:center; }
a.pl { display:inline-flex; align-items:center; gap:10px; }

/* ------------------------------------------------------------ player record */
a.back { display:inline-block; margin-bottom:12px; font-size:14px; color:var(--muted); text-decoration:none; }
a.back:hover { color:var(--deep); }
.hero { padding:22px; }
.hero-main { display:flex; gap:20px; align-items:center; }
.photo.xl { width:112px; height:112px; border-radius:20px; font-size:34px; }
.hero-id { flex:1; min-width:0; }
.hero-id h1 { margin:6px 0 2px; font-size:30px; letter-spacing:-.01em; }
.hero-id .sub { margin:0; color:var(--muted); }
.badges { display:flex; flex-wrap:wrap; gap:6px; }
.badge { font-size:12px; font-weight:600; padding:3px 10px; border-radius:999px; background:var(--soft); color:var(--text-2); }
.badge.star { background:var(--t-orange); color:var(--t-orange-fg); }
.hero-actions { display:flex; gap:8px; align-self:flex-start; flex-wrap:wrap; justify-content:flex-end; }
.hero-actions form { margin:0; }
dl.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:0; margin:20px 0 0; border-top:1px solid var(--line); }
dl.facts > div { padding:12px 14px 0 0; }
dl.facts dt, .kpis span, dl.kv dt { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }
dl.facts dd { margin:3px 0 0; font-weight:600; }
.kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.kpis > div { background:var(--bone); border-radius:10px; padding:12px 14px; }
.kpis b { display:block; margin-top:3px; font-size:15px; }
.subnav { display:flex; gap:6px; margin:18px 0 6px; border-bottom:1px solid var(--line); overflow-x:auto; }
.subnav a { padding:10px 12px; color:var(--muted); text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px; }
.subnav a:hover { color:var(--text); border-bottom-color:var(--orange); }
.count { display:inline-block; min-width:20px; padding:0 6px; border-radius:999px; background:var(--soft); color:var(--text-2); font-size:12px; text-align:center; }
h2.sec { margin:30px 0 12px; font-size:19px; scroll-margin-top:90px; }
.two { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:12px; }
.two .card { margin:0; }
.two h3, .newassess h3 { margin:0 0 10px; font-size:15px; }
dl.kv { margin:0; }
dl.kv > div { display:grid; grid-template-columns:150px 1fr; gap:10px; padding:7px 0; border-bottom:1px solid var(--line-soft); }
dl.kv > div:last-child { border-bottom:0; }
dl.kv dd { margin:0; font-weight:500; }
ul.consents { list-style:none; padding:0; margin:12px 0 0; display:grid; gap:6px; }
ul.consents li { display:flex; gap:10px; align-items:flex-start; font-size:14px; }
ul.consents .mark { width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; flex-shrink:0; }
ul.consents li.yes .mark { background:var(--t-green); color:var(--green); }
ul.consents li.no { color:var(--faint); } ul.consents li.no .mark { background:var(--soft); color:var(--faint); }
details.newassess { margin-top:16px; }
details.newassess > summary, details.danger > summary { cursor:pointer; font-weight:700; list-style:none; display:flex; align-items:center; gap:10px; }
details.newassess > summary::-webkit-details-marker, details.danger > summary::-webkit-details-marker { display:none; }
.plus { width:26px; height:26px; border-radius:50%; background:var(--orange); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; font-weight:800; }
details.newassess[open] > summary { margin-bottom:10px; }
details.danger > summary { color:var(--red); }
details.danger[open] > summary { margin-bottom:8px; }
details.assess { padding:12px 16px; margin-bottom:8px; }
details.assess > summary { list-style:none; }
details.assess > summary::-webkit-details-marker { display:none; }
details.assess > summary::before { content:"▸"; color:var(--muted); margin-right:4px; }
details.assess[open] > summary::before { content:"▾"; }
@media (max-width: 640px) {
  .hero-main { flex-wrap:wrap; }
  .photo.xl { width:84px; height:84px; }
  .hero-id h1 { font-size:24px; }
  .hero-actions { width:100%; justify-content:flex-start; }
  .kpis { grid-template-columns:1fr; }
  dl.kv > div { grid-template-columns:1fr; gap:2px; }
}

/* ------------------------------------------- form controls: one height, one look */
input[type=text], input[type=email], input[type=password], input[type=date], input[type=tel], select {
  box-sizing:border-box; height:42px; padding:0 12px; line-height:40px; font-size:15px;
  border:1px solid var(--field); border-radius:8px; background-color:var(--card); color:var(--text); vertical-align:middle; }
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; padding-right:34px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235f5f5f' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; }
input[type=date] { padding-right:8px; }
input[type=file] { height:42px; padding:8px 0; font-size:14px; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,103,31,.18); }
/* Labels of different lengths wrap to different heights; push every field to the bottom
   of its cell so the boxes line up across the row. */
.grid > div, .scores > div, .filters > div { display:flex; flex-direction:column; justify-content:flex-end; }
.grid > div > label, .scores > div > label { margin-bottom:6px; }
.filters { align-items:flex-end; }
.filters .check { height:42px; align-items:center; margin:0; }
.filters button, .row > button, .row > .btn, form.row button { height:42px; }
.filters > div.check { flex-direction:row; }
.filters > div:has(> button) { min-width:0; }
.filters > div > button { align-self:flex-start; padding:0 22px; }
.btn, button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; box-sizing:border-box; }
.hero-actions button, .hero-actions .btn { height:40px; }
dl.kv > div { align-items:baseline; }
.brand .crest { height:40px; width:auto; display:block; }
details.navdd > summary { border:0; color:#cfcfcf; font-size:14px; padding:8px 12px; }
details.navdd > summary.on { color:#fff; background:rgba(255,103,31,.16); box-shadow:inset 0 -2px 0 var(--orange); }
details.dd .menu.left { left:0; right:auto; }

/* ---------------------------------------------------------------- overview */
.small { font-size:12px; }
.kpirow { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.kpi { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 18px; }
.kpi b { display:block; font-size:30px; line-height:1.1; letter-spacing:-.02em; }
.kpi span { display:block; margin-top:4px; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.kpi:first-child { background:var(--ink); color:#fff; border-color:var(--ink); }
.kpi:first-child b { color:var(--orange); } .kpi:first-child span { color:#bdbdbd; }
.card h3 { margin:0 0 6px; font-size:15px; }
.bar { display:grid; grid-template-columns:minmax(120px,38%) 1fr 30px; gap:10px; align-items:center; padding:5px 0; font-size:14px; }
.bar b { text-align:right; }
meter.bt, meter.progress { width:100%; height:12px; -webkit-appearance:none; appearance:none; border-radius:6px; background:var(--soft); border:0; overflow:hidden; }
meter::-webkit-meter-bar { background:var(--soft); border:0; border-radius:6px; height:12px; }
meter::-webkit-meter-optimum-value, meter::-webkit-meter-suboptimum-value, meter::-webkit-meter-even-less-good-value { background:var(--orange); border-radius:6px; }
meter::-moz-meter-bar { background:var(--orange); border-radius:6px; }
table.matrix { border:0; }
table.matrix th, table.matrix td { text-align:center; padding:8px 6px; border:0; font-weight:600; }
table.matrix tbody th { text-align:left; background:none; font-size:13px; text-transform:none; letter-spacing:0; color:var(--text); white-space:nowrap; }
.heat { border-radius:6px; }
.heat[data-level="0"] { color:var(--faint); }
.heat[data-level="1"] { background:var(--t-orange); } .heat[data-level="2"] { background:#FFD3BC; }
.heat[data-level="3"] { background:#FF9F70; } .heat[data-level="4"] { background:var(--orange); }
table.matrix td.heat { border:2px solid var(--card); }
a.lrow { display:flex; align-items:center; gap:12px; padding:10px 6px; border-bottom:1px solid var(--line-soft); color:var(--text); text-decoration:none; border-radius:8px; }
a.lrow:last-child { border-bottom:0; }
a.lrow:hover { background:var(--bone); }
a.lrow > span:nth-last-child(2), a.lrow > span:only-child { flex:1; min-width:0; }
a.lrow b { display:block; font-size:14px; }
a.lrow small { display:block; color:var(--muted); font-size:12px; }
a.lrow .date { font-variant-numeric:tabular-nums; font-size:13px; color:var(--muted); width:86px; flex-shrink:0; }
.dec { display:inline-block; padding:2px 10px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }
.dec.invite-to-valencia { background:var(--orange); color:var(--ink); }
.dec.keep-following { background:var(--t-green); color:var(--green); }
.dec.not-now { background:var(--soft); color:var(--text-2); }
.q { font-size:11px; font-weight:700; color:var(--muted); background:var(--soft); border-radius:4px; padding:1px 4px; margin-left:2px; }
.badge.watch { background:var(--t-blue); color:var(--blue); }

/* ------------------------------------------------------------------ events */
.evh { margin:8px 0 2px; font-size:28px; }
td.actions { display:flex; gap:8px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
td.actions form { margin:0; }
td.actions .btn, td.actions button { min-height:34px; height:34px; padding:0 14px; font-size:13px; }
button.icon { width:34px; padding:0 !important; font-size:18px; line-height:1; }
.grow { flex:1; min-width:0; }
.evchip { color:var(--text); text-decoration:none; padding:4px 12px; }
.evchip:hover { border-color:var(--orange); }

/* ---------------------------------------------------- progress & tests */
.chart svg { width:100%; height:auto; display:block; }
.chart .gl { stroke:var(--soft); stroke-width:1; }
.chart .gt { font-size:11px; fill:var(--faint); }
.chart circle { stroke:var(--card); stroke-width:1.5; }
.legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:8px; font-size:13px; color:var(--muted); }
.sw { display:inline-block; width:14px; height:4px; border-radius:2px; margin-right:6px; vertical-align:middle; }
.sw[data-c="technical"] { background:#FF671F; } .sw[data-c="tactical"] { background:var(--text); }
.sw[data-c="physical"] { background:var(--green); } .sw[data-c="mental"] { background:#6941C6; }
.sw[data-c="goalkeeping"] { background:var(--amber); }
a.video { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:13px; padding:4px 12px; border-radius:999px; background:var(--inv-bg); color:var(--inv-fg); text-decoration:none; }
.testgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.testgrid .test { margin:0; display:flex; flex-direction:column; gap:4px; }
.test .tl { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); }
.test b { font-size:26px; letter-spacing:-.01em; }
.test .cmp { font-size:12px; font-weight:600; }
.test .cmp.up { color:var(--green); } .test .cmp.up::before { content:"▲ "; }
.test .cmp.down { color:var(--amber); } .test .cmp.down::before { content:"▼ "; }

/* --------------------------------------------------------- Valencia CF */
.crest-sm { height:22px; width:auto; vertical-align:-4px; margin-right:4px; }
.fb { padding:10px 0; border-bottom:1px solid var(--line-soft); }
.fb:first-child { padding-top:0; }
.fb p { margin:6px 0 0; }
.fbh { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

/* ----------------------------------------------------------------- compare */
.cmpbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 10px; flex-wrap:wrap; }
table.cmp th, table.cmp td { vertical-align:middle; }
table.cmp tbody th { text-transform:none; letter-spacing:0; font-size:13px; color:var(--text); font-weight:500; background:var(--card); width:30%; }
th.cmph { text-align:center; text-transform:none; letter-spacing:0; background:var(--card); color:var(--text); font-size:14px; }
th.cmph a { display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--text); text-decoration:none; }
th.cmph small { display:block; color:var(--muted); font-weight:500; margin-top:2px; }
table.cmp td { text-align:center; }
tr.grp td { background:var(--card-2); font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#C4430E; text-align:left !important; }
@media (max-width: 640px) {
  .bar { grid-template-columns:1fr 1fr 24px; }
  .kpi b { font-size:24px; }
  td.actions { flex-wrap:nowrap; justify-content:flex-end; gap:6px; }
  td.actions .pill { padding:2px 6px; }
}

/* ------------------------------------------------------- icons for verdicts */
.ico { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font-size:13px; }
.ico svg { width:16px; height:16px; flex-shrink:0; }
.kpis .ico { font-size:15px; } .kpis .ico svg { width:18px; height:18px; }
.pot rect { fill:var(--line); } .pot rect.on { fill:var(--orange); } .pot.l4 rect.on { fill:#C4430E; }
.step svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.step .fill { fill:currentColor; stroke:none; }
.step.s0 { color:var(--text-2); } .step.s1 { color:var(--amber); } .step.s2 { color:var(--blue); } .step.s3 { color:#C4430E; }
.step span { color:var(--text); }
.dec { display:inline-flex; align-items:center; gap:5px; }
.dec svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.stg { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; white-space:nowrap; }
.stg i { width:9px; height:9px; border-radius:50%; background:var(--faint); flex-shrink:0; }
.stg.g1 i { background:#9E77ED; } .stg.g2 i { background:#2E90FA; } .stg.g3 i { background:var(--orange); }
.stg.g4 i { background:#C4430E; } .stg.g5 i { background:var(--green); } .stg.g6 i { background:var(--red); }
.pitch { width:30px; height:44px; flex-shrink:0; }
.pitch rect, .pitch line, .pitch circle { fill:none; stroke:#9fbf9f; stroke-width:1.8; }
.pitch > rect:first-child { fill:#EEF6EE; }
.pitch .dot { fill:var(--orange); stroke:var(--card); stroke-width:1.5; } .pitch .dot.ghost { fill:#FFC4A8; }
.roledd { display:flex; align-items:center; gap:8px; } .roledd.center { justify-content:center; }
dl.facts .roledd .pitch { width:24px; height:36px; }
.legrow { margin:5px 0; }
.nowrap { white-space:nowrap; }
.center { text-align:center; }
a.bar.link { color:var(--text); text-decoration:none; border-radius:6px; }
a.bar.link:hover { background:var(--bone); }

/* ------------------------------------------------------------- pipeline */
.pipe { padding:16px 18px; }
.stepper { list-style:none; display:flex; margin:14px 0 4px; padding:0; counter-reset:s; }
.stepper li { flex:1; position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; font-size:12px; color:var(--muted); text-align:center; }
.stepper li::before { content:""; position:absolute; top:13px; left:-50%; width:100%; height:2px; background:var(--line); z-index:0; }
.stepper li:first-child::before { display:none; }
.stepper li i { position:relative; z-index:1; width:28px; height:28px; border-radius:50%; background:var(--card); border:2px solid var(--line); display:flex; align-items:center; justify-content:center; font-style:normal; font-weight:700; font-size:12px; }
.stepper li.done i { background:var(--inv-bg); border-color:var(--text); color:var(--inv-fg); }
.stepper li.done::before, .stepper li.now::before { background:var(--inv-bg); }
.stepper li.now i { background:var(--orange); border-color:var(--orange); color:var(--ink); box-shadow:0 0 0 4px rgba(255,103,31,.2); }
.stepper li.now span { color:var(--text); font-weight:700; }
details.stagechange summary { cursor:pointer; color:var(--deep); font-size:13px; margin-top:8px; }
.stagelog { list-style:none; margin:10px 0 0; padding:10px 0 0; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.stagelog li { padding:2px 0; } .stagelog b { color:var(--text); }

/* ------------------------------------------ strengths, consensus, context */
h2 .scouts { font-size:12px; font-weight:600; color:var(--muted); background:var(--soft); border-radius:999px; padding:2px 10px; margin-left:6px; vertical-align:middle; }
.sd { margin-bottom:12px; } .sd .card { margin:0; }
.sd .str { background:var(--t-green); border-color:var(--b-green); } .sd .dev { background:var(--t-amber); border-color:var(--b-amber); }
.sd .str h3 { color:var(--green); } .sd .dev h3 { color:var(--amber); }
.sd .crit { border-bottom-color:rgba(0,0,0,.05); }
.quote { margin:8px 0 0; font-style:italic; color:var(--text-2); font-size:14px; }
.disagree { font-size:11px; font-weight:700; color:var(--amber); background:var(--t-amber); border-radius:4px; padding:0 4px; white-space:nowrap; }
.ctx { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; }
.ctx span { font-size:12px; background:var(--soft); border-radius:999px; padding:2px 10px; }
.grid .wide { grid-column:span 2; }
@media (max-width: 640px) { .grid .wide { grid-column:auto; } }

/* --------------------------------------------------------------- follow-ups */
.fu { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-soft); }
.fu:last-of-type { border-bottom:0; }
.fu form { margin:0; }
.fu b { display:block; font-size:14px; } .fu small { display:block; color:var(--muted); font-size:12px; }
.fu a { color:var(--text); text-decoration:none; }
.fudate { font-variant-numeric:tabular-nums; font-size:12px; font-weight:700; background:var(--soft); border-radius:6px; padding:4px 8px; white-space:nowrap; }
.fu.late .fudate { background:var(--t-red); color:var(--red); }
.fu.done { opacity:.55; } .fu.done b { text-decoration:line-through; }
.fu button { min-height:34px; height:34px; padding:0 12px; font-size:13px; }

/* ------------------------------------------------------------------ filters */
.filterbox { padding:14px 16px 12px; }
.filterbox .filters { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; margin:0; }
.filterbox .filters > div { min-width:0; }
.filterbox .filters .wide { grid-column:span 2; }
.filterbox .filters .wide2 { grid-column:span 2; }
.filterbox select, .filterbox input[type=text] { width:100%; }
.pair { display:grid; grid-template-columns:3fr 2fr; gap:8px; }
.checks { grid-column:1 / -1; display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:18px; justify-content:flex-start !important; }
.checks .check { margin:0; height:auto; color:var(--text); font-size:14px; align-items:center; }
details.more { margin-top:12px; border-top:1px dashed var(--line); padding-top:10px; }
details.more > summary { cursor:pointer; color:var(--deep); font-weight:600; font-size:14px; list-style:none; }
details.more > summary::-webkit-details-marker { display:none; }
details.more > summary::before { content:"＋ "; } details.more[open] > summary::before { content:"－ "; }
details.more[open] > .filters { margin-top:12px; }
.filterfoot { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); }
.sortby { display:flex; align-items:center; gap:8px; } .sortby label { margin:0; white-space:nowrap; } .sortby select { width:auto; min-width:160px; }
.filterfoot .row button, .filterfoot .row .btn { height:42px; }
.fchips { display:flex; flex-wrap:wrap; gap:6px; margin:-4px 0 12px; }
.fchip { display:inline-flex; align-items:center; gap:4px; background:var(--t-orange); color:var(--t-orange-fg); border-radius:999px; padding:4px 6px 4px 12px; font-size:13px; text-decoration:none; }
.fchip span { color:#B5643E; } .fchip b { margin-left:4px; width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(143,44,4,.1); }
.fchip:hover b { background:var(--t-orange-fg); color:var(--card); }
table.plist a.pl > span b { display:block; } table.plist a.pl small { display:block; color:var(--muted); font-size:12px; }
table.plist td { vertical-align:middle; }
.cmpbar .row { gap:8px; }
@media (max-width: 640px) {
  .filterbox .filters .wide, .filterbox .filters .wide2 { grid-column:1 / -1; }
  .stepper li span { display:none; } .stepper li.now span { display:block; position:absolute; top:34px; white-space:nowrap; }
  .stepper { margin-bottom:24px; }
}
.filterbox .filters.main { display:flex; flex-wrap:wrap; }
.filterbox .filters.main > div { flex:1 1 140px; }
.filterbox .filters.main > div.wide { flex:2 1 220px; }
table.plist th, table.plist td { padding:10px 8px; font-size:13px; }
table.plist a.pl { text-decoration:none; color:var(--text); }
table.plist a.pl b { white-space:nowrap; color:var(--deep); }
table.plist a.pl:hover b { text-decoration:underline; }
table.plist .ico { font-size:12.5px; white-space:normal; line-height:1.25; }
table.plist .stg { font-size:12.5px; }
.kpis .ico span { display:inline; text-transform:none; letter-spacing:0; font-size:15px; color:var(--text); font-weight:700; }
.kpis b { display:flex; }
@media (max-width: 640px) {
  .filterbox .filters:not(.main) { grid-template-columns:1fr 1fr; gap:10px; }
  .filterbox .filters .wide2, .filterbox .checks { grid-column:1 / -1; }
}

/* ------------------------------------------------------------- quick entry */
.matchhead { padding:16px 18px; }
h1.vs { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:8px 0 0; font-size:26px; }
h1.vs i { color:var(--orange); font-style:normal; }
.netbar { background:var(--inv-bg); color:var(--inv-fg); border-radius:10px; padding:10px 14px; margin-bottom:12px; font-size:14px; }
.netbar::before { content:"◌ "; color:var(--orange); }
.netbar.warn { background:var(--t-red); color:var(--red); }
.quick { padding:16px; }
.seg { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:8px; }
.seg label { margin:0; color:var(--text); font-size:15px; }
.seg input { position:absolute; opacity:0; pointer-events:none; }
.seg span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:52px; padding:8px; border:1.5px solid var(--field); border-radius:12px; background:var(--card); font-weight:600; text-align:center; cursor:pointer; line-height:1.2; }
.seg span b { color:var(--orange); font-size:16px; letter-spacing:1px; }
.seg input:checked + span { border-color:var(--text); background:var(--inv-bg); color:var(--inv-fg); }
.seg input:focus-visible + span { box-shadow:0 0 0 3px rgba(255,103,31,.35); }
.qgrid { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin-top:12px; }
.qgrid input { width:100%; font-size:20px !important; }
#shirt { font-weight:800; text-align:center; }
.tagchips { display:flex; flex-wrap:wrap; gap:8px; }
.tagchips label { margin:0; color:var(--text); }
.tagchips input { position:absolute; opacity:0; pointer-events:none; }
.tagchips span { display:inline-block; padding:9px 14px; border-radius:999px; border:1.5px solid var(--field); background:var(--card); font-size:14px; font-weight:600; cursor:pointer; }
.tagchips input:checked + span { background:var(--t-orange); border-color:var(--orange); color:var(--t-orange-fg); }
.quick input[name=note] { width:100%; }
button.big { width:100%; height:54px; font-size:17px; margin-top:4px; }
.sighting { padding:12px 14px; margin-bottom:10px; }
.sighting.lv3 { border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange); }
.sighting.waiting { border-style:dashed; color:var(--muted); font-size:14px; }
.shead { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.shirt { font-size:17px; }
.stars { color:var(--orange); letter-spacing:1px; }
.tbadge { font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; background:var(--soft); text-transform:uppercase; letter-spacing:.04em; }
.tbadge.home { background:var(--inv-bg); color:var(--inv-fg); }
.stags { margin:8px 0 0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:13px; }
.stags span { background:var(--t-orange); color:var(--t-orange-fg); border-radius:999px; padding:2px 10px; font-weight:600; }
.sact { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:10px; }
.sact form { margin:0; } .sact select { max-width:240px; }
.sact .btn, .sact button { min-height:36px; height:36px; padding:0 14px; font-size:13px; }
.vsmini { flex:1; } .vsmini b, .vsmini small { display:block; } .vsmini small { color:var(--muted); font-size:12px; }
input.gen { width:110px; }
.cachedlist { padding-left:18px; } .cachedlist li { margin:6px 0; }
@media (max-width: 640px) {
  .seg.levels span { font-size:13px; }
  h1.vs { font-size:22px; }
}

/* ---------------------------------------------- notifications, analysis, IDP */
a.bell { position:relative; display:inline-flex; align-items:center; justify-content:center; width:36px; height:34px; border-radius:8px; border:1px solid rgba(255,255,255,.12); color:#ddd; }
a.bell svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; }
a.bell:hover { color:#fff; border-color:rgba(255,255,255,.3); }
a.bell b { position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; border-radius:9px; background:var(--orange); color:var(--ink); font-size:11px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.lrow.note .ndot { width:8px; height:8px; border-radius:50%; background:transparent; flex-shrink:0; }
.lrow.note.new .ndot { background:var(--orange); }
.lrow.note.new b { font-weight:700; } .lrow.note b { font-weight:500; }
.block { display:block; }
svg.dist { width:160px; height:14px; border-radius:4px; overflow:hidden; display:block; }
svg.dist .r1, .sw.r1 { fill:#F04438; background:#F04438; } svg.dist .r2, .sw.r2 { fill:#F79009; background:#F79009; }
svg.dist .r3, .sw.r3 { fill:#D0D5DD; background:#D0D5DD; } svg.dist .r4, .sw.r4 { fill:#32D583; background:#32D583; }
svg.dist .r5, .sw.r5 { fill:var(--green); background:var(--green); }
.cal { font-size:12px; font-weight:700; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.cal.ok { background:var(--t-green); color:var(--green); } .cal.hi { background:var(--t-amber); color:var(--amber); } .cal.lo { background:var(--t-blue); color:var(--blue); }
table.calib td { vertical-align:middle; }
.raegrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.raegrid .card { margin:0; }
.rae { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; align-items:end; height:150px; }
.rae > div { display:flex; flex-direction:column; align-items:center; gap:3px; height:100%; justify-content:flex-end; }
meter.vbar { -webkit-appearance:none; appearance:none; width:90px; height:22px; transform:rotate(-90deg); transform-origin:center; margin:34px 0; border-radius:6px; background:var(--soft); }
.rae b { font-size:15px; } .rae span { font-size:12px; font-weight:700; color:var(--muted); } .rae small { font-size:11px; color:var(--muted); }
.goal { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line-soft); flex-wrap:wrap; }
.goal b { display:block; } .goal small { display:block; color:var(--muted); font-size:12px; }
.garea { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:var(--soft); border-radius:6px; padding:3px 8px; }
.goal.st2 b { text-decoration:line-through; color:var(--muted); } .goal.st2 .garea { background:var(--t-green); color:var(--green); }
.goal.st1 .garea { background:var(--t-blue); color:var(--blue); } .goal.st3 { opacity:.6; }
.gstat { display:flex; gap:6px; margin:0; } .gstat select { width:auto; height:36px; } .gstat button { min-height:36px; height:36px; padding:0 12px; font-size:13px; }
.gpill { font-size:12px; font-weight:600; background:var(--soft); border-radius:999px; padding:2px 10px; }
.review { margin:6px 0; font-size:14px; }
h2 .scouts.late { background:var(--t-red); color:var(--red); }
svg.raechart { width:100%; height:auto; display:block; }
.raechart rect.bg { fill:var(--soft); }
.raechart rect.q1 { fill:#C4430E; } .raechart rect.q2 { fill:var(--orange); } .raechart rect.q3 { fill:#FF9F70; } .raechart rect.q4 { fill:#FFC4A8; }
.raechart text { font-size:13px; font-weight:700; fill:var(--text); }
.raechart text.in { fill:#fff; } .raechart text.ql { font-size:11px; fill:var(--muted); } .raechart text.qp { font-size:10px; font-weight:500; fill:var(--muted); }
.sact form.row { flex:1 1 260px; flex-wrap:nowrap; gap:6px; }
.sact form.row select { flex:1; min-width:0; max-width:none; height:36px; }
.garea { min-width:96px; text-align:center; box-sizing:border-box; }
select[name=decision] { max-width:340px; }

/* Dropdowns inside the dark nav: keep their own dark-on-light colours, also on hover. */
nav.main .menu a.item, nav.main .menu a.item:visited { color:var(--text); background:none; box-shadow:none; }
nav.main .menu a.item:hover, nav.main .menu a.item:focus-visible { color:var(--text); background:var(--t-orange); }
.menu .item:hover, .menu .item:focus-visible { background:var(--t-orange); color:var(--text); }
.menu .item.on:hover { color:var(--t-orange-fg); }

/* ------------------------------------------------- verification, radar */
.verify { margin-top:14px; padding:12px 14px; border-radius:10px; background:var(--t-amber); border:1px solid var(--b-amber); }
.verify.ok { background:var(--t-green); border-color:var(--b-green); }
.vhead { display:flex; justify-content:space-between; align-items:center; }
.vscore { font-weight:800; font-size:15px; color:var(--amber); } .verify.ok .vscore { color:var(--green); }
.verify ul { list-style:none; padding:0; margin:8px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:4px 16px; font-size:14px; }
.verify li.yes { color:var(--green); } .verify li.no { color:var(--muted); }
.verify p { margin:8px 0 0; }
label.override { flex-basis:100%; margin:4px 0 0; font-size:13px; color:var(--red); }
.vmini { display:block; font-size:11px; font-weight:700; color:var(--muted); margin-top:2px; } .vmini.ok { color:var(--green); }
.ctx .seen.match, .ctx .seen.training { background:var(--t-green); color:var(--green); font-weight:600; }
.ctx .seen.video { background:var(--inv-bg); color:var(--inv-fg); font-weight:600; }
.radargrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:10px; }
.radargrid h4 { margin:0 0 6px; font-size:13px; text-transform:none; }
.radar .lrow { padding:8px 4px; }


/* --------------------------------------------------------------- dark theme
   Chosen per user (Light / Dark / System). "System" follows the device. Only the
   variables change, plus a handful of colours drawn in SVG or fixed for light paper. */
html[data-theme="dark"] { --bone:#0E0E10; --card:#17171A; --card-2:#1C1C20; --soft:#26262B; --line:#2E2E34; --line-soft:#232328; --field:#3F3F46;
  --text:#ECECEE; --text-2:#C6C6CB; --muted:#A3A3AA; --faint:#7A7A82; --inv-bg:#ECECEE; --inv-fg:#0A0A0A;
  --deep:#FF8A50; --green:#3DD68C; --red:#FF8A80; --amber:#FDB022; --blue:#A5B4FC;
  --t-orange:rgba(255,103,31,.16); --t-orange-fg:#FFB088; --t-green:rgba(61,214,140,.14); --t-red:rgba(255,99,88,.16);
  --t-amber:rgba(253,176,34,.14); --t-blue:rgba(129,140,248,.18); --b-amber:rgba(253,176,34,.35); --b-green:rgba(61,214,140,.3);
  color-scheme:dark; }
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] { --bone:#0E0E10; --card:#17171A; --card-2:#1C1C20; --soft:#26262B; --line:#2E2E34; --line-soft:#232328; --field:#3F3F46;
  --text:#ECECEE; --text-2:#C6C6CB; --muted:#A3A3AA; --faint:#7A7A82; --inv-bg:#ECECEE; --inv-fg:#0A0A0A;
  --deep:#FF8A50; --green:#3DD68C; --red:#FF8A80; --amber:#FDB022; --blue:#A5B4FC;
  --t-orange:rgba(255,103,31,.16); --t-orange-fg:#FFB088; --t-green:rgba(61,214,140,.14); --t-red:rgba(255,99,88,.16);
  --t-amber:rgba(253,176,34,.14); --t-blue:rgba(129,140,248,.18); --b-amber:rgba(253,176,34,.35); --b-green:rgba(61,214,140,.3);
  color-scheme:dark; }
}
html[data-theme="dark"] .chart .ln-tactical { stroke:#ECECEE; } html[data-theme="dark"] .chart circle.ln-tactical { fill:#ECECEE; }
html[data-theme="dark"] header.top { box-shadow:0 1px 0 var(--line); }
html[data-theme="dark"] .kpi:first-child { border-color:var(--line); }
html[data-theme="dark"] .pitch > rect:first-child { fill:#16301F; } html[data-theme="dark"] .pitch :is(rect, line, circle):not(.dot) { stroke:#3E6B4C; }
html[data-theme="dark"] .heat[data-level="1"] { background:rgba(255,103,31,.16); } html[data-theme="dark"] .heat[data-level="2"] { background:rgba(255,103,31,.32); }
html[data-theme="dark"] .heat[data-level="3"] { background:rgba(255,103,31,.55); } html[data-theme="dark"] .heat[data-level="0"] { color:var(--faint); }
html[data-theme="dark"] .qr { background:#fff; }
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] .chart .ln-tactical { stroke:#ECECEE; } html[data-theme="auto"] .chart circle.ln-tactical { fill:#ECECEE; }
  html[data-theme="auto"] header.top { box-shadow:0 1px 0 var(--line); }
  html[data-theme="auto"] .kpi:first-child { border-color:var(--line); }
  html[data-theme="auto"] .pitch > rect:first-child { fill:#16301F; } html[data-theme="auto"] .pitch :is(rect, line, circle):not(.dot) { stroke:#3E6B4C; }
  html[data-theme="auto"] .heat[data-level="1"] { background:rgba(255,103,31,.16); } html[data-theme="auto"] .heat[data-level="2"] { background:rgba(255,103,31,.32); }
  html[data-theme="auto"] .heat[data-level="3"] { background:rgba(255,103,31,.55); } html[data-theme="auto"] .heat[data-level="0"] { color:var(--faint); }
  html[data-theme="auto"] .qr { background:#fff; }
}

/* theme switch in the header */
.themesw summary .tico { font-size:15px; line-height:1; }
button.secondary, .btn.secondary { color:var(--text); }
a.lrow > .fudate { flex:none; }
html[data-theme="dark"] .chart .ln-physical { stroke:#3DD68C; } html[data-theme="dark"] .chart circle.ln-physical { fill:#3DD68C; }
html[data-theme="dark"] .chart .ln-goalkeeping { stroke:#FDB022; } html[data-theme="dark"] .chart circle.ln-goalkeeping { fill:#FDB022; }
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] .chart .ln-physical { stroke:#3DD68C; } html[data-theme="auto"] .chart circle.ln-physical { fill:#3DD68C; }
  html[data-theme="auto"] .chart .ln-goalkeeping { stroke:#FDB022; } html[data-theme="auto"] .chart circle.ln-goalkeeping { fill:#FDB022; }
}

/* ------------------------------------------------------------ event marks */
.evt { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; vertical-align:middle; }
.evt svg { display:block; }
.evt.batcup svg { width:34px; height:20px; }
.evt.batcup .w { fill:var(--text); } .evt.batcup .c { fill:var(--orange); }
.evt:not(.batcup) { width:28px; height:28px; border-radius:50%; }
.evt:not(.batcup) svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.evt.camp { background:var(--t-green); color:var(--green); }
.evt.selection-day { background:var(--t-blue); color:var(--blue); }
.evt.regional-group { background:rgba(105,65,198,.12); color:#6941C6; }
.evt.big.batcup svg { width:132px; height:76px; }
.evt.big:not(.batcup) { width:72px; height:72px; } .evt.big:not(.batcup) svg { width:36px; height:36px; }
.evchip .evt.batcup svg { width:26px; height:15px; } .evchip .evt:not(.batcup) { width:20px; height:20px; } .evchip .evt:not(.batcup) svg { width:12px; height:12px; }
h2.evsec { display:flex; align-items:center; gap:10px; }
.evhead { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.evhero.is-batcup { background:linear-gradient(120deg, var(--card) 55%, var(--t-orange)); }
.tourgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
a.tour { display:flex; flex-direction:column; gap:4px; margin:0; color:var(--text); text-decoration:none; transition:transform .2s, border-color .2s; }
a.tour:hover { transform:translateY(-2px); border-color:var(--orange); }
a.tour.past { opacity:.92; }
.tourtop { display:flex; justify-content:space-between; align-items:flex-start; }
.tourtop .evt.big.batcup svg { width:84px; height:48px; }
.tdate { font-size:12px; font-weight:700; color:var(--muted); text-align:right; }
.tdate b { display:block; color:var(--orange); text-transform:uppercase; letter-spacing:.06em; font-size:10px; }
a.tour h3 { margin:8px 0 0; font-size:17px; }
.tstats { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px 0 8px; }
.tstats span { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.tstats b { display:block; font-size:18px; color:var(--text); letter-spacing:0; }
a.tour meter.progress { width:100%; }
td.evic { width:44px; }
.seg.evtypes { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.seg.evtypes span { min-height:96px; gap:6px; }
.seg.evtypes em { font-style:normal; font-weight:700; }
.seg.evtypes small { font-size:11px; font-weight:500; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.seg.evtypes input:checked + span small { color:inherit; opacity:.75; }
.seg.evtypes input:checked + span .evt.batcup .w { fill:var(--inv-fg); }
@media (max-width: 640px) { .evhead .evt.big.batcup svg { width:90px; height:52px; } .evhead .evt.big:not(.batcup) { width:52px; height:52px; } }
.evt.coach-clinic { background:var(--t-orange); color:var(--deep); }
.clinickpi { margin-top:4px; }
.attrow { gap:10px; flex-wrap:nowrap; } .attrow select { width:auto; height:36px; } .attrow button { min-height:36px; height:36px; padding:0 12px; font-size:13px; }

/* ------------------------------------------------------------- club network */
.nst { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:2px 10px; border-radius:999px; background:var(--soft); color:var(--text-2); white-space:nowrap; }
.nst.prospect { background:var(--soft); color:var(--text-2); }
.nst.in-talks { background:var(--t-blue); color:var(--blue); }
.nst.letter-of-intent { background:var(--t-amber); color:var(--amber); }
.nst.member { background:var(--t-green); color:var(--green); }
.nst.paused { background:var(--soft); color:var(--faint); }
.nst.declined { background:var(--t-red); color:var(--red); }
.cmono { width:34px; height:34px; border-radius:9px; background:var(--ink); color:var(--orange); font-weight:800; font-size:12px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; letter-spacing:.04em; }
table.clist a.pl { text-decoration:none; color:var(--text); } table.clist a.pl b { color:var(--deep); } table.clist a.pl small { display:block; color:var(--muted); font-size:12px; }
table.clist td { vertical-align:middle; }
.photo.clubmono { background:var(--ink); color:var(--orange); letter-spacing:.04em; }
.latebg { background:var(--t-red) !important; color:var(--red); }
.pay { font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; background:var(--soft); color:var(--text-2); }
.pay.paid { background:var(--t-green); color:var(--green); } .pay.invoiced { background:var(--t-amber); color:var(--amber); }
.logrow { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--line-soft); align-items:flex-start; }
.logrow:last-of-type { border-bottom:0; } .logrow p { margin:4px 0 0; font-size:14px; }
.logrow .next { color:var(--deep); font-weight:600; } .logrow.late .next b { color:var(--red); }
.logrow form { margin:0; } .logrow button { min-height:34px; height:34px; padding:0 12px; font-size:13px; }
.contact { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--line-soft); }
.contact form { margin:0; } .contact b { font-size:14px; }
.svc { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--line-soft); flex-wrap:wrap; }
.areas { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:4px 14px; margin-top:6px; }
.area { display:grid; grid-template-columns:1fr 70px 14px; gap:6px; align-items:center; font-size:12px; }
.area meter { width:100%; height:8px; }
.bignums { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:6px 0 8px; }
.bignums div { background:var(--bone); border-radius:10px; padding:10px 14px; }
.bignums b { display:block; font-size:26px; } .bignums span { font-size:12px; color:var(--muted); }
.moneygrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:6px; }
.moneygrid div { background:var(--bone); border-radius:10px; padding:12px 16px; }
.moneygrid span { display:block; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.moneygrid b { display:block; font-size:24px; margin:4px 0 2px; } .moneygrid small { color:var(--muted); font-size:12px; }
a.lrow > span.fudate, a.lrow > span.date, a.lrow > .evt, a.lrow > .thumb { flex:none !important; }
a.lrow > span.grow { flex:1 !important; min-width:0; }
h3 .scouts { font-size:11px; font-weight:600; color:var(--muted); background:var(--soft); border-radius:999px; padding:2px 9px; margin-left:6px; vertical-align:middle; }
pre.msg { white-space: pre-wrap; font: 14px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--soft); padding: 12px 14px; border-radius: 8px; margin: 0; user-select: all; }
