:root{
  font-family:Arial,Helvetica,sans-serif;
  color:#232323;
  background:#cfd4ce;
  --green:#4d7f28;
  --green-dark:#355d1b;
  --green-soft:#edf4e6;
  --line:#c9c9c2;
  --panel:#f8f8f4;
  --panel2:#eeeee7;
  --head:#f5f0d9;
  --muted:#70756d;
  --orange:#ee8a12;
  --orange-dark:#c86f05;
  --danger:#9b3030;
}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:linear-gradient(#8e9a89 0 86px,#d9ddd6 86px 100%);font-size:13px}button,input,select{font:inherit}.hidden{display:none!important}
a{color:#436d22}.muted{color:var(--muted)}

/* login / club selection */
.auth{width:min(980px,calc(100% - 24px));margin:28px auto 0;background:#f8f8f4;border:1px solid #8c9187;box-shadow:0 2px 8px #0005;padding:0 18px 26px;min-height:520px}
.brand{margin:0 -18px 18px;padding:17px 22px 14px;background:linear-gradient(#507f2c,#315b19);border-bottom:4px solid #e6e1c9;color:#fff;font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-size:30px;letter-spacing:-1px;text-shadow:0 1px #243f14}.brand span{color:#ffcf56}.subtle-brand{display:flex;align-items:center;gap:14px}.brand-emblem{width:54px;height:54px;flex:0 0 54px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.brand-stack{min-width:0}.brand-name{font-size:30px;line-height:1;font-family:Georgia,'Times New Roman',serif;font-weight:bold;letter-spacing:-1px}.brand-sub{margin-top:5px;font:normal 11px Arial,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#e8efd8;text-shadow:none}.subtitle{color:#555;max-width:720px;margin:4px 0 22px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}

/* application shell */
.shell{width:min(1180px,calc(100% - 20px));margin:0 auto 30px;background:#f8f8f4;border-left:1px solid #777f72;border-right:1px solid #777f72;border-bottom:1px solid #777f72;box-shadow:0 2px 10px #0005;min-height:760px;display:grid;grid-template-columns:190px 1fr;grid-template-rows:auto auto 1fr;grid-template-areas:'mast mast' 'tabs tabs' 'side main'}
.masthead{grid-area:mast;background:linear-gradient(#5f8d38,#3c6820);color:white;min-height:72px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2e5118}.logo{display:flex;align-items:center;gap:10px;min-width:0;font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:bold;letter-spacing:-1.5px;text-shadow:0 1px #1f3b10}.logo-emblem{width:34px;height:34px;flex:0 0 34px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.logo-stack{display:flex;flex-direction:column;min-width:0}.logo-name{line-height:1}.logo-sub{margin-top:2px;font:normal 9px Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#dfead2;text-shadow:none}.club-id{text-align:right;line-height:1.45}.club-id b{font-size:15px}.club-id small{color:#e1efd7}
.top-tabs{grid-area:tabs;background:#ecebe2;border-bottom:1px solid #b7baaf;padding:0 9px;display:flex;gap:2px;overflow:auto}.top-tabs button{background:transparent;color:#444;border:0;border-right:1px solid #d3d3ca;border-radius:0;padding:9px 13px;font-weight:bold;white-space:nowrap}.top-tabs button:hover,.top-tabs button.active{background:#fff;color:#3f6f22;box-shadow:inset 0 -3px #719b4c}
.sidebar{grid-area:side;background:#eceee8;border-right:1px solid #b8bcb4;padding:10px 8px 18px}.sidebar-title{font-size:11px;text-transform:uppercase;color:#72776f;font-weight:bold;padding:6px 8px 4px}.nav button{width:100%;text-align:left;background:transparent;color:#4d4d48;border:0;border-bottom:1px solid #d8dad4;border-radius:0;padding:7px 8px;font-weight:normal}.nav button:before{content:'› ';color:#6e972e;font-weight:bold}.nav button.active,.nav button:hover{background:#fff;color:#315b19}.nav button.active{font-weight:bold}.userbox{margin-top:14px;padding:10px 8px 0;border-top:1px solid #c9ccc4;font-size:12px;color:#656a63}.content{grid-area:main;padding:13px 16px 26px;min-width:0;background:#fff}

h1{font:normal 23px Georgia,'Times New Roman',serif;color:#416d24;margin:0 0 5px}h2{font:normal 18px Georgia,'Times New Roman',serif;color:#4d762f;margin:0 0 8px}h3{font-size:14px;color:#4f702f;margin:0 0 8px}.topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #d7d8d0;padding-bottom:8px;margin-bottom:12px}.section{margin-top:14px}
.card,.metric,.club-card,.tip{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:12px;box-shadow:none}.card>h2:first-child,.card>h3:first-child{margin:-12px -12px 10px;padding:7px 9px;background:linear-gradient(#fbf8e9,#eee8cc);border-bottom:1px solid #d8d0ad;color:#577d32}.club-card h3{margin-bottom:5px}.club-card button{width:100%;margin-top:10px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric{padding:9px 10px;background:linear-gradient(#fafaf6,#efefe9)}.metric span{font-size:11px;text-transform:uppercase}.metric b{display:block;font:normal 20px Georgia,'Times New Roman',serif;color:#3c6521;margin-top:3px}.metric small{display:block;margin-top:3px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted #c7c9c2}.mini-row:last-child{border-bottom:0}

label{display:block;margin:9px 0 4px;color:#575b55;font-size:12px;font-weight:bold}input,select{width:100%;background:#fff;border:1px solid #aaa;color:#222;border-radius:2px;padding:6px 7px;outline:none}input:focus,select:focus{border-color:#638c3b;box-shadow:0 0 0 1px #b7cca4}
button{border:1px solid #cb7107;border-radius:2px;padding:6px 10px;font-weight:bold;cursor:pointer;background:linear-gradient(#f7a43d,#e7820b);color:#fff;text-shadow:0 1px #a75e05;box-shadow:inset 0 1px #ffd397}button:hover{background:linear-gradient(#ffb452,#e98a13)}button.secondary{background:linear-gradient(#f8f8f5,#e2e3dc);border-color:#aeb1a8;color:#4c5149;text-shadow:none;box-shadow:inset 0 1px #fff}button.danger{background:#9a4444;border-color:#783030}button.small{padding:4px 7px;font-size:11px}button:disabled{opacity:.45;cursor:not-allowed}
.badge{display:inline-block;padding:3px 7px;border:1px solid #aabd94;border-radius:2px;background:#eef5e7;color:#4d742c;font-size:11px;font-weight:bold}.positive{color:#3e7c28}.negative,.status-danger{color:#a53232}.status-warning{color:#9a690f}.facility-level{font:normal 25px Georgia,'Times New Roman',serif;color:#3f6a22;margin:9px 0}.actions,.row-actions{display:flex;gap:6px;flex-wrap:wrap}.actions{margin-top:12px}

.table-wrap{overflow:auto;border:1px solid #bfc2b9;border-radius:0;background:#fff}table{border-collapse:collapse;width:100%;min-width:720px}th,td{padding:6px 8px;border-bottom:1px solid #dedfd9;border-right:1px solid #ecece7;text-align:left;font-size:12px}th{color:#4c5b45;background:linear-gradient(#f5f2df,#e8e3c8);position:sticky;top:0;font-size:11px}.table-wrap tbody tr:nth-child(even){background:#f8f8f5}.table-wrap tbody tr:hover{background:#f0f5ea}.me{background:#e8f2dd!important}.pos{width:48px}
.fixture{display:grid;grid-template-columns:54px 1fr 70px 1fr 92px;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid #ddd;background:#fafaf7}.fixture:nth-child(even){background:#f1f1ec}.score{text-align:center;font:bold 16px Georgia,'Times New Roman',serif;color:#405f28}.right{text-align:right}.match-score{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;text-align:center;padding:12px;background:#eff4e9;border:1px solid #ccd9c0}.match-score>div{font:normal 31px Georgia,'Times New Roman',serif;color:#365c1e}.match-log{max-height:380px;overflow:auto;background:#fafaf6;border:1px solid var(--line);padding:8px}.event{padding:6px;border-bottom:1px dotted #c4c7be}.event b{color:#56812e}

.lineup-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.check-player{display:flex;gap:7px;align-items:center;padding:7px;border:1px solid #d4d6cf;background:#fafaf7}.check-player:hover{background:#f0f5ea}.check-player input{width:auto}.unavailable{opacity:.55}
.transfer-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;align-items:end}.transfer-metrics{margin-top:10px}
.toast{position:fixed;z-index:100;right:18px;top:18px;background:#fffbe8;border:1px solid #b7a56e;padding:9px 12px;border-radius:2px;box-shadow:0 2px 8px #0005;color:#4f4b36}.toast.error{border-color:#a85555;background:#fff0f0;color:#7e2626}
hr{border:0;border-top:1px solid #d6d8d1}

/* classic Sokker-like tactical board */
.tactics-layout{display:grid;grid-template-columns:minmax(390px,.95fr) minmax(340px,1.05fr);gap:12px;align-items:start}.pitch-panel{border:1px solid #8c9c80;background:#f2f2eb;padding:8px}.pitch{position:relative;aspect-ratio:68/100;max-height:570px;margin:auto;background:repeating-linear-gradient(0deg,#4f982f 0,#4f982f 54px,#569f35 54px,#569f35 108px);border:3px solid #fff;box-shadow:0 0 0 1px #69885b inset,0 0 0 1px #77916d}.pitch:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.85)}.pitch:after{content:'';position:absolute;width:22%;aspect-ratio:1;border:2px solid rgba(255,255,255,.85);border-radius:50%;left:39%;top:calc(50% - 11%)}.penalty{position:absolute;left:23%;width:54%;height:15%;border:2px solid rgba(255,255,255,.85)}.penalty.top{top:-2px;border-top:0}.penalty.bottom{bottom:-2px;border-bottom:0}.goal{position:absolute;left:40%;width:20%;height:3%;border:2px solid #eee;background:#d9d9d9}.goal.top{top:-5px}.goal.bottom{bottom:-5px}.pitch-player{position:absolute;transform:translate(-50%,-50%);min-width:74px;text-align:center;color:#fff;font-size:10px;text-shadow:0 1px 2px #000;background:#7f1e16;border:1px solid #f2c4bd;border-radius:9px;padding:3px 5px;box-shadow:0 1px 2px #0006}.pitch-player.gk{background:#1d5d87}.pitch-note{font-size:11px;color:#666;margin:7px 2px 0;text-align:center}.tactic-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tactic-controls label{margin-top:0}.lineup-counter{font-weight:bold;color:#4c722c;margin-bottom:7px}

@media(max-width:900px){body{background:#d9ddd6}.shell{width:100%;margin:0;grid-template-columns:1fr;grid-template-areas:'mast' 'tabs' 'side' 'main';border:0}.masthead{min-height:62px}.sidebar{border-right:0;border-bottom:1px solid #bbb}.sidebar-title{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;width:auto;border-right:1px solid #d1d3cc;border-bottom:0}.grid{grid-template-columns:1fr 1fr}.club-grid{grid-template-columns:1fr 1fr}.tactics-layout{grid-template-columns:1fr}.pitch{max-width:390px}.content{padding:12px}}
@media(max-width:620px){.auth{width:100%;margin:0;border:0}.auth-grid,.grid,.club-grid,.lineup-list,.split{grid-template-columns:1fr}.fixture{grid-template-columns:42px 1fr 48px 1fr}.fixture button{grid-column:1/-1}.brand{font-size:25px}.logo{font-size:23px}.club-id{display:none}.topline{display:block}.badge{margin-top:4px}.transfer-filters,.tactic-controls{grid-template-columns:1fr}.match-score{grid-template-columns:1fr}.match-score>div{margin:6px 0}}

/* 2007-2012 player / training / transfer / stadium pass */
.player-link{padding:0;border:0;background:transparent!important;box-shadow:none!important;color:#3e6d24;text-shadow:none;text-decoration:underline;font:inherit;font-weight:bold}.player-link:hover{color:#224d10}.player-link.inline{text-align:left}
.classic-modal{display:none;position:fixed;z-index:1000;inset:0;background:#0008;padding:28px;overflow:auto}.classic-modal.open{display:block}.classic-modal-box{position:relative;width:min(760px,100%);margin:25px auto;background:#f6f6f1;border:1px solid #687561;box-shadow:0 8px 35px #0008;padding:14px}.modal-close{position:absolute;right:8px;top:8px;font-size:18px;padding:1px 8px;z-index:2}.player-profile-head{display:flex;align-items:center;gap:14px;background:linear-gradient(#f6f3df,#e7e0bd);border:1px solid #c9c09e;padding:11px;margin-bottom:10px}.player-profile-head h2{margin:0 0 3px}.player-shirt{width:58px;height:64px;background:#5f852f;color:#fff;clip-path:polygon(20% 0,36% 8%,64% 8%,80% 0,100% 22%,84% 37%,78% 29%,78% 100%,22% 100%,22% 29%,16% 37%,0 22%);display:flex;align-items:center;justify-content:center;font:bold 15px Georgia,serif;text-shadow:0 1px #243814}.player-status{font-size:11px;margin-top:5px;color:#4d633e}.player-profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.compact-card{padding:10px}.compact-card>h3:first-child{margin:-10px -10px 8px}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.skill-row,.info-list>div{display:flex;justify-content:space-between;gap:10px;padding:5px 2px;border-bottom:1px dotted #c7c9c0}.skill-row span,.info-list span{color:#666}.skill-row b{text-align:right}.skill-l0,.skill-l1,.skill-l2,.skill-l3{color:#9a3d32}.skill-l4,.skill-l5,.skill-l6{color:#796d2b}.skill-l7,.skill-l8,.skill-l9{color:#4d722b}.skill-l10,.skill-l11,.skill-l12{color:#2d691d}.skill-l13,.skill-l14,.skill-l15,.skill-l16,.skill-l17,.skill-l18{color:#174f18}.stat-strip{display:grid;grid-template-columns:repeat(5,1fr);text-align:center}.stat-strip span{padding:6px;border-right:1px solid #ddd;color:#666}.stat-strip span:last-child{border:0}.stat-strip b{display:block;font:20px Georgia,serif;color:#476c29}.classic-squad .player-link{white-space:nowrap}
.training-layout{display:grid;grid-template-columns:280px 1fr;gap:10px;align-items:start}.training-help{margin:12px 0;padding:9px;background:#f4f1df;border:1px solid #d4caa2;font-size:11px;line-height:1.45}.training-scale{font-size:11px}.training-scale>div{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.training-scale span{border:1px solid #bec6b5;background:#f7f8f3;padding:2px 5px}.training-roster{border:1px solid #ced1c8}.training-player{margin:0;display:grid;grid-template-columns:24px minmax(160px,1fr) 190px;align-items:center;gap:7px;padding:7px 8px;border-bottom:1px solid #ddd;background:#fafaf7;font-weight:normal}.training-player:nth-child(even){background:#f2f2ed}.training-player:last-child{border-bottom:0}.training-player input{width:auto}.training-player-main small{display:block;color:#777;margin-top:2px}.training-current{text-align:right;font-size:11px}.training-current b{color:#3f6e25}.transfer-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #c4c7bf;background:#f2f2ec;margin-bottom:10px}.transfer-summary span{padding:7px 9px;border-right:1px solid #d4d6cf;color:#666;font-size:11px}.transfer-summary span:last-child{border-right:0}.transfer-summary b{display:block;color:#3d6127;font-size:13px;margin-top:2px}.transfer-table td{vertical-align:middle}
.stadium-layout{grid-template-columns:1.1fr .9fr}.stadium-card{padding:12px}.stadium-visual{display:grid;grid-template-columns:82px 1fr 82px;grid-template-rows:56px 225px 56px;grid-template-areas:'. north .' 'west pitch east' '. south .';gap:5px;background:#d9ddd3;border:1px solid #9ba398;padding:8px}.stand{background:repeating-linear-gradient(90deg,#777 0,#777 7px,#8a8a8a 7px,#8a8a8a 12px);border:2px solid #555;color:#fff;text-shadow:0 1px #000;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px}.stand span{font-weight:bold}.north{grid-area:north}.south{grid-area:south}.west{grid-area:west}.east{grid-area:east}.stadium-pitch{grid-area:pitch;position:relative;background:repeating-linear-gradient(0deg,#579f35 0,#579f35 35px,#4e9630 35px,#4e9630 70px);border:2px solid #fff;box-shadow:0 0 0 1px #608452}.stadium-pitch:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #fff}.stadium-pitch:after{content:'';position:absolute;width:50px;height:50px;border:1px solid #fff;border-radius:50%;left:calc(50% - 25px);top:calc(50% - 25px)}.stadium-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:9px;border:1px solid #d0d2ca}.stadium-facts div{padding:7px;text-align:center;border-right:1px solid #ddd}.stadium-facts div:last-child{border:0}.stadium-facts span{display:block;color:#777;font-size:10px;text-transform:uppercase}.stadium-facts b{color:#416627;font:17px Georgia,serif}.stadium-upgrade{margin-top:10px;padding-top:9px;border-top:1px solid #ddd}.stadium-upgrade p{font-size:11px;color:#666}.finance-boxes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.finance-boxes .metric{min-height:78px}
@media(max-width:800px){.player-profile-grid,.training-layout,.stadium-layout{grid-template-columns:1fr}.transfer-summary{grid-template-columns:1fr 1fr}.training-player{grid-template-columns:24px 1fr}.training-current{grid-column:2;text-align:left}.stadium-visual{grid-template-columns:58px 1fr 58px}.skill-grid{grid-template-columns:1fr}}

/* classic 2D match viewer */
.match-viewer{padding:0;overflow:hidden}.viewer-scorebar{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;background:linear-gradient(#f6f2dc,#ded6ad);border-bottom:1px solid #aaa17c;min-height:62px}.viewer-team{font:bold 18px Georgia,'Times New Roman',serif;padding:10px 16px;color:#33472a}.viewer-team.home-team{text-align:right}.viewer-team.away-team{text-align:left}.viewer-center{text-align:center;border-left:1px solid #c8c09c;border-right:1px solid #c8c09c;padding:6px}.viewer-center b{display:block;font:bold 25px Georgia,serif;color:#315a22}.viewer-center span{display:block;font-size:12px;color:#666;margin-top:2px}.viewer-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:10px;padding:10px;background:#eceee8}.canvas-wrap{position:relative;background:#183d20;border:1px solid #405b45;padding:6px;box-shadow:inset 0 0 0 1px #ffffff24}.canvas-wrap canvas{display:block;width:100%;height:auto;image-rendering:auto;background:#1d4d25;border:1px solid #163e1a}.match-hud{display:flex;justify-content:space-between;gap:12px;min-height:31px;padding:6px 8px;background:#263523;color:#e8eee4;font-size:11px;border-top:1px solid #142414}.match-hud #matchStatus{text-align:right;color:#f6e8a6}.match-controls{display:flex;gap:5px;flex-wrap:wrap;padding:7px 0 0}.match-controls button{padding:5px 10px}.match-controls button.active{background:#d8c87b;color:#28321f;border-color:#8b7c36}.pitch-legend{font-size:10px;color:#62675e;margin:6px 2px}.kit-dot{display:inline-block;width:9px;height:9px;border:1px solid #222;margin:0 3px 0 9px;vertical-align:-1px}.kit-dot:first-child{margin-left:0}.kit-dot.home{background:#245aa8}.kit-dot.away{background:#b83232}.replay-log{height:420px;max-height:420px;background:#fbfbf6}.replay-log .event{transition:background .15s,border-color .15s}.replay-log .event.active-event{background:#fff1aa;border-left:4px solid #a17f11;padding-left:6px}.replay-info{margin-top:8px;padding:8px;background:#f5f1dc;border:1px solid #d0c79e;color:#67604a;font-size:10px;line-height:1.45}.goal-flash{animation:goalFlash .65s linear}@keyframes goalFlash{0%,100%{filter:none}25%,75%{filter:brightness(1.55)}50%{filter:brightness(.75)}}
@media(max-width:980px){.viewer-grid{grid-template-columns:1fr}.replay-log{height:220px;max-height:220px}.viewer-scorebar{grid-template-columns:1fr 105px 1fr}.viewer-team{font-size:14px;padding:8px}.match-hud{display:block}.match-hud #matchStatus{display:block;text-align:left;margin-top:3px}}
@media(max-width:620px){.viewer-scorebar{grid-template-columns:1fr}.viewer-team{text-align:center!important}.viewer-center{order:-1;border:0;border-bottom:1px solid #c8c09c}.match-controls button{flex:1 1 auto}.canvas-wrap{padding:2px}}
.match-live-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px;padding:6px 8px;background:#dfe4d7;border:1px solid #aab3a1;font-size:10px;text-align:center;color:#4f5949}.match-live-stats span{border-right:1px solid #b8c0b1}.match-live-stats span:last-child{border-right:0}.match-live-stats b{display:block;margin-top:2px;font-size:12px;color:#2f4728}.canvas-wrap{overflow:hidden}.canvas-wrap canvas{filter:saturate(.95) contrast(1.03)}
@media(max-width:620px){.match-live-stats{grid-template-columns:1fr 1fr 1fr;font-size:9px}}


/* V6 — mobile browsers, tactics and 25k transfer market */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button,input,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.top-tabs,.nav,.table-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.table-wrap{overscroll-behavior-x:contain}.content{overflow-wrap:anywhere}.pitch-slot{position:absolute;transform:translate(-50%,-50%);min-width:48px;text-align:center;border:1px dashed #e9f1df;background:#245d2388;color:#fff;border-radius:10px;padding:4px;font-size:10px}.pitch-player.natural{outline:2px solid #bde98e}.pitch-player.acceptable{outline:2px solid #f0d26b}.pitch-player.out-of-position{outline:2px solid #e96f63}.pitch-player span{font-size:9px;opacity:.92}.market-pool{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}.market-pool span{background:#f2f4ed;border:1px solid #cbd0c4;padding:5px 8px;font-size:11px}.market-status{padding:4px 1px 8px}.market-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}.market-pagination span{min-width:80px;text-align:center;font-weight:bold}.transfer-filters{grid-template-columns:minmax(180px,1.5fr) minmax(135px,.9fr) minmax(110px,.7fr) minmax(155px,1fr) minmax(140px,.9fr)}
@media(max-width:900px){.transfer-filters{grid-template-columns:1fr 1fr}.shell{min-height:100svh}.top-tabs{position:sticky;top:0;z-index:40;box-shadow:0 2px 5px #0002}.sidebar{padding:6px 5px 8px}.nav button{min-height:40px}.content{padding-bottom:max(18px,env(safe-area-inset-bottom))}.classic-modal{padding:12px env(safe-area-inset-right) max(12px,env(safe-area-inset-bottom)) env(safe-area-inset-left)}}
@media(max-width:620px){body{font-size:12px;background:#fff}.masthead{padding:9px 10px;min-height:54px}.logo{font-size:20px;letter-spacing:-1px}.top-tabs{padding:0 3px}.top-tabs button{min-height:42px;padding:8px 11px}.nav button{min-height:42px;padding:8px 10px}.content{padding:8px 7px 18px}.topline{gap:7px;margin-bottom:9px}.topline h1{font-size:20px}.card,.metric,.club-card,.tip{padding:9px}.card>h2:first-child,.card>h3:first-child{margin:-9px -9px 8px}.actions button,.row-actions button{min-height:42px;flex:1 1 135px}input,select{font-size:16px;min-height:43px;padding:8px}button{min-height:42px}.transfer-filters{grid-template-columns:1fr;gap:5px}.transfer-summary{grid-template-columns:1fr 1fr}.transfer-summary span{padding:6px}.market-pool{display:grid;grid-template-columns:1fr 1fr}.table-wrap{max-width:100vw;margin-left:0;margin-right:0}.transfer-table{min-width:860px}.tactics-layout{gap:8px}.pitch-panel{padding:5px}.pitch{width:min(100%,350px);max-height:none}.pitch-player{min-width:56px;font-size:9px;padding:3px 4px}.pitch-player span{font-size:8px}.lineup-list{gap:4px}.check-player{min-height:50px;padding:6px}.classic-modal{padding:0}.classic-modal-box{min-height:100dvh;margin:0;border:0;padding:12px 9px 20px}.modal-close{position:sticky;float:right;top:8px}.player-profile-head{padding:8px;gap:9px}.player-shirt{width:48px;height:54px}.stat-strip{grid-template-columns:repeat(3,1fr)}.stat-strip span{border-bottom:1px solid #ddd}.fixture{grid-template-columns:36px minmax(0,1fr) 42px minmax(0,1fr);gap:4px;padding:7px 5px}.fixture .right{overflow:hidden;text-overflow:ellipsis}.fixture button{min-height:38px}.stadium-visual{grid-template-columns:44px 1fr 44px;grid-template-rows:44px 170px 44px;padding:5px}.viewer-grid{padding:5px;gap:6px}.viewer-team{font-size:13px;padding:6px}.viewer-center b{font-size:22px}.match-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.match-controls button{min-width:0;padding:6px 4px}.match-controls #restartMatch{grid-column:1/-1}.replay-log{height:180px;max-height:180px}.match-live-stats{gap:2px;padding:5px 3px}.match-live-stats span{padding:2px}.toast{left:8px;right:8px;top:max(8px,env(safe-area-inset-top));text-align:center}.auth{min-height:100svh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.brand{padding-top:max(15px,env(safe-area-inset-top))}}
@media(max-width:390px){.logo{font-size:18px}.pitch-player{min-width:49px;font-size:8px}.pitch-player span{display:none}.market-pool{grid-template-columns:1fr}.transfer-summary{grid-template-columns:1fr}.viewer-scorebar{font-size:11px}}
@media(hover:none) and (pointer:coarse){button:hover{background:linear-gradient(#f7a43d,#e7820b)}.nav button:hover,.top-tabs button:hover{background:inherit}.player-link{min-height:34px;display:inline-flex;align-items:center}}

/* V7 — ciągły zegar świata / pseudo-live */
.world-clock{white-space:nowrap}.live-callout{border-color:#b85353;background:#fff7f2}.live-callout>h2:first-child{color:#8d2929;background:#f8e2d7;border-bottom-color:#dfb7a6}.live-badge{border-color:#c75b5b;background:#fff0ee;color:#9a2727}.live-callout .score{color:#a32626}
@media(max-width:620px){.world-clock{white-space:normal;text-align:center}.fixture>button,.fixture>.badge,.fixture>.row-actions{grid-column:1/-1;justify-self:stretch;text-align:center}.live-callout .fixture{margin:0 -9px -9px}.topline{flex-wrap:wrap}.topline>.badge{max-width:100%}}
.fixture-time{display:block;margin-top:2px;font:normal 9px Arial,sans-serif;color:#73776d;white-space:nowrap}.match-locked{opacity:.7;cursor:not-allowed}.fixture .score{line-height:1.05}

/* V10 — ręczna obsada pozycji, statystyki ligi i poprawiona orientacja stadionu */
.next-match-clock{min-width:86px;text-align:center;font-variant-numeric:tabular-nums}
.slot-controls{display:grid;gap:5px;margin-top:8px}.position-help{margin-bottom:8px;line-height:1.4}.slot-control{display:grid;grid-template-columns:92px minmax(0,1fr) 86px;gap:7px;align-items:center;border:1px solid #d4d6cf;background:#fafaf7;padding:5px 6px}.slot-control:nth-child(even){background:#f3f3ee}.slot-control.natural{border-left:4px solid #75a64a}.slot-control.acceptable{border-left:4px solid #c9a936}.slot-control.out-of-position{border-left:4px solid #b95249}.slot-role b{display:block;color:#385e24}.slot-role small{display:block;color:#888;font-size:9px;margin-top:1px}.slot-control select{margin:0;min-width:0}.slot-fit{text-align:right;font-size:10px;color:#6a7066}.slot-control.natural .slot-fit{color:#477d2b}.slot-control.acceptable .slot-fit{color:#8f7414}.slot-control.out-of-position .slot-fit{color:#a13d35}
.league-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.league-leader{border:1px solid #c5c9bd;background:linear-gradient(#fafaf4,#eceee6);padding:8px 9px;min-height:68px}.league-leader>span{display:block;color:#777;font-size:9px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.league-leader>b{display:block;color:#385f25;font:16px Georgia,'Times New Roman',serif;line-height:1.1}.league-leader>small{display:block;color:#666;margin-top:4px;line-height:1.25}.promotion-card{border-color:#9fbd83;background:linear-gradient(#f3f9ed,#e1efd5)}.promotion-row{background:#edf7e5!important}.promotion-row td:first-child{color:#4d812d;font-weight:bold}
/* boisko stadionowe jest teraz w prawidłowej orientacji: bramki po lewej i prawej, linia środkowa pionowo */
.stadium-visual{grid-template-columns:72px minmax(230px,1fr) 72px;grid-template-rows:50px 190px 50px}.stadium-pitch{position:relative;background:repeating-linear-gradient(90deg,#579f35 0,#579f35 42px,#4e9630 42px,#4e9630 84px);border:2px solid #fff;box-shadow:0 0 0 1px #608452;overflow:visible}.stadium-pitch:before,.stadium-pitch:after{content:none}.stadium-halfway{position:absolute;top:0;bottom:0;left:50%;border-left:1px solid #fff}.stadium-circle{position:absolute;width:50px;height:50px;border:1px solid #fff;border-radius:50%;left:calc(50% - 25px);top:calc(50% - 25px)}.stadium-circle:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;left:23px;top:23px}.stadium-box{position:absolute;top:22%;width:18%;height:56%;border:1px solid #fff}.stadium-box.left{left:-1px;border-left:0}.stadium-box.right{right:-1px;border-right:0}.stadium-six{position:absolute;top:34%;width:7%;height:32%;border:1px solid #fff}.stadium-six.left{left:-1px;border-left:0}.stadium-six.right{right:-1px;border-right:0}.stadium-goal{position:absolute;top:39%;width:7px;height:22%;border:2px solid #ddd;background:#ffffff30}.stadium-goal.left{left:-9px}.stadium-goal.right{right:-9px}
@media(max-width:900px){.league-summary{grid-template-columns:1fr 1fr}.slot-control{grid-template-columns:78px minmax(0,1fr) 74px}.stadium-visual{grid-template-columns:56px minmax(190px,1fr) 56px;grid-template-rows:44px 165px 44px}}
@media(max-width:620px){.league-summary{grid-template-columns:1fr}.slot-control{grid-template-columns:70px minmax(0,1fr);gap:5px}.slot-fit{grid-column:2;text-align:left}.stadium-visual{grid-template-columns:42px minmax(180px,1fr) 42px;grid-template-rows:40px 145px 40px}.stadium-goal{width:5px}.stadium-goal.left{left:-7px}.stadium-goal.right{right:-7px}}


/* V11 — okno transferowe i aukcje */
.transfer-window-mini{margin-left:auto;background:#f2c230;color:#281f00;border:1px solid #9e7d08;padding:6px 10px;font-weight:800;font-size:11px;letter-spacing:.35px;box-shadow:inset 0 1px #fff7}
.transfer-window-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:11px 13px;margin:0 0 11px;border:1px solid;font-size:12px}
.transfer-window-banner b{font-size:13px}.transfer-window-banner.open{background:#eef7df;border-color:#7ca34f;color:#315615}.transfer-window-banner.closed{background:#f2f0ea;border-color:#aaa59a;color:#625e55}
.auction-leading{display:inline-block;margin-top:2px;padding:2px 5px;background:#e8f5d8;border:1px solid #8cad61;color:#315b13;font-weight:bold;font-size:10px}
@media(max-width:700px){.transfer-window-mini{display:none}.transfer-window-banner{display:block}.transfer-window-banner span{display:block;margin-top:5px}}

.world-break{background:#fff1c7!important;border-color:#c58a12!important;color:#6b4700!important;box-shadow:inset 0 1px rgba(255,255,255,.8)}

/* V11.4 — widoczny znacznik wdrożonego frontendu */
.build-version{display:inline-block;margin-left:7px;padding:1px 5px;border:1px solid rgba(255,255,255,.38);font-size:8px;line-height:1.1;vertical-align:middle;letter-spacing:.35px;opacity:.82;border-radius:2px;background:rgba(255,255,255,.08)}
/* V11.7 — rozszerzone filtry rynku */
.transfer-filters.advanced{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end}
.transfer-filters.advanced .tf-wide{grid-column:span 2}
.tf-field{display:flex;flex-direction:column;gap:3px;margin:0}
.tf-field>span{font-size:10px;color:#5c6257;font-weight:bold;text-transform:uppercase;letter-spacing:.02em}
.tf-reset{align-self:end;min-height:39px}
.auction-price{color:#244f12;font-size:13px}
@media(max-width:1000px){.transfer-filters.advanced{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:760px){.transfer-filters.advanced{grid-template-columns:1fr 1fr}.transfer-filters.advanced .tf-wide{grid-column:1/-1}}
@media(max-width:520px){.transfer-filters.advanced{grid-template-columns:1fr}.transfer-filters.advanced .tf-wide{grid-column:auto}}

/* V11.9 FAST: natychmiastowy feedback przy zmianie zakładki */
.view-loading{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted,#8f9aaa)}
.view-loading b{color:inherit;font-size:16px}.view-loading span{font-size:13px;opacity:.8}
.view-spinner{width:34px;height:34px;border:3px solid rgba(127,127,127,.25);border-top-color:currentColor;border-radius:50%;animation:fmoSpin .7s linear infinite}
@keyframes fmoSpin{to{transform:rotate(360deg)}}

/* V20 2D ENGINE */
.canvas-wrap canvas{border-color:#102d17;image-rendering:auto}.match-viewer .canvas-wrap{background:linear-gradient(#1c4a25,#173d1f)}

/* V20.4 stadium build */
.modern-stadium{background:#d8ddd1;border-radius:10px;overflow:hidden}
.stadium-card .stand{position:relative;overflow:hidden;min-height:58px;border-radius:8px;border:2px solid #555;background:linear-gradient(180deg,#7e8084 0,#6a6d72 100%);padding:6px 4px 20px}
.stadium-card .stand b{font-size:11px}.stadium-card .stand span{font-size:12px}.stadium-card .stand small{font-size:9px;opacity:.9}
.stadium-card .stand.building{outline:3px solid #f7bf39;background:linear-gradient(180deg,#8c7c4b 0,#72613f 100%)}
.stadium-card .stand em{position:absolute;left:4px;right:4px;bottom:3px;font-size:9px;font-style:normal;background:#f7bf39;color:#3f2d00;border-radius:999px;padding:1px 4px}
.stand-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.stand-select{cursor:pointer;text-align:left;color:#fff}.stand-select.selected{outline:3px solid #4d7dff}.stand-select:disabled{opacity:.95;cursor:default}
.stand-meter{position:absolute;right:6px;bottom:6px;width:12px;height:72%;border-radius:999px;background:#ffffff2a;border:1px solid #ffffff33;overflow:hidden}.stand-meter i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#d9f08d 0,#8acb5c 100%);display:block;border-radius:999px}
.stadium-upgrade .progress{height:12px;background:#e6e7e1;border-radius:999px;overflow:hidden;margin:8px 0 6px;border:1px solid #d2d3ce}.stadium-upgrade .progress i{display:block;height:100%;background:linear-gradient(90deg,#e1a61f 0,#f2d063 100%)}
.construction-status{background:#f7f1d9;border:1px solid #ebdfaa;border-radius:10px;padding:10px}
.stadium-center-dot,.stadium-penalty-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff}.stadium-center-dot{left:calc(50% - 2px);top:calc(50% - 2px)}.stadium-penalty-dot.left{left:11%;top:calc(50% - 2px)}.stadium-penalty-dot.right{right:11%;top:calc(50% - 2px)}
@media(max-width:620px){.stand-selector{grid-template-columns:1fr}.stadium-card .stand{min-height:52px}.stadium-card .stand small{display:none}}

/* V20.6 stadium visual fix */
.simple-stadium-wrap{background:#e3e6de;border:1px solid #c7ccbf;border-radius:14px;padding:10px}
.simple-middle{display:grid;grid-template-columns:64px 1fr 64px;gap:8px;align-items:stretch}
.simple-pitch{min-height:250px;border-radius:8px;overflow:hidden}
.simple-tribune{display:none;background:linear-gradient(180deg,#7a7d84 0,#666972 100%);border:2px solid #595c63;border-radius:10px;color:#fff;text-shadow:0 1px #000;position:relative;padding:6px 6px 18px;box-shadow:inset 0 1px 0 #ffffff22}
.simple-tribune.visible{display:block}
.simple-tribune.building{outline:3px solid #f4bd35}
.simple-tribune.north,.simple-tribune.south{margin-bottom:8px}
.simple-tribune.south{margin-top:8px;margin-bottom:0}
.tribune-name{text-align:center;font-weight:bold;font-size:12px;margin-bottom:6px}
.tribune-count{text-align:center;font-size:12px;font-weight:bold;position:absolute;left:0;right:0;bottom:4px}
.tribune-seats{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-content:flex-start;min-height:28px}
.tribune-seats.vertical{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;align-content:start;padding-top:2px}
.seat{display:inline-block;width:12px;height:8px;border-radius:3px 3px 2px 2px;background:linear-gradient(180deg,#dbe7ff 0,#94b0ff 100%);box-shadow:0 1px 0 #fff6 inset,0 0 0 1px #5770ba}.vertical .seat{width:100%;height:10px}
.stand-empty{font-size:10px;opacity:.72}
.tribune-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.tribune-option{border:2px solid #7e8189;background:#6d7179;color:#fff;border-radius:10px;padding:10px 8px;cursor:pointer;text-align:center}.tribune-option b{display:block;margin-bottom:3px}.tribune-option span,.tribune-option small{display:block;font-size:11px}.tribune-option.selected{outline:3px solid #4d7dff}.tribune-option.building{outline:3px solid #f4bd35}.tribune-option:disabled{cursor:default;opacity:.95}
@media(max-width:620px){.simple-middle{grid-template-columns:46px 1fr 46px;gap:5px}.simple-pitch{min-height:190px}.seat{width:10px;height:7px}.tribune-options{grid-template-columns:1fr}.tribune-name{font-size:11px}}

/* =========================================================
   V20.10 — STABLE STADIUM EVOLUTION
   Desktop poza stadionem pozostaje taki jak w V20.7.
   ========================================================= */
.stadium-stage-badge{display:inline-block;margin:-2px 0 8px;padding:3px 8px;border:1px solid #9eaa93;background:#edf2e8;color:#4b6740;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.35px}
.stadium-evolution{position:relative;background:linear-gradient(#d7dccf,#cfd6c8);border:1px solid #aeb7a7;border-radius:10px;padding:10px;overflow:hidden}
.stadium-evo-middle{display:grid;grid-template-columns:64px minmax(250px,1fr) 64px;gap:7px;align-items:stretch}
.evo-pitch{min-height:230px;border-radius:4px;overflow:visible;background:repeating-linear-gradient(90deg,#509b33 0,#509b33 46px,#48912d 46px,#48912d 92px);box-shadow:0 0 0 1px #527b49}
.pitch-benches{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);display:flex;gap:20px}.pitch-benches i{display:block;width:26px;height:6px;background:#d7d9d1;border:1px solid #73786f;border-radius:2px}
.stadium-evo-stand{display:none;position:relative;min-width:0;color:#fff;text-shadow:0 1px #000}
.stadium-evo-stand.visible{display:block}
.stadium-evo-stand.north,.stadium-evo-stand.south{margin-left:72px;margin-right:72px;height:44px}
.stadium-evo-stand.north{margin-bottom:7px}.stadium-evo-stand.south{margin-top:7px}
.stadium-evo-stand.west,.stadium-evo-stand.east{width:64px}
.stand-shell{position:relative;width:100%;height:100%;min-height:28px;background:linear-gradient(#777b82,#61656b);border:1px solid #4d5157;border-radius:5px;overflow:hidden;box-shadow:inset 0 1px #ffffff2b}
.stand-label{position:absolute;z-index:4;left:3px;right:3px;top:3px;text-align:center;font-size:8px;line-height:1.1}.stand-label b{display:block;font-size:9px;margin-top:1px}
.seat-rows{position:absolute;z-index:2;left:4px;right:4px;bottom:4px;display:grid;gap:2px}.seat-row{display:flex;justify-content:center;gap:2px}.seat-row i{display:block;width:6px;height:4px;border-radius:2px 2px 1px 1px;background:linear-gradient(#d9e7ff,#8bacf3);box-shadow:0 0 0 1px #5571a8}
.stadium-evo-stand.west .seat-rows,.stadium-evo-stand.east .seat-rows{top:20px;bottom:5px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.stadium-evo-stand.west .seat-row,.stadium-evo-stand.east .seat-row{display:grid;grid-template-columns:repeat(2,7px);gap:2px;justify-content:center}.stadium-evo-stand.west .seat-row i,.stadium-evo-stand.east .seat-row i{width:7px;height:5px}
.stadium-evo-stand.tiny.north,.stadium-evo-stand.tiny.south{height:34px;margin-left:24%;margin-right:24%}.stadium-evo-stand.tiny.west,.stadium-evo-stand.tiny.east{width:42px;align-self:center;height:42%}
.stadium-evo-stand.small.north,.stadium-evo-stand.small.south{height:42px;margin-left:14%;margin-right:14%}.stadium-evo-stand.small.west,.stadium-evo-stand.small.east{width:52px;align-self:center;height:68%}
.stadium-evo-stand.medium.north,.stadium-evo-stand.medium.south{height:52px;margin-left:6%;margin-right:6%}.stadium-evo-stand.medium.west,.stadium-evo-stand.medium.east{width:64px;height:86%;align-self:center}
.stadium-evo-stand.large.north,.stadium-evo-stand.large.south{height:62px;margin-left:0;margin-right:0}.stadium-evo-stand.large.west,.stadium-evo-stand.large.east{width:72px;height:100%}
.stand-roof{display:none;position:absolute;z-index:5;left:-2px;right:-2px;top:-1px;height:7px;background:linear-gradient(#49515a,#252b31);border-bottom:1px solid #111;box-shadow:0 3px 4px #0005}.roofed .stand-roof{display:block}.roofed .stand-label{top:9px}
.stadium-evo-stand.building .stand-shell{outline:3px solid #e6a623;outline-offset:1px}.scaffold{position:absolute;z-index:6;inset:0;background:repeating-linear-gradient(90deg,transparent 0 14px,#e5b14f55 14px 16px),repeating-linear-gradient(0deg,transparent 0 12px,#e5b14f44 12px 14px);pointer-events:none}.scaffold i{position:absolute;width:5px;height:5px;background:#f3c35e;border-radius:50%}.scaffold i:nth-child(1){left:6px;top:6px}.scaffold i:nth-child(2){right:6px;top:6px}.scaffold i:nth-child(3){left:6px;bottom:6px}.scaffold i:nth-child(4){right:6px;bottom:6px}
.floodlight{position:absolute;z-index:8;width:4px;height:42px;background:#535a55;border-radius:2px;box-shadow:0 0 0 1px #343934}.floodlight:after{content:'';position:absolute;top:-6px;left:-5px;width:14px;height:7px;background:#e8e7ce;border:1px solid #686c61;box-shadow:0 0 8px #fff8c4}.fl1{left:7px;top:18px}.fl2{right:7px;top:18px}.fl3{left:7px;bottom:18px}.fl4{right:7px;bottom:18px}
.stadium-evolution.elite{background:linear-gradient(#c9cfca,#bfc7bf)}.stadium-evolution.elite .stand-shell{background:linear-gradient(#626a72,#42484e)}
.stadium-build-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:9px 0}.stadium-build-option{background:linear-gradient(#80848a,#696d73);border:2px solid #5c6065;color:#fff;text-shadow:0 1px #000;padding:8px;border-radius:5px}.stadium-build-option b,.stadium-build-option span,.stadium-build-option small{display:block}.stadium-build-option span{font-size:10px;margin-top:2px}.stadium-build-option.selected{outline:3px solid #5686f0}.stadium-build-option.building{outline:3px solid #e7aa2e}.stadium-build-option:disabled{opacity:.95}

/* =========================================================
   V20.10 — MOBILE UI
   Wszystko jest ograniczone klasą html.mobile-ui.
   ========================================================= */
html.mobile-ui{background:#fff;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.mobile-ui body{background:#fff;font-size:13px;overflow-x:hidden;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}
html.mobile-ui .shell{width:100%;margin:0;min-height:100svh;border:0;box-shadow:none;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr;grid-template-areas:'mast' 'tabs' 'side' 'main'}
html.mobile-ui .masthead{min-height:58px;padding:max(9px,env(safe-area-inset-top)) 10px 9px;gap:8px;align-items:center}
html.mobile-ui .logo{gap:7px;font-size:20px;line-height:1.05;letter-spacing:-.8px;min-width:0}html.mobile-ui .logo-emblem{width:26px;height:26px;flex-basis:26px}html.mobile-ui .logo-sub{font-size:8px;letter-spacing:.1em}html.mobile-ui .build-version{font-size:7px;margin-left:3px;padding:1px 3px}
html.mobile-ui .club-id{max-width:42%;font-size:10px;line-height:1.25}html.mobile-ui .club-id b{font-size:11px}html.mobile-ui .club-id small{display:none}
html.mobile-ui .transfer-window-mini{display:none}
html.mobile-ui .top-tabs{position:sticky;top:0;z-index:60;padding:0 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;box-shadow:0 2px 5px #0002}html.mobile-ui .top-tabs::-webkit-scrollbar,html.mobile-ui .nav::-webkit-scrollbar{display:none}
html.mobile-ui .top-tabs button{min-height:44px;padding:8px 12px;flex:0 0 auto}
html.mobile-ui .sidebar{padding:4px 4px 5px;border-right:0;border-bottom:1px solid #bbb}html.mobile-ui .sidebar-title{display:none}html.mobile-ui .nav{display:flex;overflow-x:auto;gap:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}html.mobile-ui .nav button{width:auto;min-height:42px;flex:0 0 auto;white-space:nowrap;padding:7px 10px;border-right:1px solid #d1d3cc;border-bottom:0}html.mobile-ui .userbox{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 4px 0;padding:5px 4px 0;font-size:10px}html.mobile-ui .userbox button{min-height:36px;padding:5px 9px;margin-top:0!important}
html.mobile-ui .content{padding:8px 7px max(20px,env(safe-area-inset-bottom));min-width:0;overflow:hidden}
html.mobile-ui h1{font-size:20px}html.mobile-ui h2{font-size:17px}html.mobile-ui .topline{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}html.mobile-ui .topline>div{min-width:0;flex:1 1 180px}html.mobile-ui .topline>.badge{max-width:100%;white-space:normal}
html.mobile-ui .card,html.mobile-ui .metric,html.mobile-ui .club-card,html.mobile-ui .tip{padding:9px}html.mobile-ui .card>h2:first-child,html.mobile-ui .card>h3:first-child{margin:-9px -9px 8px;padding:7px 8px}
html.mobile-ui .grid,html.mobile-ui .split,html.mobile-ui .club-grid,html.mobile-ui .auth-grid,html.mobile-ui .lineup-list,html.mobile-ui .stadium-layout{grid-template-columns:1fr}
html.mobile-ui .grid{gap:6px}html.mobile-ui .metric{min-width:0}html.mobile-ui .metric b{font-size:18px}
html.mobile-ui button{min-height:44px}html.mobile-ui input,html.mobile-ui select{min-height:44px;font-size:16px;padding:8px}
html.mobile-ui .actions button,html.mobile-ui .row-actions button{flex:1 1 130px;min-height:44px}
html.mobile-ui .auth{width:100%;margin:0;border:0;box-shadow:none;min-height:100svh;padding:0 10px max(20px,env(safe-area-inset-bottom))}html.mobile-ui .brand{font-size:24px;padding-top:max(14px,env(safe-area-inset-top))}html.mobile-ui .brand-emblem{width:42px;height:42px;flex-basis:42px}html.mobile-ui .brand-name{font-size:24px}html.mobile-ui .brand-sub{font-size:10px;letter-spacing:.12em}
html.mobile-ui .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}html.mobile-ui table{min-width:680px}html.mobile-ui .transfer-table{min-width:860px}
html.mobile-ui .transfer-filters,html.mobile-ui .transfer-filters.advanced{grid-template-columns:1fr}html.mobile-ui .transfer-filters.advanced .tf-wide{grid-column:auto}html.mobile-ui .transfer-summary{grid-template-columns:1fr 1fr}
html.mobile-ui .fixture{grid-template-columns:36px minmax(0,1fr) 44px minmax(0,1fr);gap:4px;padding:7px 5px}html.mobile-ui .fixture .right,html.mobile-ui .fixture>div{min-width:0;overflow:hidden;text-overflow:ellipsis}html.mobile-ui .fixture>button,html.mobile-ui .fixture>.badge,html.mobile-ui .fixture>.row-actions{grid-column:1/-1;width:100%;justify-self:stretch;text-align:center}
html.mobile-ui .tactics-layout{grid-template-columns:1fr;gap:7px}html.mobile-ui .pitch-panel{padding:5px}html.mobile-ui .pitch{width:min(100%,360px);max-height:none}html.mobile-ui .pitch-player{min-width:54px;font-size:9px;padding:3px 4px}html.mobile-ui .slot-control{grid-template-columns:68px minmax(0,1fr);gap:5px}html.mobile-ui .slot-fit{grid-column:2;text-align:left}
html.mobile-ui .classic-modal{padding:0}html.mobile-ui .classic-modal-box{width:100%;min-height:100svh;margin:0;border:0;padding:12px 8px max(20px,env(safe-area-inset-bottom));box-shadow:none}html.mobile-ui .modal-close{position:sticky;float:right;top:max(6px,env(safe-area-inset-top));z-index:8}html.mobile-ui .player-profile-grid,html.mobile-ui .training-layout{grid-template-columns:1fr}html.mobile-ui .skill-grid{grid-template-columns:1fr}html.mobile-ui .stat-strip{grid-template-columns:repeat(3,1fr)}
html.mobile-ui .viewer-scorebar{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);min-height:52px}html.mobile-ui .viewer-team{font-size:11px;padding:6px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html.mobile-ui .viewer-team.home-team{text-align:right!important}html.mobile-ui .viewer-team.away-team{text-align:left!important}html.mobile-ui .viewer-center{order:initial;border-left:1px solid #c8c09c;border-right:1px solid #c8c09c;border-bottom:0;padding:4px 2px}html.mobile-ui .viewer-center b{font-size:20px}html.mobile-ui .viewer-center span{font-size:10px}
html.mobile-ui .viewer-grid{grid-template-columns:1fr;padding:4px;gap:5px}html.mobile-ui .canvas-wrap{padding:2px}html.mobile-ui .canvas-wrap canvas{width:100%;height:auto}html.mobile-ui .match-hud{padding:5px 6px;font-size:10px;display:block}html.mobile-ui .match-hud #matchStatus{display:block;text-align:left;margin-top:2px}html.mobile-ui .match-live-stats{grid-template-columns:repeat(3,1fr);gap:2px;padding:4px 2px;font-size:9px}html.mobile-ui .match-live-stats span{padding:2px}html.mobile-ui .match-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}html.mobile-ui .match-controls button{min-width:0;padding:5px 3px}html.mobile-ui .match-controls #restartMatch{grid-column:1/-1}html.mobile-ui .replay-log{height:170px;max-height:170px}
html.mobile-ui .stadium-evolution{padding:6px;border-radius:7px}html.mobile-ui .stadium-evo-middle{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px}html.mobile-ui .evo-pitch{min-height:185px}html.mobile-ui .stadium-evo-stand.north,html.mobile-ui .stadium-evo-stand.south{margin-left:42px;margin-right:42px}html.mobile-ui .stadium-evo-stand.tiny.north,html.mobile-ui .stadium-evo-stand.tiny.south{margin-left:26%;margin-right:26%;height:30px}html.mobile-ui .stadium-evo-stand.small.north,html.mobile-ui .stadium-evo-stand.small.south{height:36px}html.mobile-ui .stadium-evo-stand.medium.north,html.mobile-ui .stadium-evo-stand.medium.south{height:42px}html.mobile-ui .stadium-evo-stand.large.north,html.mobile-ui .stadium-evo-stand.large.south{height:48px}html.mobile-ui .stadium-evo-stand.west,html.mobile-ui .stadium-evo-stand.east{width:38px}html.mobile-ui .stand-label{font-size:7px}html.mobile-ui .stand-label b{font-size:8px}html.mobile-ui .seat-row{gap:1px}html.mobile-ui .seat-row i{width:4px;height:3px}html.mobile-ui .stadium-build-options{grid-template-columns:1fr 1fr;gap:5px}html.mobile-ui .stadium-build-option{min-height:54px;padding:6px}html.mobile-ui .floodlight{height:28px}
html.mobile-ui .toast{left:8px;right:8px;top:max(8px,env(safe-area-inset-top));text-align:center}
@media (orientation:landscape) and (min-width:600px){html.mobile-ui .masthead{min-height:46px;padding-top:max(5px,env(safe-area-inset-top));padding-bottom:5px}html.mobile-ui .logo{font-size:18px}html.mobile-ui .viewer-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:start}html.mobile-ui .replay-log{height:300px;max-height:300px}html.mobile-ui .canvas-wrap canvas{max-height:72svh;object-fit:contain}html.mobile-ui .match-live-stats{grid-template-columns:repeat(5,1fr)}html.mobile-ui .stadium-layout{grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr)}}
@media (max-width:390px){html.mobile-ui .logo{font-size:18px}html.mobile-ui .club-id{display:none}html.mobile-ui .viewer-scorebar{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)}html.mobile-ui .viewer-team{font-size:10px}html.mobile-ui .stadium-build-options{grid-template-columns:1fr}html.mobile-ui .stadium-evo-middle{grid-template-columns:32px minmax(0,1fr) 32px}html.mobile-ui .stadium-evo-stand.west,html.mobile-ui .stadium-evo-stand.east{width:32px}html.mobile-ui .evo-pitch{min-height:170px}}

/* =========================================================
   V21 — MOBILE SCROLL / VIEWPORT FIX
   Desktop nie jest zmieniany. Ta sekcja naprawia tylko mobile-ui.
   ========================================================= */
html.mobile-ui{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:auto !important;
  overscroll-behavior:auto;
}
html.mobile-ui body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:auto !important;
  touch-action:pan-x pan-y;
}
html.mobile-ui #app,
html.mobile-ui .shell,
html.mobile-ui .content{
  width:100%;
  max-width:100%;
  min-width:0;
}
html.mobile-ui .shell{
  overflow:visible !important;
}
html.mobile-ui .content{
  overflow:visible !important;
  contain:none;
}
html.mobile-ui .content > *,
html.mobile-ui .card,
html.mobile-ui .section,
html.mobile-ui .grid,
html.mobile-ui .split,
html.mobile-ui .topline,
html.mobile-ui .tactics-layout,
html.mobile-ui .stadium-layout,
html.mobile-ui .match-viewer,
html.mobile-ui .viewer-grid,
html.mobile-ui .canvas-wrap{
  min-width:0;
  max-width:100%;
}
html.mobile-ui .top-tabs,
html.mobile-ui .nav,
html.mobile-ui .table-wrap{
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
}
html.mobile-ui .top-tabs,
html.mobile-ui .nav{
  overflow-x:auto !important;
  overflow-y:hidden;
  max-width:100vw;
}
html.mobile-ui .table-wrap{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:visible !important;
  overscroll-behavior-x:auto;
}
html.mobile-ui .table-wrap table{
  width:max-content;
  min-width:100%;
}
html.mobile-ui .match-viewer{
  overflow:visible !important;
}
html.mobile-ui .viewer-grid > *,
html.mobile-ui .viewer-scorebar > *{
  min-width:0;
}
html.mobile-ui .canvas-wrap{
  width:100%;
  overflow:hidden;
}
html.mobile-ui .canvas-wrap canvas{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
}
html.mobile-ui .stadium-evolution,
html.mobile-ui .stadium-evo-middle,
html.mobile-ui .evo-pitch{
  width:100%;
  max-width:100%;
  min-width:0;
}
html.mobile-ui .classic-modal.open{
  overflow-x:auto !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}
html.mobile-ui .classic-modal-box{
  max-width:100%;
  overflow:visible;
}
@media (max-width:620px){
  html.mobile-ui .content{padding-left:6px;padding-right:6px}
  html.mobile-ui .table-wrap{margin-left:0;margin-right:0}
  html.mobile-ui .viewer-grid{width:100%}
  html.mobile-ui .viewer-scorebar{width:100%}
  html.mobile-ui .stadium-card{overflow:visible}
}

/* V21 stadium professional pitch refinement */
.stadium-stage-badge{display:inline-block;margin:2px 0 10px;padding:3px 8px;border:1px solid #8b8f73;background:#ecead9;color:#526332;font:700 11px/1.2 Arial;text-transform:uppercase;letter-spacing:.06em}
.stadium-pro{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;grid-template-rows:auto minmax(260px,1fr) auto;grid-template-areas:'north north north' 'west pitch east' 'south south south';gap:8px;padding:12px;border:1px solid #b8beb2;border-radius:12px;background:linear-gradient(180deg,#d7ddd2 0,#cfd5ca 100%);overflow:hidden}
.pitch-wrap{grid-area:pitch;position:relative;z-index:2;min-width:0}
.pro-pitch{position:relative;min-height:260px;border:3px solid rgba(255,255,255,.95);border-radius:4px;background:repeating-linear-gradient(90deg,#5aa133 0,#5aa133 42px,#50982d 42px,#50982d 84px);box-shadow:0 0 0 1px #6f8b57,inset 0 0 0 2px rgba(255,255,255,.08);overflow:visible}
.pro-pitch .pitch-benches{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);display:flex;gap:24px}.pro-pitch .pitch-benches i{display:block;width:44px;height:10px;border:1px solid #6f735f;border-radius:8px;background:linear-gradient(180deg,#b8bca8,#8d927f);box-shadow:0 1px 0 #fff6 inset}
.stadium-corner{position:absolute;width:14px;height:14px;border:1px solid #fff;border-radius:50%}.stadium-corner.tl{left:-7px;top:-7px;clip-path:inset(50% 0 0 50%)}.stadium-corner.tr{right:-7px;top:-7px;clip-path:inset(50% 50% 0 0)}.stadium-corner.bl{left:-7px;bottom:-7px;clip-path:inset(0 0 50% 50%)}.stadium-corner.br{right:-7px;bottom:-7px;clip-path:inset(0 50% 50% 0)}
.pro-stand{position:relative;z-index:3;color:#fff;text-shadow:0 1px 0 #000;display:none}.pro-stand.visible{display:block}.pro-stand.hidden{display:none}.pro-stand.north{grid-area:north;justify-self:center}.pro-stand.south{grid-area:south;justify-self:center}.pro-stand.west{grid-area:west;align-self:center}.pro-stand.east{grid-area:east;align-self:center}
.pro-stand-shell{position:relative;background:linear-gradient(180deg,#7c8088 0,#686d74 100%);border:1px solid #53575d;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff28,0 1px 2px rgba(0,0,0,.15);overflow:hidden}
.pro-stand-roof{display:none;position:absolute;left:4%;right:4%;top:0;height:8px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#50565d,#3d4248)}
.pro-stand.roofed .pro-stand-roof{display:block}
.pro-stand-inner{position:absolute;left:8px;right:8px;top:10px;bottom:18px;display:grid;align-content:end;gap:2px}.pro-stand.roofed .pro-stand-inner{top:14px}
.pro-stand-label{position:absolute;left:8px;right:8px;bottom:4px;text-align:center;font-size:11px;font-weight:700}.pro-stand-label b{font-size:12px}
.pro-stand .seat-row{display:flex;justify-content:center;gap:2px}.pro-stand .seat-row i{display:block;width:7px;height:5px;border-radius:2px 2px 1px 1px;background:linear-gradient(180deg,#ddebff 0,#93b3ff 100%);box-shadow:0 0 0 1px rgba(82,111,171,.95)}
.pro-stand.tiny.north,.pro-stand.tiny.south{width:44%;min-width:190px}.pro-stand.small.north,.pro-stand.small.south{width:58%;min-width:250px}.pro-stand.medium.north,.pro-stand.medium.south{width:72%}.pro-stand.large.north,.pro-stand.large.south{width:86%}.pro-stand.huge.north,.pro-stand.huge.south{width:96%}
.pro-stand.tiny.north .pro-stand-shell,.pro-stand.tiny.south .pro-stand-shell{height:34px}.pro-stand.small.north .pro-stand-shell,.pro-stand.small.south .pro-stand-shell{height:42px}.pro-stand.medium.north .pro-stand-shell,.pro-stand.medium.south .pro-stand-shell{height:52px}.pro-stand.large.north .pro-stand-shell,.pro-stand.large.south .pro-stand-shell{height:62px}.pro-stand.huge.north .pro-stand-shell,.pro-stand.huge.south .pro-stand-shell{height:72px}
.pro-stand.tiny.west .pro-stand-shell,.pro-stand.tiny.east .pro-stand-shell{width:32px;height:42%}.pro-stand.small.west .pro-stand-shell,.pro-stand.small.east .pro-stand-shell{width:40px;height:60%}.pro-stand.medium.west .pro-stand-shell,.pro-stand.medium.east .pro-stand-shell{width:48px;height:76%}.pro-stand.large.west .pro-stand-shell,.pro-stand.large.east .pro-stand-shell{width:58px;height:88%}.pro-stand.huge.west .pro-stand-shell,.pro-stand.huge.east .pro-stand-shell{width:64px;height:100%}
.pro-stand.west .pro-stand-inner,.pro-stand.east .pro-stand-inner{top:12px;bottom:16px;left:6px;right:6px;justify-content:center}.pro-stand.west .seat-row,.pro-stand.east .seat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.pro-stand.west .seat-row i,.pro-stand.east .seat-row i{width:100%;height:6px}
.pro-stand.building .pro-stand-shell{outline:3px solid #e6ac2c;outline-offset:1px}
.pro-scaffold{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(231,181,79,.42) 14px 16px),repeating-linear-gradient(0deg,transparent 0 10px,rgba(231,181,79,.36) 10px 12px);pointer-events:none}
.stadium-pro.local .pro-pitch{min-height:250px}.stadium-pro.small .pro-pitch{min-height:268px}.stadium-pro.regional .pro-pitch{min-height:286px}.stadium-pro.league .pro-pitch,.stadium-pro.elite .pro-pitch{min-height:304px}
.floodlight{position:absolute;z-index:1;width:8px;height:34px;background:linear-gradient(180deg,#d5d7d1,#8c938a);border-radius:3px}.floodlight:after{content:'';position:absolute;left:-8px;top:-7px;width:24px;height:8px;border-radius:4px;background:#f5f4d6;box-shadow:0 0 10px rgba(248,240,179,.45)}.fl1{left:26px;top:18px}.fl2{right:26px;top:18px}.fl3{left:26px;bottom:20px}.fl4{right:26px;bottom:20px}
.stadium-pro.elite{background:linear-gradient(180deg,#cfd4d0 0,#c4cbc4 100%)}.stadium-pro.elite .pro-stand-shell{background:linear-gradient(180deg,#69717a 0,#50565d 100%)}
html.mobile-ui .stadium-pro{grid-template-columns:42px minmax(0,1fr) 42px;gap:5px;padding:8px;border-radius:10px}html.mobile-ui .pro-pitch{min-height:190px}html.mobile-ui .stadium-pro.small .pro-pitch{min-height:204px}html.mobile-ui .stadium-pro.regional .pro-pitch{min-height:214px}html.mobile-ui .stadium-pro.league .pro-pitch,html.mobile-ui .stadium-pro.elite .pro-pitch{min-height:224px}html.mobile-ui .pro-stand-label{font-size:8px;bottom:3px}html.mobile-ui .pro-stand-label b{font-size:9px}html.mobile-ui .pro-stand .seat-row{gap:1px}html.mobile-ui .pro-stand .seat-row i{width:5px;height:4px}html.mobile-ui .pro-stand.tiny.north,html.mobile-ui .pro-stand.tiny.south{min-width:120px}html.mobile-ui .pro-stand.small.north,html.mobile-ui .pro-stand.small.south{min-width:160px}html.mobile-ui .pro-stand.tiny.west .pro-stand-shell,html.mobile-ui .pro-stand.tiny.east .pro-stand-shell{width:24px}html.mobile-ui .pro-stand.small.west .pro-stand-shell,html.mobile-ui .pro-stand.small.east .pro-stand-shell{width:28px}html.mobile-ui .pro-stand.medium.west .pro-stand-shell,html.mobile-ui .pro-stand.medium.east .pro-stand-shell{width:32px}html.mobile-ui .pro-stand.large.west .pro-stand-shell,html.mobile-ui .pro-stand.large.east .pro-stand-shell{width:36px}html.mobile-ui .pro-stand.huge.west .pro-stand-shell,html.mobile-ui .pro-stand.huge.east .pro-stand-shell{width:40px}html.mobile-ui .pitch-benches i{width:28px;height:8px}html.mobile-ui .floodlight{height:24px;width:6px}.floodlight:after{height:7px}
@media (max-width:390px){html.mobile-ui .stadium-pro{grid-template-columns:34px minmax(0,1fr) 34px;padding:6px}html.mobile-ui .pro-pitch{min-height:170px}html.mobile-ui .pro-stand-label{font-size:7px}html.mobile-ui .pro-stand-label b{font-size:8px}}

/* V21 squad grouping + training history cap */
.squad-group-row td{background:#e8eadf!important;color:#4e642f;font:700 12px Georgia,serif;border-top:2px solid #b8c0ac;border-bottom:1px solid #c9cec2;padding:7px 9px!important}.squad-group-row td span{float:right;font:700 10px Arial;color:#72776e;background:#fff;border:1px solid #c8ccc2;border-radius:999px;padding:2px 7px}
.training-history-note{margin:7px 0 0;text-align:right}
html.mobile-ui .squad-group-row td{position:sticky;left:0;z-index:1;min-width:150px}html.mobile-ui .training-history-note{text-align:left}

/* V22 · 2D REALISM CORE — tylko oprawa widoku meczu */
.realism-v22 .canvas-wrap{border-color:#28462f;box-shadow:inset 0 0 0 1px #ffffff18,0 2px 8px #13261924}
.realism-v22 .canvas-wrap canvas{border-color:#0e2b15;filter:saturate(.98) contrast(1.025)}
.realism-v22 .match-hud{background:linear-gradient(180deg,#273a27,#223222);border-top-color:#142617}
.realism-v22 .viewer-center b{letter-spacing:.02em}

/* V22 mobile transfer bid fix */
html.mobile-ui .transfer-table [data-bid],
html.mobile-ui .transfer-table [data-buy-external],
html.mobile-ui .transfer-table [data-cancel]{
  position:relative;
  z-index:3;
  min-width:132px;
  min-height:48px;
  touch-action:none !important;
  -webkit-user-select:none;
  user-select:none;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent;
}
html.mobile-ui .transfer-table td:last-child{
  position:relative;
  min-width:150px;
  padding-left:8px;
  padding-right:8px;
}
.transfer-bid-modal .transfer-bid-box{max-width:420px}
.transfer-bid-box h2{margin-top:0}
.transfer-bid-input{width:100%;font-size:22px!important;font-weight:700;text-align:center;margin:8px 0 14px;box-sizing:border-box}
.transfer-bid-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.transfer-bid-actions button{min-height:48px}
html.mobile-ui .transfer-bid-modal{padding:12px!important;align-items:center;justify-content:center}
html.mobile-ui .transfer-bid-box{min-height:0!important;width:min(100%,420px);margin:auto!important;padding:16px!important;border-radius:12px!important;overflow:visible!important}
html.mobile-ui .transfer-bid-input{min-height:54px!important;font-size:22px!important}
html.mobile-ui .transfer-bid-actions{grid-template-columns:1fr;gap:7px}


/* V22 Historia klubu i trofea */
.career-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:145px;padding:24px 28px;overflow:hidden;position:relative;background:linear-gradient(135deg,rgba(16,70,45,.98),rgba(8,42,31,.98))}.career-hero:after{content:"";position:absolute;right:-60px;top:-100px;width:260px;height:260px;border:42px solid rgba(255,255,255,.045);border-radius:50%}.career-hero h2{font-size:30px;margin:4px 0 8px;color:#fff}.career-hero p{margin:0;color:rgba(255,255,255,.76)}.career-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:#c8e9d8}.career-emblem{position:relative;z-index:1;font-size:66px;line-height:1;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))}.career-emblem small{position:absolute;right:-10px;bottom:-5px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fff;color:#103d2d;font-size:14px;font-weight:900}.career-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:14px}.career-metrics .metric{min-width:0}.trophy-cabinet{overflow:hidden}.cabinet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cabinet-head h2{margin-bottom:3px}.trophy-shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:20px;padding:20px;border-radius:14px;background:linear-gradient(#6d4729 0 7px,#3e281a 7px 11px,#f5efe5 11px 100%);box-shadow:inset 0 1px rgba(255,255,255,.35)}.trophy-item{min-height:132px;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #dfd4c3;border-radius:12px;background:linear-gradient(180deg,#fffdf8,#f2eadc);box-shadow:0 7px 16px rgba(65,42,23,.12)}.trophy-item.title{border-top:4px solid #c69824}.trophy-item.promotion{border-top:4px solid #8a98a7}.trophy-icon{font-size:48px;line-height:1;filter:drop-shadow(0 5px 5px rgba(0,0,0,.18))}.trophy-item b{display:block;font-size:15px}.trophy-item span{display:block;margin-top:5px;font-size:12px;color:#6f675c}.trophy-empty{grid-column:1/-1;text-align:center;padding:25px;color:#73695d}.trophy-empty>div{font-size:48px;filter:grayscale(1);opacity:.38}.trophy-empty b,.trophy-empty span{display:block}.trophy-empty span{font-size:12px;margin-top:5px}.history-record{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line,#e6e6e6)}.history-record:last-child{border-bottom:0}.history-record span{color:#777}.history-record b{text-align:right}.career-balance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px}.career-balance>div{text-align:center;padding:16px 8px;background:rgba(0,0,0,.035);border-radius:10px}.career-balance span,.career-balance b{display:block}.career-balance span{font-size:12px;color:#777}.career-balance b{font-size:26px;margin-top:4px}.history-tag{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eceff1;color:#56616a;font-size:10px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.history-tag.champion{background:#fff0b8;color:#745500}.history-tag.promotion{background:#dff5e8;color:#176037}.history-tag.relegation{background:#fde3e3;color:#8a2424}.history-table td,.history-table th{white-space:nowrap}
@media(max-width:900px){.career-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.career-hero{min-height:126px;padding:18px}.career-hero h2{font-size:23px}.career-emblem{font-size:48px}.career-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cabinet-head{display:block}.cabinet-head .badge{display:inline-flex;margin-top:8px}.trophy-shelf{grid-template-columns:1fr;padding:13px}.trophy-item{min-height:105px}.history-record{align-items:flex-start}.career-balance b{font-size:21px}}


/* V1.01 — subtelna identyfikacja Fmenadzer.pl. Tylko CSS, bez logiki JS. */
.brand:before,.logo:before{
  content:'FM';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  width:38px;
  height:38px;
  margin-right:9px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#ffe58a 0 18%,#d99b20 19% 31%,#4d7f28 32% 69%,#294817 70% 100%);
  border:2px solid rgba(255,255,255,.5);
  box-shadow:0 2px 5px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.5);
  color:#fff;
  font:700 11px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.04em;
  text-shadow:0 1px rgba(0,0,0,.55);
}
.brand:before{width:46px;height:46px;margin-right:12px;font-size:13px}
html.mobile-ui .logo:before{width:29px;height:29px;margin-right:5px;font-size:9px}

/* V1 — wyłączenie starego pseudo-logo FM, używany jest asset Fmenadzer.pl */
.brand:before,.logo:before{content:none!important;display:none!important}


/* V1.07 — corrected Squad & Tactics pitch */
.tactics-layout{grid-template-columns:minmax(360px,460px) minmax(420px,1fr);justify-content:center}
.pitch-panel{min-width:0;overflow:hidden}
.pitch{
  position:relative;
  width:min(100%,420px);
  aspect-ratio:68/105;
  max-height:none;
  margin:0 auto;
  box-sizing:border-box;
  overflow:visible;
  background:repeating-linear-gradient(0deg,#4d942f 0,#4d942f 9.52%,#559d35 9.52%,#559d35 19.04%);
  border:3px solid rgba(255,255,255,.96);
  box-shadow:0 0 0 1px #638457,0 2px 8px #0002 inset;
}
.pitch:before,.pitch:after{content:none}
.halfway-line{position:absolute;z-index:1;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.88);transform:translateY(-1px);pointer-events:none}
.center-circle{position:absolute;z-index:1;left:50%;top:50%;width:26.9%;aspect-ratio:1;border:2px solid rgba(255,255,255,.88);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.center-spot{position:absolute;left:50%;top:50%;width:5px;height:5px;background:rgba(255,255,255,.95);border-radius:50%;transform:translate(-50%,-50%)}
.penalty{z-index:1;left:20.35%;width:59.3%;height:15.7%;box-sizing:border-box;border:2px solid rgba(255,255,255,.88);pointer-events:none}
.penalty.top{top:-2px;border-top:0}.penalty.bottom{bottom:-2px;border-bottom:0}
.penalty .penalty-spot{position:absolute;left:50%;width:5px;height:5px;background:rgba(255,255,255,.95);border-radius:50%;transform:translateX(-50%)}
.penalty.top .penalty-spot{top:66%}.penalty.bottom .penalty-spot{bottom:66%}
.goal-box{position:absolute;z-index:1;left:36.53%;width:26.94%;height:5.24%;box-sizing:border-box;border:2px solid rgba(255,255,255,.88);pointer-events:none}
.goal-box.top{top:-2px;border-top:0}.goal-box.bottom{bottom:-2px;border-bottom:0}
.goal{z-index:2;left:44.62%;width:10.76%;height:2.5%;box-sizing:border-box;border:2px solid rgba(245,245,245,.96);background:repeating-linear-gradient(45deg,#d9d9d988 0,#d9d9d988 2px,#ffffff33 2px,#ffffff33 4px);pointer-events:none}
.goal.top{top:-9px}.goal.bottom{bottom:-9px}
.pitch-player,.pitch-slot{z-index:5;box-sizing:border-box;max-width:31%;white-space:normal;line-height:1.12}
.pitch-player{min-width:68px;padding:4px 6px;border-radius:8px;background:#7f1e16;border:1px solid #f2c4bd;box-shadow:0 2px 4px #0007;text-shadow:0 1px 2px #000}
.pitch-player b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.pitch-player span{display:block;margin-top:2px;font-size:8px;line-height:1.05;opacity:.92;white-space:nowrap}
.pitch-player.gk{background:#1d5d87}
.pitch-slot{min-width:60px;background:#245d23c7;border:1px dashed #f2f7ee;border-radius:8px;padding:5px 4px;text-shadow:0 1px 2px #000}
.pitch-note{max-width:430px;margin:9px auto 0;line-height:1.35}
@media(max-width:900px){.tactics-layout{grid-template-columns:1fr}.pitch{width:min(100%,390px)}}
@media(max-width:620px){.pitch{width:min(100%,340px)}.pitch-player{min-width:52px;max-width:30%;padding:3px}.pitch-player b{font-size:8px}.pitch-player span{font-size:7px}.pitch-slot{min-width:48px;font-size:8px;padding:4px 2px}.goal.top{top:-7px}.goal.bottom{bottom:-7px}}

/* V1.14 authoritative match presentation */
.match-timeline-v7{display:flex;align-items:center;gap:12px;padding:8px 2px 14px}
.match-timeline-v7 input{flex:1;width:100%;accent-color:#388b86;margin:0;padding:0;min-width:80px}
.match-timeline-v7 span{font-variant-numeric:tabular-nums;white-space:nowrap;color:#617773;font-size:12px}
#matchCanvas{width:100%;height:auto;display:block;touch-action:pan-y}
.match-hud{position:relative!important;background:#153331!important;color:#e7efdf!important;padding:10px 13px!important;border-top:1px solid #37625b}
.match-hud span{line-height:1.4}
.match-controls{flex-wrap:wrap}
.viewer-team.home-team{border-color:#2680dc}
.viewer-team.away-team{border-color:#a93236}
@media(max-width:700px){.match-timeline-v7{gap:8px}.match-hud{font-size:11px}.viewer-scorebar{font-size:12px}.match-controls button{min-height:38px}}

