:root{--ink:#17202a;--muted:#68717b;--line:#d8dde3;--paper:#f5f7f9;--panel:#fff;--blue:#0b4f88;--blue2:#e9f2fa;--green:#18794e;--red:#b42318;--amber:#9a6700}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}header{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,3vw,42px);gap:24px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand>div:last-child{display:flex;flex-direction:column}.brand span{font-size:12px;color:var(--muted)}.crest{width:42px;height:42px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;letter-spacing:.04em}nav{display:flex;gap:4px;flex-wrap:wrap}nav a{color:#35404b;padding:9px 11px;border-radius:8px;font-weight:600;font-size:14px}nav a.active{background:var(--blue2);color:var(--blue);text-decoration:none}main{max-width:1420px;margin:0 auto;padding:30px clamp(16px,3vw,42px) 60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.page-head h1{font-size:30px;margin:4px 0}.page-head p{margin:0;color:var(--muted)}.back{font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stats.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.stats span{display:block;color:var(--muted);font-size:13px;font-weight:600}.stats strong{display:block;font-size:30px;margin-top:4px}.stats small{color:var(--muted)}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.panel h2{margin:0 0 16px;font-size:19px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-head h2{margin:0}.count{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#eef1f4;font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:11px 10px;border-bottom:1px solid #e7eaee;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;background:#fafbfc}tbody tr:last-child td{border-bottom:0}small,.muted,.note{color:var(--muted)}.note{font-size:13px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.badge.good{background:#e8f5ee;color:var(--green)}.badge.bad{background:#fdecea;color:var(--red)}.badge.warn{background:#fff4d6;color:var(--amber)}.badge.muted{background:#eef1f4;color:#5c6670}.pill{display:inline-block;background:#eef1f4;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700;color:#53606c}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters a{border:1px solid var(--line);background:#fff;color:#424d57;padding:8px 11px;border-radius:8px;font-weight:650}.filters a.selected{background:var(--blue);border-color:var(--blue);color:#fff;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:8px;padding:9px 13px;font-weight:750;cursor:pointer;font:inherit}.button:hover{text-decoration:none;filter:brightness(.97)}.button.ghost{background:#fff;color:var(--blue)}dl{display:grid;grid-template-columns:minmax(110px,35%) 1fr;margin:0;gap:0}dt,dd{padding:9px 0;border-bottom:1px solid #edf0f2;margin:0}dt{color:var(--muted);font-weight:650}dd{font-weight:550}.estimate{border-left:4px solid var(--blue);background:#f6f9fc;padding:13px 14px;margin-top:16px}.estimate>span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.estimate p{margin:6px 0}.timeline{display:grid;gap:12px}.timeline-item{border-left:2px solid var(--line);padding-left:12px}.timeline-item>div{display:flex;justify-content:space-between;gap:8px}.timeline-item p{margin:6px 0}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#48535e}.form-grid label.wide{grid-column:span 2}input,select,textarea{width:100%;border:1px solid #cbd1d7;border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;font:inherit;font-size:16px}textarea{resize:vertical}.stack{display:grid;gap:0}.form-actions{display:flex;gap:10px;align-items:center;margin:0 0 18px}.code{min-height:520px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.45}footer{max-width:1420px;margin:0 auto;padding:20px clamp(16px,3vw,42px) 40px;color:var(--muted);font-size:12px}@media(max-width:900px){header{align-items:flex-start;flex-direction:column}nav{width:100%;overflow:auto;flex-wrap:nowrap}.stats,.stats.compact,.grid.two{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){main{padding-top:20px}.stats,.stats.compact,.grid.two,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:span 1}.page-head{align-items:flex-start;flex-direction:column}.panel{padding:14px}.stats>div{padding:14px}.brand span{display:none}}
.badge.suspend{background:#eee8fb;color:#5b35a3}.shirt{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-right:8px;border-radius:7px;background:#edf2f6;color:#33404c;font-size:12px;font-weight:850}.shirt.big{min-width:38px;height:38px;font-size:16px;vertical-align:middle;margin-right:10px}.panel h3{font-size:14px;margin:18px 0 8px}.fixture-list{margin:8px 0 0;padding-left:20px;color:#35404b}.fixture-list li{margin:7px 0;line-height:1.4}.suspension>p:first-child{display:flex;align-items:center;gap:9px}

/* v0.3 */
.sort-head{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;white-space:nowrap}.sort-head:hover,.sort-head.active{color:var(--blue);text-decoration:none}.num-cell{font-variant-numeric:tabular-nums;font-weight:900;white-space:nowrap}.num-cell a{display:inline-grid;place-items:center;min-width:34px;height:30px;border-radius:7px;background:#edf2f6;color:#243443}.source-dot{font-weight:900;margin-left:3px}.efl-label{display:inline-block;font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px;white-space:nowrap;background:#eef1f4;color:#53606c}.efl-label.require{background:#eef1f4;color:#37414b}.efl-label.goalkeeper{background:#fff6c8;color:#6d5c00}.efl-label.under21{background:#e8f5ee;color:#18794e}.player-hero{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:34px;align-items:center;padding:28px}.player-shirt{text-align:center}.shirt-art{display:block;width:min(100%,340px);height:auto;margin:0 auto}.shirt-art.compact{width:100%;max-width:230px}.hero-details{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.hero-number{min-width:120px;border-right:1px solid var(--line);padding-right:28px}.hero-number span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.hero-number strong{display:block;font-size:48px;line-height:1;margin-top:7px;font-variant-numeric:tabular-nums}.small-link{display:inline-block;margin-top:8px;font-size:13px}.shirt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.shirt-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--ink);transition:transform .15s ease,border-color .15s ease}.shirt-card:hover{text-decoration:none;border-color:#b5c3cf;transform:translateY(-2px)}.shirt-card-meta{text-align:center;display:grid;gap:3px;margin-top:4px}.shirt-card-meta strong{font-size:16px}.shirt-card-meta span,.shirt-card-meta small{color:var(--muted);font-size:12px}.shirt-source.slim{padding:12px 16px}.shirt-source p{margin:4px 0}.club-event .pill{margin-left:auto}.danger{color:var(--red)!important;border-color:#e4b5b1!important}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.squad-table th{position:sticky;top:0;z-index:1}
@media(max-width:900px){.player-hero{grid-template-columns:260px 1fr}.hero-details{grid-template-columns:1fr}.hero-number{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}}
@media(max-width:650px){.player-hero{grid-template-columns:1fr;padding:18px}.player-shirt .shirt-art{max-width:270px}.shirt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shirt-card{padding:10px}.shirt-card-meta strong{font-size:13px}.shirt-card-meta span{display:none}}

.inline-form{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.inline-form select{min-width:7.5rem}.form-check{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem}.form-check input{width:auto!important}.squad-table small{white-space:nowrap}


/* v0.5 */
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.compact-button{padding:6px 9px;font-size:12px}
.archive-pill{vertical-align:middle;margin-left:8px}
.departure-banner{border-left:4px solid #6b7280}
.warning-panel{border-left:4px solid var(--amber)}
.success-note{background:#e8f5ee;border:1px solid #b7ddc8;color:var(--green);padding:12px 14px;border-radius:10px}
.danger-zone{border-color:#e4b5b1;background:#fffafa}
.danger-button{background:var(--red);border-color:var(--red)}
.squad-panel{padding:14px}
.squad-wrap{overflow-x:visible}
.squad-table{min-width:0;width:100%;font-size:13px;table-layout:auto}
.squad-table th,.squad-table td{padding:8px 6px;line-height:1.25}
.squad-table th{font-size:11px}
.squad-table .player-col{min-width:112px}
.squad-table .badge,.squad-table .efl-label{white-space:normal;text-align:center;padding:3px 6px;line-height:1.15}
.squad-table .pill{white-space:nowrap}
.contracts-table{min-width:560px}
@media(max-width:1200px){main{padding-left:18px;padding-right:18px}.squad-table th,.squad-table td{padding:7px 4px}.squad-table .edit-col{display:none}.squad-table .player-col{min-width:104px}.squad-table .num-cell a{min-width:28px}.squad-table .badge,.squad-table .efl-label{font-size:10.5px}.squad-panel{padding:9px}}
@media(max-width:900px){.page-actions{justify-content:flex-start}.squad-wrap{overflow-x:auto}.squad-table{min-width:760px}}

/* v0.5.2 manager profile */
.manager-hero{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:34px;align-items:center;padding:28px;background:linear-gradient(135deg,#fff 0%,#f6f9fc 100%)}
.manager-board{display:grid;place-items:center;min-width:0}.manager-tactics-svg{display:block;width:min(100%,360px);height:auto}.manager-summary{min-width:0}.manager-summary h2{font-size:28px;margin:4px 0 18px}.manager-role-label{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:850;color:var(--blue);background:var(--blue2);border-radius:999px;padding:5px 9px}.manager-source{margin:14px 0 0;font-size:13px;color:var(--muted)}
.manager-profile-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.manager-bio p{font-size:16px;line-height:1.65;margin:0 0 14px}.manager-highlights{overflow:hidden}.manager-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.manager-highlight-grid article{display:flex;gap:12px;padding:15px;background:#f7f9fb;border:1px solid #e4e9ee;border-radius:10px}.manager-highlight-grid article strong{display:block;margin-bottom:5px}.manager-highlight-grid article p{margin:0;color:#495663;line-height:1.45;font-size:13px}.manager-highlight-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:var(--blue2);color:var(--blue);font-size:17px;font-weight:900}.manager-event{border-left-color:#9ebbd4}
@media(max-width:900px){.manager-hero{grid-template-columns:260px 1fr}.manager-profile-grid{grid-template-columns:1fr}.manager-highlight-grid{grid-template-columns:1fr}.manager-tactics-svg{max-width:280px}}
@media(max-width:650px){.manager-hero{grid-template-columns:1fr;padding:18px}.manager-tactics-svg{max-width:250px}.manager-summary h2{font-size:23px}}

/* v0.5.4.1 nationality flags */
.nationality-display{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.nationality-flag{display:inline-block;width:24px;height:16px;flex:0 0 24px;border:1px solid rgba(0,0,0,.16);border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.08);overflow:hidden}

/* v0.6 — public design and data-audit pass */
:root{
  --ink:#132435;
  --muted:#657586;
  --line:#d7e0e8;
  --paper:#eef3f7;
  --panel:#ffffff;
  --blue:#075b9e;
  --blue-dark:#073457;
  --blue2:#e6f1f9;
  --green:#13794f;
  --red:#b42318;
  --amber:#916500;
  --pink:#c63b70;
  --shadow:0 8px 28px rgba(15,43,68,.07);
}
body{background:linear-gradient(180deg,#edf3f8 0,#f7f9fb 360px,#f4f6f8 100%);color:var(--ink)}
header{background:linear-gradient(110deg,#062b4a 0%,#084f88 58%,#0967ad 100%);border-bottom:0;box-shadow:0 5px 24px rgba(4,37,65,.18);color:#fff;padding-top:12px;padding-bottom:12px}
.brand strong{font-size:16px;letter-spacing:.01em}.brand span{color:rgba(255,255,255,.72)}
.crest{background:#fff;color:#075591;border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 -3px 0 rgba(7,91,158,.12);border-radius:11px;font-size:11px}
nav a{color:rgba(255,255,255,.86);font-weight:700}nav a:hover{background:rgba(255,255,255,.12);text-decoration:none;color:#fff}nav a.active{background:#fff;color:#07558f;box-shadow:0 2px 10px rgba(0,0,0,.12)}
main{max-width:1480px;padding-top:26px}
.page-head{margin-bottom:18px;align-items:center}.page-head h1{font-size:31px;line-height:1.08;letter-spacing:-.025em}.page-head p{max-width:760px;line-height:1.5}.back{font-weight:750}
.panel{border-color:#d8e2ea;border-radius:14px;box-shadow:var(--shadow);padding:21px}.panel h2{color:#14324c;letter-spacing:-.012em}.panel h3{color:#27465f}
.section-head{border-bottom:1px solid #e8edf1;padding-bottom:11px;margin-bottom:12px}.section-head h2{display:flex;align-items:center;gap:8px}.count{background:#e7f0f7;color:#07558f;box-shadow:inset 0 0 0 1px #d4e4ef}
.button{border-radius:9px;box-shadow:0 2px 7px rgba(7,91,158,.12);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.button:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(7,91,158,.15)}.button.ghost{box-shadow:none;background:#f8fbfd}.button.ghost:hover{background:#eef6fb}
.filters a{border-color:#cfdae3;background:rgba(255,255,255,.88)}.filters a.selected{box-shadow:0 3px 10px rgba(7,91,158,.15)}
.stats{gap:12px}.stats>div{position:relative;overflow:hidden;border-color:#d8e2ea;border-radius:13px;box-shadow:var(--shadow);padding:17px 18px}.stats>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#5d91b9}.stats>div:nth-child(2):before{background:#2e7db5}.stats>div:nth-child(3):before{background:#c63b70}.stats>div:nth-child(4):before{background:#7b8c9b}.stats.compact>div:before{background:#77a2c1}.stats strong{font-size:29px;color:#103a5d}.stats span{text-transform:uppercase;letter-spacing:.045em;font-size:11px}.stats small{display:block;margin-top:5px;line-height:1.35}
.dashboard-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:24px;align-items:center;background:linear-gradient(125deg,#07385f 0%,#075c9e 62%,#0d78bc 100%);color:#fff;border-radius:17px;padding:26px 28px;margin-bottom:18px;box-shadow:0 12px 32px rgba(5,55,94,.2)}
.dashboard-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-70px;top:-115px;border:34px solid rgba(255,255,255,.08)}
.dashboard-hero .eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:850;color:#dcecf7}.dashboard-hero .eyebrow:before{content:"";width:20px;height:3px;border-radius:3px;background:#e45186}.dashboard-hero h1{margin:7px 0 7px;font-size:35px;line-height:1.05;letter-spacing:-.035em}.dashboard-hero p{margin:0;color:rgba(255,255,255,.8);max-width:700px;line-height:1.5}.dashboard-hero-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboard-hero .button{background:#fff;color:#07558f;border-color:#fff}.dashboard-hero .button.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.data-audit{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:22px;align-items:start}.audit-score{display:flex;align-items:center;gap:17px}.audit-ring{--pct:90;display:grid;place-items:center;flex:0 0 92px;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--pct)*1%),#e4ebf0 0);position:relative}.audit-ring:after{content:"";position:absolute;inset:8px;background:#fff;border-radius:50%}.audit-ring strong{position:relative;z-index:1;font-size:23px;color:#0a4d81}.audit-score p{margin:4px 0 0;color:var(--muted);line-height:1.4}.audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-item{border:1px solid #e0e7ed;background:#f8fafc;border-radius:10px;padding:11px 12px}.audit-item-top{display:flex;justify-content:space-between;gap:12px;font-weight:750;font-size:13px}.audit-bar{height:5px;border-radius:999px;background:#e1e8ee;margin:8px 0 6px;overflow:hidden}.audit-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0a5e9e,#2e8dcc)}.audit-item small{line-height:1.35;display:block}
.table-wrap{border-radius:9px}table{background:#fff}th{background:#f5f8fa;color:#5a6b7c;border-bottom:1px solid #d9e2e9}td{border-bottom-color:#e8edf1}tbody tr{transition:background .1s ease}tbody tr:hover{background:#f7fbfe}.squad-table th{background:#f1f6f9}.sort-head.active{color:#074f86}.num-cell a{background:#e9f1f7;color:#103d61}.source-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#edf5fa;font-size:11px;margin-left:4px}.source-dot:hover{text-decoration:none;background:#dcecf7}
.badge,.efl-label,.pill{border:1px solid transparent}.badge.good{border-color:#cbe7d7}.badge.bad{border-color:#f3c9c5}.badge.warn{border-color:#f0dc9d}.badge.suspend{border-color:#d9ccf1}.badge.muted,.pill{border-color:#dce3e8}.efl-label.require{border-color:#d7dfe5}.efl-label.goalkeeper{border-color:#eadc90}.efl-label.under21{border-color:#cce4d6}
.player-hero{background:linear-gradient(135deg,#fff 0%,#f4f9fc 100%);border-top:4px solid #0a5f9f;padding:25px 28px}.player-shirt{background:radial-gradient(circle at 50% 45%,#fff 0,#f6f9fb 60%,#eef3f7 100%);border:1px solid #e2e8ed;border-radius:13px;padding:14px}.hero-details dl{background:#fff;border:1px solid #e1e7ec;border-radius:11px;padding:3px 14px}.hero-number strong{color:#07558f}.hero-number{border-right-color:#d8e2e9}.timeline-item{position:relative;border-left:3px solid #c8d7e2;padding:4px 0 5px 16px}.timeline-item:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;border:3px solid #76a1c0;left:-7px;top:8px}.timeline-item a{font-size:13px;font-weight:650}.club-event{border-left-color:#90b4ce}.club-event:before{border-color:#0b65a7}.estimate{border-left-color:#0b65a7;background:#f0f7fc;border-radius:0 10px 10px 0}
.shirt-card{border-color:#d9e2e9;box-shadow:0 6px 20px rgba(20,54,80,.06);background:linear-gradient(180deg,#fff,#fafcfd)}.shirt-card:hover{border-color:#95b6ce;box-shadow:0 10px 25px rgba(20,54,80,.11)}.shirt-card-meta{border-top:1px solid #edf1f4;padding-top:10px}.shirt-source.slim{box-shadow:none;border-left:4px solid #0b65a7}
.contracts-table td:first-child a,.squad-table .player-col a{font-weight:750}.contracts-table small{color:#68798a}.contract-group{border-top:4px solid #6e9fbe}.contract-group.expiring-soon{border-top-color:#c48a24}.availability-group{border-top:4px solid #9fb4c3}.availability-group.status-available{border-top-color:#3d9c70}.availability-group.status-back_training{border-top-color:#d0a52c}.availability-group.status-suspended{border-top-color:#7452b5}.availability-group.status-injured{border-top-color:#c75147}.availability-group.status-doubtful{border-top-color:#d0a52c}
.manager-hero{border-top:4px solid #075e9f;background:linear-gradient(135deg,#fff,#f1f7fb)}.manager-role-label{border:1px solid #cee1ef}.manager-highlight-grid article{background:#f7fafc}.manager-highlight-icon{border:1px solid #d0e2ef}
footer{color:#748391;border-top:1px solid #dce4ea;margin-top:8px;padding-top:23px}

@media(max-width:1100px){.dashboard-hero{grid-template-columns:1fr}.dashboard-hero-actions{justify-content:flex-start}.data-audit{grid-template-columns:1fr}.audit-score{max-width:520px}.player-hero{grid-template-columns:230px 1fr;gap:22px}}
@media(max-width:900px){header{gap:10px}.dashboard-hero{padding:22px}.dashboard-hero h1{font-size:30px}.audit-grid{grid-template-columns:1fr 1fr}.squad-wrap{overflow-x:visible}.squad-table{min-width:0;font-size:12px}.squad-table th,.squad-table td{padding:6px 3px}.squad-table .player-col{min-width:96px}.squad-table .badge,.squad-table .efl-label{font-size:9.5px;padding:3px 4px}.squad-table th{font-size:9.5px;letter-spacing:.02em}}
@media(max-width:720px){.audit-grid{grid-template-columns:1fr}.dashboard-hero-actions .button{flex:1}.player-hero{grid-template-columns:1fr}.player-shirt{max-width:320px;margin:auto}.hero-details{grid-template-columns:1fr}.hero-number{border:0;border-bottom:1px solid var(--line);padding:0 0 16px}.squad-wrap{overflow-x:auto}.squad-table{min-width:720px}}
@media(max-width:600px){header{padding:11px 13px}.crest{width:38px;height:38px}.dashboard-hero{border-radius:13px;padding:19px}.dashboard-hero h1{font-size:27px}.dashboard-hero-actions{display:grid;grid-template-columns:1fr 1fr}.audit-score{align-items:flex-start}.audit-ring{width:78px;height:78px;flex-basis:78px}.panel{border-radius:11px}.stats strong{font-size:25px}}

.staff-role-banner{border-left:4px solid #0b65a7;background:#f0f7fc}.staff-role-banner strong{color:#07558f}

/* v0.7 — public/admin separation and backup workspace */
.admin-entry,.public-entry{border:1px solid rgba(255,255,255,.28)}
.admin-entry{margin-left:5px}.public-entry{margin-left:5px}
.admin-body{background:linear-gradient(180deg,#eaf0f5 0,#f6f8fa 360px,#f4f6f8 100%)}
.admin-header{background:linear-gradient(110deg,#16283a 0%,#223f59 58%,#2e5877 100%)}
.admin-header nav a.active{color:#173a55}
.admin-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:850;color:#56768e;margin-bottom:2px}
.admin-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.admin-action-card{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #d6e0e8;border-radius:13px;padding:17px;box-shadow:var(--shadow);color:var(--ink);min-height:92px}
.admin-action-card:hover{text-decoration:none;border-color:#8eafc7;transform:translateY(-1px)}
.admin-action-card strong{color:#0b568d;font-size:16px}.admin-action-card span{color:var(--muted);font-size:12px;line-height:1.35}
.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.export-grid .panel{margin-bottom:0}.export-grid p{color:var(--muted);line-height:1.45;min-height:42px}
.backup-callout{border-left:5px solid #0a629f;background:linear-gradient(120deg,#fff,#f1f8fc)}
.warning-panel{border-left:4px solid #b6821c;background:#fffaf0}
.public-entry,.admin-entry{font-size:12px!important}
.squad-table .edit-col{display:none}
@media(max-width:1150px){.admin-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.admin-action-grid{grid-template-columns:1fr 1fr}.export-grid{grid-template-columns:1fr}.admin-header{position:static}}
@media(max-width:480px){.admin-action-grid{grid-template-columns:1fr}}

/* v0.8 — dashboard simplification, official crest, record editing and Head Coach results */
.crest-img{width:46px;height:46px;object-fit:contain;flex:0 0 46px;display:block}
.admin-header .crest-img{background:#fff;border-radius:50%;padding:2px}
.compact-hero{display:block;padding:22px 28px}.compact-hero h1{margin-bottom:5px}.compact-hero p{max-width:none}
.dashboard-grid{align-items:stretch}.dashboard-panel{overflow:hidden}.dashboard-summary-head,.dashboard-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:18px;align-items:center}.dashboard-summary-head{padding:0 10px 7px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dashboard-summary-list{border-top:1px solid #e5ebef}.dashboard-summary-row{padding:10px;border-bottom:1px solid #e8edf1;color:var(--ink)}.dashboard-summary-row:last-child{border-bottom:0}.dashboard-summary-row:hover{background:#f6fafc;text-decoration:none}.dashboard-summary-row>span:last-child{text-align:right;color:#52616f}.dashboard-empty{padding:10px;margin:0}.dashboard-change-row{grid-template-columns:62px minmax(100px,.7fr) minmax(0,1.3fr)}.dashboard-change-row .dashboard-date{text-align:left;color:var(--muted);font-size:12px}.dashboard-change-row>span:last-child{text-align:left}.dashboard-change-list{border-top:0}
.manager-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.manager-record-grid article{border:1px solid #d9e4ec;background:#f7fafc;border-radius:12px;padding:16px}.manager-record-grid span,.manager-record-grid small,.manager-record-grid em{display:block}.manager-record-grid span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.manager-record-grid strong{display:block;font-size:30px;color:#0b4f88;margin:3px 0}.manager-record-grid small{font-weight:750}.manager-record-grid em{font-style:normal;color:var(--muted);font-size:12px;margin-top:4px}
.result-pill{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;font-size:11px;font-weight:900;margin-left:5px}.result-w{background:#e8f5ee;color:#18794e}.result-d{background:#eef1f4;color:#5d6872}.result-l{background:#fdecea;color:#b42318}
.fixture-edit summary{cursor:pointer;color:var(--blue);font-weight:750}.fixture-result-form{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:9px;margin-top:10px;min-width:320px}.fixture-result-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:750;color:#53606c}.fixture-result-form .wide{grid-column:1/-1}.fixture-result-form input,.fixture-result-form select{padding:7px 8px;font-size:14px}.record-actions{white-space:nowrap}
@media(max-width:900px){.crest-img{width:42px;height:42px;flex-basis:42px}.dashboard-summary-head,.dashboard-summary-row{grid-template-columns:minmax(0,1fr) auto}.manager-record-grid{grid-template-columns:1fr}}
@media(max-width:600px){.crest-img{width:38px;height:38px;flex-basis:38px}.compact-hero{padding:18px}.dashboard-change-row{grid-template-columns:52px minmax(90px,.8fr) minmax(0,1.2fr);gap:8px}.dashboard-summary-row{gap:10px;padding:9px 6px}.dashboard-summary-head{padding-left:6px;padding-right:6px}}

/* v0.9 — secured admin workspace and public information pages */
footer{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{font-weight:700;color:#5e7485}.footer-links a:hover{color:#0b5f9c}
.logout-form{margin:0;display:inline-flex}.nav-button{appearance:none;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:8px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.nav-button:hover{background:rgba(255,255,255,.1)}
.login-body{min-height:100vh;background:linear-gradient(145deg,#dce9f2,#f7f9fb);display:grid;place-items:center;padding:24px}.login-shell{width:min(430px,100%);margin:0}.login-card{background:#fff;border:1px solid #d6e0e8;border-radius:18px;box-shadow:0 20px 55px rgba(20,54,80,.14);padding:32px}.login-card h1{margin:5px 0 18px}.login-crest{width:74px;height:74px;object-fit:contain;margin-bottom:14px}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px;font-weight:800}.login-form input{font-size:17px;padding:11px 12px;border:1px solid #bdcbd5;border-radius:9px}.login-error{border-left:4px solid #b42318;background:#fff1f0;padding:10px 12px;border-radius:0 8px 8px 0;color:#8f1d14}.setup-note{background:#fff8e8;border:1px solid #ead49a;border-radius:10px;padding:14px;margin:12px 0 18px}.setup-note code{background:#fff;border:1px solid #dfd3b8;border-radius:5px;padding:2px 5px}.login-card .small-link{display:inline-block;margin-top:18px}
.info-grid .panel,.method-grid .panel{line-height:1.6}.info-grid p,.method-grid p{color:#4f6070}.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.method-grid .panel{margin:0}.method-grid h2{margin-bottom:8px}.backup-status{text-align:right;min-width:190px}.backup-status span,.backup-status small{display:block;color:var(--muted);font-size:11px}.backup-status strong{display:block;margin:3px 0}.backup-callout .section-head{align-items:flex-start}
@media(max-width:760px){.method-grid{grid-template-columns:1fr}.backup-callout .section-head{display:block}.backup-status{text-align:left;margin-top:14px}footer{align-items:flex-start;flex-direction:column}.logout-form{width:auto}}

/* v0.10 — consistent player ordering and public correction reports */
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.report-form-panel{max-width:860px}.report-form{display:grid;gap:16px}.report-form>label{display:grid;gap:7px;font-weight:750;color:#48535e}.report-context{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#eef6fb;border:1px solid #d2e4f0;border-radius:10px;padding:12px 14px}.report-context span{font-size:12px;color:var(--muted);font-weight:750}.report-context strong{color:#0b568d}.report-thanks{max-width:720px;border-left:4px solid var(--green)}
.report-list{display:grid;gap:16px}.report-card{margin:0}.report-card h2{margin:5px 0 3px}.report-status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.report-status.status-new{background:#eaf3fb;color:#0b5f9c}.report-status.status-reviewing{background:#fff4d6;color:#8a6200}.report-status.status-resolved{background:#e8f5ee;color:#18794e}.report-status.status-dismissed{background:#eef1f4;color:#5c6670}.report-details{margin:12px 0 16px}.report-details dd{white-space:pre-wrap}.report-admin-form{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;gap:12px;align-items:end;border-top:1px solid #e7edf1;padding-top:14px}.report-admin-form label{display:grid;gap:5px;font-size:12px;font-weight:750;color:#53606c}.report-admin-form .wide{min-width:0}.report-admin-form textarea{min-height:76px}
@media(max-width:760px){.report-admin-form{grid-template-columns:1fr}.report-context{align-items:flex-start;flex-direction:column;gap:3px}}
@media(min-width:1151px){.admin-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.11 — pre-launch data audit, admin search and launch-readiness pass */
.audit-controls{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.admin-search{display:grid;gap:6px;min-width:min(100%,520px)}.admin-search>label{font-size:12px;font-weight:800;color:#536474}.admin-search>div{display:flex;gap:8px;min-width:0}.admin-search input{min-width:0;flex:1;padding:10px 11px;border:1px solid #bdcbd5;border-radius:9px;font-size:15px;background:#fff}.admin-search .button{white-space:nowrap}
.audit-head-score{display:grid;justify-items:end;gap:1px}.audit-head-score strong{font-size:30px;color:#0b568d}.audit-head-score span{font-size:12px;color:var(--muted);font-weight:750}
.audit-table td{vertical-align:middle}.audit-gap,.audit-ok,.completeness{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800;line-height:1.1;margin:2px 3px 2px 0}.audit-gap{background:#fff2df;color:#845b00;border:1px solid #edd5a3}.audit-ok{background:#e8f5ee;color:#176c49;border:1px solid #c4e3d2}.completeness{text-decoration:none;justify-content:center;min-width:46px}.completeness:hover{text-decoration:none;filter:brightness(.98)}.completeness-complete{background:#e8f5ee;color:#176c49;border:1px solid #c4e3d2}.completeness-good{background:#edf5fb;color:#0a5b95;border:1px solid #cfe1ee}.completeness-review{background:#fff1ee;color:#a33429;border:1px solid #efc9c3}
.audit-guide{border-left:4px solid #5d91b9}.audit-guide p{margin-bottom:0;color:#536474;line-height:1.55}
.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.readiness-check{display:flex;align-items:flex-start;gap:13px;background:#fff;border:1px solid #d8e2ea;border-radius:13px;padding:16px 17px;box-shadow:var(--shadow)}.readiness-check p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.readiness-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;font-weight:900}.readiness-check.ready .readiness-icon{background:#e4f4ec;color:#16734c}.readiness-check.pending .readiness-icon{background:#fff1d9;color:#8b6100}.readiness-check.pending{border-color:#ead6ae}
.launch-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.launch-checklist>div{border:1px solid #e0e7ed;background:#f8fafc;border-radius:10px;padding:13px}.launch-checklist strong,.launch-checklist span{display:block}.launch-checklist span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:900px){.readiness-grid,.launch-checklist{grid-template-columns:1fr}.audit-head-score{justify-items:start}.page-head:has(.audit-head-score){align-items:flex-start}}
@media(max-width:650px){.admin-search{width:100%;min-width:0}.admin-search>div{display:grid;grid-template-columns:1fr 1fr}.admin-search input{grid-column:1/-1;width:100%}.audit-controls{align-items:stretch}.audit-controls .filters{width:100%}.audit-table{font-size:12px}}

/* v1.1 — mobile navigation and responsive polish */
.nav-toggle{display:none;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid rgba(255,255,255,.34);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;padding:8px 11px;font:inherit;font-weight:800;cursor:pointer}.nav-toggle:hover{background:rgba(255,255,255,.17)}.nav-toggle>span:first-child{font-size:19px;line-height:1}.site-nav{align-items:center}.panel p,.panel dd,.timeline-item,.report-card{overflow-wrap:anywhere;word-break:normal}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.button,.nav-button{min-height:40px}.fixture-edit summary{min-height:40px;display:inline-flex;align-items:center}.code{width:100%}

@media(max-width:820px){
  header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding:10px 14px}
  .brand{min-width:0}.brand>div:last-child{min-width:0}.brand strong{line-height:1.15}.brand span{line-height:1.2}
  .nav-toggle{display:inline-flex}
  header .site-nav{display:none;grid-column:1/-1;width:100%;overflow:visible;flex-wrap:wrap;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px;margin-top:1px;border-radius:11px;background:rgba(2,29,50,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
  header .site-nav.open{display:grid}
  header .site-nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;margin:0;border-radius:8px;white-space:normal}
  header .site-nav .admin-entry,header .site-nav .public-entry{margin-left:0}
  header .site-nav .logout-form{display:flex;width:100%;margin:0}
  header .site-nav .nav-button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px 12px;border-radius:8px}
  main{padding:22px 14px 48px}
  footer{padding:18px 14px 30px}
  .page-head{align-items:flex-start;flex-direction:column;gap:12px}.page-head h1{font-size:28px}.page-actions{width:100%}
  .filters{max-width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.filters a{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;white-space:nowrap}
  .panel{padding:17px}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head .button{flex:0 0 auto}
  .table-wrap{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #e1e8ee}.table-wrap table{margin:0;min-width:650px}.table-wrap th,.table-wrap td{padding:9px 8px}.table-wrap th{font-size:11px}
  .squad-wrap{overflow-x:auto!important}.squad-table{min-width:720px!important}
  .form-actions{flex-wrap:wrap}.form-actions .button{min-height:44px}
  .fixture-result-form{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .code{min-height:440px;max-height:68vh;font-size:12px}
  .dashboard-hero-actions{justify-content:flex-start}
  .manager-record-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  body{font-size:14px}
  main{padding:18px 12px 40px}
  footer{padding-left:12px;padding-right:12px}
  .page-head{margin-bottom:15px}.page-head h1{font-size:26px}.page-head p{font-size:13px}
  .panel{padding:14px;margin-bottom:14px;border-radius:11px}.panel h2{font-size:18px;margin-bottom:13px}.section-head{padding-bottom:9px;margin-bottom:10px}
  .stats,.stats.compact,.grid.two,.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:span 1}
  .stats>div{padding:14px}.grid{gap:13px;margin-bottom:14px}
  .form-grid{gap:12px}.form-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}.form-actions .button{width:100%}
  .dashboard-hero{padding:18px}.dashboard-hero h1{font-size:26px}.dashboard-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.dashboard-hero-actions .button{width:100%}
  .audit-score{gap:13px}.audit-grid{grid-template-columns:1fr}
  .admin-action-grid{grid-template-columns:1fr}.admin-action-card{min-height:0;padding:15px}
  .table-wrap{margin-left:-4px;margin-right:-4px}.table-wrap table{min-width:600px;font-size:12.5px}.table-wrap th,.table-wrap td{padding:8px 7px}
  .squad-table{min-width:700px!important}
  .fixture-result-form{grid-template-columns:1fr}.fixture-result-form .wide{grid-column:1}
  .backup-callout .section-head{display:block}.backup-status{text-align:left;margin-top:12px}
  .report-context{align-items:flex-start;flex-direction:column;gap:4px}.report-admin-form{grid-template-columns:1fr}
  .login-body{padding:15px}.login-card{padding:24px;border-radius:14px}
}

@media(max-width:480px){
  header{padding:9px 11px;gap:8px}.crest-img{width:38px;height:38px;flex-basis:38px}.brand{gap:9px}.brand strong{font-size:15px}.brand span{display:none}.nav-toggle{min-height:40px;padding:7px 9px}.nav-toggle>span:last-child{font-size:13px}
  header .site-nav{grid-template-columns:1fr;padding:6px}.site-nav a,.site-nav .nav-button{font-size:14px}
  main{padding-left:10px;padding-right:10px}.page-head h1{font-size:24px}
  .dashboard-hero{padding:16px;border-radius:12px}.dashboard-hero h1{font-size:24px}.dashboard-hero-actions{grid-template-columns:1fr}
  .form-actions{grid-template-columns:1fr}.filters{margin-right:-2px}
  dl{grid-template-columns:1fr}dt{padding:8px 0 2px;border-bottom:0;font-size:12px}dd{padding:0 0 9px}
  .hero-details dl{padding:5px 12px}.hero-number strong{font-size:38px}
  .dashboard-summary-head{display:none}.dashboard-summary-row{grid-template-columns:1fr;gap:3px;padding:10px 7px}.dashboard-summary-row>span:last-child{text-align:left}.dashboard-change-row{grid-template-columns:1fr;gap:2px}.dashboard-change-row .dashboard-date{font-size:11px}
  .table-wrap table{min-width:560px}.squad-table{min-width:680px!important}
  .timeline-item>div{align-items:flex-start;flex-direction:column}.timeline-item a{font-size:12px}
  .footer-links{gap:12px}.login-card{padding:20px}.code{min-height:380px}
}


/* v1.2 — availability history and injury/availability case summaries */
.availability-case-list{display:grid;gap:15px}.availability-case-card{border:1px solid #d9e3ea;border-radius:12px;padding:17px;background:#fbfcfd}.availability-case-card.current{border-top:4px solid #c75147;background:#fff}.availability-case-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}.availability-case-head h3{margin:2px 0 0;font-size:18px}.availability-case-meta{display:grid;grid-template-columns:1fr .65fr 1.25fr;gap:10px;margin-bottom:15px}.availability-case-meta>div{border:1px solid #e2e8ed;background:#fff;border-radius:9px;padding:10px 11px}.availability-case-meta span,.availability-case-meta small{display:block;color:var(--muted);font-size:11px;font-weight:700}.availability-case-meta strong{display:block;margin:3px 0;font-size:14px}.case-timeline{border-top:1px solid #e6ebef;padding-top:13px}.unlinked-availability{border-top:1px solid #dfe6eb;margin-top:20px;padding-top:18px}.unlinked-availability h3{margin:0 0 5px}.history-guide{border-left:4px solid #5d91b9}.history-guide p{margin:0;line-height:1.55}.availability-history-table td{vertical-align:middle}
@media(max-width:820px){.availability-case-meta{grid-template-columns:1fr 1fr}.availability-case-meta>div:last-child{grid-column:1/-1}}
@media(max-width:560px){.availability-case-head{flex-direction:column;gap:7px}.availability-case-meta{grid-template-columns:1fr}.availability-case-meta>div:last-child{grid-column:auto}.availability-case-card{padding:13px}}


/* v1.3 — simplified public navigation, canonical BBCode outputs and EFL squad planning */
.brand-link{color:inherit;text-decoration:none;border-radius:10px}.brand-link:hover{text-decoration:none;color:inherit}.brand-link:focus-visible{outline:2px solid #fff;outline-offset:4px}
.footer-admin{opacity:.72}.footer-admin:hover{opacity:1}
.squad-number-link{font-weight:750}
.efl-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.efl-plan-summary article{background:#fff;border:1px solid #d8e2ea;border-radius:13px;padding:18px;box-shadow:var(--shadow);border-top:4px solid #6e9fbe}.efl-plan-summary article.full{border-top-color:#2b8c62}.efl-plan-summary article.space{border-top-color:#2e7db5}.efl-plan-summary article.over{border-top-color:#c75147}.efl-plan-summary span,.efl-plan-summary small{display:block}.efl-plan-summary span{text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-size:11px;font-weight:800}.efl-plan-summary strong{display:block;font-size:31px;color:#103a5d;margin:4px 0}.efl-plan-summary small{color:var(--muted);font-weight:650}.efl-plan-guide{border-left:4px solid #5d91b9;background:#f8fbfd}.efl-plan-guide p{margin:6px 0 0;line-height:1.55;color:#526474}.efl-squad-list,.efl-exempt-list{display:grid;gap:7px}.efl-squad-player,.efl-exempt-player{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e0e7ed;border-radius:10px;background:#fbfcfd;color:var(--ink)}.efl-squad-player:hover,.efl-exempt-player:hover{text-decoration:none;border-color:#9db9cd;background:#f6fafc}.efl-squad-number{display:grid;place-items:center;width:34px;height:32px;border-radius:8px;background:#e8f1f7;color:#17425f;font-weight:900;font-variant-numeric:tabular-nums}.efl-squad-name{min-width:0}.efl-squad-name strong,.efl-squad-name small,.efl-squad-name em,.efl-exempt-player strong,.efl-exempt-player small{display:block}.efl-squad-name small,.efl-exempt-player small{color:var(--muted);font-size:12px;margin-top:2px}.efl-squad-name em{font-style:normal;color:#8a5e00;font-size:12px;margin-top:5px;line-height:1.4}.efl-plan-until{display:inline!important;color:#7b6b43!important;font-size:11px!important}.efl-plan-badge{justify-self:end;border:1px solid #ead6a4;background:#fff5dd;color:#855f08;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:850}.efl-plan-badge.included{border-color:#cce4d6;background:#e8f5ee;color:#18794e}.efl-squad-player.discounted{background:#faf8f4}.efl-squad-player.discounted .efl-squad-name>strong{text-decoration:line-through;color:#7b8188}.efl-squad-player.discounted .efl-squad-number{opacity:.58}.efl-exempt-player{grid-template-columns:44px minmax(0,1fr)}.efl-exempt-grid .panel{margin-bottom:0}.efl-admin-plan{border-left:4px solid #5d91b9}
@media(max-width:760px){.efl-plan-summary{grid-template-columns:1fr 1fr}.efl-plan-summary article:last-child{grid-column:1/-1}.efl-squad-player{grid-template-columns:38px minmax(0,1fr)}.efl-plan-badge{grid-column:2;justify-self:start}.efl-squad-number{width:32px;height:30px}}
@media(max-width:480px){.efl-plan-summary{grid-template-columns:1fr}.efl-plan-summary article:last-child{grid-column:auto}.efl-squad-player,.efl-exempt-player{padding:10px 9px;gap:9px}.page-actions>.compact-button{width:100%}}

/* v1.4 — mobile quick-reference views, missed-game reasons and EFL squad modes */
.mobile-only{display:none!important}
.inline-setting-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-setting-form label{min-width:260px}.inline-setting-form select{margin-top:6px}
.efl-plan-badge.registered{border-color:#cce4d6;background:#e8f5ee;color:#18794e}.efl-plan-badge.not-registered{border-color:#efc8c5;background:#fff0ef;color:#a53d36}.efl-plan-badge.unconfirmed{border-color:#d8e0e6;background:#f2f5f7;color:#5e6d78}.efl-squad-player.not-registered{background:#fffafa}.efl-squad-player.not-registered .efl-squad-name>strong{color:#59636c}
.missed-reason-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.missed-competition-note{margin-top:-6px;margin-bottom:14px}

@media(max-width:620px){
  .desktop-only{display:none!important}.mobile-only{display:block!important}

  /* Dashboard: one compact squad-count row followed by tappable section summaries. */
  .mobile-dashboard{margin-top:0}.mobile-dashboard-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid #dbe4eb;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:13px}.mobile-dashboard-counts>div{min-width:0;text-align:center;padding:13px 5px 12px;border-right:1px solid #e5ebef}.mobile-dashboard-counts>div:last-child{border-right:0}.mobile-dashboard-counts strong{display:block;color:#103a5d;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.mobile-dashboard-counts span{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}
  .mobile-dashboard-links{display:grid;gap:9px}.mobile-dashboard-links a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 14px;background:#fff;border:1px solid #dbe4eb;border-radius:11px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}.mobile-dashboard-links a:hover{text-decoration:none;border-color:#9ebbd0;background:#f8fbfd}.mobile-dashboard-links span,.mobile-dashboard-links strong,.mobile-dashboard-links small{display:block}.mobile-dashboard-links strong{font-size:16px;color:#103a5d}.mobile-dashboard-links small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.mobile-dashboard-links b{font-size:29px;line-height:1;color:#6c8ba1;font-weight:500}

  /* Main squad list: only number, player, position and current availability/location. */
  .mobile-card-list{display:grid!important;gap:8px}.mobile-player-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"number main chevron" "number status chevron";align-items:center;column-gap:11px;row-gap:5px;padding:11px 10px;background:#fff;border:1px solid #dfe7ed;border-radius:10px;color:var(--ink);text-decoration:none}.mobile-player-card:hover{text-decoration:none;border-color:#9db9cd;background:#f8fbfd}.mobile-squad-number{grid-area:number;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#e8f1f7;color:#17425f;font-weight:900;font-size:15px;font-variant-numeric:tabular-nums}.mobile-player-main{grid-area:main;min-width:0}.mobile-player-main strong,.mobile-player-main small{display:block}.mobile-player-main strong{font-size:15px;color:#092f4d;line-height:1.2}.mobile-player-main small{margin-top:2px;color:var(--muted);font-size:11.5px}.mobile-player-status{grid-area:status;justify-self:start}.mobile-player-status .badge{font-size:10px;padding:3px 7px}.mobile-chevron{grid-area:chevron;color:#7d96a8;font-size:24px}

  /* Availability: concise status cards; detailed update/history remains on the profile. */
  .mobile-availability-list{display:grid!important;gap:8px}.mobile-availability-card{display:block;padding:12px;background:#fff;border:1px solid #dfe7ed;border-radius:10px;color:var(--ink);text-decoration:none}.mobile-availability-card:hover{text-decoration:none;border-color:#9db9cd;background:#f8fbfd}.mobile-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.mobile-card-top>strong{font-size:15px;color:#092f4d}.mobile-card-top .badge{flex:0 0 auto;font-size:10px;padding:3px 7px}.mobile-missed{display:block;margin-top:6px;color:#365970;font-weight:800;font-size:11px}.mobile-availability-card p{margin:7px 0 0;color:#596b78;font-size:12px;line-height:1.42}.mobile-detail-link{display:block;margin-top:7px;color:#17659c;font-weight:800;font-size:11px}.mobile-empty{margin:5px 0}

  /* Contract overview: expiry and one-line context only. */
  .mobile-contract-list,.mobile-transfer-list{display:grid!important;gap:7px}.mobile-contract-card,.mobile-transfer-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 10px;border:1px solid #dfe7ed;border-radius:9px;background:#fbfcfd;color:var(--ink);text-decoration:none}.mobile-contract-card:hover,.mobile-transfer-card:hover{text-decoration:none;border-color:#9db9cd;background:#f8fbfd}.mobile-contract-card span:first-child,.mobile-transfer-card span:first-child{min-width:0}.mobile-contract-card strong,.mobile-contract-card small,.mobile-transfer-card strong,.mobile-transfer-card small{display:block}.mobile-contract-card strong,.mobile-transfer-card strong{font-size:14px;color:#092f4d}.mobile-contract-card small,.mobile-transfer-card small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3}.mobile-contract-expiry,.mobile-transfer-date{font-size:11px;font-weight:850;color:#365970;text-align:right;white-space:nowrap}.mobile-contract-card b,.mobile-transfer-card b{font-size:22px;line-height:1;color:#7d96a8;font-weight:500}

  /* EFL page: compact headline on phones; player cards remain the primary information. */
  .mobile-efl-summary{padding:13px 14px;margin-bottom:13px;background:#fff;border:1px solid #dbe4eb;border-left:4px solid #5d91b9;border-radius:10px;box-shadow:var(--shadow)}.mobile-efl-summary strong,.mobile-efl-summary span{display:block}.mobile-efl-summary strong{font-size:16px;color:#103a5d}.mobile-efl-summary span{margin-top:3px;color:var(--muted);font-size:12px}.efl-plan-guide{padding:13px}.efl-plan-guide p{font-size:12px;line-height:1.5}.efl-squad-panel .section-head{align-items:center}.efl-squad-player{grid-template-columns:38px minmax(0,1fr) auto!important}.efl-plan-badge{grid-column:auto!important;justify-self:end!important;font-size:10px;padding:3px 7px}.efl-squad-name em{font-size:11px}.efl-exempt-player{grid-template-columns:38px minmax(0,1fr)}

  /* Player profile still carries the detailed view, but missed-game reason totals stay compact. */
  .missed-reason-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.missed-reason-stats>div{padding:11px 6px}.missed-reason-stats strong{font-size:22px}.missed-competition-note{font-size:11px}
  .inline-setting-form{display:grid;grid-template-columns:1fr;width:100%}.inline-setting-form label{min-width:0}.inline-setting-form .button{width:100%}
}

@media(max-width:390px){
  .mobile-dashboard-counts strong{font-size:21px}.mobile-dashboard-counts span{font-size:9px}.mobile-dashboard-counts>div{padding-left:3px;padding-right:3px}
  .efl-squad-player{grid-template-columns:34px minmax(0,1fr)!important;align-items:start}.efl-plan-badge{grid-column:2!important;justify-self:start!important;margin-top:2px}.efl-squad-number{width:30px;height:29px}.mobile-contract-card,.mobile-transfer-card{grid-template-columns:minmax(0,1fr) auto}.mobile-contract-card b,.mobile-transfer-card b{display:none}.mobile-contract-expiry,.mobile-transfer-date{font-size:10.5px}
}
