:root{color-scheme:dark;--bg:#080808;--surface:#141414;--surface2:#222;--border:#333;--text:#f2f2f2;--muted:#ababab;--green:#e2e2e2;--ink:#101010;--red:#dadada;--panel-fill:linear-gradient(145deg,#202020e8,#111111f5 65%);--shadow:0 18px 50px #00000038,inset 0 1px 0 #ffffff05}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scrollbar-color:#484848 #101010}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -15%,#38383870,transparent 58%),radial-gradient(ellipse at 100% 65%,#20202045,transparent 45%),linear-gradient(135deg,#101010,#080808 55%,#0c0c0c);background-attachment:fixed;color:var(--text);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
::selection{background:#dedede;color:#101010}
button,input,select{font:inherit}
button{border:1px solid #ffffff24;background:linear-gradient(180deg,#f4f4f4,#d9d9d9);color:var(--ink);font-weight:650;padding:12px 20px;border-radius:10px;cursor:pointer;box-shadow:0 3px 10px #00000020;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
button:hover:enabled{filter:brightness(1.07);box-shadow:0 3px 12px #00000035;transform:translateY(-1px)}
button:active:enabled{transform:translateY(0)}
button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ddd;outline-offset:4px}
input,select{width:100%;min-width:0;min-height:46px;background:#0e0e0e;border:1px solid #3a3a3a;border-radius:9px;padding:11px 13px;color:var(--text);box-shadow:inset 0 1px 3px #00000030;transition:border-color .18s,background .18s}
input:hover:enabled,select:hover:enabled{border-color:#646464;background:#141414}
input:focus,select:focus{border-color:#999}
input::placeholder{color:#858585}
input:disabled{opacity:.65}
label{display:block;font-size:14px;font-weight:600;margin:0 0 9px}
label+input,label+select{margin-bottom:15px}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(28px,3.5vw,42px);line-height:1.2;letter-spacing:-1.2px;font-weight:700;margin:12px 0 15px}
h2{font-size:21px;line-height:1.3;margin-bottom:12px}
h3{font-size:16px}
p{color:var(--muted);line-height:1.65}
button strong,button span{pointer-events:none}
.app-shell{width:100%;margin:0;padding:0 clamp(20px,2.4vw,40px)}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:116px;border-bottom:1px solid var(--border)}
.topbar-start{justify-self:start}
.brand{justify-self:center;background:transparent;color:#f5f5f5;font-size:32px;letter-spacing:-1.5px;padding:0;text-align:center;border:0;box-shadow:none;text-shadow:0 2px 25px #ffffff14}
.brand:hover:enabled{background:transparent;color:#fff;box-shadow:none;transform:none}
.brand span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:600}
.topbar-actions,.actions,.inline{display:flex;align-items:center;gap:12px}
.secondary{background:linear-gradient(180deg,#252525,#1a1a1a);border-color:#414141;color:var(--text);box-shadow:inset 0 1px 0 #ffffff06}
.secondary:hover:enabled{background:linear-gradient(180deg,#343434,#242424);border-color:#717171}
.text-button{background:transparent;color:var(--muted);padding:8px;border:0;box-shadow:none}
.text-button:hover:enabled{background:var(--surface2);color:var(--text)}
.small{padding:8px 12px;font-size:13px}
.danger{color:var(--red)}
.worldbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--border)}
.worldbar>div>span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.actor-label{justify-self:end;margin:0;font-size:12px;color:var(--muted);display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.actor-label select{width:auto;min-height:36px;padding:6px 10px}
.actor-label small{flex-basis:100%;text-align:right;font-weight:400}
.home-screen{width:100%;min-height:100vh;color:#f5f5f5;display:flex;flex-direction:column}
.home-screen .topbar{border-bottom:0;min-height:154px}
.home-screen .brand{font-size:76px;line-height:1}
.home-screen .brand span{margin-top:14px;color:#8f8f8f;font-size:18px;letter-spacing:4px}
.home-screen .actor-label{color:#999}
.home-screen .actor-label select{background:#0d0d0d;border-color:#303030;color:#f2f2f2}
.home-actions{width:min(520px,100%);min-height:0;flex:1;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:40px 0 145px}
.home-button{width:100%;min-height:68px;border:1px solid #3a3a3a;border-radius:12px;background:var(--panel-fill);color:#f1f1f1;font-size:16px;font-weight:550;letter-spacing:.1px;box-shadow:var(--shadow)}
.home-button:hover:enabled{background:linear-gradient(145deg,#2a2e32,#1b2025);border-color:#697783;color:#f5f7f9;transform:translateY(-1px)}
.home-button.home-primary{background:linear-gradient(165deg,#fafafa,#d5d5d5);border-color:#ededed;color:#080808}
.home-button.home-primary:hover:enabled{background:linear-gradient(165deg,#fff,#eee);border-color:#fff;box-shadow:0 8px 34px #ffffff10}
.home-button:disabled{background:linear-gradient(145deg,#161616,#0c0c0c);border-color:#303030;color:#858585;opacity:1}
.page-heading{padding:46px 0 32px;text-align:center}
.page-heading h1{margin-bottom:0}
.page-heading p{max-width:770px;margin:15px auto 0}
.eyebrow{color:#adadad;font-size:11px;font-weight:650;letter-spacing:2.3px}
.panel{padding:27px;border:1px solid var(--border);border-radius:18px;background:var(--panel-fill);box-shadow:var(--shadow);margin-bottom:22px;min-width:0}
.narrow{max-width:650px}
.league-form{width:min(650px,100%);margin-left:auto;margin-right:auto}
.flow-form{margin-top:0}
.league-name-panel{margin-bottom:0}
.league-actions{margin-top:32px}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.version-grid{width:min(760px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.choice{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;min-height:245px;padding:30px;background:var(--panel-fill);color:var(--text);border:1px solid var(--border);font-weight:400;border-radius:18px;box-shadow:var(--shadow)}
.version-choice{min-height:154px;display:grid;grid-template-rows:1fr auto 1fr;gap:0;justify-content:stretch;padding:20px 26px}
.version-choice>strong{grid-row:2;align-self:center;justify-self:center}
.version-choice .version-badge-slot{grid-row:1;align-self:end;justify-self:center;height:27px;min-height:27px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:5px}
.version-choice>span.version-badge-slot:not(.badge){visibility:hidden}
.choice strong{font-size:23px;line-height:1.3}
.choice>span:not(.badge,.tile-icon,.arrow){font-size:14px;color:var(--muted);max-width:680px}
.choice>span.mode-description{max-width:680px;width:100%;text-align:center;text-align-last:center;hyphens:none;word-break:normal;overflow-wrap:normal}
.choice .arrow{margin-top:auto;color:var(--green);font-size:22px}
.primary-choice{border-color:#606060;background:radial-gradient(ellipse at 100% 0%,#ffffff0b,transparent 65%),linear-gradient(145deg,#292929,#171717 75%)}
.choice:hover:enabled{background:linear-gradient(145deg,#333,#1c1c1c);border-color:#aaa;box-shadow:0 16px 45px #00000050,inset 0 1px 0 #ffffff10}
.tile-icon{font-size:30px;color:var(--green)}
.choice:disabled{opacity:.55}
.badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.7px;border:1px solid var(--border);padding:5px 9px;border-radius:5px;color:var(--muted)}
.recommended{background:#123d2c;color:#80f0b9;border-color:#397d59}
.unavailable-badge{background:#252525;color:#8d8d8d;border-color:#444}
.member-row .recommended{background:#282828;color:#e5e5e5;border-color:#505050}
.unavailable{color:var(--muted);font-size:13px}
.resume{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.resume h2{margin:8px 0}
.actions{margin-top:32px;flex-wrap:wrap;justify-content:center}
.actions button:last-child:not(:first-child){margin-left:0}
.vertical{flex-direction:column;align-items:stretch}
.vertical button:last-child{margin-left:0!important}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}
.section-title h2{margin:0}
.member-row{display:grid;grid-template-columns:35px minmax(0,1fr) 92px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.member-row input{width:100%;margin:0;align-self:center}
.member-row>.badge,.member-row>.text-button{justify-self:center;align-self:center}
.member-row>.text-button{min-width:76px;text-align:center}
.member-row button{flex-shrink:0}
.avatar{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;color:#eee;background:linear-gradient(145deg,#444,#222);border:1px solid #555;flex-shrink:0}
.lobby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.lobby-grid>.panel{height:auto;margin-bottom:0}
.invite-panel{background:radial-gradient(ellipse at 0 0,#ffffff0a,transparent 58%),linear-gradient(145deg,#232323,#111 70%);text-align:center}
.invite-panel h2,.participants-panel .section-title h2{margin:9px 0 8px;text-align:center}
.invite-panel>p{max-width:none;margin:0 auto;text-align:center;padding:0 4px;min-height:25px;display:flex;align-items:center;justify-content:center}
.invite-panel>small{display:block;max-width:440px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.65;text-align:center}
.participants-panel .section-title{flex-direction:column;justify-content:flex-start;align-items:center;gap:0;margin-bottom:0;text-align:center}
.participants-panel .section-title .badge{min-height:25px;display:inline-flex;align-items:center;justify-content:center}
.participants-panel .member-list{margin-top:24px}
.participants-panel .member-row:first-child{padding-top:0}
.world-code{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 0;padding:14px 15px;border:1px solid #4a4a4a;border-radius:10px;background:#0a0a0a}
.world-code strong{font-size:22px;letter-spacing:2.5px;color:#fff}
.lobby-actions{margin-top:32px}
.dev-simulator{display:flex;justify-content:center;margin-top:12px}
.dev-simulator button{font-size:11px;opacity:.62;padding:7px 12px}
.dev-simulator button:hover:enabled{opacity:.9}
.inline input{flex:1}
.inline button{flex-shrink:0}
.split{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px;align-items:start}
.club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:570px;overflow:auto}
.club-card{background:linear-gradient(150deg,#252525,#191919);color:var(--text);text-align:left;border-color:var(--border);padding:17px;font-weight:400}
.club-card strong{display:block;font-size:14px}
.club-card span,.club-card small{display:block;font-size:11px;color:var(--muted);margin-top:6px}
.club-card small{color:var(--green)}
.club-card:hover:enabled{background:linear-gradient(150deg,#363636,#252525);border-color:#777}
.club-card.selected{border-color:#aaa;background:linear-gradient(150deg,#333,#202020);opacity:1;box-shadow:inset 3px 0 0 #ddd}
.assignments>div{border-bottom:1px solid var(--border);padding:15px 0}
.assignments span{display:block;color:var(--muted);font-size:13px;margin-top:5px}
.assignments+p{margin-top:18px}
.muted{color:var(--muted);font-size:13px}
.result-count{margin:17px 0}
.notice{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:#000000a8;backdrop-filter:blur(5px);pointer-events:auto}
.notice-card{width:min(720px,calc(100vw - 32px));padding:22px 24px;border:1px solid #5a5a5a;border-radius:16px;background:linear-gradient(145deg,#262626,#121212);color:#f2f2f2;font-size:17px;font-weight:650;line-height:1.5;text-align:center;box-shadow:0 28px 90px #000000b8}
.notice.error .notice-card{border-color:#8a8a8a;box-shadow:0 28px 90px #000000cc,inset 0 1px 0 #ffffff0a}
[hidden]{display:none!important}
.view-note{padding:14px 18px;background:linear-gradient(110deg,#242424,#191919);color:#c8c8c8;border:1px solid #3b3b3b;border-radius:10px;font-size:13px;margin-top:18px}
.view-note.waiting-note{width:fit-content;max-width:calc(100% - 48px);margin:18px auto 0;text-align:center;background:linear-gradient(110deg,#10253d,#0d1d31);color:#dcecff;border-color:#27486a;box-shadow:0 8px 28px #00152b33}
fieldset.panel{padding-top:22px}
legend{font-size:19px;font-weight:650;padding:0 10px}
.radio-card{display:grid;grid-template-columns:22px 1fr;gap:8px 12px;border:1px solid #383838;background:linear-gradient(145deg,#1b1b1b,#131313);padding:22px;border-radius:12px;margin:0;cursor:pointer;align-content:start;transition:border-color .18s,background .18s}
.radio-card:hover:not(.disabled){border-color:#777}
.radio-card:has(input:checked){background:linear-gradient(145deg,#303030,#202020);border-color:#999;box-shadow:inset 0 1px 0 #ffffff0d}
.radio-card input{width:18px;min-height:18px;margin:3px 0;accent-color:var(--green)}
.radio-card span{grid-column:2;color:var(--muted);font-size:13px;font-weight:400}
.radio-card.disabled{opacity:.48;cursor:not-allowed}
.radio-card .unavailable-badge{justify-self:start;width:max-content;font-size:10px;font-weight:700;letter-spacing:.7px;padding:5px 9px}
.budget-common{max-width:650px;padding-bottom:25px;border-bottom:1px solid var(--border);margin-bottom:25px}
.budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.label-note{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}

.season-settings{width:min(1180px,100%);margin:64px auto 0}
.season-section{margin-bottom:72px}
.season-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 0 16px}
.season-section-heading h2{font-size:28px;margin:6px 0 6px}
.season-section-heading>div{width:100%}
.season-section-heading p{max-width:none;width:100%}
.season-budget-panel{margin-bottom:36px}
.season-budget-common{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;text-align:center;padding-bottom:32px;margin-bottom:32px}
.season-budget-common>label,.season-budget-common>.inline{grid-column:2}
.season-budget-common>.inline{display:flex;flex-direction:column;align-items:center;gap:12px}
.season-budget-common input{width:100%;margin:0;text-align:center}
.season-budget-panel .budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px;text-align:center}
.season-budget-panel .budget-grid input{text-align:center}
.season-name-input{width:calc((100% - 24px)/2)}
.season-name-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;align-items:start}
.season-name-row input{margin:0}
.season-name-row button{justify-self:start;align-self:center}
.season-suggestion.secondary{background:linear-gradient(180deg,#dedede,#bcbcbc);color:#171717;border-color:#eee}
.season-suggestion.secondary:hover:enabled{background:#f2f2f2;color:#111}
.season-competition-card+.season-competition-card{margin-top:64px}
.season-competition-card{padding:30px;margin-bottom:26px}
.season-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px}
.season-card-title h2,.season-card-title h3{margin:6px 0 0}
.season-help{width:38px;height:38px;border-radius:50%;padding:0;display:grid;place-items:center;background:rgba(59,130,246,.12);color:#93c5fd;border-color:rgba(96,165,250,.55);font-size:17px;flex-shrink:0}
.season-help:hover:enabled{background:rgba(59,130,246,.22);color:#bfdbfe;border-color:rgba(96,165,250,.8)}
.season-transfer-panel{padding:24px 30px 32px}
.season-transfer-card-header{display:flex;justify-content:flex-end;margin-bottom:2px}
.season-transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.season-transfer-policy{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 46px 4px;text-align:center}
.season-transfer-policy+.season-transfer-policy{border-left:1px solid var(--border)}
.season-transfer-policy>label{display:flex;min-height:46px;max-width:410px;align-items:center;justify-content:center;margin-bottom:18px;font-size:15px;line-height:1.5}
.season-percentage-row{display:flex;align-items:center;justify-content:center;gap:12px;width:100%}
.season-percentage-row input{width:126px;margin:0;text-align:center}
.season-percentage-row button{flex-shrink:0}
.season-transfer-description{max-width:430px;margin:17px auto 0;font-size:12px;line-height:1.6}
.season-transfer-description strong{color:var(--text)}
.season-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.season-fields-grid.compact{align-items:start}
.season-field{min-width:0}
.season-field-wide{grid-column:1/-1}
.season-field>small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:-7px}
.season-suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-3px;color:var(--muted);font-size:12px}
.season-suggestion-row strong{color:var(--text);font-weight:600}
.season-suggestion-row button{flex-shrink:0}
.season-subdivision{border:1px solid #363636;border-radius:14px;padding:22px;background:linear-gradient(145deg,#181818,#101010)}
.season-subdivision-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #303030}
.season-subdivision-title h3{font-size:19px;margin:5px 0 0}
.season-prizes{margin-top:24px;padding-top:20px;border-top:1px solid #303030}
.season-prizes h3{margin-bottom:5px}
.season-prizes p{font-size:12px;margin-bottom:14px}
.season-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.season-reward-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.season-money-field{margin:0}
.season-money-field span{display:block;color:var(--muted);font-size:11px;font-weight:600;margin-bottom:7px}
.season-money-field input{margin:0}
.season-money-input-wrap{position:relative;margin:0!important}
.season-money-input-wrap input[readonly]{padding-right:38px;background:#161616;color:#aaa;border-color:#343434;cursor:not-allowed}
.season-money-input-wrap .season-lock{position:absolute;right:13px;top:50%;margin:0;transform:translateY(-50%);color:#8d8d8d;font-size:13px;line-height:1;pointer-events:none}
.season-inner-card{margin-top:26px;border:1px solid #3a3a3a;border-radius:14px;padding:22px;background:linear-gradient(145deg,#1d1d1d,#111)}
.season-inner-card .season-card-title{margin-bottom:20px}
.season-draft-note{max-width:820px;margin:10px auto 0;text-align:center;padding:14px 18px;border:1px dashed #444;border-radius:10px;background:#101010}
.roster-toolbar{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:20px 25px}
.roster-toolbar>div:first-child{width:48%}
.roster-toolbar select{margin-bottom:0}
.roster-metrics{display:flex;gap:35px}
.roster-metrics span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.roster-metrics strong{font-size:21px;font-weight:650}
.roster-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(275px,1fr);gap:22px;align-items:start}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.filters label{font-size:12px}
.filters select{font-size:13px;margin-bottom:0}
.player-card{padding:19px 0;border-top:1px solid var(--border)}
.player-top{display:flex;gap:12px;align-items:center}
.rating{display:flex;align-items:center;justify-content:center;border:1px solid #666;background:linear-gradient(150deg,#3d3d3d,#222);color:#f5f5f5;font-size:17px;font-weight:700;width:41px;height:45px;border-radius:9px;flex-shrink:0;box-shadow:inset 0 1px 0 #ffffff0c}
.price{margin-left:auto;text-align:right;font-size:14px;white-space:nowrap}
.pending{color:#c9c9c9;font-size:12px;border-bottom:1px dashed #777;padding-bottom:3px}
.player-details{display:flex;gap:5px 13px;flex-wrap:wrap;margin:13px 0;color:var(--muted);font-size:12px}
.player-details span:not(:last-child){border-right:1px solid var(--border);padding-right:12px}
.player-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.player-bottom>span{font-size:11px}
.player-bottom button{font-size:11px;padding:8px 10px}
.allocated{color:var(--green)}
.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.squad-panel{position:sticky;top:18px}
.squad-panel h2{margin:9px 0}
.squad-list{max-height:65vh;overflow:auto;margin-top:20px}
.squad-player{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}
.squad-player strong{font-size:13px}
.squad-player span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.squad-player button{font-size:11px}
.empty{text-align:center;padding:28px 10px;color:var(--muted)}
.empty>span{font-size:32px;opacity:.5}
.empty p{margin:10px 0}
.empty small{font-size:12px}
.finish-actions{padding:5px 0 24px;margin-top:0}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.summary-grid h2{margin-top:9px}
.summary-stats{display:grid;gap:7px;padding:15px 0;border-top:1px solid var(--border)}
.summary-stats span,.summary-stats small{color:var(--muted);font-size:12px}
.summary-stats strong{font-size:25px;color:var(--green)}
.summary-players{padding:0;margin:12px 0 0;list-style:none;max-height:370px;overflow:auto}
.summary-players li{padding:10px 0;border-top:1px solid var(--border);font-size:13px;display:flex;justify-content:space-between;gap:15px}
.summary-players span{color:var(--muted);font-size:11px;white-space:nowrap}
footer{border-top:1px solid var(--border);padding:26px 0 32px;margin-top:60px;color:#909090;font-size:11px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
dialog{color:var(--text);background:linear-gradient(145deg,#262626,#121212);border:1px solid #555;border-radius:18px;padding:30px;width:min(560px,calc(100% - 30px));box-shadow:0 30px 100px #00000099}
dialog::backdrop{background:#000000b8;backdrop-filter:blur(8px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.app-shell{padding:0 22px}
.season-budget-panel .budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.season-budget-common{display:block}
.season-budget-common>.inline{max-width:360px;margin:0 auto}
.season-transfer-grid{grid-template-columns:1fr}
.season-transfer-policy{padding:20px 24px 30px}
.season-transfer-policy+.season-transfer-policy{border-left:0;border-top:1px solid var(--border);padding-top:30px}
.season-name-input{width:100%}
.season-fields-grid{grid-template-columns:1fr}
.season-field-wide{grid-column:1}
.season-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.topbar{grid-template-columns:1fr auto 1fr}
.lobby-grid{grid-template-columns:1fr}
.split,.roster-layout{grid-template-columns:1fr}
.squad-panel{position:static}
.squad-list{max-height:400px}
.roster-toolbar{align-items:flex-start}
.roster-metrics{gap:20px}
.roster-metrics strong{font-size:17px}
.actor-label{max-width:230px}
.member-row{grid-template-columns:30px minmax(0,1fr) 76px}
.member-row input{min-width:0}
}
@media(max-width:560px){.app-shell{padding:0 16px}
.season-settings{margin-top:44px}
.season-budget-panel .budget-grid,.season-name-row{grid-template-columns:1fr}
.season-section-heading{align-items:flex-start}
.season-section-heading h2{font-size:24px}
.season-competition-card{padding:20px}
.season-card-title{align-items:flex-start}
.season-transfer-panel{padding:20px}
.season-transfer-policy{padding-left:0;padding-right:0}
.season-percentage-row{align-items:stretch;flex-direction:column}
.season-percentage-row input,.season-percentage-row button{width:100%}
.season-suggestion-row{align-items:stretch;flex-direction:column}
.season-suggestion-row button{width:100%}
.season-reward-grid,.season-reward-grid.two{grid-template-columns:1fr}
.season-subdivision,.season-inner-card{padding:17px}
.topbar{grid-template-columns:auto 1fr;min-height:85px;gap:18px 10px;padding:22px 0}
.topbar-start{grid-column:1;grid-row:2;align-self:start}
.topbar-start .text-button{font-size:11px;padding:8px 0}
.brand{grid-column:1/-1;grid-row:1;font-size:27px}
.brand span{font-size:8px;letter-spacing:1px}
.topbar-actions{gap:5px}
.topbar-actions button{font-size:10px;padding:7px}
.page-heading{padding-top:30px}
.mode-grid,.version-grid,.budget-grid,.summary-grid{grid-template-columns:1fr}
.choice{min-height:190px;padding:23px}
.panel{padding:20px}
.worldbar{align-items:flex-start;gap:10px}
.worldbar>div{max-width:45%;overflow-wrap:anywhere}
.actor-label{grid-column:2;grid-row:2;justify-self:end;max-width:100%;font-size:11px;gap:5px}
.actor-label select{width:100%;font-size:11px}
.actor-label small{font-size:9px}
.roster-toolbar{flex-direction:column;gap:20px}
.roster-toolbar>div:first-child{width:100%}
.roster-metrics{justify-content:space-between;width:100%}
.player-top{gap:9px;flex-wrap:wrap}
.player-top>div{flex:1}
.player-top h3{font-size:14px}
.player-top .muted{font-size:11px}
.price{font-size:12px}
.player-bottom{align-items:flex-start}
.player-bottom button{width:100%}
.filters{grid-template-columns:1fr}
.filters select{margin:0}
.inline{flex-wrap:wrap}
.inline button{width:100%}
.actions{gap:10px}
.actions>button{width:100%;margin:0!important}
.member-row input{width:100%;min-width:0}
.member-row button{font-size:11px}
.member-row .avatar{width:30px;height:30px}
.member-row>.text-button{min-width:64px;padding-left:4px;padding-right:4px}
.world-code{align-items:stretch;flex-direction:column}
.world-code button{width:100%}
.resume{flex-direction:column;align-items:flex-start}
.club-grid{grid-template-columns:1fr}
.finish-actions>span{width:100%;text-align:center}
.radio-card{padding:18px}
.summary-players li{flex-wrap:wrap}
footer{margin-top:35px;gap:8px}
.home-screen .topbar{min-height:184px;padding:26px 0;align-content:start}
.home-screen .brand{font-size:34px}
.home-screen .actor-label{width:100%;justify-self:stretch;justify-content:flex-end;margin-top:20px}
.home-screen .actor-label select{width:auto;min-width:185px}
.home-actions{min-height:0;padding:30px 0 110px}
.home-button{min-height:62px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}button:hover:enabled{transform:none}}


/* Escolha individual de clubes */
.club-choice-layout{width:min(920px,100%);margin:0 auto}
.club-choice-panel{padding:30px}
.club-choice-user{display:flex;align-items:center;gap:13px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border)}
.club-choice-user .avatar{width:42px;height:42px;font-size:16px}
.club-choice-user>div{display:flex;flex-direction:column;gap:2px}
.club-choice-user>div>span{font-size:10px;letter-spacing:1.3px}
.club-choice-user>div>strong{font-size:18px}
.club-current{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;margin-bottom:24px;border:1px solid #4a4a4a;border-radius:12px;background:linear-gradient(145deg,#282828,#171717)}
.club-current>div{min-width:0}
.club-current span,.club-current small{display:block}
.club-current span{font-size:11px;margin-bottom:4px}
.club-current strong{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.club-current small{margin-top:5px;color:var(--muted);font-size:12px}
.club-current button{flex-shrink:0}
.club-current-empty{justify-content:flex-start;background:linear-gradient(145deg,#1d1d1d,#121212);border-style:dashed}
.club-current-empty p{font-size:13px}
.club-choice-actions{width:min(920px,100%);margin:0 auto}
.club-success{width:min(720px,100%);margin:15px auto 0;text-align:center;padding:48px 38px}
.club-success-mark{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ededed;color:#111;font-size:29px;font-weight:800;box-shadow:0 8px 26px #00000040}
.club-success h2{font-size:30px;margin-bottom:10px}
.club-success>strong{display:block;font-size:20px;margin-bottom:12px}
.club-success p{max-width:560px;margin:0 auto;font-size:15px}
.club-success-actions{justify-content:center;margin-top:26px}

@media(max-width:700px){
  .club-choice-panel{padding:22px}
  .club-current{flex-direction:column;align-items:stretch}
  .club-current button{width:100%}
  .club-success{padding:36px 22px}
  .club-success h2{font-size:25px}
}

/* Flags are scoped to the club chooser. */
@font-face{font-family:MCOFlags;src:url('assets/fonts/noto-flags.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+1F1E6-1F1FF}
@font-face{font-family:MCOFlags;src:url('assets/fonts/noto-subdivision-flags.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F}
.club-card{display:flex;align-items:center;justify-content:space-between;gap:16px}
.club-card .club-card-info{min-width:0;margin:0;color:inherit;overflow-wrap:anywhere}
.club-card .club-flag,.club-current .club-flag{font-family:MCOFlags,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-weight:400;line-height:1;letter-spacing:normal}
.club-card .club-flag{display:block;flex:0 0 auto;font-size:36px;margin:0;color:var(--text)}
.club-current .club-flag{order:2;display:inline-flex;align-items:center;justify-content:center;font-size:1em;line-height:1;margin:0}

/* =========================================================
   TEMPORADA EM ANDAMENTO
   Tela principal + menu lateral
   ========================================================= */

.season-screen-shell{
  width:100%;
  min-height:100vh;
  margin:0;
  padding:0;
}

.season-home-page{
  width:100%;
  min-height:100vh;
  color:var(--text);
}

/* ---------- TOPO ---------- */

.season-home-topbar{
  position:relative;
  min-height:116px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 clamp(24px,3vw,46px);
  box-sizing:border-box;
}

.season-home-divider{
  height:1px;
  margin:0 clamp(24px,3vw,46px);
  background:var(--border);
}

/* Botão MENU */

.season-menu-button{
  position:absolute;
  left:clamp(24px,3vw,46px);
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 0;

  border:0;
  border-radius:0;
  background:transparent;

  color:#f5f5f5;
  font-size:17px;
  font-weight:750;
  letter-spacing:.02em;

  box-shadow:none;
  cursor:pointer;
}

.season-menu-button:hover:enabled{
  background:transparent;
  color:#fff;
  box-shadow:none;
  transform:translateY(-50%);
}

.season-menu-icon{
  display:block;
  font-size:28px;
  font-weight:400;
  line-height:1;
}

/* Marca MCO central */

.season-home-brand{
  text-align:center;
  user-select:none;
}

.season-home-logo{
  color:#f5f5f5;
  font-size:42px;
  line-height:.95;
  font-weight:650;
  letter-spacing:-2px;
  text-shadow:0 2px 25px #ffffff14;
}

.season-home-subtitle{
  margin-top:7px;
  color:var(--muted);
  font-size:10px;
  line-height:1;
  font-weight:650;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

/* Marca oficial em todas as seções que usam o cabeçalho da temporada. */
.season-home-brand{
  display:flex;
  align-items:center;
  justify-content:center;
}
.season-home-brand-image{
  display:block;
  width:195px;
  max-width:42vw;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 1px 8px rgba(255,255,255,.06));
}
@media(max-width:700px){
  .season-home-brand-image{
    width:145px;
    max-width:38vw;
  }
}

/* ---------- ÁREA PRINCIPAL ---------- */

.season-home-body{
  position:relative;
  min-height:calc(100vh - 117px);
}

.season-home-content{
  width:100%;
  min-height:calc(100vh - 117px);
}

/* ---------- MENU LATERAL ---------- */

.season-sidebar{
  position:fixed;
  top:0;
  bottom:0;
  left:0;

  width:270px;
  max-width:82vw;

  padding:38px 24px 30px;
  box-sizing:border-box;

  background:
    linear-gradient(
      160deg,
      rgba(48,48,48,.98),
      rgba(25,25,25,.99) 68%
    );

  border-right:1px solid #454545;
  box-shadow:20px 0 55px #00000075;

  transform:translateX(-102%);
  visibility:hidden;

  transition:
    transform .28s ease,
    visibility .28s ease;

  z-index:120;
}

.season-sidebar.is-open{
  transform:translateX(0);
  visibility:visible;
}

/* Nome da liga */

.season-sidebar-header{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;

  margin:0 4px 24px;

  color:#f5f5f5;
  font-size:23px;
  line-height:1.2;
  font-weight:750;
  text-align:center;

  overflow-wrap:anywhere;
}

/* Navegação */

.season-sidebar-nav{
  display:flex;
  flex-direction:column;
}

.season-sidebar-link{
  position:relative;

  width:100%;
  min-height:70px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin:0;
  padding:16px 12px;

  border:0;
  border-radius:0;

  background:transparent;

  color:#eeeeee;
  font-size:17px;
  line-height:1.2;
  font-weight:500;
  text-align:center;

  box-shadow:none;
  cursor:pointer;

  transition:
    background .18s ease,
    color .18s ease;
}

.season-sidebar-link::after{
  content:"";
  position:absolute;

  left:12%;
  right:12%;
  bottom:0;

  height:1px;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.22) 20%,
    rgba(255,255,255,.34) 50%,
    rgba(255,255,255,.22) 80%,
    transparent
  );
}

.season-sidebar-link:first-child::before{
  content:"";
  position:absolute;

  left:12%;
  right:12%;
  top:0;

  height:1px;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.22) 20%,
    rgba(255,255,255,.34) 50%,
    rgba(255,255,255,.22) 80%,
    transparent
  );
}

.season-sidebar-link:hover:enabled{
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.055),
      transparent
    );

  color:#fff;

  box-shadow:none;
  transform:none;
}

/* Fundo escurecido ao abrir o menu */

.season-sidebar-overlay{
  position:fixed;
  inset:0;

  width:100vw;
  height:100vh;

  margin:0;
  padding:0;

  border:0;
  border-radius:0;
  background:#00000060;

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  box-shadow:none;

  transition:
    opacity .25s ease,
    visibility .25s ease;

  z-index:110;
}

.season-sidebar-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.season-sidebar-overlay:hover:enabled{
  background:#00000060;
  box-shadow:none;
  transform:none;
}


/* ---------- RESPONSIVO ---------- */

@media(max-width:700px){

  .season-home-topbar{
    min-height:94px;
    padding:0 18px;
  }

  .season-home-divider{
    margin:0 18px;
  }

  .season-menu-button{
    left:18px;
    gap:6px;
    font-size:14px;
  }

  .season-menu-icon{
    font-size:23px;
  }

  .season-home-logo{
    font-size:33px;
  }

  .season-home-subtitle{
    margin-top:5px;
    font-size:8px;
    letter-spacing:1.3px;
  }

  .season-home-body,
  .season-home-content{
    min-height:calc(100vh - 95px);
  }

  .season-sidebar{
    width:235px;
    padding:30px 20px 26px;
  }

  .season-sidebar-header{
    font-size:20px;
    margin-bottom:22px;
  }

  .season-sidebar-link{
    min-height:54px;
    font-size:16px;
  }
}

/* =========================================================
   TEMPORADA · MEU ELENCO
   ========================================================= */

.season-roster-page{
  width:min(1120px,calc(100% - 80px));
  margin:0 auto;
  padding:24px 0 64px;
  box-sizing:border-box;
}

.season-roster-title{
  margin:0 0 26px;

  color:#f4f4f4;
  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.3px;
  text-align:center;
}


/* ---------- ABAS ---------- */

.season-roster-tabs{
  width:min(1050px,100%);
  margin:0 auto 18px;

  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));

  overflow:hidden;

  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;

  background:#242424;
}

.season-roster-tab{
  width:100%;
  min-width:0;
  min-height:46px;

  margin:0;
  padding:0 18px;

  border:0;
  border-right:1px solid rgba(255,255,255,.16);
  border-radius:0;

  background:transparent;

  color:#cfcfcf;
  font-size:16px;
  font-weight:600;

  box-shadow:none;

  transition:
    background .18s ease,
    color .18s ease;
}

.season-roster-tab:last-child{
  border-right:0;
}

.season-roster-tab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-roster-tab.is-active{
  background:
    linear-gradient(
      180deg,
      #505050,
      #3e3e3e
    );

  color:#fff;
  font-weight:750;
}


/* ---------- QUADRO ---------- */

.season-roster-panel{
  width:100%;

  padding:24px 22px 20px;
  box-sizing:border-box;

  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;

  background:
    linear-gradient(
      145deg,
      #353535,
      #2d2d2d
    );

  box-shadow:
    0 18px 55px rgba(0,0,0,.20);
}


/* O cabeçalho, as linhas e os totais usam exatamente a mesma grade.
   A grade foi dividida em 3 blocos visuais:
   jogador | dados físicos | dados financeiros. */

.season-roster-panel{
  --season-roster-player-width:33.333333%;
  --season-roster-info-width:11.111111%;
  --season-roster-money-width:16.666667%;
  --season-roster-divider:rgba(255,255,255,.075);
}

.season-roster-header,
.season-roster-row,
.season-roster-totals{
  display:grid;

  grid-template-columns:
    var(--season-roster-player-width)
    repeat(3,var(--season-roster-info-width))
    repeat(2,var(--season-roster-money-width));

  gap:0;
}

.season-roster-header,
.season-roster-row{
  position:relative;
  align-items:center;
}

/* Linhas verticais suaves entre os 3 grandes blocos da tabela. */
.season-roster-header::before,
.season-roster-row::before,
.season-roster-totals::before,
.season-roster-header::after,
.season-roster-row::after,
.season-roster-totals::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:var(--season-roster-divider);
  pointer-events:none;
}

.season-roster-header::before,
.season-roster-row::before,
.season-roster-totals::before{
  left:33.333333%;
}

.season-roster-header::after,
.season-roster-row::after,
.season-roster-totals::after{
  left:66.666667%;
}

/* Mantem as divisorias ligadas ao cabecalho apesar do respiro antes da primeira linha. */
.season-roster-row:first-child::before,
.season-roster-row:first-child::after{
  top:-6px;
}

.season-roster-header{
  min-height:56px;
  padding:0;

  border-bottom:1px solid rgba(255,255,255,.055);
  border-radius:12px 12px 8px 8px;

  background:rgba(0,0,0,.10);

  color:#c9c9c9;
  font-size:12px;
  line-height:1.15;
  letter-spacing:.08px;
  text-align:center;
}

.season-roster-header > *{
  padding:0 10px;
}

.season-roster-header strong{
  color:#d6d6d6;
  font-weight:750;
}


/* ---------- JOGADORES ---------- */

.season-roster-list{
  width:100%;
  padding-top:6px;

  /* Sem rolagem interna.
     A página cresce conforme o número de jogadores. */
  overflow:visible;
}

.season-roster-row{
  min-height:54px;

  padding:0;
  box-sizing:border-box;

  border-radius:12px;

  transition:background .15s ease;
}

.season-roster-row:hover{
  background:rgba(255,255,255,.035);
}

.season-roster-player{
  min-width:0;
  height:100%;

  display:grid;

  grid-template-columns:
    auto
    44px
    30px
    minmax(0,1fr);

  gap:9px;

  align-items:center;
  padding:5px 12px 5px 10px;
}

.season-roster-position{
  color:#c7c7c7;

  font-size:13px;
  font-weight:650;

  text-align:center;
}

.season-roster-flag{
  display:flex;
  align-items:center;
  justify-content:center;

  font-size:18px;
}

.season-roster-name{
  min-width:0;

  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#f3f3f3;

  font-size:15px;
  font-weight:700;
}

.season-roster-cell{
  height:100%;
  min-width:0;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:5px 10px;

  color:#e4e4e4;

  font-size:14px;
  font-weight:500;

  text-align:center;
}

.season-roster-money{
  white-space:nowrap;
}


/* ---------- ESTATISTICAS ---------- */

.season-stats-header,
.season-stats-row{
  display:grid;
  grid-template-columns:
    var(--season-roster-player-width)
    repeat(4,var(--season-roster-money-width));
  gap:0;
}

.season-stats-header,
.season-stats-row{
  position:relative;
}

.season-stats-header::before,
.season-stats-row::before,
.season-stats-header::after,
.season-stats-row::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  width:1px;
  background:var(--season-roster-divider);
  pointer-events:none;
}

.season-stats-header::before,
.season-stats-row::before{
  left:33.333333%;
}

.season-stats-header::after,
.season-stats-row::after{
  left:66.666667%;
}

.season-stats-header{
  min-height:64px;
  grid-template-rows:32px 32px;
  overflow:hidden;

  border-bottom:1px solid rgba(255,255,255,.055);
  border-radius:12px 12px 8px 8px;

  background:rgba(0,0,0,.10);

  color:#d6d6d6;
  font-size:12px;
  line-height:1.15;
  letter-spacing:.08px;
  text-align:center;
}

.season-stats-header > *{
  min-width:0;
  padding:0 10px;
}

.season-stats-basic-heading,
.season-stats-group-heading,
.season-stats-column-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:750;
}

.season-stats-basic-heading{
  grid-column:1;
  grid-row:1 / 3;
}

.season-stats-group-heading{
  grid-row:1;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
  color:#e1e1e1;
}

.season-stats-season-heading{
  grid-column:2 / 4;
}

.season-stats-history-heading{
  grid-column:4 / 6;
}

.season-stats-column-heading{
  grid-row:2;
}

.season-stats-season-goals{
  grid-column:2;
}

.season-stats-season-assists{
  grid-column:3;
}

.season-stats-history-goals{
  grid-column:4;
}

.season-stats-history-assists{
  grid-column:5;
}

.season-stats-list{
  width:100%;
  padding-top:6px;
  overflow:visible;
}

.season-stats-row{
  min-height:54px;
  align-items:center;
  border-radius:12px;
  transition:background .15s ease;
}

.season-stats-row:first-child::before,
.season-stats-row:first-child::after{
  top:-6px;
}

.season-stats-row:hover{
  background:rgba(255,255,255,.035);
}

.season-stats-cell{
  height:100%;
  min-width:0;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:5px 10px;

  color:#e4e4e4;
  font-size:14px;
  font-weight:500;
  text-align:center;
}


/* ---------- TOTAIS ---------- */

.season-info-panel .season-stats-header{
  grid-template-rows:32px 62px;
}
.season-info-player{
  grid-template-columns:44px 30px minmax(0,1fr);
}
.season-info-ritmo{font-weight:750;}
.season-change{
  display:inline-flex;
  justify-content:center;
  min-width:38px;
  padding:4px 8px;
  border-radius:7px;
  font-variant-numeric:tabular-nums;
}
.season-change.is-positive{
  color:#82e6a2;
  background:rgba(50,190,100,.16);
  font-weight:800;
}
.season-change.is-negative{
  color:#ff9696;
  background:rgba(230,65,65,.16);
  font-weight:800;
}
.season-change.is-zero,
.season-change.is-unknown{color:#aaa;font-weight:400;}

.season-roster-totals{
  position:relative;

  margin-top:22px;
  padding:18px 0 0;

  align-items:start;

  border-top:1px solid rgba(255,255,255,.22);
}

/* O rodape nao precisa das divisorias verticais usadas no corpo da tabela. */
.season-roster-totals::before,
.season-roster-totals::after{
  content:none;
}

/* Cada total ocupa exatamente a mesma coluna dos valores dos jogadores. */
.season-roster-total:first-child{
  grid-column:5;
}

.season-roster-total:last-child{
  grid-column:6;
}

.season-roster-total{
  width:auto;
  min-width:0;
  padding:0 10px;

  display:flex;
  flex-direction:column;
  align-items:center;

  text-align:center;
}

.season-roster-total span{
  color:#d8d8d8;

  font-size:13px;
  line-height:1.2;
  font-weight:700;
}

.season-roster-total strong{
  margin-top:8px;

  color:#fff;

  font-size:15px;
  font-weight:650;
}

/* Em telas menores, preserva a leitura da tabela sem esmagar as colunas. */
@media (max-width:900px){
  .season-roster-page{
    width:calc(100% - 32px);
  }

  .season-roster-panel{
    overflow-x:auto;
  }

  .season-roster-header,
  .season-roster-row,
  .season-roster-totals,
  .season-stats-header,
  .season-stats-row{
    min-width:860px;
  }
}


/* ---------- ESTADOS ---------- */

.season-roster-empty{
  padding:50px 20px;

  color:#aaa;

  text-align:center;
}


/* Item atual no menu lateral */

.season-sidebar-link.is-active{
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.07),
      transparent
    );

  color:#fff;
  font-weight:700;
}

/* =========================================================
   TEMPORADA · CALENDÁRIO
   ========================================================= */

.season-calendar-page{
  position:relative;
  width:min(1440px,calc(100% - 80px));
  margin:0 auto;
  padding:18px 0 54px;
  box-sizing:border-box;
}

.season-calendar-page::before{
  content:"";
  position:absolute;
  left:50%;
  top:12px;
  width:min(1180px,90vw);
  height:720px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 18% 42%,rgba(255,255,255,.035),transparent 34%),
    radial-gradient(circle at 82% 36%,rgba(60,120,170,.06),transparent 36%);
  filter:blur(8px);
  pointer-events:none;
  z-index:-1;
}

.season-calendar-heading{
  text-align:center;
  margin-bottom:28px;
}

.season-calendar-heading h1{
  margin:0;
  color:#f5f5f5;
  font-size:clamp(30px,3vw,40px);
  line-height:1.1;
  font-weight:780;
  letter-spacing:-1.3px;
}

.season-current-club-badge{
  position:absolute;
  right:clamp(24px,3vw,46px);
  top:50%;
  width:54px;
  height:54px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-current-club-crest{
  display:block;
  width:50px;
  height:50px;
  object-fit:contain;
}

.season-current-club-crest.is-fallback-ball{
  width:32px;
  height:32px;
}

.season-calendar-frame{
  width:min(1280px,100%);
  margin:0 auto;
}

.season-calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  margin:0;
  overflow:hidden;
  border:1px solid #4f565d;
  border-bottom:0;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#34393e,#292e33);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

.season-calendar-weekdays span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-right:1px solid rgba(255,255,255,.07);
  color:#f5f5f5;
  font-size:18px;
  line-height:1;
  font-weight:760;
}

.season-calendar-weekdays span:last-child{
  border-right:0;
}

.season-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #4b535b;
  border-radius:0 0 5px 5px;
  background:#434c56;
  box-shadow:
    0 22px 50px #00000042,
    inset 0 1px 0 rgba(255,255,255,.06);
}

.season-calendar-day{
  position:relative;
  min-width:0;
  min-height:138px;
  overflow:visible;
  border-right:1px solid rgba(126,138,149,.28);
  border-bottom:1px solid rgba(126,138,149,.28);
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),transparent 55%),
    linear-gradient(180deg,#59646f,#49535d);
  color:#d3d9e0;
}

.season-calendar-grid-simple .season-calendar-day:nth-child(7n){
  border-right:0;
}

.season-calendar-grid-simple .season-calendar-day:nth-last-child(-n+7){
  border-bottom:0;
}

.season-calendar-date{
  position:absolute;
  left:16px;
  top:16px;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#ffffff;
  opacity:1;
  pointer-events:none;
}

.season-calendar-date strong{
  font-size:21px;
  line-height:1;
  font-weight:720;
  letter-spacing:-.3px;
}

.season-calendar-date span{
  margin-top:3px;
  font-size:13px;
  line-height:1;
  font-weight:560;
}

.season-calendar-empty-mark{
  position:absolute;
  left:16px;
  top:58px;
  width:22px;
  height:1px;
  background:rgba(255,255,255,.36);
}

.season-calendar-day.has-event .season-calendar-date{
  color:#fff;
  opacity:1;
  z-index:4;
  text-shadow:0 1px 10px #00000055;
}

.season-calendar-event-card{
  position:absolute;
  inset:2px;
  z-index:2;
  min-width:0;
  margin:0;
  padding:52px 14px 13px;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:3px;
  color:#fff;
  text-align:left;
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 #ffffff2c,
    inset 0 -18px 50px #00000016;
}

button.season-calendar-event-card{
  width:auto;
  min-height:0;
  cursor:pointer;
  transition:
    filter .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

button.season-calendar-event-card:hover:enabled{
  transform:none;
  filter:brightness(1.075) saturate(1.03);
  box-shadow:
    inset 0 1px 0 #ffffff36,
    inset 0 -18px 50px #00000018,
    0 0 0 1px rgba(255,255,255,.08);
}

button.season-calendar-event-card.is-league:hover:enabled{
  background:linear-gradient(150deg,#37acef 0%,#0c7dce 50%,#0960a2 100%);
}

button.season-calendar-event-card.is-league-knockout:hover:enabled{
  background:linear-gradient(150deg,#176fbd 0%,#0b4f91 52%,#073867 100%);
}

button.season-calendar-event-card.is-season-final:hover:enabled{
  background:linear-gradient(150deg,#e2b64b 0%,#b78620 54%,#795811 100%);
}

button.season-calendar-event-card.is-season-end:hover:enabled{
  background:linear-gradient(150deg,#202225 0%,#101113 58%,#050506 100%);
}

button.season-calendar-event-card.is-cup:hover:enabled{
  background:linear-gradient(150deg,#ff9954 0%,#ef681d 52%,#bd4712 100%);
}

button.season-calendar-event-card.is-transfer-start:hover:enabled,
button.season-calendar-event-card.is-transfer-end:hover:enabled{
  background:linear-gradient(150deg,#39b060 0%,#1f8743 55%,#166232 100%);
}

button.season-calendar-event-card.is-transfer-open:hover:enabled{
  background:linear-gradient(150deg,#7cd894 0%,#54b96f 56%,#368954 100%);
}

.season-calendar-event-card::before,
.season-calendar-event-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.season-calendar-event-card::before{
  inset:0;
  background:
    linear-gradient(125deg,transparent 30%,rgba(255,255,255,.09),transparent 58%),
    radial-gradient(circle at 84% 16%,rgba(255,255,255,.14),transparent 38%);
  opacity:.72;
}

.season-calendar-event-card::after{
  right:-18px;
  bottom:-30px;
  width:110px;
  height:110px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  box-shadow:
    -28px -2px 0 -27px rgba(255,255,255,.1),
    -54px -9px 0 -53px rgba(255,255,255,.08);
}

.season-calendar-event-card.is-league{
  background:
    linear-gradient(150deg,#2fa8ed 0%,#0878ca 50%,#07599b 100%);
}

.season-calendar-event-card.is-league-knockout{
  background:
    linear-gradient(150deg,#145fa5 0%,#0a467f 54%,#06325c 100%);
}

.season-calendar-event-card.is-season-final{
  background:
    linear-gradient(150deg,#d9ad42 0%,#ac7d1d 54%,#6d4d0d 100%);
}

.season-calendar-event-card.is-season-end{
  background:
    linear-gradient(150deg,#1b1d20 0%,#0c0d0f 58%,#020203 100%);
}

.season-calendar-event-card.is-cup{
  background:
    linear-gradient(150deg,#ff944b 0%,#ed6419 52%,#b9430f 100%);
}

.season-calendar-event-card.is-transfer-start,
.season-calendar-event-card.is-transfer-end{
  background:
    linear-gradient(150deg,#35aa5a 0%,#1d823f 56%,#145a2d 100%);
}

.season-calendar-event-card.is-transfer-open{
  background:
    linear-gradient(150deg,#72d48c 0%,#4caf68 56%,#347e4f 100%);
}

.season-calendar-event-glyph{
  position:relative;
  z-index:3;
  width:33px;
  height:33px;
  flex:0 0 33px;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
}

.season-calendar-event-glyph img,
.season-calendar-event-glyph svg{
  display:block;
  width:25px;
  height:25px;
}

.season-calendar-event-glyph img{
  object-fit:contain;
}

.season-calendar-event-glyph.has-club-crest img{
  width:31px;
  height:31px;
}

.season-calendar-event-glyph.has-club-crest img.is-fallback-ball{
  width:25px;
  height:25px;
}

.season-calendar-event-glyph.is-transfer svg,
.season-calendar-event-glyph.is-season-end svg{
  overflow:visible;
}

.season-calendar-event-glyph.is-transfer path,
.season-calendar-event-glyph.is-season-end path{
  fill:none;
  stroke:#ffffff;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.season-calendar-event-glyph.is-tentative{
  color:#ffffff;
}

.season-calendar-question{
  display:flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  color:#ffffff;
  font-size:24px;
  line-height:1;
  font-weight:800;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}

.season-calendar-event-card.is-tentative{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -18px 50px rgba(0,0,0,.12);
}

.season-calendar-event-copy{
  position:relative;
  z-index:3;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.8);
}

.season-calendar-event-copy strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#fff;
  font-size:14px;
  line-height:1.12;
  font-weight:720;
}

.season-calendar-event-card.is-transfer-start .season-calendar-event-copy strong,
.season-calendar-event-card.is-transfer-open .season-calendar-event-copy strong,
.season-calendar-event-card.is-transfer-end .season-calendar-event-copy strong{
  font-size:12px;
  line-height:1.08;
}

.season-calendar-event-copy small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1.12;
  font-weight:520;
}

.season-calendar-event-copy .season-calendar-event-secondary{
  margin-top:4px;
  color:rgba(255,255,255,.82);
}

.season-calendar-event-card.is-season-end .season-calendar-event-copy strong{
  font-size:13px;
  line-height:1.1;
}

.season-calendar-day.is-remapped-source{
  background:
    linear-gradient(145deg,rgba(255,255,255,.02),transparent 55%),
    linear-gradient(180deg,#394149,#30373e);
}

.season-calendar-day.is-remapped-source .season-calendar-date{
  opacity:.28;
}

.season-calendar-remapped-overlay{
  position:absolute;
  inset:2px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(12,14,16,.34);
  color:rgba(255,255,255,.72);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-size:12px;
  font-weight:760;
}

.season-calendar-remapped-overlay span{
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:5px;
  background:rgba(0,0,0,.24);
}

.season-calendar-day.is-past{
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 55%),
    linear-gradient(180deg,#3f4851,#363e46);
}

.season-calendar-day.is-past .season-calendar-date{
  opacity:.42;
}

.season-calendar-day.is-past .season-calendar-empty-mark{
  opacity:.35;
}

.season-calendar-day.is-past .season-calendar-event-card{
  filter:grayscale(.38) brightness(.58);
  opacity:.68;
}

.season-calendar-day.is-past .season-calendar-remapped-overlay{
  opacity:.62;
}

.season-calendar-day.is-current{
  z-index:5;
}

.season-calendar-day.is-current::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:8;
  border:3px solid #ffd83d;
  border-radius:4px;
  box-shadow:
    0 0 11px #ffd83dbf,
    0 0 22px #ffc40070,
    inset 0 0 10px #ffd83d55;
  pointer-events:none;
  transition:box-shadow .18s ease,border-color .18s ease;
}

.season-calendar-footer{
  display:flex;
  justify-content:center;
  padding-top:18px;
}

.season-calendar-toggle{
  min-width:260px;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 22px;
  border:1px solid #555b62;
  border-radius:999px;
  background:linear-gradient(180deg,#3d4044,#27292c);
  color:#f5f5f5;
  font-size:16px;
  font-weight:570;
  box-shadow:
    0 12px 30px #00000045,
    inset 0 1px 0 #ffffff14;
}

.season-calendar-toggle:hover:enabled{
  background:linear-gradient(180deg,#4b4f54,#303338);
  border-color:#777d84;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 34px #00000055,inset 0 1px 0 #ffffff18;
}

.season-calendar-toggle-icon{
  font-size:20px;
  line-height:1;
}

/* Calendário completo */

.season-calendar-full-toolbar{
  min-height:54px;
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:12px;
  margin-bottom:6px;
}

.season-calendar-full-toolbar strong{
  color:#f4f4f4;
  font-size:21px;
  line-height:1;
  font-weight:720;
  text-align:center;
  text-transform:capitalize;
}

.season-calendar-month-separator{
  text-transform:none;
}

.season-calendar-month-arrow{
  width:44px;
  height:40px;
  min-height:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #45484d;
  border-radius:10px;
  background:linear-gradient(180deg,#292b2e,#1c1d1f);
  color:#f2f2f2;
  font-size:30px;
  line-height:1;
  font-weight:300;
  box-shadow:inset 0 1px 0 #ffffff0c;
}

.season-calendar-month-arrow:hover:enabled{
  background:linear-gradient(180deg,#383b3f,#242629);
  color:#fff;
  border-color:#666a70;
}

.season-calendar-month-arrow:disabled{
  opacity:.25;
  cursor:default;
}

.season-calendar-grid-full .season-calendar-day{
  min-height:106px;
}

.season-calendar-grid-full .season-calendar-day:nth-child(7n){
  border-right:0;
}

.season-calendar-grid-full .season-calendar-day:nth-last-child(-n+7){
  border-bottom:0;
}

.season-calendar-grid-full .season-calendar-date{
  left:11px;
  top:10px;
}

.season-calendar-grid-full .season-calendar-date strong{
  font-size:17px;
}

.season-calendar-grid-full .season-calendar-date span{
  font-size:10px;
}

.season-calendar-day.is-current:hover::after{
  border-color:#ffe45a;
  box-shadow:
    0 0 16px rgba(255,216,61,.95),
    0 0 30px rgba(255,196,0,.56),
    inset 0 0 12px rgba(255,216,61,.62);
}

.season-calendar-grid-full .season-calendar-empty-mark{
  left:11px;
  top:43px;
  width:16px;
}

.season-calendar-grid-full .season-calendar-event-card{
  padding:42px 8px 8px;
  gap:6px;
}

.season-calendar-grid-full .season-calendar-event-glyph{
  width:24px;
  height:24px;
  flex-basis:24px;
  font-size:13px;
}

.season-calendar-grid-full .season-calendar-event-copy{
  padding-left:7px;
}

.season-calendar-grid-full .season-calendar-event-copy strong{
  font-size:11px;
}

.season-calendar-grid-full .season-calendar-event-copy small{
  font-size:9px;
}

.season-calendar-grid-full .season-calendar-remapped-overlay{
  padding:8px;
  font-size:9px;
}

.season-calendar-day.is-outside-month{
  background:linear-gradient(180deg,#525c66,#47515b);
}

.season-calendar-day.is-outside-month .season-calendar-date{
  opacity:.88;
}


/* Dias já passados mantêm exatamente o mesmo apagamento,
   mesmo quando pertencem ao mês anterior/seguinte exibido na grade. */
.season-calendar-day.is-outside-month.is-past{
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 55%),
    linear-gradient(180deg,#3f4851,#363e46);
}

.season-calendar-day.is-outside-month.is-past .season-calendar-date{
  opacity:.42;
}

/* Modal visual de agendamento */

.season-calendar-modal{
  position:fixed;
  inset:0;
  z-index:250;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(0,0,0,.74);
  backdrop-filter:blur(7px);
}

.season-calendar-modal-card{
  position:relative;
  width:min(560px,calc(100vw - 36px));
  padding:34px;
  border:1px solid #555a60;
  border-radius:17px;
  background:
    radial-gradient(circle at 100% 0,rgba(57,139,196,.12),transparent 36%),
    linear-gradient(145deg,#26282b,#121315 68%);
  box-shadow:0 30px 90px #000000bd,inset 0 1px 0 #ffffff0a;
  color:#f5f5f5;
}

.season-calendar-modal-close{
  position:absolute;
  right:15px;
  top:13px;
  width:36px;
  height:36px;
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  color:#aeb3b8;
  font-size:28px;
  font-weight:300;
  box-shadow:none;
}

.season-calendar-modal-close:hover:enabled{
  background:transparent;
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-calendar-modal-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#9ea5ac;
  font-size:10px;
  font-weight:720;
  letter-spacing:1.8px;
}

.season-calendar-modal-card h2{
  margin:0 44px 10px 0;
  color:#fff;
  font-size:26px;
  line-height:1.18;
  letter-spacing:-.4px;
}

.season-calendar-modal-card p{
  color:#aeb3b9;
  font-size:14px;
  line-height:1.6;
}

.season-calendar-modal-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:24px 0 26px;
}

.season-calendar-modal-summary span{
  min-height:70px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px 16px;
  border:1px solid #3c4248;
  border-radius:11px;
  background:#0e1012;
  color:#d4d7da;
  font-size:13px;
}

.season-calendar-modal-summary strong{
  color:#fff;
  font-size:25px;
  line-height:1;
}

.season-calendar-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

@media(max-width:900px){
  .season-calendar-page{
    width:calc(100% - 36px);
    overflow-x:auto;
  }

  .season-calendar-frame{
    min-width:820px;
  }

  .season-calendar-heading{
    min-width:0;
  }
}

@media(max-width:700px){
  .season-calendar-page{
    width:100%;
    padding:18px 16px 44px;
  }

  .season-calendar-heading{
    position:sticky;
    left:0;
  }

  .season-calendar-heading h1{
    font-size:29px;
  }

  .season-current-club-badge{
    right:18px;
    width:44px;
    height:44px;
  }

  .season-current-club-crest{
    width:40px;
    height:40px;
  }

  .season-current-club-crest.is-fallback-ball{
    width:28px;
    height:28px;
  }

  .season-calendar-footer{
    position:sticky;
    left:0;
  }

  .season-calendar-modal-card{
    padding:28px 22px 22px;
  }

  .season-calendar-modal-summary{
    grid-template-columns:1fr;
  }

  .season-calendar-modal-actions{
    flex-direction:column-reverse;
  }

  .season-calendar-modal-actions button{
    width:100%;
  }
}

/* Calendário conectado ao Supabase */
.season-calendar-status-card{
  width:min(720px,100%);
  margin:36px auto 0;
  padding:28px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
  border:1px solid #3c434a;
  border-radius:14px;
  background:linear-gradient(145deg,#20252a,#14181c);
  box-shadow:0 20px 50px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.04);
}

.season-calendar-status-card strong{
  color:#f4f5f6;
  font-size:17px;
}

.season-calendar-status-card span{
  color:#aeb6be;
  font-size:13px;
}

.season-calendar-status-card button{
  margin-top:10px;
}

.season-calendar-status-card.is-error{
  border-color:#624646;
}

/* Agendamento real de jogos da fase de liga */
.season-calendar-modal-eyebrow{
  text-align:center;
}

.season-calendar-modal-card h2{
  margin:0;
  padding:0 44px;
  text-align:center;
}

.season-calendar-modal-subtitle{
  margin-top:3px;
  color:#aeb3b9;
  font-size:13px;
  font-weight:600;
  text-align:center;
}

.season-calendar-schedule-form{
  width:min(390px,100%);
  margin:24px auto 0;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.season-calendar-opponent-label{
  margin-bottom:10px;
  color:#d7dade;
  font-size:13px;
  font-weight:650;
  text-align:center;
}

.season-calendar-opponent-select{
  position:relative;
  width:100%;
}

.season-calendar-opponent-trigger{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 14px;
  border:1px solid #464c52;
  border-radius:11px;
  background:#0e1012;
  color:#f3f4f5;
  box-shadow:none;
  text-align:left;
}

.season-calendar-opponent-trigger:hover:enabled,
.season-calendar-opponent-trigger:focus-visible{
  border-color:#646b72;
  background:#121519;
  box-shadow:none;
  transform:none;
}

.season-calendar-opponent-trigger-value{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
}

.season-calendar-opponent-trigger-value strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}

.season-calendar-opponent-placeholder{
  color:#828990;
  font-size:13px;
  font-weight:500;
}

.season-calendar-opponent-chevron{
  flex:0 0 auto;
  color:#aeb3b9;
  font-size:19px;
  line-height:1;
  transition:transform .2s ease;
}

.season-calendar-opponent-select.is-open .season-calendar-opponent-chevron{
  transform:rotate(180deg);
}

.season-calendar-opponent-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  z-index:6;
  max-height:245px;
  overflow:auto;
  padding:6px;
  border:1px solid #41474d;
  border-radius:11px;
  background:#121518;
  box-shadow:0 18px 40px rgba(0,0,0,.48);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}

.season-calendar-opponent-select.is-open .season-calendar-opponent-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.season-calendar-opponent-option{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#e7e9eb;
  box-shadow:none;
  text-align:left;
}

.season-calendar-opponent-option span{
  display:flex;
  align-items:center;
  min-height:22px;
  font-size:14px;
  line-height:1.2;
}

.season-calendar-opponent-option:hover:enabled,
.season-calendar-opponent-option[aria-selected="true"]{
  background:#24292e;
  box-shadow:none;
  transform:none;
}

.season-calendar-select-crest{
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:contain;
}

.season-calendar-select-crest.is-fallback-ball{
  width:18px;
  height:18px;
  margin:2px;
}

.season-calendar-schedule-empty,
.season-calendar-schedule-error{
  display:block;
  margin-top:13px;
  color:#9299a0;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.season-calendar-schedule-error{
  color:#dc9999;
}

.season-calendar-modal-actions.is-schedule-choice{
  min-height:52px;
  margin-top:27px;
  justify-content:center;
  align-items:center;
}

.season-calendar-schedule-back{
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}

.season-calendar-modal-actions.is-schedule-choice.has-selection .season-calendar-schedule-back{
  transform:translateX(-4px);
}

.season-calendar-schedule-confirm{
  max-width:0;
  min-width:0;
  overflow:hidden;
  padding-left:0;
  padding-right:0;
  margin-left:-10px;
  border-left-width:0;
  border-right-width:0;
  opacity:0;
  visibility:hidden;
  white-space:nowrap;
  transform:translateX(-9px);
  pointer-events:none;
  transition:
    max-width .28s cubic-bezier(.22,.61,.36,1),
    padding .28s cubic-bezier(.22,.61,.36,1),
    margin .28s cubic-bezier(.22,.61,.36,1),
    opacity .2s ease,
    transform .28s cubic-bezier(.22,.61,.36,1),
    visibility .2s;
}

.season-calendar-modal-actions.is-schedule-choice.has-selection .season-calendar-schedule-confirm{
  max-width:230px;
  padding-left:18px;
  padding-right:18px;
  margin-left:0;
  border-left-width:1px;
  border-right-width:1px;
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  pointer-events:auto;
}

.season-calendar-matchup{
  margin:34px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
}

.season-calendar-matchup-club{
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
}

.season-calendar-matchup-crest{
  max-width:94px;
  max-height:94px;
  width:94px;
  height:94px;
  object-fit:contain;
}

.season-calendar-matchup-crest.is-fallback-ball{
  width:62px;
  height:62px;
}

.season-calendar-matchup-x{
  color:#d6d9dc;
  font-size:30px;
  font-weight:400;
}

.season-calendar-venue{
  margin-top:10px;
  color:#979ea5;
  font-size:12px;
  font-weight:650;
  letter-spacing:.15px;
  text-align:center;
}

.season-calendar-modal-actions.is-confirmed{
  margin-top:25px;
  justify-content:center;
}

@media(max-width:700px){
  .season-calendar-matchup{
    gap:18px;
  }

  .season-calendar-matchup-club{
    width:86px;
    height:86px;
  }

  .season-calendar-matchup-crest{
    width:78px;
    height:78px;
  }

  .season-calendar-modal-actions.is-schedule-choice{
    flex-direction:row;
  }

  .season-calendar-modal-actions.is-schedule-choice button{
    width:auto;
  }
}


/* Resultado e cancelamento de jogos */
.season-calendar-modal-card{
  transition:width .28s cubic-bezier(.22,.61,.36,1);
}

.season-calendar-modal-card.is-result-entry{
  width:min(760px,calc(100vw - 36px));
}

.season-calendar-confirmed-actions{
  margin-top:27px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}

.season-calendar-result-primary{
  min-width:168px;
}

.season-calendar-cancel-match{
  min-height:34px;
  padding:7px 13px;
  border-color:#6a3438;
  background:#2a1619;
  color:#d9858d;
  font-size:12px;
  font-weight:650;
  box-shadow:none;
}

.season-calendar-cancel-match:hover:enabled,
.season-calendar-cancel-match:focus-visible{
  border-color:#8b454b;
  background:#381b1f;
  color:#efa1a8;
  box-shadow:none;
  transform:none;
}

.season-calendar-matchup.is-result-entry{
  gap:12px;
}

.season-calendar-matchup-club{
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}

.season-calendar-matchup.is-result-entry .season-calendar-matchup-club.is-home{
  transform:translateX(-18px);
}

.season-calendar-matchup.is-result-entry .season-calendar-matchup-club.is-away{
  transform:translateX(18px);
}

.season-calendar-score-input{
  width:54px;
  height:48px;
  padding:0 6px;
  border:1px solid #4b5157;
  border-radius:10px;
  background:#0d0f11;
  color:#f6f7f8;
  font-size:21px;
  font-weight:760;
  line-height:48px;
  text-align:center;
  outline:none;
  appearance:textfield;
}

.season-calendar-score-input::-webkit-inner-spin-button,
.season-calendar-score-input::-webkit-outer-spin-button{
  margin:0;
  appearance:none;
}

.season-calendar-score-input:focus{
  border-color:#7a8188;
  box-shadow:0 0 0 2px rgba(255,255,255,.055);
}

.season-calendar-result-details{
  width:100%;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:190px minmax(220px,1fr) 190px;
  align-items:start;
  gap:18px;
}

.season-calendar-result-side{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.season-calendar-player-picker{
  position:relative;
  width:100%;
}

.season-calendar-player-picker-trigger{
  width:100%;
  min-height:40px;
  padding:7px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #42484e;
  border-radius:9px;
  background:#0e1012;
  color:#e5e7e9;
  box-shadow:none;
  font-size:12px;
  text-align:left;
}

.season-calendar-player-picker-trigger:hover:enabled,
.season-calendar-player-picker-trigger:focus-visible{
  border-color:#626970;
  background:#131619;
  box-shadow:none;
  transform:none;
}

.season-calendar-player-picker-trigger:disabled{
  opacity:.38;
  cursor:default;
}

.season-calendar-player-picker-menu{
  position:absolute;
  left:0;
  top:calc(100% + 6px);
  z-index:12;
  width:270px;
  padding:7px;
  border:1px solid #41474d;
  border-radius:10px;
  background:#121518;
  box-shadow:0 18px 42px rgba(0,0,0,.55);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}

.season-calendar-player-menu-top{
  display:block;
}

.season-calendar-player-menu-top.has-gc-toggle{
  display:flex;
  align-items:center;
  gap:14px;
}

.season-calendar-result-side.is-away .season-calendar-player-picker-menu{
  left:auto;
  right:0;
}

.season-calendar-player-picker.is-open .season-calendar-player-picker-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.season-calendar-player-search{
  width:100%;
  height:38px;
  padding:0 11px;
  border:1px solid #383e44;
  border-radius:8px;
  background:#0b0d0f;
  color:#f0f1f2;
  font-size:12px;
  outline:none;
}

.season-calendar-player-own-goal-toggle{
  width:42px;
  min-width:42px;
  height:38px;
  padding:0;
  border:1px solid rgba(117,66,72,.42);
  border-radius:8px;
  background:rgba(43,23,27,.42);
  color:rgba(232,163,171,.50);
  font-size:12px;
  font-weight:760;
  opacity:.62;
  box-shadow:none;
  transition:opacity .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .18s ease,transform .16s ease;
}

.season-calendar-player-own-goal-toggle:hover:enabled,
.season-calendar-player-own-goal-toggle:focus-visible{
  opacity:.86;
  border-color:rgba(156,85,93,.72);
  background:#351a1f;
  color:#efabb3;
  box-shadow:none;
  transform:none;
}

.season-calendar-player-own-goal-toggle.is-active{
  opacity:1;
  border-color:#d56672;
  background:#5a2028;
  color:#ffe1e4;
  box-shadow:0 0 0 1px rgba(224,92,105,.24),0 0 14px rgba(224,92,105,.42),inset 0 0 10px rgba(255,137,148,.10);
  transform:none;
}

.season-calendar-player-search::placeholder{
  color:#777f87;
}

.season-calendar-player-search:focus{
  border-color:#626970;
}

.season-calendar-player-list{
  max-height:116px;
  margin-top:6px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#697179 #1a1e22;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.season-calendar-player-list::-webkit-scrollbar{
  width:7px;
}

.season-calendar-player-list::-webkit-scrollbar-track{
  background:#1a1e22;
  border-radius:999px;
}

.season-calendar-player-list::-webkit-scrollbar-thumb{
  background:#697179;
  border-radius:999px;
}

.season-calendar-player-option{
  width:100%;
  min-height:36px;
  padding:5px 7px;
  display:grid;
  grid-template-columns:30px 24px minmax(0,1fr);
  align-items:center;
  gap:7px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#e7e9eb;
  box-shadow:none;
  text-align:left;
}

.season-calendar-player-option:hover:enabled,
.season-calendar-player-option:focus-visible{
  background:#24292e;
  box-shadow:none;
  transform:none;
}

.season-calendar-player-overall{
  width:30px;
  color:#fff;
  font-size:12px;
  font-weight:760;
  text-align:center;
}

.season-calendar-player-option .season-roster-flag{
  width:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
}

.season-calendar-player-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}

.season-calendar-player-empty{
  display:block;
  padding:12px 8px;
  color:#858d95;
  font-size:11px;
  line-height:1.4;
  text-align:center;
}

.season-calendar-goal-events{
  min-height:90px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:start;
}

.season-calendar-goal-events-side{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.season-calendar-goal-events-side.is-home{
  text-align:right;
}

.season-calendar-goal-events-side.is-away{
  text-align:left;
}

.season-calendar-goal-event{
  min-width:0;
}

.season-calendar-goal-scorer{
  display:flex;
  align-items:center;
  gap:6px;
  color:#f1f2f3;
  font-size:12px;
  line-height:1.2;
}

.season-calendar-goal-event.is-home .season-calendar-goal-scorer{
  justify-content:flex-end;
}

.season-calendar-goal-event.is-away .season-calendar-goal-scorer{
  justify-content:flex-start;
}

.season-calendar-goal-scorer strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-calendar-goal-ball{
  width:13px;
  height:13px;
  flex:0 0 13px;
  object-fit:contain;
}

.season-calendar-goal-ball.is-own-goal{
  filter:brightness(0) saturate(100%) invert(51%) sepia(49%) saturate(1016%) hue-rotate(307deg) brightness(94%) contrast(92%);
}

.season-calendar-goal-event.is-own-goal .season-calendar-goal-scorer strong{
  color:#df7781;
}

.season-calendar-goal-assist{
  display:block;
  margin-top:3px;
  color:#8d959d;
  font-size:10px;
  line-height:1.2;
}

.season-calendar-result-error{
  display:block;
  margin:14px auto 0;
  color:#dc9999;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.season-calendar-modal-actions.is-result-entry-actions{
  width:100%;
  margin-top:26px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}

.season-calendar-modal-actions.is-result-entry-actions [data-calendar-result-back]{
  justify-self:start;
}

.season-calendar-modal-actions.is-result-entry-actions .season-calendar-result-clear{
  justify-self:center;
}

.season-calendar-modal-actions.is-result-entry-actions .season-calendar-result-confirm{
  justify-self:end;
}

.season-calendar-result-clear{
  min-width:170px;
}

.season-calendar-result-confirm{
  min-width:178px;
  border-color:#317046;
  background:#1d5a32;
  color:#f4fff8;
}

.season-calendar-result-confirm:hover:enabled,
.season-calendar-result-confirm:focus-visible{
  border-color:#41945c;
  background:#25733f;
  color:#ffffff;
  box-shadow:none;
  transform:none;
}

@media(max-width:760px){
  .season-calendar-modal-actions.is-result-entry-actions{
    grid-template-columns:1fr;
  }

  .season-calendar-modal-actions.is-result-entry-actions [data-calendar-result-back],
  .season-calendar-modal-actions.is-result-entry-actions .season-calendar-result-clear,
  .season-calendar-modal-actions.is-result-entry-actions .season-calendar-result-confirm{
    justify-self:stretch;
    width:100%;
  }

  .season-calendar-modal-card.is-result-entry{
    width:min(620px,calc(100vw - 24px));
  }

  .season-calendar-result-details{
    grid-template-columns:1fr 1fr;
  }

  .season-calendar-goal-events{
    grid-column:1 / -1;
    grid-row:2;
  }
}

@media(max-width:560px){
  .season-calendar-matchup.is-result-entry{
    gap:7px;
  }

  .season-calendar-matchup.is-result-entry .season-calendar-matchup-club.is-home,
  .season-calendar-matchup.is-result-entry .season-calendar-matchup-club.is-away{
    transform:none;
  }

  .season-calendar-matchup.is-result-entry .season-calendar-matchup-club{
    width:72px;
    height:72px;
  }

  .season-calendar-matchup.is-result-entry .season-calendar-matchup-crest{
    width:68px;
    height:68px;
  }

  .season-calendar-score-input{
    width:46px;
    height:44px;
    font-size:18px;
  }

  .season-calendar-result-details{
    grid-template-columns:1fr;
  }

  .season-calendar-result-side.is-away,
  .season-calendar-goal-events{
    grid-column:auto;
    grid-row:auto;
  }

  .season-calendar-player-picker-menu,
  .season-calendar-result-side.is-away .season-calendar-player-picker-menu{
    left:0;
    right:auto;
    width:100%;
  }
}

/* Resultado por W/O */
.season-calendar-wo-label{
  margin:2px auto 10px;
  color:#aab2ba;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
}

.season-calendar-wo-row{
  margin-top:10px;
  display:flex;
  justify-content:center;
}

.season-calendar-wo-trigger{
  min-width:40px;
  height:26px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #42484e;
  border-radius:999px;
  background:#0e1012;
  color:#dfe3e6;
  font-size:15px;
  font-weight:800;
  line-height:1;
  letter-spacing:1.5px;
  box-shadow:none;
}

.season-calendar-wo-trigger:hover:enabled,
.season-calendar-wo-trigger:focus-visible{
  border-color:#626970;
  background:#15191d;
  box-shadow:none;
  transform:none;
}

.season-calendar-wo-panel{
  width:min(340px,100%);
  margin:14px auto 0;
  padding:16px 16px 14px;
  border:1px solid #3d444b;
  border-radius:14px;
  background:#111418;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  box-shadow:0 18px 42px rgba(0,0,0,.3);
}

.season-calendar-wo-panel-title{
  color:#f4f6f8;
  font-size:16px;
  font-weight:800;
  letter-spacing:.08em;
}

.season-calendar-wo-panel-subtitle{
  color:#99a2aa;
  font-size:12px;
  text-align:center;
}

.season-calendar-wo-options{
  width:100%;
  margin-top:4px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
}

.season-calendar-wo-option{
  width:92px;
  height:92px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #394047;
  border-radius:16px;
  background:#0c0f12;
  box-shadow:none;
}

.season-calendar-wo-option:hover:enabled,
.season-calendar-wo-option:focus-visible{
  border-color:#5b646d;
  background:#15191d;
  box-shadow:none;
  transform:none;
}

.season-calendar-wo-option .season-calendar-wo-option-crest{
  width:68px;
  height:68px;
  object-fit:contain;
}

.season-calendar-wo-option .season-calendar-wo-option-crest.is-fallback-ball{
  width:52px;
  height:52px;
  opacity:.58;
}

.season-calendar-wo-back{
  min-width:120px;
  margin-top:4px;
}

.season-calendar-wo-note{
  margin:20px auto 0;
  color:#98a1aa;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.season-calendar-score-input:disabled{
  opacity:1;
  color:#f6f7f8;
  cursor:default;
}

@media(max-width:560px){
  .season-calendar-wo-panel{
    width:min(310px,100%);
  }

  .season-calendar-wo-option{
    width:80px;
    height:80px;
  }

  .season-calendar-wo-option .season-calendar-wo-option-crest{
    width:58px;
    height:58px;
  }
}


/* =========================================================
   TEMPORADA · COMPETIÇÕES
   ========================================================= */

.season-competition-page{
  position:relative;
  width:min(1360px,calc(100% - 80px));
  margin:0 auto;
  padding:18px 0 58px;
  box-sizing:border-box;
}

.season-competition-page::before{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  width:min(1180px,92vw);
  height:690px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 18% 35%,rgba(255,255,255,.032),transparent 34%),
    radial-gradient(circle at 83% 40%,rgba(38,139,200,.07),transparent 36%);
  filter:blur(8px);
  pointer-events:none;
  z-index:-1;
}

.season-competition-heading{
  margin:0 0 28px;
  text-align:center;
}

.season-competition-heading h1{
  margin:0;
  color:#f5f5f5;
  font-size:clamp(30px,3vw,40px);
  line-height:1.1;
  font-weight:780;
  letter-spacing:-1.2px;
}

.season-competition-primary-tabs{
  width:min(930px,100%);
  margin:0 auto 14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:linear-gradient(180deg,#343a40,#2c3238);
  box-shadow:0 12px 34px rgba(0,0,0,.19);
}

.season-competition-primary-tabs.is-cup{
  /* Na Copa não existe o segundo menu; preserva o mesmo respiro de 30px
     que o menu Abertura/Clausura/Final tem antes dos quadros abaixo. */
  margin-bottom:30px;
}

.season-competition-primary-tab{
  min-width:0;
  min-height:48px;
  margin:0;
  padding:0 22px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#dce2e8;
  font-size:17px;
  font-weight:650;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}

.season-competition-primary-tab:last-child{
  border-right:0;
}

.season-competition-primary-tab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-competition-primary-tab.is-active{
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
  font-weight:780;
}

.season-competition-secondary-tabs{
  width:min(840px,calc(100% - 74px));
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  background:linear-gradient(180deg,#3d464e,#323940);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}

.season-competition-secondary-tab{
  min-width:0;
  min-height:39px;
  margin:0;
  padding:0 14px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#cdd4da;
  font-size:13px;
  line-height:1.2;
  font-weight:620;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}

.season-competition-secondary-tab:last-child{
  border-right:0;
}

.season-competition-secondary-tab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-competition-secondary-tab.is-active{
  background:linear-gradient(180deg,#58636d,#434d56);
  color:#fff;
  font-weight:760;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.season-competition-opening-layout{
  width:min(1240px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:26px;
  align-items:start;
}

.season-competition-table-card,
.season-competition-results-card{
  border:1px solid #4e5963;
  background:
    linear-gradient(145deg,#3f4953,#333c44 70%);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.season-competition-table-card{
  min-width:0;
  min-height:0;
  padding:25px 27px 30px;
  border-radius:28px;
  box-sizing:border-box;
}

.season-competition-table-card-head{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
  padding:0 2px 17px;
  border-bottom:1px solid rgba(255,255,255,.075);
}

.season-competition-table-card-head.is-static{
  grid-template-columns:minmax(0,1fr);
}

.season-competition-stats-card-title{
  margin:0 0 14px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#f5f7f9;
  font-size:13px;
  line-height:1.2;
  font-weight:780;
  text-align:center;
}

.season-competition-table-card-head strong{
  min-width:0;
  color:#f5f7f9;
  font-size:19px;
  line-height:1.2;
  font-weight:780;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
}

.season-competition-table-card-head .season-competition-results-arrow{
  width:36px;
  min-width:36px;
  height:36px;
  border-radius:9px;
  font-size:23px;
}

.season-competition-table-card.is-bracket-view{
  padding-bottom:22px;
}

.season-competition-bracket-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 7px;
  border-radius:16px;
  scrollbar-width:thin;
}

.season-competition-bracket{
  --season-bracket-rounds:3;
  position:relative;
  width:100%;
  min-width:calc(
    (var(--season-bracket-rounds) * 236px) +
    ((var(--season-bracket-rounds) - 1) * 42px)
  );
  min-height:388px;
  display:grid;
  grid-template-columns:repeat(
    var(--season-bracket-rounds),
    minmax(236px,1fr)
  );
  column-gap:42px;
  box-sizing:border-box;
  padding:2px 5px 3px;
}

.season-competition-bracket-scroll.is-cup{
  padding-bottom:10px;
  scrollbar-width:thin;
}

.season-competition-bracket.is-cup-bracket{
  min-height:388px;
}

.season-competition-bracket.is-cup-bracket.has-round-of-16{
  /*
    Nas Copas com oitavas, os confrontos mantêm exatamente a mesma escala
    visual usada no chaveamento da competição principal. O quadro cresce
    verticalmente em vez de compactar escudos, nomes, placares ou cards.
  */
  min-height:790px;
}

.season-competition-bracket.is-cup-bracket.has-round-of-16
.season-competition-bracket-round-matches{
  min-height:747px;
}

.season-competition-table-card.is-cup-view{
  overflow:hidden;
}

.season-competition-bracket-lines{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.season-competition-bracket-lines path{
  fill:none;
  stroke:#70a9cf;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
}

.season-competition-bracket-round{
  position:relative;
  z-index:1;
  min-width:0;
  display:grid;
  grid-template-rows:30px minmax(0,1fr);
}

.season-competition-bracket-round h3{
  margin:0;
  color:#bcd9ec;
  font-size:13px;
  line-height:1.2;
  font-weight:720;
  text-align:center;
}

.season-competition-bracket-round-matches{
  min-height:345px;
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  gap:14px;
  padding:4px 0;
}

.season-competition-bracket-match{
  position:relative;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:5px 7px;
  border:1px solid rgba(113,169,207,.66);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(38,49,58,.98),rgba(28,37,44,.98));
  box-shadow:
    0 9px 24px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.season-competition-bracket-match.is-pending{
  border-color:rgba(255,255,255,.12);
  background:
    linear-gradient(145deg,rgba(34,43,50,.83),rgba(26,33,39,.83));
}

.season-competition-bracket-club{
  min-height:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  border-radius:7px;
}

.season-competition-bracket-club+.season-competition-bracket-club{
  border-top:1px solid rgba(255,255,255,.055);
}

.season-competition-bracket-club.is-winner{
  /* O vencedor já se destaca pelo contraste com o eliminado. */
  background:transparent;
}

.season-competition-bracket-club-main{
  min-width:0;
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  align-items:center;
  column-gap:8px;
}

.season-competition-bracket-club-main strong{
  min-width:0;
  overflow:hidden;
  color:#f4f7f9;
  font-size:12.5px;
  line-height:1.2;
  font-weight:690;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-competition-bracket-club.is-pending .season-competition-bracket-club-main strong{
  color:#8f9ba5;
  font-weight:580;
}

.season-competition-bracket-crest{
  flex:0 0 auto;
  width:25px;
  height:25px;
  object-fit:contain;
  justify-self:center;
}

.season-competition-bracket-crest.is-fallback-ball{
  width:20px;
  height:20px;
}

.season-competition-bracket-crest-placeholder{
  flex:0 0 auto;
  width:23px;
  height:23px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:7px 7px 10px 10px;
  background:
    linear-gradient(145deg,rgba(137,151,162,.34),rgba(90,104,115,.2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}

.season-competition-bracket-scores{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
}

.season-competition-bracket-scores span{
  width:27px;
  min-width:27px;
  height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.055);
  border-radius:7px;
  background:#344451;
  color:#f7f9fa;
  font-size:12px;
  font-weight:760;
  line-height:1;
}

.season-competition-bracket-scores span.is-pending{
  background:#303b44;
  color:#82909a;
}

.season-competition-table-scroll{
  width:100%;
  overflow-x:auto;
  border-radius:4px;
}

.season-competition-table{
  min-width:760px;
}

.season-competition-table-head,
.season-competition-table-row{
  display:grid;
  grid-template-columns:48px minmax(250px,1.9fr) repeat(8,minmax(54px,.48fr));
  align-items:center;
  width:100%;
  box-sizing:border-box;
}

.season-competition-table-head{
  min-height:48px;
  padding:0 8px;
  background:linear-gradient(180deg,#343a40,#2b3136);
  border-top:1px solid rgba(255,255,255,.065);
  border-right:0;
  border-bottom:0;
  border-left:0;
  color:#eef2f5;
}

.season-competition-table-head strong{
  font-size:14px;
  font-weight:750;
  text-align:center;
}

.season-competition-table-body{
  border-left:0;
  border-right:0;
}

.season-competition-table-row{
  min-height:48px;
  padding:0 8px;
  color:#eef3f6;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:transparent;
}

.season-competition-table-row:last-child{
  border-bottom:0;
}

.season-competition-table-row.is-qualifying{
  background:
    linear-gradient(90deg,rgba(0,151,207,.94),rgba(0,121,179,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.season-competition-position{
  font-size:15px;
  font-weight:650;
  text-align:left;
}

.season-competition-club{
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  padding-right:12px;
}

.season-competition-club strong{
  min-width:0;
  overflow:hidden;
  color:#f7f9fa;
  font-size:15px;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-competition-club-crest{
  flex:0 0 auto;
  width:28px;
  height:28px;
  object-fit:contain;
  justify-self:center;
}

.season-competition-club-crest.is-fallback-ball{
  width:22px;
  height:22px;
}

.season-competition-table-row > span:not(.season-competition-position),
.season-competition-table-row > strong{
  font-size:14px;
  font-weight:520;
  text-align:center;
}

.season-competition-table-row .season-competition-points{
  font-weight:820;
}

.season-competition-results-card{
  min-height:0;
  align-self:start;
  padding:22px 18px 24px;
  border-radius:28px;
  box-sizing:border-box;
}

.season-competition-side-tabs{
  width:100%;
  min-height:34px;
  margin:0 0 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(20,27,32,.34);
}

.season-competition-side-tab{
  min-width:0;
  min-height:34px;
  margin:0;
  padding:0 8px;
  border:0;
  border-right:1px solid rgba(255,255,255,.10);
  border-radius:0;
  background:transparent;
  color:#b9c2ca;
  font-size:11px;
  line-height:1.1;
  font-weight:680;
  box-shadow:none;
}

.season-competition-side-tab:last-child{
  border-right:0;
}

.season-competition-side-tab:hover:enabled{
  background:rgba(255,255,255,.04);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-competition-side-tab.is-active{
  background:linear-gradient(180deg,#56616b,#414b54);
  color:#fff;
  font-weight:780;
}

.season-competition-stat-tabs{
  width:100%;
  min-height:34px;
  margin:0 0 14px;
  display:grid;
  grid-template-columns:.86fr 1.38fr;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.season-competition-stat-tab{
  min-width:0;
  min-height:34px;
  margin:0;
  padding:0 6px 8px;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:#aeb8c0;
  font-size:10.5px;
  line-height:1.15;
  font-weight:670;
  box-shadow:none;
  white-space:normal;
}

.season-competition-stat-tab:hover:enabled{
  background:transparent;
  color:#eef2f5;
  box-shadow:none;
  transform:none;
}

.season-competition-stat-tab.is-active{
  border-bottom-color:#d9e0e5;
  color:#fff;
  font-weight:780;
}

.season-competition-stat-list{
  display:flex;
  flex-direction:column;
}

.season-competition-stat-row{
  min-height:47px;
  display:grid;
  grid-template-columns:24px 27px 36px minmax(0,1fr) 28px;
  align-items:center;
  column-gap:6px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.season-competition-stat-row:last-child{
  border-bottom:0;
}

.season-competition-stat-position{
  color:#c5cdd3;
  font-size:11px;
  font-weight:680;
  text-align:left;
}

.season-competition-stat-club{
  width:27px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-competition-stat-crest{
  width:25px;
  height:25px;
  object-fit:contain;
}

.season-competition-stat-crest.is-fallback-ball{
  width:20px;
  height:20px;
}

.season-competition-stat-crest-placeholder{
  width:22px;
  height:22px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:7px;
  background:rgba(255,255,255,.025);
}

.season-competition-stat-flag{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-competition-stat-flag .season-roster-flag{
  min-width:20px;
  margin:0;
  font-size:17px;
  line-height:1;
  text-align:center;
}

.season-competition-stat-name{
  min-width:0;
  overflow:hidden;
  color:#f5f7f9;
  font-size:11px;
  line-height:1.2;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-competition-stat-total{
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:820;
  text-align:right;
}

.season-competition-results-head{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:8px;
  align-items:center;
  margin-bottom:18px;
}

.season-competition-results-head strong{
  min-width:0;
  color:#f5f7f9;
  font-size:13px;
  line-height:1.2;
  font-weight:750;
  text-align:center;
}

.season-competition-results-arrow{
  width:30px;
  min-width:30px;
  height:30px;
  margin:0;
  padding:0 0 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.11);
  border-radius:8px;
  background:#2d3338;
  color:#f5f5f5;
  font-size:20px;
  line-height:1;
  box-shadow:none;
}

.season-competition-results-arrow:hover:enabled{
  background:#394149;
  border-color:rgba(255,255,255,.22);
  box-shadow:none;
  transform:none;
}

.season-competition-results-arrow:disabled{
  opacity:.32;
  cursor:default;
}

.season-competition-results-list{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.season-competition-result-row{
  min-height:46px;
  display:grid;
  grid-template-columns:1fr 27px 18px 27px 1fr;
  align-items:center;
  gap:5px;
  border-bottom:1px solid rgba(255,255,255,.055);
}

.season-competition-result-row:last-child{
  border-bottom:0;
}

.season-competition-result-club{
  display:flex;
  align-items:center;
}

.season-competition-result-club.is-home{
  justify-content:flex-end;
}

.season-competition-result-club.is-away{
  justify-content:flex-start;
}

.season-competition-result-crest{
  width:27px;
  height:27px;
  object-fit:contain;
}

.season-competition-result-crest.is-fallback-ball{
  width:21px;
  height:21px;
}

.season-competition-result-row strong{
  color:#fff;
  font-size:14px;
  font-weight:760;
  text-align:center;
}

.season-competition-result-x{
  color:#cbd2d8;
  font-size:13px;
  text-align:center;
}

.season-competition-results-empty{
  padding:42px 12px;
  color:#b4bdc5;
  font-size:13px;
  line-height:1.45;
  text-align:center;
}

.season-competition-status-card,
.season-competition-placeholder{
  width:min(780px,100%);
  margin:28px auto 0;
  padding:28px 30px;
  box-sizing:border-box;
  border:1px solid #4c565f;
  border-radius:24px;
  background:linear-gradient(145deg,#3b444c,#30373e);
  color:#f2f4f6;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.season-competition-status-card strong,
.season-competition-placeholder strong{
  display:block;
  margin-bottom:7px;
  font-size:17px;
}

.season-competition-status-card span,
.season-competition-placeholder span{
  display:block;
  color:#b6c0c8;
  font-size:13px;
}

.season-competition-status-card button{
  margin-top:18px;
}

.season-competition-status-card.is-error{
  border-color:#754d4d;
}

@media(max-width:980px){
  .season-competition-page{
    width:min(100% - 36px,900px);
  }

  .season-competition-opening-layout{
    grid-template-columns:1fr;
  }

  .season-competition-results-card{
    min-height:0;
  }
}

@media(max-width:620px){
  .season-competition-page{
    width:calc(100% - 24px);
    padding-top:14px;
  }

  .season-competition-heading{
    margin-bottom:22px;
  }

  .season-competition-primary-tab{
    min-height:44px;
    padding:0 10px;
    font-size:14px;
  }

  .season-competition-secondary-tabs{
    width:calc(100% - 22px);
    margin-bottom:22px;
  }

  .season-competition-primary-tabs.is-cup{
    margin-bottom:22px;
  }

  .season-competition-secondary-tab{
    min-height:42px;
    padding:0 8px;
    font-size:11px;
  }

  .season-competition-table-card{
    padding:18px 14px 22px;
    border-radius:20px;
  }


  .season-competition-table-card-head{
    grid-template-columns:32px minmax(0,1fr) 32px;
    gap:8px;
    margin-bottom:15px;
    padding-bottom:14px;
  }

  .season-competition-table-card-head strong{
    font-size:15px;
  }

  .season-competition-table-card-head .season-competition-results-arrow{
    width:32px;
    min-width:32px;
    height:32px;
    font-size:20px;
  }

  .season-competition-bracket{
    min-width:calc(
      (var(--season-bracket-rounds) * 224px) +
      ((var(--season-bracket-rounds) - 1) * 34px)
    );
    grid-template-columns:repeat(
      var(--season-bracket-rounds),
      minmax(224px,1fr)
    );
    column-gap:34px;
  }

  .season-competition-results-card{
    padding:18px 14px 20px;
    border-radius:20px;
  }
}


/* =========================================================
   MCO · PADRÃO VISUAL GLOBAL
   Base preta + grafites frios + branco
   Calendário como referência visual
   ========================================================= */

:root{
  --bg:#07090b;
  --surface:#11161a;
  --surface2:#1a2127;
  --surface3:#232b32;
  --surface4:#303a43;
  --border:#343f48;
  --border-soft:#2b343c;
  --text:#f4f6f8;
  --muted:#a7b0b8;
  --green:#e7ecef;
  --ink:#0b0e10;
  --red:#dfe4e7;
  --panel-fill:linear-gradient(145deg,#1b2228e8,#0f1418f5 68%);
  --shadow:0 18px 50px #00000048,inset 0 1px 0 #ffffff07;
}

html{
  background:var(--bg);
  scrollbar-color:#46515b #0b0f12;
}

body{
  background:
    radial-gradient(ellipse at 50% -15%,#34404a66,transparent 58%),
    radial-gradient(ellipse at 100% 65%,#1b273045,transparent 45%),
    linear-gradient(135deg,#0d1114,#07090b 55%,#0a0d10);
}

::selection{
  background:#e2e8ec;
  color:#0b0e10;
}

input,
select{
  background:#0d1216;
  border-color:#303b44;
  color:var(--text);
}

input:hover:enabled,
select:hover:enabled{
  border-color:#5a6670;
  background:#141b20;
}

input:focus,
select:focus{
  border-color:#89949e;
}

input::placeholder{
  color:#7f8a94;
}

.secondary{
  background:linear-gradient(180deg,#20282f,#171d22);
  border-color:#3b4650;
  color:var(--text);
}

.secondary:hover:enabled{
  background:linear-gradient(180deg,#2b353e,#20282f);
  border-color:#68747f;
}

.home-screen .actor-label select{
  background:#0c1115;
  border-color:#2d3740;
  color:var(--text);
}

.home-button{
  border-color:#34404a;
}

.home-button:disabled{
  background:linear-gradient(145deg,#141a1f,#0b0f12);
  border-color:#29333b;
  color:#7f8992;
}

.panel{
  border-color:var(--border);
  background:var(--panel-fill);
}

.choice{
  border-color:var(--border);
  background:var(--panel-fill);
}

.primary-choice{
  border-color:#56636e;
  background:
    radial-gradient(ellipse at 100% 0%,#ffffff0b,transparent 65%),
    linear-gradient(145deg,#222b32,#151b20 75%);
}

.choice:hover:enabled{
  background:linear-gradient(145deg,#2c363e,#1a2127);
  border-color:#8a959f;
}

.unavailable-badge{
  background:#20272d;
  color:#8f99a2;
  border-color:#3b4650;
}

.member-row .recommended{
  background:#242c33;
  color:#e7ebee;
  border-color:#4c5862;
}

.avatar{
  background:linear-gradient(145deg,#3d4953,#20272d);
  border-color:#52606b;
}

.invite-panel{
  background:
    radial-gradient(ellipse at 0 0,#ffffff0a,transparent 58%),
    linear-gradient(145deg,#1d252b,#0f1418 70%);
}

.world-code{
  border-color:#46525c;
  background:#0a0e11;
}

.club-card{
  background:linear-gradient(150deg,#20282f,#151b20);
  border-color:var(--border);
}

.club-card:hover:enabled{
  background:linear-gradient(150deg,#2d3740,#20282f);
  border-color:#6d7984;
}

.club-card.selected{
  border-color:#87939d;
  background:linear-gradient(150deg,#2b353e,#1b2228);
  box-shadow:inset 3px 0 0 #dfe5e9;
}

.notice-card,
dialog{
  border-color:#505c66;
  background:
    radial-gradient(circle at 100% 0,#3a526511,transparent 36%),
    linear-gradient(145deg,#20282f,#101519 70%);
}

.view-note{
  background:linear-gradient(110deg,#20282f,#171d22);
  color:#c4ccd3;
  border-color:#39454e;
}

.radio-card{
  border-color:#343f48;
  background:linear-gradient(145deg,#171d22,#101519);
}

.radio-card:hover:not(.disabled){
  border-color:#67737e;
}

.radio-card:has(input:checked){
  background:linear-gradient(145deg,#2a343c,#1d252b);
  border-color:#7c8994;
}

.season-subdivision{
  border-color:#313c45;
  background:linear-gradient(145deg,#151c21,#0d1216);
}

.season-subdivision-title,
.season-prizes{
  border-color:#2d3740;
}

.season-money-input-wrap input[readonly]{
  background:#13191e;
  color:#a7b0b8;
  border-color:#303b44;
}

.season-inner-card{
  border-color:#35414a;
  background:linear-gradient(145deg,#192127,#0f1418);
}

.season-draft-note{
  border-color:#3b4650;
  background:#0d1216;
}

.rating{
  border-color:#5d6974;
  background:linear-gradient(150deg,#35414a,#20282f);
}

.club-current{
  border-color:#46525c;
  background:linear-gradient(145deg,#232c33,#151b20);
}

.club-current-empty{
  background:linear-gradient(145deg,#182026,#0f1418);
}

/* Temporada: navegação lateral */
.season-sidebar{
  background:
    linear-gradient(
      160deg,
      rgba(39,48,56,.985),
      rgba(18,24,29,.995) 68%
    );
  border-right-color:#3c4852;
}

/* Temporada: Meu Elenco */
.season-roster-tabs{
  border-color:rgba(255,255,255,.10);
  background:#1c242a;
}

.season-roster-tab{
  color:#c7d0d7;
}

.season-roster-tab.is-active{
  background:linear-gradient(180deg,#52606b,#3f4b55);
}

.season-roster-panel{
  border-color:rgba(255,255,255,.105);
  background:linear-gradient(145deg,#303a43,#242d34);
  box-shadow:0 18px 55px rgba(0,0,0,.26);
}

.season-roster-header,
.season-stats-header{
  background:rgba(6,10,13,.18);
}

.season-stats-group-heading{
  background:rgba(5,9,12,.22);
}

.season-roster-header,
.season-stats-header,
.season-roster-total span{
  color:#cbd3d9;
}

.season-roster-header strong,
.season-stats-header strong,
.season-stats-group-heading{
  color:#e0e5e9;
}

.season-roster-position{
  color:#c6cfd6;
}

.season-roster-name{
  color:#f4f6f8;
}

.season-roster-cell,
.season-stats-cell{
  color:#e1e6ea;
}

/* Temporada: Calendário — preserva cores semânticas,
   apenas unifica as superfícies neutras. */
.season-calendar-toggle{
  border-color:#525f69;
  background:linear-gradient(180deg,#343e46,#222a30);
}

.season-calendar-toggle:hover:enabled{
  background:linear-gradient(180deg,#43505a,#2d373f);
  border-color:#707d88;
}

.season-calendar-month-arrow{
  border-color:#414d56;
  background:linear-gradient(180deg,#252e35,#181e23);
}

.season-calendar-month-arrow:hover:enabled{
  background:linear-gradient(180deg,#323d45,#222a30);
  border-color:#64717c;
}

.season-calendar-modal-card{
  border-color:#505c66;
  background:
    radial-gradient(circle at 100% 0,rgba(57,139,196,.12),transparent 36%),
    linear-gradient(145deg,#20282f,#101519 68%);
}

.season-calendar-modal-summary span{
  border-color:#37434c;
  background:#0d1216;
}

.season-calendar-status-card{
  border-color:#38444d;
  background:linear-gradient(145deg,#1d252b,#12181d);
}

/* Temporada: Competições */
.season-competition-primary-tabs{
  background:linear-gradient(180deg,#303a43,#252e35);
}

.season-competition-primary-tab.is-active{
  background:linear-gradient(180deg,#56636e,#424e58);
}

.season-competition-secondary-tabs{
  background:linear-gradient(180deg,#37424b,#2b343c);
}

.season-competition-secondary-tab.is-active{
  background:linear-gradient(180deg,#56636e,#424e58);
}

.season-competition-table-card,
.season-competition-results-card{
  border-color:#4b5863;
  background:linear-gradient(145deg,#3a4650,#2d3740 72%);
}

.season-competition-table-head{
  background:linear-gradient(180deg,#303a43,#252e35);
}

.season-competition-results-arrow{
  background:#293239;
}

.season-competition-results-arrow:hover:enabled{
  background:#36414a;
}

.season-competition-status-card,
.season-competition-placeholder{
  border-color:#48545e;
  background:linear-gradient(145deg,#35414a,#293239);
}


/* Resultado concluído: lançamento definitivamente bloqueado */
.season-calendar-result-locked{
  width:min(520px,100%);
  margin:18px auto 2px;
  padding:11px 14px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(9,13,16,.48);
  color:#c7d0d7;
  font-size:13px;
  line-height:1.4;
  text-align:center;
}


/* =========================================================
   CALENDÁRIO · CONFIRMAÇÃO TEMPORÁRIA DE RESULTADO
   ========================================================= */

.season-calendar-result-confirmation-overlay{
  position:fixed;
  inset:0;
  z-index:1250;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
  background:rgba(2,5,7,.54);
  backdrop-filter:blur(7px);
  animation:seasonCalendarResultConfirmationLife 3s ease forwards;
  pointer-events:none;
}

.season-calendar-result-confirmation-card{
  width:min(430px,calc(100vw - 36px));
  min-height:250px;
  padding:32px 38px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid #52606b;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.055),transparent 46%),
    linear-gradient(145deg,#20282f,#101519 72%);
  box-shadow:
    0 30px 80px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.season-calendar-result-confirmation-title{
  margin-bottom:29px;
  color:#f5f7f8;
  font-size:21px;
  line-height:1.2;
  font-weight:780;
  text-align:center;
}

.season-calendar-result-confirmation-score{
  display:grid;
  grid-template-columns:76px 34px 24px 34px 76px;
  gap:11px;
  align-items:center;
  justify-content:center;
}

.season-calendar-result-confirmation-club{
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-calendar-result-confirmation-crest{
  width:68px;
  height:68px;
  object-fit:contain;
}

.season-calendar-result-confirmation-crest.is-fallback-ball{
  width:52px;
  height:52px;
}

.season-calendar-result-confirmation-number{
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:820;
  text-align:center;
}

.season-calendar-result-confirmation-x{
  color:#c5cdd3;
  font-size:23px;
  line-height:1;
  text-align:center;
}

.season-calendar-result-confirmation-check{
  width:42px;
  height:42px;
  margin-top:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #51d67a;
  border-radius:50%;
  background:rgba(31,126,65,.13);
  color:#59df81;
  opacity:0;
  transform:scale(.4);
  animation:seasonCalendarResultCheckPop .52s cubic-bezier(.16,1.35,.45,1) .2s forwards;
}

.season-calendar-result-confirmation-check span{
  display:block;
  font-size:27px;
  line-height:1;
  font-weight:850;
  transform:translateY(-1px);
}

@keyframes seasonCalendarResultCheckPop{
  0%{
    opacity:0;
    transform:scale(.4);
  }
  72%{
    opacity:1;
    transform:scale(1.13);
  }
  100%{
    opacity:1;
    transform:scale(1);
  }
}

@keyframes seasonCalendarResultConfirmationLife{
  0%{
    opacity:0;
    transform:scale(.985);
  }
  8%{
    opacity:1;
    transform:scale(1);
  }
  84%{
    opacity:1;
    transform:scale(1);
  }
  100%{
    opacity:0;
    transform:scale(.995);
  }
}

@media(max-width:520px){
  .season-calendar-result-confirmation-card{
    padding:28px 20px 25px;
  }

  .season-calendar-result-confirmation-score{
    grid-template-columns:62px 30px 20px 30px 62px;
    gap:8px;
  }

  .season-calendar-result-confirmation-crest{
    width:58px;
    height:58px;
  }
}

/* =========================================================
   CALENDÁRIO · RESULTADO CONFIRMADO NO MESMO QUADRO
   ========================================================= */

.season-calendar-modal-card.is-result-confirmation{
  width:min(560px,calc(100vw - 36px));
  min-height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 42px 36px;
  text-align:center;
  animation:seasonCalendarConfirmedCardLife 3s ease forwards;
}

.season-calendar-modal-card.is-result-confirmation .season-calendar-modal-eyebrow{
  margin:0 0 38px;
  color:#f5f7f8;
  font-size:13px;
  line-height:1.2;
  font-weight:760;
  letter-spacing:.16em;
  text-align:center;
}

.season-calendar-confirmed-score{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 auto;
}

.season-calendar-confirmed-score .season-calendar-matchup-club{
  flex:0 0 92px;
  width:92px;
  min-width:92px;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
}

.season-calendar-confirmed-score .season-calendar-matchup-crest{
  display:block;
  width:84px;
  height:84px;
  max-width:84px;
  max-height:84px;
  margin:0;
  object-fit:contain;
}

.season-calendar-confirmed-number{
  flex:0 0 auto;
  min-width:34px;
  color:#fff;
  font-size:42px;
  line-height:1;
  font-weight:850;
  text-align:center;
}

.season-calendar-confirmed-score .season-calendar-matchup-x{
  flex:0 0 auto;
  width:auto;
  margin:0 1px;
  color:#c8d0d6;
  font-size:27px;
  line-height:1;
  font-weight:560;
  text-align:center;
}

.season-calendar-confirmed-check{
  width:62px;
  height:62px;
  margin:38px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #42df78;
  border-radius:50%;
  background:rgba(36,166,79,.16);
  color:#4bea80 !important;
  box-shadow:
    0 0 0 0 rgba(66,223,120,.34),
    0 0 24px rgba(66,223,120,.18);
  opacity:0;
  transform:scale(.35);
  animation:seasonCalendarConfirmedCheckPop .68s cubic-bezier(.16,1.35,.45,1) .16s forwards;
}

.season-calendar-confirmed-check span{
  display:block;
  color:#4bea80 !important;
  font-size:39px;
  line-height:1;
  font-weight:900;
  transform:translateY(-2px);
}

@keyframes seasonCalendarConfirmedCheckPop{
  0%{
    opacity:0;
    transform:scale(.35);
    box-shadow:0 0 0 0 rgba(66,223,120,.38);
  }
  58%{
    opacity:1;
    transform:scale(1.18);
    box-shadow:0 0 0 12px rgba(66,223,120,.08),0 0 28px rgba(66,223,120,.28);
  }
  78%{
    opacity:1;
    transform:scale(.96);
  }
  100%{
    opacity:1;
    transform:scale(1);
    box-shadow:0 0 0 4px rgba(66,223,120,.04),0 0 24px rgba(66,223,120,.22);
  }
}

@keyframes seasonCalendarConfirmedCardLife{
  0%{opacity:1;transform:scale(1)}
  84%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(.985)}
}

@media(max-width:520px){
  .season-calendar-modal-card.is-result-confirmation{
    width:min(94vw,500px);
    min-height:320px;
    padding:34px 18px 30px;
  }

  .season-calendar-modal-card.is-result-confirmation .season-calendar-modal-eyebrow{
    margin-bottom:30px;
  }

  .season-calendar-confirmed-score{
    gap:10px;
  }

  .season-calendar-confirmed-score .season-calendar-matchup-club{
    flex-basis:68px;
    width:68px;
    min-width:68px;
    height:68px;
  }

  .season-calendar-confirmed-score .season-calendar-matchup-crest{
    width:64px;
    height:64px;
    max-width:64px;
    max-height:64px;
  }

  .season-calendar-confirmed-number{
    min-width:28px;
    font-size:34px;
  }

  .season-calendar-confirmed-score .season-calendar-matchup-x{
    font-size:22px;
  }

  .season-calendar-confirmed-check{
    width:56px;
    height:56px;
    margin-top:32px;
  }

  .season-calendar-confirmed-check span{
    font-size:35px;
  }
}


/* =========================================================
   CALENDÁRIO · ADIAMENTO DE JOGOS DA COPA
   ========================================================= */

.season-calendar-postpone-match{
  min-height:34px;
  padding:7px 13px;
  border-color:#7a6529;
  background:#28210f;
  color:#dfbd58;
  font-size:12px;
  font-weight:680;
  box-shadow:none;
}

.season-calendar-postpone-match:hover:enabled,
.season-calendar-postpone-match:focus-visible{
  border-color:#a58a39;
  background:#352b12;
  color:#f0cf69;
  box-shadow:none;
  transform:none;
}

.season-calendar-postpone-confirmation{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:12px 20px 0;
  text-align:center;
}

.season-calendar-postpone-confirmation strong{
  max-width:390px;
  color:#f4f6f8;
  font-size:18px;
  line-height:1.4;
  font-weight:720;
}

.season-calendar-modal-actions.is-postpone-confirmation{
  justify-content:center;
  gap:12px;
  margin-top:22px;
}

.season-calendar-postpone-confirm{
  min-width:92px;
  border-color:#8c742d;
  background:linear-gradient(180deg,#b38c27,#8b6b1c);
  color:#11140f;
  font-weight:780;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.season-calendar-postpone-confirm:hover:enabled,
.season-calendar-postpone-confirm:focus-visible{
  border-color:#caa63e;
  background:linear-gradient(180deg,#c99f2e,#9c7820);
  color:#0d100d;
}


.season-calendar-third-tiebreak-note{
  display:block;
  margin:10px auto 0;
  color:#d8c98f;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.season-calendar-third-tiebreak-note.is-blocking{
  color:#f0cf69;
  font-weight:700;
}
/* Locked league format: reuse the same visual language as locked prize fields. */
.season-league-locked-wrap{display:block;width:100%;margin:0!important}
.season-league-locked-wrap input[readonly]{margin:0;padding-right:38px;cursor:not-allowed;pointer-events:none}
.season-field>small.season-lock-note{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}

.season-market-page{
  position:relative;
  width:min(1320px,calc(100% - 80px));
  max-width:100%;
  margin:0 auto;
  padding:18px 0 58px;
  box-sizing:border-box;
  overflow-x:clip;
}

.season-market-page::before{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  width:min(1180px,92vw);
  height:690px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 18% 35%,rgba(255,255,255,.032),transparent 34%),
    radial-gradient(circle at 83% 40%,rgba(38,139,200,.07),transparent 36%);
  filter:blur(8px);
  pointer-events:none;
  z-index:-1;
}

.season-market-title{
  margin:0 0 28px;
  color:#f5f5f5;
  font-size:clamp(30px,3vw,40px);
  line-height:1.1;
  font-weight:780;
  letter-spacing:-1.2px;
  text-align:center;
}

.season-market-tabs{
  width:min(930px,100%);
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:linear-gradient(180deg,#343a40,#2c3238);
  box-shadow:0 12px 34px rgba(0,0,0,.19);
}

.season-market-tab{
  min-width:0;
  min-height:48px;
  margin:0;
  padding:0 22px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#dce2e8;
  font-size:17px;
  font-weight:650;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}

.season-market-tab:last-child{border-right:0;}

.season-market-tab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-market-tab.is-active{
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
  font-weight:780;
}

.season-market-subtabs{
  width:min(560px,100%);
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:linear-gradient(180deg,#30383e,#282f35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.season-market-subtab{
  min-width:0;
  min-height:42px;
  margin:0;
  padding:0 18px;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:transparent;
  color:#cfd8de;
  font-size:14px;
  font-weight:680;
  box-shadow:none;
}

.season-market-subtab:last-child{
  border-right:0;
}

.season-market-subtab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  transform:none;
  box-shadow:none;
}

.season-market-subtab.is-active{
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
  font-weight:780;
}

.season-market-my-transfers{
  width:100%;
  min-width:0;
}

.season-market-negotiation-filter{
  width:min(690px,100%);
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:20px;
}

.season-market-transfer-table{
  min-width:1220px;
}

.season-market-transfer-header,
.season-market-transfer-row{
  grid-template-columns:
    13%
    24%
    6%
    11%
    5%
    7%
    7%
    14%
    13%;
}

.season-market-transfer-header > *,
.season-market-transfer-row > *{
  border-left:0 !important;
}

.season-market-transfer-header > :nth-child(2),
.season-market-transfer-row > :nth-child(2),
.season-market-transfer-header > :nth-child(3),
.season-market-transfer-row > :nth-child(3),
.season-market-transfer-header > :nth-child(5),
.season-market-transfer-row > :nth-child(5),
.season-market-transfer-header > :nth-child(8),
.season-market-transfer-row > :nth-child(8){
  border-left:1px solid rgba(255,255,255,.075) !important;
}

.season-market-status-cell{
  padding:6px 7px;
}

.season-market-transfer-status{
  width:100%;
  min-height:32px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  font-size:11px;
  line-height:1.15;
  font-weight:760;
  text-align:center;
}

.season-market-transfer-status.is-watch{
  background:linear-gradient(180deg,#495159,#3e464d);
  color:#edf1f3;
}

.season-market-transfer-status.is-sent{
  border-color:rgba(62,160,209,.30);
  background:rgba(24,126,174,.24);
  color:#9cd8f4;
}

.season-market-transfer-status.is-received{
  border-color:rgba(218,177,70,.34);
  background:rgba(155,119,25,.24);
  color:#f3d77e;
}

.season-market-transfer-value.is-proposal-sent{
  background:rgba(26,119,166,.10);
  color:#a6ddf6;
  font-weight:760;
}

.season-market-transfer-value.is-proposal-received{
  background:rgba(160,121,25,.11);
  color:#f0d47b;
  font-weight:760;
}

.season-market-transfer-empty-panel{
  width:min(930px,100%);
}

.season-market-transfer-error{
  border-color:rgba(224,90,90,.28);
  color:#efb1b1;
}

.season-market-search-area{
  width:100%;
  max-width:100%;
  min-width:0;
}

.season-market-search-tools-wrap{
  width:min(780px,100%);
  max-width:100%;
  margin:0 auto 20px;
}

.season-market-search-tools{
  width:100%;
  max-width:100%;
  margin:0;
  display:grid;
  grid-template-columns:46px 46px minmax(0,1fr);
  gap:12px;
  align-items:center;
}

.season-market-filter-button,
.season-market-sort-button{
  width:46px;
  height:42px;
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #4d5962;
  border-radius:11px;
  background:linear-gradient(180deg,#343c43,#252c31);
  color:#eef4f7;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}

.season-market-filter-button svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linejoin:round;
}

.season-market-filter-button:hover:enabled,
.season-market-filter-button.is-active,
.season-market-sort-button:hover:enabled,
.season-market-sort-button.is-active{
  background:linear-gradient(180deg,#4b5862,#34404a);
  border-color:#697985;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  transform:none;
}

.season-market-sort-button{
  line-height:1;
}

.season-market-sort-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.season-market-sort-menu{
  width:min(380px,100%);
  margin:12px 0 0 58px;
  padding:18px 14px 20px;
  box-sizing:border-box;
  border:1px solid #4e5963;
  border-radius:18px;
  background:linear-gradient(145deg,#3f4953,#333c44 70%);
  box-shadow:
    0 18px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.season-market-sort-menu > strong{
  display:block;
  margin:0 0 10px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(255,255,255,.075);
  color:#eef3f6;
  font-size:14px;
  font-weight:760;
  text-align:center;
}

.season-market-sort-grid{
  width:300px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:108px 88px 88px;
  gap:8px 8px;
  align-items:center;
}

.season-market-sort-head{
  color:#aebbc5;
  font-size:10px;
  font-weight:720;
  letter-spacing:.35px;
  text-align:center;
  text-transform:uppercase;
}

.season-market-sort-label{
  color:#eef3f6;
  font-size:12px;
  font-weight:680;
  text-align:right;
  padding:0 4px 0 0;
}

.season-market-sort-choice{
  min-width:0;
  height:34px;
  margin:0;
  padding:0 8px;
  border:1px solid #46515a;
  border-radius:9px;
  background:linear-gradient(180deg,#2c343a,#252c31);
  color:#cbd6dd;
  font-size:11px;
  font-weight:720;
  box-shadow:none;
}

.season-market-sort-choice:hover:enabled,
.season-market-sort-choice.is-active{
  background:linear-gradient(180deg,#58636d,#414b54);
  border-color:#738795;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transform:none;
}

.season-market-scope{
  width:min(430px,calc(100% - 116px));
  height:44px;
  margin:0 auto 20px;
  padding:0 10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  align-items:center;
  box-sizing:border-box;
  border:1px solid #46515a;
  border-radius:13px;
  background:linear-gradient(180deg,#2e363c,#272e34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.season-market-scope-option{
  min-width:0;
  height:100%;
  min-height:0;
  padding:0 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  box-sizing:border-box;
  cursor:pointer;
  color:#d7e0e6;
  font-size:12px;
  font-weight:650;
  text-align:center;
  transform:translateY(2px);
}

.season-market-scope-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.season-market-scope-box{
  width:15px;
  height:15px;
  flex:0 0 15px;
  box-sizing:border-box;
  border:1px solid #71808a;
  border-radius:4px;
  background:#20272c;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.24);
}

.season-market-scope-option input:checked + .season-market-scope-box{
  border-color:#8ba3b3;
  background:
    linear-gradient(180deg,#657682,#4b5a64);
  box-shadow:
    inset 0 0 0 3px #263038,
    0 0 0 1px rgba(139,163,179,.16);
}

.season-market-scope-option:hover{
  color:#fff;
}


.season-market-search-input{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 18px;
  box-sizing:border-box;
  border:1px solid #4b565f;
  border-radius:12px;
  outline:0;
  background:linear-gradient(180deg,#30383e,#293036);
  color:#f2f6f8;
  font:inherit;
  font-size:15px;
  text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.season-market-search-input::placeholder{color:#9eabb5;}

.season-market-search-input:focus{
  border-color:#70818e;
  box-shadow:0 0 0 3px rgba(88,126,153,.12);
}

.season-market-filter-panel{
  width:min(930px,100%);
  max-width:100%;
  margin:0 auto 24px;
  padding:24px 26px 22px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid #4e5963;
  border-radius:26px;
  background:
    linear-gradient(145deg,#3f4953,#333c44 70%);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.season-market-filter-layout{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:440px 300px;
  gap:24px;
  align-items:stretch;
  justify-content:center;
}

.season-market-filter-matrix{
  min-width:0;
  display:grid;
  grid-template-columns:130px 145px 145px;
  column-gap:10px;
  row-gap:8px;
  align-items:center;
}

.season-market-filter-head{
  min-width:0;
  padding:0 4px 5px;
  color:#aebbc5;
  font-size:11px;
  line-height:1;
  font-weight:720;
  letter-spacing:.35px;
  text-align:center;
  text-transform:uppercase;
}

.season-market-filter-head-label{
  text-align:left;
}

.season-market-filter-label{
  min-width:0;
  padding:0 8px 0 4px;
  color:#eef3f6;
  font-size:13px;
  line-height:1.15;
  font-weight:730;
  text-align:right;
}

.season-market-filter-input-cell{
  min-width:0;
}

.season-market-filter-input-cell input{
  width:100%;
  min-width:0;
  height:40px;
  padding:0 10px;
  box-sizing:border-box;
  border:1px solid #46515a;
  border-radius:10px;
  outline:0;
  background:linear-gradient(180deg,#283036,#22292e);
  color:#f3f6f8;
  font:inherit;
  font-size:13px;
  font-weight:620;
  text-align:center;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.season-market-filter-input-cell input:focus{
  border-color:#718491;
  box-shadow:0 0 0 3px rgba(85,133,164,.10);
}

.season-market-position-filter{
  min-width:0;
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.09);
}

.season-market-position-filter > span{
  display:block;
  margin:0 0 14px;
  color:#eef3f6;
  font-size:13px;
  font-weight:750;
  text-align:center;
}

.season-market-position-options{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.season-market-position-option{
  min-width:0;
  cursor:pointer;
}

.season-market-position-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.season-market-position-option span{
  width:100%;
  min-width:0;
  height:36px;
  padding:0 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid #46515a;
  border-radius:9px;
  background:linear-gradient(180deg,#2c343a,#252c31);
  color:#cbd6dd;
  font-size:12px;
  font-weight:720;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.season-market-position-option input:checked + span{
  border-color:#738795;
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.season-market-secondary-positions-option{
  display:flex;
  align-items:center;
  width:100%;
  min-height:40px;
  margin-top:12px;
  padding:7px 9px;
  gap:10px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:rgba(24,31,37,.24);
  color:#e1e8ec;
  font-size:11px;
  font-weight:650;
  line-height:1.25;
  cursor:pointer;
}

.season-market-secondary-positions-option input[type="checkbox"]{
  /* Remove altura mínima, padding e fundo aplicados globalmente aos inputs. */
  all:revert;
  display:block;
  flex:0 0 17px;
  width:17px;
  height:17px;
  min-width:17px;
  min-height:17px;
  max-width:17px;
  max-height:17px;
  margin:0;
  padding:0;
  appearance:auto;
  accent-color:#629bc1;
  box-shadow:none;
  cursor:pointer;
}

.season-market-secondary-positions-option input[type="checkbox"]:hover:enabled{
  background:transparent;
}

.season-market-secondary-positions-option input:focus-visible{
  outline:2px solid #9dc3db;
  outline-offset:3px;
}

.season-market-secondary-positions-option > span{
  min-width:0;
}

.season-market-filter-error{
  margin:18px 0 0;
  padding:10px 12px;
  border:1px solid rgba(224,90,90,.28);
  border-radius:10px;
  background:rgba(120,34,34,.18);
  color:#f1a0a0;
  font-size:13px;
  text-align:center;
}

.season-market-filter-actions{
  margin-top:22px;
  padding-top:18px;
  display:flex;
  justify-content:center;
  gap:12px;
  border-top:1px solid rgba(255,255,255,.075);
}

.season-market-filter-actions button{
  min-width:150px;
}

.season-market-filter-actions .secondary{
  border-color:#52616c;
  background:linear-gradient(180deg,#313a41,#252c31);
  color:#edf2f5;
}

.season-market-filter-actions [data-market-filter-apply]{
  border-color:#697985;
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
}

.season-market-filter-actions [data-market-filter-apply]:hover:enabled{
  border-color:#8296a4;
  background:linear-gradient(180deg,#64717c,#4a5660);
  color:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(-1px);
}

.season-market-guidance,
.season-market-coming-soon{
  width:min(930px,100%);
  margin:34px auto 0;
  padding:42px 24px;
  box-sizing:border-box;
  border:1px solid #4b565f;
  border-radius:24px;
  background:
    linear-gradient(145deg,#38424a,#2d353c 70%);
  color:#aeb9c1;
  text-align:center;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}

.season-market-coming-soon{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.season-market-coming-soon strong{
  color:#edf3f6;
  font-size:18px;
}

.season-market-table-panel{
  width:min(1240px,100%);
  max-width:100%;
  margin:0 auto;
  padding:20px 20px 18px;
  box-sizing:border-box;
  border:1px solid #4e5963;
  border-radius:28px;
  background:
    linear-gradient(145deg,#3f4953,#333c44 70%);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.season-market-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}

.season-market-table{
  width:100%;
  min-width:1080px;
}

.season-market-header,
.season-market-row{
  display:grid;
  grid-template-columns:
    26%
    7%
    13%
    6%
    8%
    8%
    16%
    16%;
  align-items:center;
}

.season-market-header{
  min-height:58px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
  border-radius:12px 12px 8px 8px;
  background:rgba(18,24,29,.28);
  color:#dce5eb;
  font-size:12px;
  line-height:1.15;
  text-align:center;
}

.season-market-header strong{
  height:100%;
  min-width:0;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-weight:750;
}

.season-market-list{padding-top:0;}

.season-market-row{
  min-height:54px;
  border-radius:12px;
  cursor:pointer;
  outline:none;
  transition:background .15s ease,box-shadow .15s ease;
}

.season-market-row:hover,
.season-market-row:focus-visible{
  background:rgba(122,166,194,.075);
  box-shadow:inset 0 0 0 1px rgba(130,177,207,.22);
}

.season-market-player{
  min-width:0;
  height:100%;
  padding:5px 6px;
  display:grid;
  grid-template-columns:auto 31px 36px 25px minmax(0,1fr);
  gap:5px;
  align-items:center;
  box-sizing:border-box;
}

.season-market-cell{
  height:100%;
  min-width:0;
  padding:5px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  color:#e2e8ec;
  font-size:13px;
  font-weight:500;
  text-align:center;
}

.season-market-header > :nth-child(2),
.season-market-row > :nth-child(2),
.season-market-header > :nth-child(4),
.season-market-row > :nth-child(4),
.season-market-header > :nth-child(7),
.season-market-row > :nth-child(7){
  border-left:1px solid rgba(255,255,255,.075);
}

.season-market-club-cell{padding:4px;}

.season-market-club-crest{
  width:31px;
  height:31px;
  object-fit:contain;
}

.season-market-club-crest.is-fallback-ball{
  width:24px;
  height:24px;
}

.season-market-no-club{color:#8f9aa2;}

.season-market-league-cell{
  line-height:1.15;
  color:#dce4e9;
}

.season-market-money{white-space:nowrap;}

.season-market-empty{
  padding:50px 20px;
  color:#aab5bd;
  text-align:center;
}

.season-market-pagination{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.season-market-pagination span{
  color:#aeb9c1;
  font-size:12px;
  font-weight:600;
}

.season-market-page-button{
  width:40px;
  height:40px;
  margin:0;
  padding:0 0 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #555f67;
  border-radius:10px;
  background:linear-gradient(180deg,#333b42,#272d32);
  color:#f5f7f8;
  font-size:27px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.season-market-page-button:hover:enabled{
  background:linear-gradient(180deg,#4c5862,#343d44);
  border-color:#71808b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transform:none;
}

.season-market-page-button:disabled{
  opacity:.35;
  cursor:default;
}


.season-market-modal-layer{
  position:fixed;
  inset:0;
  z-index:16000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  box-sizing:border-box;
  background:rgba(3,7,10,.72);
  backdrop-filter:blur(7px);
}

.season-market-modal-card{
  position:relative;
  width:min(720px,calc(100vw - 56px));
  max-height:calc(100vh - 56px);
  overflow:auto;
  padding:30px 34px 28px;
  box-sizing:border-box;
  border:1px solid #53616b;
  border-radius:26px;
  background:
    linear-gradient(145deg,#3d4851,#303941 72%);
  color:#eef3f6;
  box-shadow:
    0 30px 80px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.065);
}

.season-market-modal-card h2{
  margin:0;
  color:#f4f6f7;
  font-size:25px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
}

.season-market-modal-close{
  position:absolute;
  top:16px;
  right:18px;
  width:34px;
  height:34px;
  min-width:0;
  margin:0;
  padding:0 0 3px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:rgba(8,13,17,.28);
  color:#cbd4da;
  font-size:24px;
  line-height:1;
  box-shadow:none;
}

.season-market-modal-close:hover:enabled{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24);
  transform:none;
  box-shadow:none;
}

.season-market-modal-divider{
  width:min(320px,70%);
  height:1px;
  margin:16px auto 28px;
  background:rgba(255,255,255,.28);
}

.season-market-modal-player{
  width:max-content;
  max-width:100%;
  margin:10px auto 34px;
  padding:6px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:13px;
  background:rgba(20,27,33,.18);
}

.season-market-modal-player .draft-rating{
  flex:0 0 auto;
}

.season-market-modal-player > strong{
  min-width:0;
  max-width:260px;
  overflow:hidden;
  color:#f5f7f8;
  font-size:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-market-modal-position{
  color:#d6dee3;
  font-size:14px;
  font-weight:750;
}

.season-market-modal-club{
  width:42px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-market-modal-crest{
  width:34px;
  height:34px;
  object-fit:contain;
}

.season-market-modal-no-crest{
  color:#8e9aa2;
}

.season-market-modal-actions{
  margin-top:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.season-market-modal-actions.is-two > button{
  width:min(270px,46%);
  min-height:48px;
}

.season-market-modal-actions.is-three{
  gap:12px;
}

.season-market-modal-actions.is-three > button{
  width:min(215px,32%);
  min-height:52px;
  padding:8px 12px;
  line-height:1.2;
  font-size:13px;
}


.season-market-modal-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.season-market-modal-back-row{
  margin-top:18px;
  text-align:center;
}

.season-market-offer-panel{
  width:min(600px,100%);
  margin:0 auto;
  padding:24px 28px 26px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(89,99,107,.78),rgba(68,76,83,.78));
  text-align:center;
}

.season-market-offer-panel h3{
  margin:0 0 18px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.25);
  color:#f5f6f7;
  font-size:20px;
  font-weight:800;
}

.season-market-offer-panel label{
  display:block;
  margin-bottom:7px;
  color:#d4dce1;
  font-size:15px;
}

/* Mercado — opção de negociação com outros valores/jogadores */
.season-market-extra-values-card{
  display:table;
  width:max-content;
  max-width:100%;
  margin:16px auto 0;
  padding:10px 13px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(20,28,34,.34);
}

.season-market-offer-panel .season-market-extra-values-label{
  display:flex;
  width:auto;
  margin:0;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#e0e6eb;
  font-size:12px;
  line-height:1.25;
  font-weight:550;
  text-align:left;
  cursor:pointer;
}

.season-market-extra-values-label span{
  white-space:nowrap;
}

.season-market-offer-panel .season-market-extra-values-label input[type="checkbox"]{
  all:revert;
  display:block;
  flex:0 0 16px;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  max-width:16px;
  max-height:16px;
  margin:0;
  padding:0;
  appearance:auto;
  accent-color:#86b0c7;
  box-shadow:none;
  cursor:pointer;
}

@media(max-width:650px){
  .season-market-extra-values-label span{
    white-space:normal;
  }
}

.season-market-extra-values-notice{
  width:min(530px,100%);
  margin:10px auto 17px;
  color:#d4dde3;
  font-size:13px;
  line-height:1.5;
  text-align:center;
}

.season-market-proposal-input-wrap{
  position:relative;
  width:min(390px,100%);
  margin:0 auto;
}

.season-market-proposal-input-wrap input{
  width:100%;
  height:46px;
  padding:0 20px;
  box-sizing:border-box;
  border:1px solid #59656e;
  border-radius:14px;
  outline:none;
  background:#11171b;
  color:#f7f8f9;
  font-size:20px;
  font-weight:650;
  text-align:center;
}

.season-market-proposal-input-wrap input:focus{
  border-color:#7a8d9a;
  box-shadow:0 0 0 2px rgba(117,153,176,.14);
}

.season-market-proposal-input-wrap input[readonly]{
  cursor:not-allowed;
}

.season-market-proposal-lock{
  position:absolute;
  top:50%;
  right:15px;
  transform:translateY(-50%);
  font-size:17px;
}

.season-market-external-tax{
  margin:10px auto 0;
  color:#c7d0d6;
  font-size:14px;
  line-height:1.4;
}

.season-market-offer-panel > button{
  margin-top:18px;
  min-width:190px;
}

.season-market-modal-error{
  width:min(560px,100%);
  margin:16px auto 0;
  padding:10px 13px;
  box-sizing:border-box;
  border:1px solid rgba(227,104,104,.34);
  border-radius:11px;
  background:rgba(136,37,37,.16);
  color:#f0b6b6;
  font-size:13px;
  line-height:1.45;
  text-align:center;
}

.season-market-confirm-copy{
  width:min(560px,100%);
  margin:20px auto 0;
  color:#d3dbe0;
  font-size:15px;
  line-height:1.65;
  text-align:center;
}

.season-market-confirm-copy strong{
  color:#fff;
}

.season-market-confirm-breakdown{
  width:min(420px,100%);
  margin:18px auto 0;
  padding:13px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 18px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(14,20,24,.22);
  color:#c8d1d7;
  font-size:13px;
}

.season-market-confirm-breakdown strong{
  color:#f1f4f6;
  text-align:right;
}

.season-market-success{
  padding:10px 4px 2px;
  text-align:center;
}

.season-market-success-check{
  width:58px;
  height:58px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(112,202,143,.45);
  border-radius:50%;
  background:rgba(58,139,85,.18);
  color:#8ed0a5;
  font-size:31px;
  font-weight:800;
}

.season-market-success p{
  width:min(520px,100%);
  margin:15px auto;
  color:#cbd4da;
  font-size:14px;
  line-height:1.55;
}

.season-market-success-total{
  display:block;
  margin:4px 0 20px;
  color:#f3f6f7;
  font-size:20px;
}

@media(max-width:720px){
  .season-market-modal-layer{
    padding:16px;
  }

  .season-market-modal-card{
    width:100%;
    padding:26px 18px 22px;
  }

  .season-market-modal-player{
    flex-wrap:wrap;
  }

  .season-market-modal-actions.is-two,
  .season-market-modal-actions.is-three{
    flex-direction:column;
  }

  .season-market-modal-actions.is-two > button,
  .season-market-modal-actions.is-three > button{
    width:100%;
  }
}

@media(max-width:1050px){
  .season-market-page{
    width:calc(100% - 32px);
  }

  .season-market-filter-layout{
    grid-template-columns:1fr;
    gap:22px;
  }

  .season-market-position-filter{
    padding:20px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.09);
  }

  .season-market-position-options{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .season-market-filter-panel{
    padding:20px 16px;
  }

  .season-market-filter-matrix{
    grid-template-columns:minmax(105px,1fr) minmax(92px,1fr) minmax(92px,1fr);
    column-gap:8px;
  }

  .season-market-position-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .season-market-filter-actions{
    flex-direction:column-reverse;
  }

  .season-market-filter-actions button{
    width:100%;
  }

  .season-market-search-tools{
    grid-template-columns:42px 42px minmax(0,1fr);
  }

  .season-market-filter-button,
  .season-market-sort-button{
    width:42px;
  }

  .season-market-scope{
    width:100%;
    height:auto;
    min-height:44px;
  }

  .season-market-sort-menu{
    width:100%;
    margin:12px 0 0;
  }

  .season-market-sort-grid{
    grid-template-columns:minmax(120px,1fr) 82px 82px;
    column-gap:7px;
  }
}


/* =========================================================
   CLUBE · FINANCEIRO
   ========================================================= */

.season-club-page{
  width:min(1120px,calc(100% - 80px));
  margin:0 auto;
  padding:24px 0 64px;
  box-sizing:border-box;
}

.season-club-heading h1{
  margin:0 0 26px;
  color:#f4f4f4;
  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.3px;
  text-align:center;
}

.season-club-primary-tabs{
  width:min(880px,100%);
  margin:0 auto 14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:#242424;
}

.season-club-primary-tab,
.season-club-finance-tab{
  width:100%;
  min-width:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#cfcfcf;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}

.season-club-primary-tab{
  min-height:46px;
  padding:0 18px;
  border-right:1px solid rgba(255,255,255,.16);
  font-size:16px;
  font-weight:600;
}

.season-club-primary-tab:last-child,
.season-club-finance-tab:last-child{
  border-right:0;
}

.season-club-primary-tab:hover:enabled,
.season-club-finance-tab:hover:enabled{
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}

.season-club-primary-tab.is-active{
  background:linear-gradient(180deg,#505050,#3e3e3e);
  color:#fff;
  font-weight:750;
}

.season-club-finance-tabs{
  width:min(400px,70%);
  margin:0 auto 42px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:#1a1a1a;
}

.season-club-finance-tab{
  min-height:38px;
  padding:0 16px;
  border-right:1px solid rgba(255,255,255,.13);
  font-size:13px;
  font-weight:600;
}

.season-club-finance-tab.is-active{
  background:#343434;
  color:#fff;
  font-weight:750;
}

.season-club-finance-content{
  width:100%;
}

.season-club-finance-summary{
  width:100%;
  min-height:190px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  align-items:stretch;
  padding:10px 0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  background:
    radial-gradient(ellipse at 15% 0%,rgba(255,255,255,.055),transparent 50%),
    linear-gradient(145deg,#202020,#111 72%);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.season-club-finance-divider{
  width:1px;
  margin:20px 0;
  background:rgba(255,255,255,.13);
}

.season-club-finance-metric{
  min-width:0;
  padding:34px 44px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.season-club-finance-label{
  max-width:420px;
  color:#ededed;
  font-size:18px;
  line-height:1.35;
  font-weight:700;
}

.season-club-finance-kicker{
  margin-top:5px;
  color:#8f8f8f;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.5px;
}

.season-club-finance-value{
  margin-top:22px;
  color:#f5f5f5;
  font-size:clamp(28px,3.2vw,42px);
  line-height:1;
  font-weight:800;
  letter-spacing:-1.2px;
  white-space:nowrap;
}

.season-club-finance-value.is-expense{
  color:#d96969;
}

.season-club-status-card,
.season-club-placeholder{
  width:100%;
  min-height:180px;
  padding:34px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(145deg,#1d1d1d,#101010);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
}

.season-club-status-card strong,
.season-club-placeholder strong{
  color:#f2f2f2;
  font-size:17px;
}

.season-club-status-card span,
.season-club-placeholder span{
  color:#969696;
  font-size:13px;
}

.season-club-status-card button{
  margin-top:10px;
}

.season-club-status-card.is-error{
  border-color:rgba(217,105,105,.30);
}

.season-club-statement-card{
  width:100%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(145deg,#1b1b1b,#101010);
  box-shadow:var(--shadow);
}

.season-club-statement-head,
.season-club-statement-row{
  display:grid;
  grid-template-columns:120px minmax(220px,1.6fr) minmax(130px,.9fr) 150px 150px 160px;
  align-items:center;
}

.season-club-statement-head{
  min-height:48px;
  padding:0 22px;
  background:rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.09);
}

.season-club-statement-head strong{
  color:#a9a9a9;
  font-size:11px;
  font-weight:750;
  letter-spacing:.55px;
  text-transform:uppercase;
}

.season-club-statement-head strong:nth-child(n+4){
  text-align:right;
}

.season-club-statement-body{
  min-width:930px;
}

.season-club-statement-row{
  min-height:58px;
  padding:0 22px;
  border-bottom:1px solid rgba(255,255,255,.065);
}

.season-club-statement-row:last-child{
  border-bottom:0;
}

.season-club-statement-row>span,
.season-club-statement-row>strong{
  min-width:0;
  padding-right:16px;
  color:#b9b9b9;
  font-size:13px;
}

.season-club-statement-row>strong{
  color:#ededed;
  font-weight:650;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.season-club-statement-category{
  text-transform:capitalize;
}

.season-club-statement-money,
.season-club-statement-balance{
  text-align:right;
  padding-right:0!important;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.season-club-statement-money.is-entry{
  color:#d7d7d7;
}

.season-club-statement-money.is-exit{
  color:#d96969;
}

.season-club-statement-balance{
  color:#f0f0f0!important;
  font-weight:700;
}

.season-club-statement-empty{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  color:#8e8e8e;
  font-size:13px;
  text-align:center;
}

@media (max-width:900px){
  .season-club-page{
    width:min(100%,calc(100% - 32px));
  }

  .season-club-finance-summary{
    grid-template-columns:1fr;
  }

  .season-club-finance-divider{
    width:auto;
    height:1px;
    margin:0 26px;
  }

  .season-club-finance-metric{
    padding:28px 24px;
  }

  .season-club-finance-tabs{
    width:min(400px,100%);
  }

  .season-club-statement-card{
    overflow-x:auto;
  }
}

@media (max-width:560px){
  .season-club-finance-value{
    font-size:28px;
  }

  .season-club-finance-label{
    font-size:16px;
  }
}


/* =========================================================
   CLUBE · FINANCEIRO — PALETA ATUAL MCO + ALINHAMENTO
   ========================================================= */

.season-club-primary-tabs{
  border-color:rgba(255,255,255,.10);
  background:#1c242a;
  box-shadow:0 12px 34px rgba(0,0,0,.16);
}

.season-club-primary-tab,
.season-club-finance-tab{
  color:#c7d0d7;
}

.season-club-primary-tab.is-active{
  background:linear-gradient(180deg,#52606b,#3f4b55);
  color:#fff;
}

.season-club-finance-tabs{
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(180deg,#303a43,#252e35);
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}

.season-club-finance-tab.is-active{
  background:linear-gradient(180deg,#56636e,#424e58);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.season-club-finance-summary{
  border-color:#4b5863;
  background:
    radial-gradient(circle at 82% 12%,rgba(38,139,200,.07),transparent 36%),
    linear-gradient(145deg,#3a4650,#2d3740 72%);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.season-club-finance-divider{
  background:rgba(255,255,255,.14);
}

.season-club-finance-metric{
  display:grid;
  grid-template-rows:minmax(56px,auto) 18px auto;
  align-content:center;
  justify-items:center;
  row-gap:0;
}

.season-club-finance-label{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#eef3f6;
}

.season-club-finance-kicker{
  height:18px;
  margin-top:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#aebbc5;
}

.season-club-finance-kicker.is-placeholder{
  visibility:hidden;
}

.season-club-finance-value{
  margin-top:17px;
  color:#f4f6f8;
}

.season-club-status-card,
.season-club-placeholder{
  border-color:#48545e;
  background:linear-gradient(145deg,#35414a,#293239);
}

.season-club-status-card span,
.season-club-placeholder span{
  color:#aeb8c0;
}

.season-club-statement-card{
  border-color:#4b5863;
  background:linear-gradient(145deg,#3a4650,#2d3740 72%);
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.season-club-statement-head{
  background:linear-gradient(180deg,#303a43,#252e35);
  border-bottom-color:rgba(255,255,255,.09);
}

.season-club-statement-head strong{
  color:#cbd3d9;
}

.season-club-statement-row{
  border-bottom-color:rgba(255,255,255,.075);
}

.season-club-statement-row>span{
  color:#c5ced5;
}

.season-club-statement-row>strong{
  color:#f4f6f8;
}

.season-club-statement-money.is-entry{
  color:#e0e5e9;
}

.season-club-statement-balance{
  color:#f4f6f8!important;
}

.season-club-statement-empty{
  color:#aeb8c0;
}


/* CLUBE · FINANCEIRO — SALDO PROJETADO + EXTRATO */

.season-club-finance-summary-stack{
  width:100%;
}

.season-club-finance-summary-footer{
  position:relative;
  width:100%;
  min-height:154px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:18px;
}

.season-club-finance-projection-card{
  width:min(390px,58%);
  min-height:116px;
  padding:20px 28px 22px;
  border:1px solid #4b5863;
  border-radius:22px;
  background:linear-gradient(145deg,#35414a,#293239);
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.season-club-finance-projection-title{
  color:#eef3f6;
  font-size:17px;
  line-height:1.2;
  font-weight:750;
}

.season-club-finance-projection-card .season-club-finance-kicker{
  margin-top:5px;
}

.season-club-finance-projection-value{
  margin-top:14px;
  color:#f4f6f8;
  font-size:clamp(26px,2.7vw,36px);
  line-height:1;
  font-weight:800;
  letter-spacing:-1px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.season-club-finance-projection-value.is-negative{
  color:#d96969;
}

.season-club-finance-help{
  position:absolute;
  top:50%;
  right:8px;
  transform:translateY(-50%);
}

.season-club-finance-help .season-help{
  width:38px;
  height:38px;
}

.season-club-statement-head strong{
  text-align:center!important;
}

.season-club-statement-row>span:first-child{
  text-align:center;
  padding-right:0;
  font-variant-numeric:tabular-nums;
}

.season-club-statement-row>strong:nth-child(2),
.season-club-statement-row>.season-club-statement-category{
  text-align:left;
}

.season-club-statement-row>.season-club-statement-money,
.season-club-statement-row>.season-club-statement-balance{
  text-align:right;
}

@media (max-width:900px){
  .season-club-finance-summary-footer{
    min-height:174px;
    padding-top:18px;
  }

  .season-club-finance-projection-card{
    width:min(390px,72%);
  }

  .season-club-finance-help{
    right:0;
  }
}

@media (max-width:560px){
  .season-club-finance-summary-footer{
    min-height:auto;
    padding-top:16px;
    padding-bottom:4px;
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  .season-club-finance-projection-card{
    width:100%;
  }

  .season-club-finance-help{
    position:static;
    transform:none;
    align-self:flex-end;
  }

  .season-club-finance-projection-value{
    font-size:28px;
  }
}


/* CLUBE · FINANCEIRO — REFINO SALDO + DIVISOES EXTRATO */

.season-club-finance-summary-footer{
  min-height:138px;
}

.season-club-finance-projection-card{
  width:min(340px,52%);
  min-height:100px;
  padding:16px 24px 18px;
}

.season-club-finance-projection-value{
  margin-top:12px;
  font-size:clamp(23px,2.2vw,30px);
  letter-spacing:-.7px;
}

/* Mantém Entrada, Saída e Saldo exatamente com a mesma largura. */
.season-club-statement-head,
.season-club-statement-row{
  grid-template-columns:
    120px
    minmax(220px,1.45fr)
    minmax(150px,1fr)
    repeat(3,150px);
}

/* Divisões sutis apenas no corpo da tabela. */
.season-club-statement-row>span:not(:first-child),
.season-club-statement-row>strong:not(:first-child){
  border-left:1px solid rgba(255,255,255,.085);
  padding-left:16px;
}

/* Data, descrição e categoria centralizadas em suas colunas. */
.season-club-statement-row>span:first-child,
.season-club-statement-row>strong:nth-child(2),
.season-club-statement-row>.season-club-statement-category{
  text-align:center;
}

/* Valores financeiros seguem alinhados à direita. */
.season-club-statement-row>.season-club-statement-money,
.season-club-statement-row>.season-club-statement-balance{
  text-align:right;
}

@media (max-width:900px){
  .season-club-finance-summary-footer{
    min-height:154px;
  }

  .season-club-finance-projection-card{
    width:min(340px,68%);
  }
}

@media (max-width:560px){
  .season-club-finance-projection-card{
    width:100%;
    min-height:96px;
  }

  .season-club-finance-projection-value{
    font-size:25px;
  }
}


/* CLUBE · FINANCEIRO — RESPIRO INTERNO DO EXTRATO */

/* Garante uma pequena margem interna em todas as células do corpo. */
.season-club-statement-row>span,
.season-club-statement-row>strong{
  box-sizing:border-box;
  padding-left:14px;
  padding-right:14px;
}

/* Preserva as divisórias verticais sem deixar o texto colado nelas. */
.season-club-statement-row>span:not(:first-child),
.season-club-statement-row>strong:not(:first-child){
  padding-left:14px;
}

/* Entrada, Saída e Saldo continuam à direita, agora com respiro. */
.season-club-statement-row>.season-club-statement-money,
.season-club-statement-row>.season-club-statement-balance{
  padding-right:14px!important;
}


/* CLUBE · FINANCEIRO — COMPACTAR QUADRO PRINCIPAL DO RESUMO */

/* Reduz apenas as sobras do quadro principal, preservando tipografia e valores. */
.season-club-finance-summary{
  min-height:168px;
  padding:4px 0;
}

.season-club-finance-summary .season-club-finance-metric{
  padding-top:24px;
  padding-bottom:24px;
}

.season-club-finance-summary .season-club-finance-divider{
  margin-top:14px;
  margin-bottom:14px;
}

@media (max-width:900px){
  .season-club-finance-summary .season-club-finance-metric{
    padding-top:22px;
    padding-bottom:22px;
  }
}


/* ---------- MERCADO: ajustes de layout de Minhas transferências ---------- */
/* Especificidade propositalmente maior que os estilos-base do mercado,
   para impedir que .season-market-scope/.season-market-row definidos abaixo
   sobrescrevam o grid de 3 filtros e o grid de 9 colunas. */

.season-market-scope.season-market-negotiation-filter{
  width:min(760px,100%);
  max-width:100%;
  margin:0 auto 20px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
}

.season-market-scope.season-market-negotiation-filter
.season-market-scope-option{
  min-width:0;
  padding:0 10px;
  white-space:nowrap;
}

.season-market-table.season-market-transfer-table{
  width:100%;
  min-width:1220px;
}

.season-market-header.season-market-transfer-header,
.season-market-row.season-market-transfer-row{
  grid-template-columns:
    minmax(145px,13fr)
    minmax(260px,24fr)
    minmax(70px,6fr)
    minmax(120px,11fr)
    minmax(60px,5fr)
    minmax(80px,7fr)
    minmax(80px,7fr)
    minmax(155px,14fr)
    minmax(145px,13fr);
}

.season-market-header.season-market-transfer-header > *,
.season-market-row.season-market-transfer-row > *{
  min-width:0;
}

.season-market-transfer-table-panel .season-market-table-scroll{
  width:100%;
}

@media (max-width:760px){
  .season-market-scope.season-market-negotiation-filter{
    width:100%;
    grid-template-columns:repeat(3,minmax(150px,1fr));
    overflow-x:auto;
    justify-content:start;
  }
}



/* Mercado — largura final das tabelas de Alvos e Negociações */
.season-market-table-panel.season-market-transfer-table-panel{
  width:min(1320px,100%);
}

.season-market-transfer-table-panel
.season-market-table.season-market-transfer-table{
  width:100%;
  min-width:0;
}

.season-market-transfer-table-panel .season-market-table-scroll{
  overflow-x:hidden;
}

@media (max-width:1180px){
  .season-market-transfer-table-panel
  .season-market-table.season-market-transfer-table{
    min-width:1220px;
  }

  .season-market-transfer-table-panel .season-market-table-scroll{
    overflow-x:auto;
  }
}


/* Mercado — tabela específica de Negociações em andamento (8 colunas) */
.season-market-table-panel.season-market-transfer-table-panel.is-negotiations{
  width:min(1420px,100%);
}

.season-market-header.season-market-transfer-header.is-negotiations,
.season-market-row.season-market-transfer-row.is-negotiations{
  grid-template-columns:
    9fr
    9fr
    7.5fr
    12fr
    14.5fr
    24fr
    7fr
    8fr;
}

.season-market-header.season-market-transfer-header.is-negotiations > *,
.season-market-row.season-market-transfer-row.is-negotiations > *{
  min-width:0;
  border-left:0 !important;
}

.season-market-header.season-market-transfer-header.is-negotiations > :nth-child(4),
.season-market-row.season-market-transfer-row.is-negotiations > :nth-child(4),
.season-market-header.season-market-transfer-header.is-negotiations > :nth-child(6),
.season-market-row.season-market-transfer-row.is-negotiations > :nth-child(6){
  border-left:1px solid rgba(255,255,255,.075) !important;
}

.season-market-header.season-market-transfer-header.is-negotiations > :nth-child(6),
.season-market-row.season-market-transfer-row.is-negotiations > :nth-child(6){
  border-right:1px solid rgba(255,255,255,.075) !important;
}

.season-market-transfer-row.is-negotiations .season-market-status-cell,
.season-market-transfer-row.is-negotiations .season-market-transfer-type-cell,
.season-market-transfer-row.is-negotiations .season-market-interested-club-cell{
  padding-left:6px;
  padding-right:6px;
}

.season-market-transfer-status{
  flex-direction:column;
}

.season-market-transfer-status > span{
  display:block;
}

.season-market-transfer-type-cell,
.season-market-negotiation-salary-share{
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.season-market-transfer-type-cell{
  color:#dbe3e8;
  font-size:11px;
  font-weight:720;
  line-height:1.2;
  text-align:center;
}

.season-market-transfer-label{
  display:block;
  font-weight:720;
}

.season-market-loan-duration,
.season-market-salary-amount{
  display:block;
  margin-top:4px;
  color:#bcc8d0;
  font-size:10px;
  font-weight:450;
  line-height:1.2;
}

.season-market-salary-amount{
  white-space:nowrap;
}

.season-market-interested-club-cell{
  display:flex;
  align-items:center;
  justify-content:center;
}

.season-market-interested-club-crest{
  width:34px;
  height:34px;
  object-fit:contain;
}

.season-market-transfer-row.is-negotiations .season-market-transfer-value,
.season-market-transfer-row.is-negotiations .season-market-negotiation-salary-share{
  padding-left:8px;
  padding-right:8px;
}

.season-market-negotiation-salary-share{
  text-align:center;
  line-height:1.25;
  font-weight:500;
}

.season-market-negotiation-salary-share strong{
  font-weight:800;
}

.season-market-pending-notice{
  width:min(570px,100%);
  margin:16px auto 0;
  padding:10px 14px;
  box-sizing:border-box;
  border:1px solid rgba(148,166,179,.25);
  border-radius:11px;
  background:rgba(38,52,62,.40);
  color:#d3dce2;
  font-size:13px;
  font-weight:550;
  line-height:1.45;
  text-align:center;
}

@media (max-width:1180px){
  .season-market-transfer-table-panel.is-negotiations
  .season-market-table.season-market-transfer-table.is-negotiations{
    min-width:1320px;
  }
}


/* Mercado — caixa disponível para propostas internas */
.season-market-available-balance{
  margin:7px auto 15px;
  color:#b8c5ce;
  font-size:12px;
  font-weight:550;
  text-align:center;
  line-height:1.35;
}

/* Mercado — campos das propostas de empréstimo */
.season-market-offer-panel select{
  display:block;
  width:min(390px,100%);
  height:46px;
  margin:0 auto 17px;
  padding:0 15px;
  border:1px solid #59656e;
  border-radius:14px;
  background:#11171b;
  color:#f7f8f9;
  font:inherit;
  font-size:15px;
  font-weight:650;
  text-align:center;
  text-align-last:center;
  cursor:pointer;
  color-scheme:dark;
}
.season-market-offer-panel select:focus{
  outline:2px solid rgba(117,153,176,.30);
  border-color:#7a8d9a;
}
.season-market-offer-panel [data-market-loan-salary]{
  margin-bottom:0;
}
.season-market-offer-panel:has([data-market-loan-duration])
.season-market-proposal-input-wrap{
  margin-bottom:17px;
}


/* Meu Elenco — Departamento medico (a mesma linguagem de tabela do Plantel). */
.season-roster-tabs{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.season-roster-tab{
  padding-left:10px;
  padding-right:10px;
}

.season-roster-medical-panel{
  width:min(900px,100%);
  margin-inline:auto;
}

.season-roster-medical-panel .season-roster-header,
.season-roster-medical-panel .season-roster-row{
  grid-template-columns:44% 36% 20%;
}

.season-roster-medical-panel .season-roster-header::before,
.season-roster-medical-panel .season-roster-row::before{
  left:44%;
}
.season-roster-medical-panel .season-roster-header::after,
.season-roster-medical-panel .season-roster-row::after{
  left:80%;
}

.season-roster-medical-panel .season-roster-header{
  min-height:56px;
}
.season-roster-medical-diagnosis{
  padding:9px 16px;
  font-size:13px;
  line-height:1.4;
  font-weight:620;
  color:#e5eaef;
  overflow-wrap:break-word;
}
.season-roster-medical-return{
  flex-direction:column;
  gap:4px;
  padding:8px 6px;
  line-height:1.25;
}
.season-roster-medical-return strong{
  color:#f2f5f7;
  font-size:14px;
  font-weight:750;
}
.season-roster-medical-return span{
  color:#a6b5c0;
  font-size:10px;
  font-weight:500;
}
.season-roster-medical-error{
  color:#ecbaba;
}
.season-roster-medical-error button{
  margin-top:12px;
}

@media(max-width:900px){
  .season-roster-medical-panel .season-roster-header,
  .season-roster-medical-panel .season-roster-row{
    min-width:680px;
  }
}
@media(max-width:700px){
  .season-roster-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .season-roster-tab:last-child{
    grid-column:1/-1;
  }
}

/* Meu Elenco — empréstimos recebidos e cedidos */
.season-roster-loan-tabs{
  width:min(760px,100%);
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:15px;
  background:#1c242a;
}

.season-roster-loan-tab{
  min-width:0;
  min-height:44px;
  padding:9px 14px;
  margin:0;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  border-radius:0;
  background:transparent;
  color:#cbd3d9;
  font-size:14px;
  font-weight:650;
  box-shadow:none;
}

.season-roster-loan-tab:last-child{
  border-right:0;
}

.season-roster-loan-tab:hover:enabled{
  background:rgba(255,255,255,.04);
  box-shadow:none;
  transform:none;
}

.season-roster-loan-tab.is-active{
  color:#fff;
  font-weight:750;
  background:linear-gradient(180deg,#52606b,#3f4b55);
}

.season-roster-loan-panel .season-roster-header,
.season-roster-loan-panel .season-roster-row{
  grid-template-columns:
    33.333333%
    repeat(3,11.111111%)
    8.5%
    14%
    10.833334%;
}

.season-roster-loan-panel .season-roster-header{
  min-height:64px;
}

.season-roster-loan-panel .season-roster-header > :last-child,
.season-roster-loan-panel .season-roster-row > :last-child{
  border-left:0;
  box-sizing:border-box;
}

.season-roster-loan-panel .season-roster-cell{
  font-weight:550;
}

.season-roster-loan-club{
  padding-left:4px;
  padding-right:4px;
}

.season-roster-loan-club img{
  display:block;
  width:34px;
  height:34px;
  max-width:100%;
  object-fit:contain;
}

.season-roster-loan-no-crest{
  color:#aab6bf;
}

.season-roster-loan-salary{
  flex-direction:column;
  gap:4px;
  text-align:center;
  white-space:nowrap;
}

.season-roster-loan-salary strong{
  font-size:14px;
  font-weight:750;
  color:#f2f5f8;
}

.season-roster-loan-salary span{
  color:#bdc8d0;
  font-size:11px;
  font-weight:450;
  line-height:1.15;
}

.season-roster-loan-end{
  line-height:1.3;
  white-space:normal;
}

.season-roster-loan-error{
  color:#efb1b1;
}

@media(max-width:700px){
  .season-roster-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .season-roster-loan-tab{
    font-size:12px;
  }
}


/* Mercado: aceite e recusa de propostas internas */
.season-market-response{
  width:min(590px,100%);
  margin:0 auto;
  text-align:center;
}
.season-market-response h2{
  margin:0;
  color:#f5f7f9;
  font-size:25px;
  font-weight:800;
}
.season-market-response-subtitle{
  margin:6px 0 23px;
  color:#c9d2d9;
  font-size:16px;
}
.season-market-response-clubs{
  display:flex;
  gap:24px;
  justify-content:center;
  align-items:center;
}
.season-market-response-clubs > span:first-child,
.season-market-response-clubs > span:last-child{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.season-market-response-crest{
  width:55px;
  height:55px;
  object-fit:contain;
}
.season-market-response-arrow{
  display:flex;
  width:56px;
  height:24px;
  align-items:center;
  justify-content:center;
  color:#f3f6f8;
}
.season-market-response-arrow svg{
  display:block;
  width:56px;
  height:24px;
  overflow:visible;
}
.season-market-response-player{
  display:block;
  font-size:19px;
  margin:14px auto 23px;
  color:#fff;
}
.season-market-response-value{
  display:flex;
  flex-direction:column;
  width:min(310px,100%);
  margin:0 auto 16px;
  padding:11px 15px;
  gap:6px;
  border-radius:13px;
  box-sizing:border-box;
  background:rgba(6,12,17,.48);
  color:#cdd6dd;
  font-size:14px;
}
.season-market-response-value strong{
  color:#fff;
  font-size:19px;
}
.season-market-response-pay{
  padding:15px 16px 16px;
  border-radius:16px;
  background:rgba(8,14,19,.48);
}
.season-market-response-pay h3{
  margin:0 0 12px;
  font-size:16px;
  color:#f1f3f5;
}
.season-market-response-pay-visual{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 46px;
  column-gap:12px;
  align-items:center;
}
.season-market-response-pay-crest{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:48px;
  min-width:0;
}
.season-market-response-pay-crest .season-market-response-crest{
  width:38px;
  height:38px;
  object-fit:contain;
}
.season-market-response-pay-breakdown{
  display:grid;
  grid-template-rows:auto 9px auto;
  row-gap:7px;
  min-width:0;
  align-items:center;
}
.season-market-response-pay-labels{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-width:0;
  color:#e9eef2;
}
.season-market-response-pay-labels > :first-child{
  text-align:left;
}
.season-market-response-pay-labels > :last-child{
  text-align:right;
}
.season-market-response-pay-labels.is-percentages{
  font-size:14px;
  font-weight:750;
  line-height:1.25;
}
.season-market-response-pay-labels.is-amounts{
  font-size:12px;
  font-weight:500;
  line-height:1.3;
  color:#cbd6dd;
  font-variant-numeric:tabular-nums;
}
.season-market-response-pay-bar{
  height:9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(to right,
    #375f90 0%,#375f90 var(--seller-pct),
    #71b8de var(--seller-pct),#71b8de 100%);
}
.season-market-modal-actions .season-market-decline,
.season-market-modal-actions .season-market-accept{
  border-radius:12px;
  padding:13px 18px;
  color:#fff;
  font-size:14px;
  font-weight:750;
}
.season-market-modal-actions .season-market-decline{
  background:#912b35;
  border:1px solid #b54550;
}
.season-market-modal-actions .season-market-accept{
  background:#147448;
  border:1px solid #21885a;
}
.season-market-modal-actions .season-market-decline:hover:enabled{
  background:#aa3540;
}
.season-market-modal-actions .season-market-accept:hover:enabled{
  background:#198658;
}
@media(max-width:650px){
  .season-market-response-pay-visual{
    grid-template-columns:34px minmax(0,1fr) 34px;
    column-gap:7px;
  }
  .season-market-response-pay-crest{
    width:34px;
    height:40px;
  }
  .season-market-response-pay-crest .season-market-response-crest{
    width:31px;
    height:31px;
  }
  .season-market-response-pay-labels.is-amounts{
    font-size:11px;
  }
}


/* MCO — ajuste final das negociações, dos empréstimos e do Financeiro */
.season-market-header.season-market-transfer-header.is-negotiations,
.season-market-row.season-market-transfer-row.is-negotiations{
  grid-template-columns:9fr 7.5fr 9fr 12fr 14.5fr 24fr 7fr 8fr;
}

/* Somente os blocos principais do elenco têm divisórias verticais.
   Dentro de Clube, Salário e Prazo não há divisórias avulsas. */
.season-roster-loan-panel .season-roster-header > :nth-child(5),
.season-roster-loan-panel .season-roster-row > :nth-child(5),
.season-roster-loan-panel .season-roster-header > :nth-child(6),
.season-roster-loan-panel .season-roster-row > :nth-child(6),
.season-roster-loan-panel .season-roster-header > :nth-child(7),
.season-roster-loan-panel .season-roster-row > :nth-child(7){
  border-left:0 !important;
  border-right:0 !important;
}

.season-club-finance-summary .season-club-finance-value:not(.is-expense),
.season-club-finance-projection-value:not(.is-negative){
  color:#dce6ed;
}

.season-club-finance-summary .season-club-finance-value,
.season-club-finance-projection-value{
  margin-top:17px;
}

.season-club-statement-head > :first-child{
  text-align:center !important;
}

.season-club-statement-row > .season-club-statement-date{
  text-align:center !important;
  padding-left:0 !important;
  padding-right:0 !important;
  font-variant-numeric:tabular-nums;
}


/* CLUBE · FINANCEIRO — título e valor centrados nas metades do resumo */
.season-club-finance-summary{
  min-height:180px;
  padding:0;
}

.season-club-finance-summary .season-club-finance-metric{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-content:stretch;
  align-items:stretch;
  justify-items:stretch;
  min-height:180px;
  padding:0 24px;
  row-gap:0;
}

.season-club-finance-summary .season-club-finance-label{
  min-height:0;
  max-width:none;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.season-club-finance-summary .season-club-finance-value{
  min-height:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

/* Extrato: paginação discreta abaixo da tabela, sem cortar o histórico */
.season-club-statement-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin:18px auto 0;
}

.season-club-statement-pagination span{
  color:#b9c6d0;
  font-size:12px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
}

.season-club-statement-page-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  padding:0 0 3px;
  margin:0;
  border:1px solid #56646e;
  border-radius:10px;
  background:linear-gradient(180deg,#384651,#28333b);
  color:#f1f5f7;
  font-size:28px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.season-club-statement-page-button:hover:enabled{
  background:linear-gradient(180deg,#516371,#374650);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transform:none;
}

.season-club-statement-page-button:disabled{
  opacity:.35;
  cursor:default;
}

@media(max-width:900px){
  .season-club-finance-summary .season-club-finance-metric{
    min-height:168px;
    padding:0 18px;
  }
}


/* Financeiro: ajuda centralizada acima do quadro principal, espaçamentos simétricos. */
.season-club-finance-summary-stack .season-club-finance-help-top{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px;
  min-height:38px;
}

.season-club-finance-help-top .season-help{
  width:38px;
  height:38px;
}

.season-club-finance-summary .season-club-finance-label{
  transform:translateY(8px);
}

.season-club-finance-summary .season-club-finance-value{
  transform:translateY(-8px);
}

.season-club-finance-summary-stack .season-club-finance-summary-footer{
  padding-top:18px;
}

/* Mercado: três opções no menu de Minhas transferências. */
.season-market-my-transfers .season-market-subtabs{
  width:min(1020px,100%);
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.season-market-my-transfers .season-market-subtab{
  padding:0 12px;
  font-size:13px;
}

/* Aviso da taxa de venda externa, calculada a partir da temporada ativa. */
.season-market-external-sale-notice{
  width:min(880px,100%);
  margin:0 auto 22px;
  padding:15px 25px;
  box-sizing:border-box;
  border:1px solid rgba(95,171,217,.40);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(42,88,124,.27),rgba(27,56,79,.23));
  color:#d7e9f5;
  font-size:14px;
  font-weight:550;
  line-height:1.5;
  text-align:center;
}

.season-market-external-sale-notice strong{
  color:#eaf6ff;
  font-weight:800;
}

.season-market-external-sale-scroll{
  width:100%;
  overflow-x:auto;
  padding-bottom:3px;
}

.season-market-external-sale-table{
  min-width:1250px;
  width:100%;
}

.season-market-external-sale-table .season-roster-header,
.season-market-external-sale-table .season-roster-row{
  grid-template-columns:33% repeat(3,7%) 11% 10% 14% 11%;
}

.season-market-external-sale-table .season-roster-header::before,
.season-market-external-sale-table .season-roster-row::before{
  left:33%;
}

.season-market-external-sale-table .season-roster-header::after,
.season-market-external-sale-table .season-roster-row::after{
  left:54%;
}

.season-market-external-sale-table .season-roster-header > :nth-child(7),
.season-market-external-sale-table .season-roster-row > :nth-child(7){
  border-left:1px solid rgba(255,255,255,.11);
  box-sizing:border-box;
}

.season-market-external-sale-table .season-roster-player{
  gap:7px;
}

.season-market-external-sale-net{
  font-weight:750;
  color:#d5ecfa;
}

.season-market-external-sale-action{
  padding:4px 6px;
}

.season-market-external-sale-button{
  width:100%;
  min-height:33px;
  margin:0;
  padding:6px 7px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  background:linear-gradient(180deg,#414d57,#313d46);
  color:#e3eaf0;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
  box-shadow:none;
}

.season-market-external-sale-button:hover:enabled,
.season-market-external-sale-button:focus-visible{
  background:linear-gradient(180deg,#52616d,#3d4b56);
  border-color:rgba(159,196,218,.48);
  color:#f5f9fc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transform:none;
}

.season-market-external-sale-button:disabled{
  opacity:.68;
  cursor:not-allowed;
}

@media(max-width:700px){
  .season-market-my-transfers .season-market-subtabs{
    width:100%;
    grid-template-columns:1fr;
  }
  .season-market-my-transfers .season-market-subtab{
    min-height:42px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .season-market-my-transfers .season-market-subtab:last-child{
    border-bottom:0;
  }
}


/* Venda externa — escolha leve dos clubes sorteados por janela */
.season-market-external-modal-intro{
  max-width:540px;
  margin:20px auto;
  color:#d7dfe6;
  font-size:14px;
  line-height:1.55;
  text-align:center;
}
.season-market-external-clubs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
  width:min(560px,100%);
  margin:18px auto;
}
.season-market-external-club{
  min-height:118px;
  padding:14px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  color:#edf2f6;
  background:linear-gradient(180deg,#3e4a54,#2a343c);
  font-size:13px;
  font-weight:750;
  text-align:center;
  line-height:1.35;
  cursor:pointer;
}
.season-market-external-club:hover:not(:disabled){
  border-color:#78b5db;
  background:linear-gradient(180deg,#485e70,#2e4557);
}
.season-market-external-club.is-selected{
  border-color:#a5d8fa;
}
.season-market-external-club-crest{
  display:block;
  width:45px;
  height:45px;
  object-fit:contain;
}
.season-market-external-amounts{
  display:grid;
  gap:10px;
  max-width:540px;
  margin:22px auto 14px;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(10,17,23,.35);
}
.season-market-external-amounts > span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:13px;
  color:#cad7df;
}
.season-market-external-amounts strong{
  color:#eff5f9;
  font-size:15px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
@media(max-width:600px){
  .season-market-external-clubs{
    grid-template-columns:1fr;
  }
  .season-market-external-club{
    min-height:82px;
    flex-direction:row;
  }
  .season-market-external-amounts > span{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}



/* Mercado > Últimas transferências por Mundo */
/* Os três botões possuem sempre a mesma largura, independentemente do texto. */
.season-market-tabs{
  width:min(1140px,100%);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.season-market-tabs .season-market-tab{
  min-width:0;
  padding:8px 14px;
  font-size:clamp(13px,1.15vw,16px);
  line-height:1.25;
  overflow-wrap:break-word;
}

.season-market-history{
  width:min(1240px,100%);
  margin:30px auto 0;
}
.season-market-history-scroller{
  width:100%;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:#586979 transparent;
}
.season-market-history-list{
  display:grid;
  gap:9px;
}
.season-market-history-row{
  display:grid;
  /* Coluna central de informações maior; as outras quatro encolhem igualmente. */
  grid-template-columns:17% 17% 32% 17% 17%;
  min-width:1140px;
  align-items:stretch;
  min-height:72px;
  box-sizing:border-box;
  padding:7px 10px;
  border:1px solid rgba(151,175,190,.15);
  border-radius:15px;
  background:linear-gradient(110deg,#323c44,#29333b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 7px 20px rgba(0,0,0,.11);
  color:#edf2f6;
}
.season-market-history-row > *{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:4px 10px;
}
.season-market-history-row > * + *{
  border-left:1px solid rgba(255,255,255,.12);
}
.season-market-history-date{
  color:#d0dbe3;
  font-size:15px;
  font-weight:650;
  text-align:center;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.season-market-history-type-cell{
  text-align:center;
}
.season-market-history-type{
  display:inline-flex;
  min-height:34px;
  min-width:150px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:5px 10px;
  border:1px solid rgba(79,149,213,.55);
  border-radius:9px;
  background:linear-gradient(180deg,#205f9f,#16477c);
  color:#e8f4ff;
  font-size:13px;
  font-weight:750;
  text-align:center;
  white-space:nowrap;
}
.season-market-history-type.is-loan{
  border-color:rgba(103,185,200,.24);
  background:rgba(33,110,124,.32);
  color:#d4f3f3;
}
.season-market-history-player{
  /* Five fixed inner columns keep every field aligned between rows. */
  display:grid !important;
  grid-template-columns:37px 40px 40px 28px minmax(0,1fr);
  align-items:center;
  justify-content:stretch !important;
  column-gap:5px;
  overflow:hidden;
}
.season-market-history-player .season-roster-position{
  display:block;
  width:100%;
  min-width:0;
  justify-self:center;
  text-align:center;
  font-size:14px;
  font-weight:760;
}
.season-market-history-player .player-flag{
  justify-self:center;
  text-align:center;
  min-width:0;
  font-size:19px;
  line-height:1;
}
.season-market-history-player-name{
  display:block;
  justify-self:stretch;
  min-width:0;
  overflow:hidden;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  font-weight:780;
}
.season-market-history-no-overall{
  display:grid;
  place-items:center;
  justify-self:center;
  width:34.1px;
  min-width:34.1px;
  height:35.2px;
  border-radius:7px;
  background:rgba(255,255,255,.08);
}
.season-market-history-route{
  gap:11px;
}
.season-market-history-club{
  width:39px;
  height:43px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.season-market-history-crest{
  display:block;
  width:36px;
  height:36px;
  object-fit:contain;
}
.season-market-history-crest.is-fallback-ball{
  width:27px;
  height:27px;
}
.season-market-history-missing-crest{
  color:#91a0ac;
}
.season-market-history-arrow{
  display:flex;
  width:48px;
  height:20px;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  color:#e8f0f7;
}
.season-market-history-arrow svg{
  display:block;
  width:48px;
  height:20px;
  overflow:visible;
}
.season-market-history-value{
  color:#f0f5f9;
  font-size:15px;
  font-weight:750;
  text-align:center;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.season-market-history .season-market-pagination{
  margin-top:22px;
}
.season-market-history-empty{
  width:min(910px,100%);
  margin:30px auto 0;
  padding:38px 24px;
  box-sizing:border-box;
  border:1px solid rgba(150,171,185,.2);
  border-radius:20px;
  background:linear-gradient(145deg,#303a43,#273139);
  color:#c6d3dc;
  text-align:center;
}
/* Preserva as cinco colunas iguais em telas estreitas, com rolagem horizontal. */
@media(max-width:1200px){
  .season-market-history-list{
    min-width:1100px;
  }
}
@media(max-width:720px){
  .season-market-tabs{
    grid-template-columns:1fr;
  }
  .season-market-tabs .season-market-tab{
    min-height:42px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:13px;
  }
  .season-market-tabs .season-market-tab:last-child{
    border-bottom:0;
  }
  .season-market-history{margin-top:24px;}
}


/* Minhas transferências: quatro abas iguais, sem comprometer os estilos gerais. */
.season-market-my-transfers .season-market-subtabs{
  width:min(1180px,100%);
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.season-market-my-transfers .season-market-subtab{
  padding:7px 10px;
  line-height:1.3;
  overflow-wrap:break-word;
}
.season-market-my-transfers .season-market-history{
  margin-top:24px;
}
@media(max-width:700px){
  .season-market-my-transfers .season-market-subtabs{
    width:100%;
    grid-template-columns:1fr;
  }
}


/* Piloto de rostos do FC 26, apenas no modal de jogadores do Mercado. */
.season-market-face-test-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  flex-wrap:wrap;
  width:min(930px,100%);
  margin:14px auto 16px;
  color:#bac8d2;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
.season-market-face-test-button{
  min-height:36px;
  margin:0;
  padding:7px 16px;
  border:1px solid rgba(111,170,210,.4);
  border-radius:10px;
  background:linear-gradient(180deg,#354a59,#253540);
  color:#e3f2fd;
  font-size:12px;
  font-weight:730;
  box-shadow:none;
}
.season-market-face-test-button:hover:enabled,
.season-market-face-test-button:focus-visible{
  background:linear-gradient(180deg,#455f71,#30495a);
  border-color:rgba(152,207,239,.66);
  box-shadow:none;
  transform:none;
}
.season-market-face-test-button.is-active{
  border-color:rgba(131,197,237,.66);
  background:linear-gradient(180deg,#315f80,#254d6c);
}
.season-market-face-pilot{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:-15px auto 23px;
}
.season-market-face-frame{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:130px;
  height:130px;
  overflow:hidden;
  border:1px solid rgba(163,189,207,.3);
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 36%,rgba(105,147,180,.23),transparent 65%),
    linear-gradient(145deg,#36444f,#212e37);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.14);
}
.season-market-face-frame img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  opacity:0;
  transition:opacity .16s ease;
}
.season-market-face-placeholder{
  display:flex;
  position:absolute;
  inset:0;
  align-items:center;
  justify-content:center;
  color:rgba(174,198,213,.5);
}
.season-market-face-pilot.is-loaded img{opacity:1;}
.season-market-face-pilot.is-loaded .season-market-face-placeholder{display:none;}
.season-market-face-caption{
  color:#a9b9c5;
  font-size:11px;
  font-weight:600;
  text-align:center;
}
.season-market-face-pilot.is-failed .season-market-face-caption{
  color:#c6d0d8;
}
@media(max-width:600px){
  .season-market-face-test-controls{flex-direction:column;gap:8px;}
  .season-market-face-frame{width:112px;height:112px;}
}


/* Diagnóstico do piloto: links só aparecem quando ambos tamanhos falham.
   Links apontam à origem; não contornam restrições do CDN. */
.season-market-face-diagnostics{
  display:none;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  column-gap:14px;
  row-gap:7px;
  margin:0 auto 6px;
  max-width:380px;
}
.season-market-face-pilot.is-failed .season-market-face-diagnostics{
  display:flex;
}
.season-market-face-source-link{
  color:#a8d5f5;
  font-size:12px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
}
.season-market-face-source-link:hover,
.season-market-face-source-link:focus-visible{
  color:#e8f5ff;
}


/* Meu Elenco > Plantel: retratos entre posição e bandeira.
   Não modifica as grades de Estatísticas, Empréstimos ou Mercado. */
.season-roster-player.season-roster-player-with-face{
  grid-template-columns:auto 34px 44px 27px minmax(0,1fr);
  column-gap:7px;
  align-items:center;
}
.season-roster-player-with-face .season-roster-position{
  text-align:center;
}
.season-roster-player-with-face .season-roster-flag{
  justify-self:center;
}
.season-roster-face{
  position:relative;
  display:block;
  box-sizing:border-box;
  width:44px;
  height:47px;
  min-width:0;
  overflow:visible;
  border-radius:0;
  background:transparent;
  isolation:isolate;
  align-self:center;
  /* Eleva discretamente rosto e linha inferior juntos, sem mudar a linha. */
  transform:translateY(-3px);
}
.season-roster-face img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  opacity:0;
  transition:opacity .16s ease;
  /* Imagem sem máscara: termina de maneira reta, sobre a linha inferior. */
  clip-path:inset(0 0 1px 0);
}
.season-roster-face.is-loaded img{
  opacity:1;
}
.season-roster-face-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(169,194,212,.38);
  pointer-events:none;
}
.season-roster-face-placeholder svg{
  width:31px;
  height:36px;
}
.season-roster-face.is-loaded .season-roster-face-placeholder{
  opacity:0;
}
/* Plantel: linha mínima, clara e afilada, sem o peso visual da ficha. */
.season-roster-face::after{
  content:"";position:absolute;z-index:2;
  left:50%;bottom:0;width:48px;height:1px;
  transform:translateX(-50%);pointer-events:none;
  background:#c4d0d8;
  clip-path:polygon(0 50%,13% 24%,34% 4%,43% 0,57% 0,66% 4%,
    87% 24%,100% 50%,87% 76%,66% 96%,57% 100%,43% 100%,
    34% 96%,13% 76%);
  filter:none;
}
.season-roster-face-status{
  display:none;
}


/* Plantel utiliza as dimensões globais do badge de OVR, mantendo
   seu alinhamento na linha do jogador. */
.season-roster-player.season-roster-player-with-face > .draft-rating{
  align-self:center;
  justify-self:center;
}


/* Bandeiras circulares Appica: 20% maiores mantendo proporção 1:1.
   Ajuste visual global; não altera fotos, nacionalidades ou layout das linhas. */
.mco-circle-flag{
  display:block;
  width:1.2em;
  height:1.2em;
  min-width:0;
  flex:0 0 auto;
  aspect-ratio:1/1;
  object-fit:contain;
  vertical-align:middle;
}
.player-flag:has(> .mco-circle-flag),
.club-flag:has(> .mco-circle-flag){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.club-card .club-flag > .mco-circle-flag{
  width:43.2px;
  height:43.2px;
}
.club-current .club-flag > .mco-circle-flag{
  width:1.2em;
  height:1.2em;
}

/* Ficha universal de jogadores e ações contextuais — MCO */
/* Ficha universal de jogadores: modal compacto, sem rolagem externa em desktops. */
.mco-details-backdrop{
  position:fixed;inset:0;z-index:20000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;box-sizing:border-box;
  background:rgba(3,7,10,.78);backdrop-filter:blur(7px);
}
.mco-details-dialog{
  position:relative;width:min(1030px,100%);
  max-height:calc(100dvh - 40px);overflow:hidden;
  border:1px solid rgba(155,181,200,.24);border-radius:24px;
  background:linear-gradient(145deg,#323d46,#28333d);
  box-shadow:0 24px 75px rgba(0,0,0,.58);
  color:#f3f5f8;padding:20px;box-sizing:border-box;
}
.mco-details-dialog.is-actions{
  width:min(500px,100%);padding:40px 32px 28px;
}
.mco-details-dialog.is-details{
  height:min(90dvh,720px);
  max-height:calc(100dvh - 40px);
  padding:18px 20px;
}
/* Desenha o X por CSS para evitar desalinhamento da fonte do caractere ×. */
.mco-details-close{
  position:absolute;right:13px;top:12px;z-index:5;
  width:36px;height:36px;padding:0;
  display:grid;place-items:center;
  border:1px solid rgba(225,238,247,.20);
  border-radius:50%;background:rgba(18,29,38,.44);
  font-size:0;line-height:0;color:transparent;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.mco-details-close::before,.mco-details-close::after{
  content:"";position:absolute;top:50%;left:50%;
  width:16px;height:2.5px;border-radius:2px;background:#e7f1f8;
}
.mco-details-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.mco-details-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* Hover específico: não herdar o fundo branco de button:hover:enabled. */
.mco-details-backdrop button.mco-details-close:hover:enabled{
  background:rgba(52,72,88,.78);
  border-color:rgba(181,205,223,.34);
  color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transform:none;
}
.mco-details-close:focus-visible{outline:2px solid #82b9ed;outline-offset:3px}
.mco-details-actions{display:flex;flex-direction:column;align-items:center;gap:22px}
.mco-details-actions-player{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  min-width:0;max-width:100%;
}
.mco-details-actions-player>.mco-details-portrait{margin-bottom:4px}
.mco-details-actions-player>strong{
  font-size:23px;font-weight:830;line-height:1.15;
  color:#f3f5f8;text-align:center;overflow-wrap:anywhere;
}
.mco-details-primary-action{
  border:1px solid rgba(88,145,205,.4);border-radius:10px;
  background:linear-gradient(180deg,#135a9c,#104474);
  color:#fff;padding:13px 26px;font-weight:760;
  min-height:48px;cursor:pointer;
}
/* Mantém o botão azul e a legenda branca durante o hover. */
.mco-details-backdrop button.mco-details-primary-action:hover:enabled{
  background:linear-gradient(180deg,#226ba8,#175387);
  border-color:rgba(129,184,224,.60);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 12px rgba(0,0,0,.18);
  transform:none;
}

/* Meu Elenco > Plantel: nome e ícone de aposentadoria em células separadas.
   O nome continua legível e a marca nunca vira reticências por truncamento. */
.season-roster-panel .season-roster-name-line{
  display:flex;align-items:center;min-width:0;gap:8px;width:100%;
}
.season-roster-panel .season-roster-name-line > .season-roster-name{
  flex:0 1 auto;min-width:0;
}
.season-retirement-announced-badge{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 19px;width:19px;height:19px;margin-left:auto;
  box-sizing:border-box;border-radius:5px;
  color:#d2c2a5;background:rgba(187,169,133,.14);
  border:1px solid rgba(194,178,146,.36);
  font-size:11px;font-weight:800;line-height:1;
  cursor:help;user-select:none;
}
.season-retirement-announced-badge::after{
  content:attr(data-tooltip);
  position:absolute;left:50%;bottom:calc(100% + 9px);
  transform:translateX(-50%) translateY(3px);
  padding:7px 10px;white-space:nowrap;
  color:#f2ede3;background:#1c2730;
  border:1px solid rgba(192,178,154,.3);
  box-shadow:0 5px 14px rgba(0,0,0,.3);
  border-radius:7px;font-size:12px;font-weight:600;
  line-height:1.2;opacity:0;pointer-events:none;
  transition:opacity .15s ease,transform .15s ease;
}
.season-retirement-announced-badge:is(:hover,:focus-visible){
  border-color:rgba(214,194,157,.66);background:rgba(187,169,133,.22);
  z-index:5;
}
.season-retirement-announced-badge:is(:hover,:focus-visible)::after{
  opacity:1;transform:translateX(-50%) translateY(0);
}
.season-retirement-announced-badge:focus-visible{
  outline:2px solid rgba(220,203,169,.65);outline-offset:3px;
}
/* Ações de aposentadoria deliberadamente menores que o botão principal. */
.mco-details-retirement-slot{
  display:flex;flex-direction:column;align-items:center;
  gap:7px;width:100%;max-width:240px;
}
.mco-details-retirement-action,.mco-details-retirement-back{
  display:block;width:100%;
  border:1px solid rgba(142,176,198,.34);border-radius:9px;
  background:rgba(20,33,44,.52);color:#dbeaf4;
  font:inherit;font-weight:690;cursor:pointer;
  transition:background .18s ease,border-color .18s ease;
}
.mco-details-retirement-action{
  min-height:37px;padding:8px 12px;font-size:13px;
}
.mco-details-retirement-back{
  min-height:44px;
}
.mco-details-backdrop button.mco-details-retirement-action:hover:enabled,
.mco-details-backdrop button.mco-details-retirement-back:hover:enabled{
  background:rgba(48,72,93,.62);
  color:#f4f8fc;border-color:rgba(163,194,214,.55);transform:none;
}
.mco-details-retirement-action.is-cancel{border-color:rgba(225,156,143,.4);color:#f1c7be}
.mco-details-retirement-hint{font-size:11px;color:#b7cad8;text-align:center;line-height:1.35}
.mco-details-retirement-confirm{gap:14px}
.mco-details-retirement-confirm h3{font-size:20px;margin:0;text-align:center}
.mco-details-retirement-confirm p{
  font-size:14px;line-height:1.6;color:#d6e0e9;
  text-align:center;margin:0;max-width:400px;
}
.mco-details-retirement-confirm .mco-details-retirement-error{
  color:#ffc2b8;font-weight:650;
}
.mco-details-retirement-buttons{display:flex;gap:10px;width:100%;max-width:410px}
.mco-details-retirement-buttons button{flex:1;min-width:0;padding:10px 12px}
.mco-details-retirement-buttons .mco-details-primary-action.is-retirement-cancel{
  border-color:rgba(200,112,106,.35);
  background:linear-gradient(180deg,#963f3f,#742d32);
}
.mco-details-backdrop button.mco-details-primary-action.is-retirement-cancel:hover:enabled{
  background:linear-gradient(180deg,#ab5251,#87373b);
  border-color:rgba(237,153,145,.55);
}
@media (max-width:520px){
 .mco-details-retirement-buttons{flex-direction:column}
 .mco-details-dialog.is-actions{overflow:auto}
}
.mco-details-layout{
  display:grid;grid-template-columns:minmax(0,315px) minmax(0,1fr);
  gap:18px;height:100%;min-height:0;
}
.mco-details-profile{
  padding:0 15px 0 9px;
  border-right:1px solid rgba(228,239,246,.28);
  display:flex;align-items:center;flex-direction:column;
  gap:7px;min-width:0;min-height:0;
}
.mco-details-portrait{
  position:relative;isolation:isolate;flex-shrink:0;
  width:270px;height:136px;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;
}
.mco-details-portrait-image{
  position:absolute;top:0;left:128px;
  width:130px;height:136px;
  object-fit:contain;object-position:center bottom;
  opacity:0;transition:opacity .15s ease;z-index:2;
  clip-path:inset(0 0 2px 0);
}
.mco-details-portrait-image.is-loaded{opacity:1}
.mco-details-portrait-silhouette{
  position:absolute;z-index:1;left:128px;width:130px;bottom:14px;
  text-align:center;color:#a4b8c6;font-size:70px;opacity:.35;
}
/* OVR vigente: a foto encobre discretamente a borda direita do número. */
.mco-details-overall{
  position:absolute;z-index:0;left:32px;bottom:-23px;
  font-size:126px;font-weight:900;line-height:1;
  letter-spacing:-7px;white-space:nowrap;
  font-variant-numeric:tabular-nums;
  user-select:none;pointer-events:none;
  /* O corte no limite da linha é feito pelo próprio retrato (overflow:hidden). */
}
.mco-details-overall.is-gold{
  color:#e2b72c;
  text-shadow:0 0 6px rgba(226,183,44,.14),0 1px 0 rgba(255,245,204,.16);
}
.mco-details-overall.is-silver{
  color:#d8e0e8;
  text-shadow:0 0 6px rgba(227,238,247,.13),0 1px 0 rgba(255,255,255,.14);
}
.mco-details-overall.is-bronze{
  color:#ca8c57;
  text-shadow:0 0 6px rgba(200,139,89,.14),0 1px 0 rgba(255,232,214,.14);
}
/* Linha 30% mais longa, sem aumento de espessura ou degradê. */
.mco-details-portrait-rule{
  position:absolute;z-index:3;left:50%;bottom:0;
  width:244px;height:2px;
  transform:translateX(-50%);pointer-events:none;
  background:#edf5f9;
  clip-path:polygon(0 50%,12% 22%,30% 7%,42% 0,58% 0,70% 7%,
    88% 22%,100% 50%,88% 78%,70% 93%,58% 100%,42% 100%,
    30% 93%,12% 78%);
  filter:drop-shadow(0 0 1px rgba(235,245,251,.16));
}
.mco-details-profile h2{
  font-size:23px;font-weight:830;line-height:1.15;
  margin:0;text-align:center;max-width:100%;
}
.mco-details-position{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;font-size:13px;font-weight:800;
  padding:7px 16px;min-width:57px;text-align:center;box-sizing:border-box;
}
.mco-details-position.is-attack{background:#0e57ae;color:white}
.mco-details-position.is-middle{background:#068251;color:white}
.mco-details-position.is-defense{background:#d3ac11;color:#1c2025}
.mco-details-position.is-goalkeeper{background:#d78237;color:#1c2025}
.mco-details-secondary,.mco-details-bio{
  background:#222d36;border-radius:15px;width:100%;box-sizing:border-box;
  flex-shrink:0;
  border:1px solid rgba(214,226,236,.12);
  box-shadow:inset 0 0 0 1px rgba(8,13,18,.12);
}
.mco-details-secondary{padding:9px 12px;text-align:center}
.mco-details-secondary h3{
  font-size:13px;font-weight:650;margin:0 0 6px;color:#dce2e7;
}
.mco-details-secondary-positions{
  display:flex;align-items:center;justify-content:space-evenly;
  gap:5px;flex-wrap:wrap;min-height:27px;
}
.mco-details-secondary-positions .mco-details-position{
  font-size:11px;min-width:0;padding:6px 10px;flex:0 1 auto;
}
.mco-details-dash{color:#c8d0d7;font-weight:800}
.mco-details-bio{
  padding:4px 12px;margin-top:1px;
  display:grid;grid-template-rows:repeat(8,minmax(0,1fr));
  flex:1 1 auto;min-height:0;
}
.mco-details-bio-row{
  display:grid;grid-template-columns:1fr 1fr;column-gap:6px;
  align-items:center;min-height:0;
  padding:0 4px;font-size:13px;box-sizing:border-box;
}
.mco-details-bio-row+.mco-details-bio-row{
  border-top:1px solid rgba(255,255,255,.065);
}
.mco-details-bio-row span,.mco-details-bio-row strong{
  display:flex;align-items:center;justify-content:center;
  min-height:0;text-align:center;
}
.mco-details-bio-row span{color:#cad2d9}
.mco-details-bio-row strong{
  font-size:13px;font-weight:780;white-space:nowrap;
  border-left:0;
}
.mco-details-club-crest{
  display:block;width:21.25px;height:22.1px;object-fit:contain;margin:0 auto;
}
.mco-details-bio-row .mco-details-nationality-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:19.55px;height:19.55px;line-height:1;font-size:16.15px;
}
.mco-details-nationality-icon .mco-circle-flag{
  display:block;width:17.85px;height:17.85px;
}
/* Pé preferido: duas cópias espelhadas da pegada fornecida.
   Do lado esquerdo fica o pé esquerdo; à direita, o direito.
   Nos revelados sem informação os dois permanecem discretos. */
.mco-details-footprints{
  display:inline-flex;align-items:center;justify-content:center;
  gap:7px;width:100%;height:30px;
}
.mco-details-footprint{
  display:block;flex:0 0 12.75px;width:12.75px;height:21.75px;
  background-color:rgba(196,207,218,.23);
  -webkit-mask:url("assets/footprint-preferred.svg") center / contain no-repeat;
  mask:url("assets/footprint-preferred.svg") center / contain no-repeat;
}
.mco-details-footprint.is-left{transform:scaleX(-1)}
.mco-details-footprint.is-preferred{background-color:#f8fbff}
/* Botão informativo abaixo dos dados biográficos do jogador. */
.mco-details-backdrop button.mco-details-fixed-trigger{
  width:100%;
  min-height:38px;
  flex:0 0 auto;
  padding:8px 12px;
  margin:1px 0 0;
  border:1px solid rgba(135,165,188,.36);
  border-radius:11px;
  background:linear-gradient(180deg,#324656,#283b49);
  color:#eaf3f9;
  font-size:12px;
  line-height:1.3;
  font-weight:750;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.mco-details-backdrop button.mco-details-fixed-trigger:hover:enabled{
  transform:none;
  border-color:rgba(154,198,226,.62);
  background:linear-gradient(180deg,#3d576b,#30485a);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
/* A caixa de atributos é um diálogo pequeno sobre a ficha original. */
.mco-details-fixed-backdrop{
  position:fixed;inset:0;z-index:20010;
  display:flex;align-items:center;justify-content:center;
  padding:18px;box-sizing:border-box;
  background:rgba(3,8,13,.60);
  backdrop-filter:blur(2px);
}
.mco-details-fixed-dialog{
  position:relative;
  width:min(395px,100%);
  max-height:calc(100dvh - 36px);
  overflow-y:auto;
  padding:26px 24px 23px;
  box-sizing:border-box;
  border:1px solid rgba(165,196,219,.3);
  border-radius:18px;
  background:linear-gradient(145deg,#35434e,#283640);
  box-shadow:0 22px 70px rgba(0,0,0,.58);
  color:#f2f6fa;
}
.mco-details-fixed-dialog h3{
  padding:0 30px;
  margin:0 0 20px;
  text-align:center;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
}
.mco-details-fixed-dialog button.mco-details-fixed-close{
  position:absolute;
  top:10px;right:10px;
  width:32px;height:32px;min-width:32px;min-height:32px;
  display:grid;place-items:center;
  padding:0;margin:0;
  border:1px solid rgba(225,238,247,.2);
  border-radius:50%;
  background:#24323e;
  color:transparent;
  font-size:0;line-height:0;
  box-shadow:none;
}
.mco-details-fixed-dialog button.mco-details-fixed-close::before,
.mco-details-fixed-dialog button.mco-details-fixed-close::after{
  content:"";
  position:absolute;top:50%;left:50%;
  width:15px;height:2px;
  border-radius:2px;background:#eef5f9;
  pointer-events:none;
}
.mco-details-fixed-dialog button.mco-details-fixed-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.mco-details-fixed-dialog button.mco-details-fixed-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.mco-details-fixed-dialog button.mco-details-fixed-close:hover:enabled{
  transform:none;
  border-color:rgba(192,218,232,.5);
  background:#3b5366;
  color:#fff;
  box-shadow:none;
}
.mco-details-fixed-entry{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:65px;
  padding:10px 0;
  border-top:1px solid rgba(240,248,255,.11);
}
.mco-details-fixed-entry>span{
  color:#d9e3eb;
  font-size:13px;
  font-weight:720;
  padding-left:8px;
  box-sizing:border-box;
}
.mco-details-fixed-ritmo{
  text-align:center;
  font-size:30px;
  line-height:1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.mco-details-fixed-stars{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:0;
}
.mco-details-fixed-star{
  width:27px;height:27px;
  flex:0 1 27px;
  stroke:#efc64b;
  stroke-width:1.8;
  stroke-linejoin:round;
  fill:none;
}
.mco-details-fixed-star.is-filled{fill:#efc64b}
@media(max-width:420px){
  .mco-details-fixed-dialog{padding:24px 16px 20px}
  .mco-details-fixed-entry{grid-template-columns:86px minmax(0,1fr);gap:8px}
  .mco-details-fixed-star{width:22px;height:22px;flex-basis:22px}
}
/* Somente a tabela interna mantém o fundo nos painéis da direita. */
.mco-details-content{
  display:flex;flex-direction:column;gap:10px;
  padding:21px 0 0;min-width:0;min-height:0;
}
.mco-details-panel{
  background:transparent;border:0;box-shadow:none;
  padding:0;border-radius:0;min-width:0;
}
.mco-details-panel h3{
  font-size:21px;text-align:center;margin:0 0 5px;font-weight:820;
}
.mco-details-stats-table{
  background:#2c3944;border-radius:8px;overflow:hidden;text-align:center;
  border:1px solid rgba(214,226,236,.12);
  box-shadow:inset 0 0 0 1px rgba(8,13,18,.12);
}
.mco-details-stats-table h4{
  margin:0;background:#141b20;font-size:13px;padding:8px;
}
.mco-details-stats-head{
  display:grid;grid-template-columns:1fr 1fr;
  background:#22303a;font-size:12px;font-weight:760;
}
.mco-details-stats-head>span{
  padding:7px;border-right:1px solid rgba(255,255,255,.09);
}
.mco-details-stats-head>span:last-child{border-right:0}
/* Navegação sazonal na metade esquerda da tabela de estatísticas. */
.mco-details-stats-period{
  display:grid;grid-template-columns:24px minmax(0,1fr) 24px;
  align-items:center;gap:2px;min-width:0;padding:3px 7px;
  border-right:1px solid rgba(255,255,255,.09);
}
.mco-details-stats-period-label{
  min-width:0;white-space:nowrap;text-align:center;
  color:#f1f6fc;font-size:12px;font-weight:760;
}
.mco-details-stats-period button{
  width:20px;height:20px;min-width:20px;min-height:20px;
  display:grid;place-items:center;justify-self:center;padding:0;position:relative;
  border:1px solid transparent;border-radius:6px;box-shadow:none;
  background:transparent;color:#b7d9ed;
  /* A forma do chevron não depende da linha de base da fonte. */
  font-size:0;line-height:0;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.mco-details-stats-period button::before{
  /* Centro óptico fixo, sem depender do posicionamento da linha de base. */
  content:"";display:block;position:absolute;
  left:50%;top:50%;width:7px;height:7px;
  box-sizing:border-box;
  border-top:2px solid currentColor;border-right:2px solid currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
}
.mco-details-stats-period button[data-details-season-step="-1"]::before{
  transform:translate(-50%,-50%) rotate(-135deg);
}
.mco-details-stats-period button:hover:enabled{
  background:#365268;border-color:#668aa0;color:#fff;
}
.mco-details-stats-period button:focus-visible{
  outline:2px solid #8bcef4;outline-offset:1px;
}
.mco-details-stats-period button:disabled{
  opacity:.25;cursor:default;
}
@media(max-width:740px){
  .mco-details-stats-period{
    grid-template-columns:20px minmax(0,1fr) 20px;gap:0;padding:3px 2px;
  }
  .mco-details-stats-period button{width:20px;height:23px;min-height:23px}
  .mco-details-stats-period-label{font-size:11px}
}
.mco-details-stats-head.is-sub{
  grid-template-columns:repeat(4,1fr);font-size:11px;background:#28343e;
  border-top:1px solid rgba(255,255,255,.09);
}
.mco-details-stats-values{
  display:grid;grid-template-columns:repeat(4,1fr);font-size:13px;font-weight:750;
}
.mco-details-stats-values span{
  padding:11px 5px;
  border-right:1px solid rgba(255,255,255,.09);
}
.mco-details-stats-values span:last-child{border-right:0}
/* A tabela de conquistas estica até a base, e só suas colunas rolam. */
.mco-details-panel.is-honors{
  flex:1;min-height:0;display:flex;flex-direction:column;
}
[data-details-honors]{
  flex:1;min-height:0;display:flex;overflow:hidden;
}
.mco-details-honors-shell{
  display:flex;flex-direction:column;flex:1;min-height:0;
  width:100%;overflow:hidden;border-radius:8px;background:#222d36;
  border:1px solid rgba(214,226,236,.12);
  box-shadow:inset 0 0 0 1px rgba(8,13,18,.12);
}
.mco-details-honors-league{
  flex-shrink:0;margin:0;padding:8px;
  background:#141b20;font-size:13px;text-align:center;font-weight:750;
}
.mco-details-honors-columns{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;flex:1;min-height:0;
}
.mco-details-honors-columns>div{
  position:relative;display:flex;flex-direction:column;
  min-width:0;min-height:0;background:#2c3944;
}
.mco-details-honors-columns>div+div{
  border-left:1px solid rgba(225,233,239,.25);
}
/* Sem linha divisória no espaço vazio da tabela de conquistas. */
.mco-details-honors-head-row{
  display:grid;grid-template-columns:minmax(0,1fr) 70px;
  flex-shrink:0;min-height:40px;
  background:#22303a;font-size:13px;font-weight:760;
}
.mco-details-honors-head-row>span{
  display:flex;align-items:center;justify-content:center;
  min-height:40px;padding:6px 8px;box-sizing:border-box;
}
.mco-details-honors-head-row>span+span{font-size:11px}
.mco-details-honors-list{
  flex:1;min-height:0;position:relative;
  overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;padding:0;
  /* Linha no limite do cabeçalho, mesmo sem conquistas registradas. */
  border-top:1px solid rgba(255,255,255,.09);
  /* O fundo de Vezes continua até a base, mas sem divisória branca. */
  background:linear-gradient(to right,
    #2c3944 0,
    #2c3944 calc(100% - 70px),
    #26333d calc(100% - 70px),
    #26333d 100%);
  scrollbar-width:thin;scrollbar-color:#627e91 transparent;
}
.mco-details-honor-item{
  /* Coluna própria com respiro simétrico para os símbolos das conquistas. */
  display:grid;grid-template-columns:62px minmax(0,1fr) 70px;
  min-height:58px;margin:0;gap:0;
  align-items:stretch;font-size:12px;
  border-top:1px solid rgba(255,255,255,.09);
}
/* Evita duplicar a linha logo acima da primeira conquista. */
.mco-details-honor-item:first-child{border-top:0}
.mco-details-honor-item>span,.mco-details-honor-item>strong{
  display:flex;align-items:center;min-width:0;
  min-height:58px;padding:8px 10px;
  box-sizing:border-box;background:transparent;
  border-radius:0;line-height:1.3;
}
.mco-details-honor-item>.mco-details-honor-description{
  justify-content:flex-start;overflow-wrap:anywhere;
  /* O ícone já está centralizado na coluna de 62px: o padding adicional
     criava mais espaço à direita do que à esquerda. */
  padding-left:0;
}
.mco-details-honor-item>.mco-details-honor-icon{
  display:block;align-self:center;justify-self:center;
  width:43px;height:43px;min-height:0;padding:0;margin:0;
  background-image:url('assets/conquistas-jogadores.webp');
  background-repeat:no-repeat;
  background-size:600% 100%;
  background-position:0% 50%;
}
/* Sprite: Abertura/Fechamento, Principal, Copa, Bola de Ouro Top 10,
   Bola de Ouro vencedora e demais conquistas individuais. */
.mco-details-honor-icon.is-principal{background-position:20% 50%}
.mco-details-honor-icon.is-copa{background-position:40% 50%}
.mco-details-honor-icon.is-bola-ouro-top10{background-position:60% 50%}
.mco-details-honor-icon.is-bola-ouro{background-position:80% 50%}
.mco-details-honor-icon.is-individual{background-position:100% 50%}
.mco-details-honor-item>strong{
  justify-content:center;text-align:center;
  background:#26333d;
}
.mco-details-no-honors{
  display:flex;align-items:center;justify-content:center;
  min-height:58px;margin:0;padding:9px 12px;
  text-align:center;color:#afbec9;font-size:12px;
  border-top:1px solid rgba(255,255,255,.09);
}
/* O nome permanece clicável, sem sublinhado no hover. */
[data-player-card-id]{cursor:pointer}
[data-player-card-id]:hover .season-roster-name,
[data-player-card-id]:hover .season-competition-stat-name{text-decoration:none}
[data-player-card-id]:focus-visible{
  outline:2px solid #79b1e0;outline-offset:2px;border-radius:5px;
}
/* Em telas pequenas ou muito baixas, preservar todos os dados é prioritário. */
@media(max-width:740px){
  .mco-details-backdrop{padding:12px}
  .mco-details-dialog.is-details{
    width:100%;height:auto;max-height:calc(100dvh - 24px);
    overflow-y:auto;padding:15px;
  }
  .mco-details-dialog.is-actions{padding:38px 23px 25px}
  .mco-details-layout{grid-template-columns:1fr;height:auto;gap:14px}
  .mco-details-profile{
    border-right:0;border-bottom:1px solid rgba(228,239,246,.28);
    padding:0 5px 14px;
  }
  .mco-details-content{padding-top:2px;min-height:430px}
  .mco-details-bio,.mco-details-secondary{max-width:470px}
  .mco-details-panel.is-honors{min-height:270px}
  [data-details-honors]{min-height:235px}
}
@media(max-height:630px) and (min-width:741px){
  .mco-details-dialog.is-details{
    height:auto;max-height:calc(100dvh - 30px);overflow-y:auto;
  }
  .mco-details-layout{height:auto;min-height:560px}
  .mco-details-content{min-height:560px}
}


/* Rostos universais: reaproveita os mesmos retratos e fallback do Plantel,
   com dimensão adequada às tabelas sem alterar o visual do Plantel. */
.season-competition-stat-face{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:36px;
}
.season-competition-stat-face .season-roster-face{
  width:34px;
  height:38px;
  flex:0 0 34px;
  transform:translateY(-1px);
}
.season-competition-stat-face .season-roster-face::after{
  width:37px;
}
.season-competition-stat-face .season-roster-face-placeholder svg{
  width:25px;
  height:29px;
}
.season-market-player .season-roster-face,
.season-market-external-sale-table .season-roster-face,
.season-market-history-player .season-roster-face{
  width:36px;
  height:41px;
  flex:0 0 36px;
  transform:translateY(-2px);
}
.season-market-player .season-roster-face::after,
.season-market-external-sale-table .season-roster-face::after,
.season-market-history-player .season-roster-face::after{
  width:39px;
}
.season-market-player .season-roster-face-placeholder svg,
.season-market-external-sale-table .season-roster-face-placeholder svg,
.season-market-history-player .season-roster-face-placeholder svg{
  width:27px;
  height:31px;
}
.season-market-player .season-roster-position,
.season-market-player .season-roster-flag{
  min-width:0;
}
.season-market-player .season-roster-name{
  font-size:13px;
}
/* Vendas externas usam a mesma ordem OVR → posição → foto → bandeira → nome. */
.season-market-external-sale-table .season-roster-player{
  grid-template-columns:auto 36px 36px 27px minmax(0,1fr);
  gap:7px;
}
/* A nova foto se integra ao mesmo fluxo de informação nas transferências. */
.season-market-history-player .season-roster-face{
  margin:0 1px;
}

/* Mercado: mesmo retrato com OVR da ficha universal do jogador.
   Reaproveita a classe mco-details-portrait sem modificar seu design. */
.season-market-modal-card.has-player-hero{
  max-height:calc(100dvh - 28px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.season-market-player-hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:min(100%,320px);
  min-width:0;
  margin:5px auto 20px;
  text-align:center;
}
.season-market-player-hero .mco-details-portrait{
  margin:0;
}
.season-market-player-hero-name{
  display:block;
  max-width:100%;
  font-size:23px;
  line-height:1.14;
  font-weight:830;
  color:#f3f5f8;
  text-align:center;
  overflow-wrap:anywhere;
}
.season-market-response>.season-market-player-hero{
  margin:0 auto 15px;
}
.season-market-response>.season-market-response-clubs{
  margin:0 auto 18px;
}
@media(max-height:730px){
  .season-market-modal-card.has-player-hero{
    padding-top:24px;
    padding-bottom:20px;
  }
  .season-market-modal-card.has-player-hero .season-market-player-hero{
    margin-top:0;
    gap:0;
    margin-bottom:12px;
  }
  .season-market-modal-card.has-player-hero .season-market-player-hero .mco-details-portrait{
    transform:scale(.86);
    transform-origin:center bottom;
    margin-top:-18px;
  }
  .season-market-response>.season-market-response-clubs{
    margin-bottom:12px;
  }
}
@media(max-width:600px){
  .season-market-modal-card.has-player-hero{
    padding:25px 15px 20px;
    max-height:calc(100dvh - 20px);
  }
  .season-market-modal-card.has-player-hero .season-market-player-hero .mco-details-portrait{
    transform:scale(.82);
    transform-origin:center bottom;
    margin-top:-24px;
  }
  .season-market-player-hero-name{font-size:21px}
}

/* Fotografia de jogadores nas outras três abas de Meu Elenco. */
.season-stats-row .season-roster-player-with-face{
  grid-template-columns:auto 34px 44px 27px minmax(0,1fr);
  column-gap:7px;
}
.season-info-panel .season-info-player-with-face{
  grid-template-columns:34px 44px 27px minmax(0,1fr);
  column-gap:7px;
}
.season-info-player-with-face .season-roster-position,
.season-info-player-with-face .season-roster-flag{
  justify-self:center;
  text-align:center;
}
.season-roster-loan-panel .season-roster-player-with-face{
  grid-template-columns:auto 34px 44px 27px minmax(0,1fr);
  column-gap:7px;
}
/* Centro de cada mini-coluna da linha de transferências concluídas. */
.season-market-history-player > .draft-rating,
.season-market-history-player > .season-roster-face,
.season-market-history-player > .player-flag{
  justify-self:center;
  margin:0;
}
/* Responder proposta: aproveitar melhor a altura normal da janela do jogo. */
.season-market-modal-card.has-player-hero:has(.season-market-response){
  max-height:calc(100dvh - 22px);
  padding:20px 26px 16px;
}
.season-market-response>.season-market-player-hero{
  zoom:.82;
  margin:0 auto 9px;
}
.season-market-response-subtitle{
  margin-bottom:12px;
}
.season-market-response-clubs > span:first-child,
.season-market-response-clubs > span:last-child{
  width:59px;
  height:59px;
}
.season-market-response-clubs .season-market-response-crest{
  width:48px;
  height:48px;
}
.season-market-response>.season-market-response-clubs{
  margin-bottom:10px;
}
.season-market-response-value{
  margin-bottom:12px;
  padding:8px 12px;
}
.season-market-response-pay{
  padding:11px 14px;
}
.season-market-response .season-market-modal-actions{
  margin-top:15px;
}
/* Na proposta definitiva não há quadro de rateio do salário:
   separar visualmente os botões do quadro de valor da proposta. */
.season-market-response.is-definitive .season-market-modal-actions{
  margin-top:26px;
}
@media(max-height:720px){
  .season-market-response>.season-market-player-hero{
    zoom:.72;
  }
  .season-market-modal-card.has-player-hero:has(.season-market-response){
    padding:15px 18px;
  }
}

/* Federação — identidade visual MCO (grafite, cinza e azul) */
.season-federacao{
  width:min(1120px,calc(100% - 80px));
  margin:0 auto;
  padding:24px 0 64px;
  box-sizing:border-box;
  color:#f1f5f8;
}
.season-federacao-heading h1{
  margin:0 0 26px;
  color:#f5f5f5;
  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.3px;
  text-align:center;
}
.season-federacao-tabs{
  width:min(930px,100%);
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  background:linear-gradient(180deg,#343a40,#2c3238);
  box-shadow:0 12px 34px rgba(0,0,0,.19);
}
.season-federacao-tab{
  min-width:0;
  min-height:48px;
  margin:0;
  padding:0 18px;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-radius:0;
  background:transparent;
  color:#dce2e8;
  font-size:17px;
  font-weight:650;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease,color .18s ease;
}
.season-federacao-tab:last-child{border-right:0}
.season-federacao-tab:hover:not(:disabled){
  background:rgba(255,255,255,.045);
  color:#fff;
  box-shadow:none;
  transform:none;
}
.season-federacao-tab.is-active{
  background:linear-gradient(180deg,#58636d,#414b54);
  color:#fff;
  font-weight:780;
}
.season-federacao-panel{width:100%}
.season-federacao-center{
  display:flex;
  justify-content:center;
  padding:18px 10px 0;
}
.season-federacao-card{
  width:min(610px,100%);
  padding:28px 34px 30px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.12);
  border-radius:25px;
  background:linear-gradient(155deg,#313a43,#242d36);
  box-shadow:0 18px 46px rgba(0,0,0,.23);
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:0;
  text-align:center;
}
.season-federacao-card-heading{
  width:100%;
  padding-bottom:17px;
  border-bottom:1px solid rgba(232,240,247,.35);
}
.season-federacao-card-heading h2{
  margin:0;
  color:#f5f7f9;
  font-size:clamp(21px,2.5vw,27px);
  line-height:1.2;
  font-weight:800;
}
.season-federacao-date-path{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin:25px 0 12px;
}
.season-federacao-day-box{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  flex:0 0 auto;
  width:184px;
  min-height:150px;
  padding:14px 15px 13px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  text-align:left;
  border:1px solid rgba(222,246,233,.38);
  border-radius:12px;
  background:linear-gradient(150deg,#35aa5a 0%,#1d823f 56%,#145a2d 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -14px 36px rgba(0,0,0,.12);
}
.season-federacao-day-box.is-transfer-open{
  background:linear-gradient(150deg,#72d48c 0%,#4caf68 56%,#347e4f 100%);
}
.season-federacao-day-box.is-transfer-start,
.season-federacao-day-box.is-transfer-end{
  background:linear-gradient(150deg,#35aa5a 0%,#1d823f 56%,#145a2d 100%);
}
.season-federacao-day-box.is-league{
  background:linear-gradient(150deg,#2fa8ed 0%,#0878ca 50%,#07599b 100%);
  border-color:rgba(214,239,252,.38);
}
/* Entrada no período de jogos: acomoda o título completo sem truncar,
   mantendo os cartões da origem e destino na mesma altura. */
.season-federacao-date-path.is-entering-games{gap:14px}
.season-federacao-date-path.is-entering-games .season-federacao-day-box{
  width:214px;
  min-height:176px;
}
.season-federacao-day-box.is-league .season-federacao-day-event-copy strong{
  font-size:11px;
  line-height:1.16;
}
.season-federacao-day-box::before,
.season-federacao-day-box::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.season-federacao-day-box::before{
  inset:0;
  background:
    linear-gradient(125deg,transparent 30%,rgba(255,255,255,.09),transparent 58%),
    radial-gradient(circle at 84% 16%,rgba(255,255,255,.14),transparent 38%);
  opacity:.72;
}
.season-federacao-day-box::after{
  right:-18px;
  bottom:-30px;
  width:110px;
  height:110px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:
    -28px -2px 0 -27px rgba(255,255,255,.12),
    -54px -9px 0 -53px rgba(255,255,255,.09);
}
.season-federacao-day-number,
.season-federacao-day-month,
.season-federacao-day-event{
  position:relative;
  z-index:1;
}
.season-federacao-day-number{
  font-size:32px;
  line-height:1;
  font-weight:850;
  text-shadow:0 1px 8px rgba(0,0,0,.12);
}
.season-federacao-day-month{
  font-size:14px;
  font-weight:750;
  line-height:1.3;
  text-transform:lowercase;
}
.season-federacao-day-event{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:14px;
}
.season-federacao-day-event .season-calendar-event-glyph{
  width:27px;
  height:29px;
  flex:0 0 27px;
}
.season-federacao-day-event .season-calendar-event-glyph svg,
.season-federacao-day-event .season-calendar-event-glyph img{
  width:24px;
  height:24px;
}
.season-federacao-day-event-copy{
  min-width:0;
  padding-left:8px;
  border-left:1px solid rgba(255,255,255,.8);
  display:flex;
  flex-direction:column;
}
.season-federacao-day-event-copy strong{
  color:#fff;
  font-size:12px;
  font-weight:730;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.season-federacao-day-event-copy small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.86);
  font-size:10.5px;
  font-weight:520;
  line-height:1.15;
}
.season-federacao-arrow{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f7fbfe;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.12));
}
.season-federacao-arrow svg{
  display:block;
  width:68px;
  height:24px;
}
.season-federacao-explanation{
  margin:0 0 24px;
  color:#d5dee7;
  font-size:15px;
  line-height:1.45;
}
.season-federacao-btn{
  border:1px solid rgba(125,203,232,.44);
  border-radius:999px;
  padding:10px 33px;
  min-height:41px;
  background:linear-gradient(180deg,#128bb2,#08779b);
  color:#fff;
  font-size:16px;
  font-weight:750;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,filter .18s ease;
}
.season-federacao-btn:hover:not(:disabled){
  background:linear-gradient(180deg,#209bc2,#0d84a9);
  border-color:rgba(158,220,242,.7);
  box-shadow:none;
  transform:none;
}
.season-federacao-btn:disabled{opacity:.55;cursor:wait}
.season-federacao-loading{
  margin:45px 0 30px;
  color:#b9c9d6;
}
.season-federacao-locked{
  display:grid;
  place-items:center;
  margin:31px 0 22px;
  color:#9fb7c8;
}
.season-federacao-locked-caption{
  margin:0 0 6px;
  color:#d7e0e8;
  font-size:15px;
  line-height:1.5;
}
.season-federacao-error{color:#ffb8b8;font-size:13px;line-height:1.4}
.season-federacao-confirm-backdrop{
  position:fixed;
  inset:0;
  padding:24px;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  background:rgba(2,6,10,.75);
  z-index:210;
}
.season-federacao-confirm{
  width:min(450px,100%);
  padding:28px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:15px;
  align-items:center;
  border:1px solid rgba(199,224,241,.22);
  border-radius:18px;
  background:#27323d;
  box-shadow:0 25px 75px rgba(0,0,0,.54);
  text-align:center;
}
.season-federacao-confirm h3{
  margin:0;
  font-size:22px;
  color:#fff;
}
.season-federacao-confirm p{
  margin:0;
  color:#d3dfe9;
  font-size:14px;
  line-height:1.55;
}
.season-federacao-confirm strong{color:#fff}
.season-federacao-actions{
  width:100%;
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:4px;
}
.season-federacao-actions button{min-height:41px}
/* Botões de confirmação da Federação com cantos iguais aos de Cancelar. */
.season-federacao-actions [data-federacao-money-confirmar],
.season-federacao-actions [data-federacao-confirmar]{
  border-radius:10px;
}
.season-federacao-placeholder{
  width:min(610px,100%);
  margin:18px auto 0;
  padding:42px 22px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(155deg,#313a43,#242d36);
  color:#becbd5;
  text-align:center;
}
.season-federacao-placeholder strong{font-size:21px;color:#eef3f9}
.season-federacao-placeholder span{font-size:14px;line-height:1.5}
@media(max-width:650px){
  .season-federacao{width:calc(100% - 28px);padding-top:20px}
  .season-federacao-tab{font-size:13px;padding:10px 8px;line-height:1.3}
  .season-federacao-center{padding:16px 0 0}
  .season-federacao-card{padding:23px 15px}
  .season-federacao-date-path{gap:7px}
  .season-federacao-day-box{width:min(34vw,150px);min-height:143px;padding:12px 10px}
  .season-federacao-day-number{font-size:29px}
  .season-federacao-arrow svg{width:30px;height:19px}
  .season-federacao-day-event{gap:4px}
  .season-federacao-day-event .season-calendar-event-glyph{width:23px;height:24px;flex-basis:23px}
  .season-federacao-day-event .season-calendar-event-glyph svg,
  .season-federacao-day-event .season-calendar-event-glyph img{width:21px;height:21px}
  .season-federacao-day-event-copy{padding-left:5px}
  .season-federacao-day-event-copy strong{font-size:10.5px}
  .season-federacao-day-event-copy small{font-size:9.5px}
  .season-federacao-date-path.is-entering-games{gap:7px}
  .season-federacao-date-path.is-entering-games .season-federacao-day-box{
    width:min(34vw,150px);
    min-height:205px;
  }
  .season-federacao-day-box.is-league .season-federacao-day-event{
    flex-direction:column;
    align-items:flex-start;
  }
  .season-federacao-day-box.is-league .season-federacao-day-event-copy{
    padding-left:0;
    border-left:0;
  }
  .season-federacao-confirm{padding:22px 17px}
}

/* Federação / Movimentar dinheiro — painéis independentes com linhas alinhadas. */
.season-federacao.is-money{
  width:min(1520px,calc(100% - 44px));
}
.season-federacao-money-viewport{
  width:100%;
  margin:20px auto 0;
  overflow-x:auto;
  padding:0 0 14px;
  scrollbar-width:thin;
  scrollbar-color:#637584 #232b32;
}
.season-federacao-money-grid{
  --fed-money-header:78px;
  --fed-money-row:96px;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,1.32fr) 156px;
  column-gap:12px;
  min-width:1290px;
  align-items:start;
}
.season-federacao-money-table{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:19px;
  background:linear-gradient(160deg,#29343e,#1a232c 82%);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.season-federacao-money-header{
  height:var(--fed-money-header);
  min-height:var(--fed-money-header);
  box-sizing:border-box;
  display:grid;
  align-items:center;
  padding:0 12px;
  background:linear-gradient(180deg,#37434e,#2c3640);
  border-bottom:1px solid rgba(255,255,255,.15);
  color:#f2f6fa;
  font-size:12px;
  font-weight:750;
  line-height:1.3;
  text-align:center;
}
.season-federacao-money-table.is-clubs .season-federacao-money-header,
.season-federacao-money-table.is-clubs .season-federacao-money-row{
  grid-template-columns:minmax(155px,1.25fr) minmax(120px,.89fr) minmax(147px,1.06fr);
}
.season-federacao-money-table.is-movements .season-federacao-money-header,
.season-federacao-money-table.is-movements .season-federacao-money-row{
  grid-template-columns:minmax(134px,1.02fr) minmax(215px,1.63fr) minmax(139px,1.04fr) minmax(110px,.88fr);
}
.season-federacao-money-header>span{
  min-width:0;
  padding:0 7px;
  overflow-wrap:break-word;
}
.season-federacao-money-header-subline{
  display:block;
  font:inherit;
}
.season-federacao-money-row{
  height:var(--fed-money-row);
  min-height:var(--fed-money-row);
  min-width:0;
  box-sizing:border-box;
  display:grid;
  align-items:center;
  padding:0 11px;
  border-bottom:1px solid rgba(255,255,255,.105);
}
.season-federacao-money-row:last-child{border-bottom:0}
.season-federacao-money-row:nth-child(odd){background:rgba(255,255,255,.023)}
.season-federacao-money-table.is-clubs .season-federacao-money-row>*{
  min-width:0;
}

.season-federacao-money-club{
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 9px;
  color:#eff4f8;
  font-size:13px;
  font-weight:710;
  line-height:1.25;
}
.season-federacao-money-crest{
  display:block;
  flex:0 0 34px;
  width:34px;
  height:34px;
  object-fit:contain;
}
.season-federacao-money-crest.is-fallback-ball{
  padding:5px;
  box-sizing:border-box;
}
.season-federacao-money-amount{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  color:#f1f6fa;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.season-federacao-money-amount.is-negative{color:#ed9696}
.season-federacao-money-payroll{
  position:relative;
  display:block;
  height:100%;
  min-width:0;
  padding:0 5px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.season-federacao-money-payroll>strong{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  color:#f2f5f8;
  font-size:13px;
  white-space:nowrap;
}
.season-federacao-money-payroll .season-payroll-status{
  position:absolute;
  top:calc(50% + 14px);
  left:50%;
  transform:translateX(-50%);
  max-width:none;
  min-height:0;
  margin:0;
  padding:3px 8px;
  font-size:9px;
  line-height:1.2;
  white-space:nowrap;
}
.season-federacao-money-row.is-form{column-gap:7px;padding:0 11px}
.season-federacao-money-row.is-form input,
.season-federacao-money-picker{
  width:100%;
  min-width:0;
  height:40px;
  min-height:40px;
  box-sizing:border-box;
  margin:0;
  padding:0 10px;
  border:1px solid rgba(203,220,234,.23);
  border-radius:9px;
  background:linear-gradient(180deg,#202e39,#1a2530);
  color:#f1f6fa;
  font-family:inherit;
  font-size:12px;
  font-weight:580;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  outline-offset:2px;
}
.season-federacao-money-row.is-form input::placeholder{color:#8d9ba8}
.season-federacao-money-row.is-form input:focus,
.season-federacao-money-picker:focus-visible,
.season-federacao-money-picker[aria-expanded="true"]{
  border-color:#65b5df;
  outline:1px solid rgba(101,181,223,.4);
  box-shadow:0 0 0 3px rgba(46,145,196,.13);
}
.season-federacao-money-picker{
  display:flex;
  align-items:center;
  gap:7px;
  justify-content:space-between;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.season-federacao-money-picker:hover:not(:disabled){
  background:linear-gradient(180deg,#2c4051,#213340);
  border-color:rgba(127,184,216,.5);
  box-shadow:none;
  transform:none;
}
.season-federacao-money-picker-label{
  min-width:0;
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.season-federacao-money-picker svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:#a5c2d4;
  transition:transform .16s ease;
}
.season-federacao-money-picker[aria-expanded="true"] svg{transform:rotate(180deg)}
.season-federacao-money-picker.is-placeholder{color:#9ca9b7}
.season-federacao-money-picker.is-disabled{
  background:#19242c;
  color:#d1d9e1;
  opacity:.8;
  cursor:not-allowed;
}
.season-federacao-money-picker.is-disabled svg{opacity:.55}
.season-federacao-money-popup{
  position:fixed;
  z-index:9999;
  box-sizing:border-box;
  padding:7px;
  border:1px solid rgba(142,181,207,.34);
  border-radius:12px;
  background:linear-gradient(160deg,#283642,#1c2833);
  box-shadow:0 18px 38px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.065);
  animation:federacao-money-menu-enter .13s ease-out;
}
.season-federacao-money-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:42px;
  padding:9px 10px;
  margin:0;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#d9e5ed;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:background .15s ease,color .15s ease;
}
.season-federacao-money-option+ .season-federacao-money-option{margin-top:2px}
/* Especificidade maior que o hover global de button:hover:enabled,
   que aplica um gradiente branco e prejudicava a legibilidade do texto. */
.season-federacao-money-popup button.season-federacao-money-option:hover:enabled,
.season-federacao-money-popup button.season-federacao-money-option:focus-visible{
  background:linear-gradient(180deg,rgba(81,133,164,.32),rgba(50,93,121,.27));
  border-color:rgba(141,197,225,.32);
  color:#f8fbff;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transform:none;
}
.season-federacao-money-popup button.season-federacao-money-option.is-selected{
  color:#e8f7ff;
  background:rgba(56,130,181,.18);
}
.season-federacao-money-popup button.season-federacao-money-option.is-selected:hover:enabled,
.season-federacao-money-popup button.season-federacao-money-option.is-selected:focus-visible{
  background:linear-gradient(180deg,rgba(81,133,164,.34),rgba(50,93,121,.30));
  color:#fff;
}
.season-federacao-money-option svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  opacity:0;
  color:#8ed2f1;
}
.season-federacao-money-option.is-selected svg{opacity:1}
@keyframes federacao-money-menu-enter{
  from{opacity:.7;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .season-federacao-money-popup{animation:none}
}
.season-federacao-money-actions{min-width:0}
.season-federacao-money-actions .season-federacao-money-header{
  background:transparent;
  border:0;
}
.season-federacao-money-row.is-action{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 2px;
  border-bottom:0;
  background:transparent;
}
.season-federacao-money-apply{
  min-height:40px;
  width:100%;
  margin:0;
  padding:8px 9px;
  border:1px solid rgba(104,180,220,.45);
  border-radius:10px;
  background:linear-gradient(180deg,#226b93,#185778);
  color:#fff;
  font-size:12px;
  font-weight:740;
  line-height:1.25;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease;
}
.season-federacao-money-apply:hover:enabled{
  background:linear-gradient(180deg,#2d83ab,#216688);
  border-color:#8acbe9;
  transform:none;
  box-shadow:none;
}
.season-federacao-money-apply:disabled{cursor:wait;opacity:.6}
.season-federacao-money-message{
  width:min(670px,100%);
  min-height:140px;
  box-sizing:border-box;
  margin:20px auto 0;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:#242f39;
  color:#dce6ee;
  text-align:center;
  font-size:14px;
}
.season-federacao-money-message.is-error{color:#ffbcbc}
@media(max-width:820px){
  .season-federacao.is-money{width:calc(100% - 26px)}
  .season-federacao-money-viewport{padding-bottom:20px}
}

/* Padrão MCO — botão circular de fechar para os diálogos do site.
   Desenha o X geometricamente, evitando desalinhamento entre fontes/sistemas. */
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close){
 width:36px;height:36px;min-width:36px;min-height:36px;
 padding:0;margin:0;display:grid;place-items:center;
 border:1px solid rgba(225,238,247,.20);border-radius:50%;
 background:rgba(18,29,38,.44);font-size:0;line-height:0;color:transparent;
 box-shadow:none;cursor:pointer;transform:none;
 transition:background .18s,border-color .18s;
}
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close)::before,
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close)::after{
 content:"";position:absolute;top:50%;left:50%;
 width:16px;height:2.5px;border-radius:2px;background:#e7f1f8;
 pointer-events:none;
}
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close)::before{
 transform:translate(-50%,-50%) rotate(45deg);
}
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close)::after{
 transform:translate(-50%,-50%) rotate(-45deg);
}
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close):hover:enabled{
 background:rgba(52,72,88,.78);border-color:rgba(181,205,223,.34);
 box-shadow:none;transform:none;color:transparent;
}
:is(.season-calendar-modal-close,.season-market-modal-close,.mco-details-close,.mco-modal-close):focus-visible{
 outline:2px solid #82b9ed;outline-offset:3px;
}


/* =========================================================
   CLUBE > FINANCEIRO > FOLHA SALARIAL
   Mesma identidade visual do MCO; projeção vs. consolidação
   derivadas dos snapshots e vínculos salariais por Mundo.
   ========================================================= */
.season-club-finance-tabs{
  width:min(540px,88%);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.season-club-page:has(.season-club-payroll){
  width:min(1440px,calc(100% - 54px));
}
/* A divisória horizontal começa após o mesmo vão visual dos menus
   Financeiro (Folha salarial / Extrato). A linha central nasce dela
   e segue entre as duas metades, sem atravessar os títulos. */
.season-club-payroll{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:34px;
  align-items:start;
  padding-top:26px;
}
.season-club-payroll::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:rgba(167,188,201,.36);
  pointer-events:none;
}
.season-club-payroll::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:calc(50% + 17px);
  width:1px;
  background:rgba(167,188,201,.26);
  pointer-events:none;
}
.season-payroll-half{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
}
.season-payroll-half+.season-payroll-half{
  padding-left:34px;
}
.season-payroll-half h2{
  margin:0 auto 17px;
  padding:12px 17px;
  min-height:48px;
  box-sizing:border-box;
  width:min(100%,650px);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(169,128,104,.41);
  border-radius:12px;
  color:#f7ede4;
  background:linear-gradient(135deg,#563c31,#392a25);
  font-size:clamp(14px,1.25vw,18px);
  font-weight:770;
  line-height:1.35;
  text-align:center;
}
.season-payroll-header,
.season-payroll-total,
.season-payroll-player-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(102px,25%) minmax(108px,24%);
  gap:0;
  align-items:center;
  min-width:0;
}
.season-payroll-header{
  margin:0 0 11px;
  min-height:39px;
  padding:0 8px;
  background:transparent;
  color:#b6cbd7;
  font-size:12px;
  text-align:center;
}
.season-payroll-header strong{
  padding:9px 5px;
  border-radius:6px;
  font-weight:760;
  background:linear-gradient(180deg,#273743,#1d2a34);
}
.season-payroll-header strong:nth-child(2){
  border-radius:7px 0 0 7px;
}
.season-payroll-header strong:nth-child(3){
  border-radius:0 7px 7px 0;
}
.season-payroll-total{
  min-height:54px;
  margin:0 0 12px;
  padding:5px 8px;
  border-radius:11px;
  background:linear-gradient(145deg,#34424e,#2b3842);
  border:1px solid rgba(153,184,203,.13);
}
.season-payroll-total>strong:first-child{
  min-width:0;
  padding:0 8px;
  text-align:center;
  font-size:14px;
  font-weight:750;
  color:#edf3f7;
}
.season-payroll-total .season-payroll-amount{
  font-weight:800;
}
.season-payroll-players{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:4px;
  border:1px solid rgba(155,183,202,.17);
  border-radius:15px;
  background:linear-gradient(145deg,#2a3945,#202e39);
}
.season-payroll-player-row{
  min-height:51px;
  padding:4px 4px;
  border-bottom:1px solid rgba(196,214,226,.10);
  border-radius:7px;
  background:rgba(12,24,35,.20);
}
.season-payroll-player-row:last-child{
  border-bottom:0;
}
.season-payroll-player{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 5px;
  overflow:hidden;
}
.season-payroll-player .draft-rating{
  width:29px;
  min-width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:6px;
  font-size:12px;
}
.season-payroll-player .season-roster-position{
  flex:0 0 31px;
  min-width:0;
  text-align:center;
  font-size:10px;
}
.season-payroll-player .season-roster-face{
  flex:0 0 auto;
  width:32px;
  height:36px;
}
.season-payroll-player .season-roster-name{
  min-width:0;
  flex:1;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
}
.season-payroll-player .season-roster-flag{
  flex:0 0 auto;
}
.season-payroll-amount{
  display:block;
  min-width:0;
  text-align:center;
  color:#e3edf4;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.season-payroll-status{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  max-width:108px;
  min-height:31px;
  margin:0 auto;
  padding:5px 7px;
  border-radius:8px;
  font-size:10px;
  line-height:1.25;
  font-weight:720;
  text-align:center;
  border:1px solid transparent;
}
.season-payroll-status.is-projected{
  color:#fff1c4;
  background:rgba(186,150,78,.26);
  border-color:rgba(243,215,146,.49);
}
.season-payroll-status.is-consolidated{
  color:#f3e1d0;
  background:rgba(100,66,49,.49);
  border-color:rgba(178,139,112,.44);
}
.season-payroll-empty{
  padding:28px 12px;
  color:#b3c3cf;
  font-size:13px;
  text-align:center;
}
@media(max-width:1100px){
 .season-club-page:has(.season-club-payroll){
   width:min(100%,calc(100% - 32px));
 }
 .season-club-payroll{gap:16px;}
 .season-club-payroll::after{left:calc(50% + 8px);}
 .season-payroll-half+.season-payroll-half{padding-left:16px;}
 .season-payroll-header,
 .season-payroll-total,
 .season-payroll-player-row{
   grid-template-columns:minmax(0,1fr) minmax(85px,25%) minmax(84px,24%);
 }
 .season-payroll-player{gap:3px;padding:0 2px;}
 .season-payroll-player .draft-rating{min-width:25px;width:25px;height:26px;}
 .season-payroll-player .season-roster-position{flex-basis:26px;}
 .season-payroll-status{font-size:9px;padding:4px;}
}
@media(max-width:790px){
 .season-club-payroll{grid-template-columns:minmax(0,1fr);row-gap:26px;}
 .season-club-payroll::after{display:none;}
 .season-payroll-half+.season-payroll-half{
   padding-left:0;
   border-top:1px solid rgba(167,188,201,.26);
   padding-top:26px;
 }
 .season-club-page:has(.season-club-payroll){width:min(680px,calc(100% - 26px));}
 .season-payroll-half h2{font-size:16px;}
 .season-payroll-header,
 .season-payroll-total,
 .season-payroll-player-row{
   grid-template-columns:minmax(0,1fr) minmax(99px,24%) minmax(105px,23%);
 }
}
@media(max-width:490px){
 .season-club-finance-tabs{width:100%;}
 .season-club-finance-tab{padding:0 4px;font-size:11px;}
 .season-payroll-player .season-roster-face{display:none;}
 .season-payroll-player .season-roster-name{font-size:11px;}
 .season-payroll-total>strong:first-child{font-size:12px;}
 .season-payroll-amount{font-size:11px;}
}


/* CLUBE > FINANCEIRO > FOLHA SALARIAL — resumo da temporada.
   Apenas visual: as duas obrigações vêm da consulta existente no Supabase. */
.season-club-payroll-layout{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:45px;
  width:100%;
  min-width:0;
}
.season-payroll-season-summary{
  width:min(970px,100%);
  margin:0 auto;
  box-sizing:border-box;
  padding:24px clamp(20px,4vw,42px) 25px;
  border-radius:23px;
  border:1px solid rgba(172,190,203,.19);
  background:linear-gradient(150deg,#303b44,#26313a);
  box-shadow:0 12px 34px rgba(0,0,0,.16);
  color:#edf4f8;
  text-align:center;
}
.season-payroll-season-summary h2{
  margin:0;
  font-size:clamp(19px,1.6vw,24px);
  line-height:1.25;
  font-weight:790;
  color:#f4f7fa;
}
.season-payroll-season-summary-total{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:10px 0 0;
}
.season-payroll-season-summary-total>strong{
  font-size:clamp(22px,2vw,29px);
  font-weight:810;
  font-variant-numeric:tabular-nums;
  line-height:1.3;
}
.season-payroll-season-summary-total .season-payroll-status{
  flex-shrink:0;
  margin:0;
}
.season-payroll-season-summary-divider{
  height:1px;
  width:100%;
  margin:20px 0 18px;
  background:rgba(209,223,234,.33);
}
.season-payroll-season-summary-bottom{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:26px;
}
.season-payroll-season-summary-metric{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  text-align:center;
}
.season-payroll-season-summary-metric>span{
  font-size:clamp(12px,1.12vw,15px);
  font-weight:690;
  color:#d9e3ea;
  line-height:1.4;
}
.season-payroll-season-summary-metric>strong{
  font-size:clamp(18px,1.55vw,23px);
  font-weight:800;
  color:#f3f8fb;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.season-payroll-season-summary-metric>strong.is-negative{
  color:#f0a3a3;
}
/* A coluna de empréstimos informa apenas o percentual, independentemente
   da duração e da repartição do salário entre as duas metades. */
.season-roster-loan-salary{
  flex-direction:row;
  gap:0;
  justify-content:center;
  align-items:center;
}
@media(max-width:790px){
  .season-club-payroll-layout{gap:36px;}
  .season-payroll-season-summary{
    padding:22px 20px;
    border-radius:17px;
  }
}
@media(max-width:480px){
  .season-payroll-season-summary-total{
    flex-wrap:wrap;
    gap:8px;
  }
  .season-payroll-season-summary-bottom{
    grid-template-columns:1fr;
    gap:16px;
  }
  .season-payroll-season-summary-divider{
    margin:17px 0;
  }
}


/* FINANCEIRO — somente Folha salarial + Extrato.
   O antigo Resumo foi incorporado ao quadro anual da Folha. */
.season-club-finance-tabs{
  width:min(400px,88%);
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Recupera a paleta cinza-azulada original do resumo financeiro.
   As faixas das metades continuam marrons, como já estavam. */
.season-payroll-season-summary{
  position:relative;
  border-color:rgba(172,190,203,.19);
  background:linear-gradient(150deg,#303b44,#26313a);
  box-shadow:0 12px 34px rgba(0,0,0,.16);
  color:#edf4f8;
}
.season-payroll-season-summary-help{
  position:absolute;
  top:16px;
  right:20px;
  z-index:1;
}
.season-payroll-season-summary-help .season-help{
  width:35px;
  height:35px;
}
.season-payroll-season-summary h2,
.season-payroll-season-summary-metric>span{
  color:#fff;
}
.season-payroll-season-summary h2{
  padding:0 44px;
}
.season-payroll-season-summary-total{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
}
/* O número é o único elemento usado para centralizar horizontalmente.
   A etiqueta acompanha à direita sem deslocar o valor. */
.season-payroll-season-summary-total-number{
  position:relative;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:0;
}
.season-payroll-season-summary-total-number>strong{
  color:#dce7ee;
  font-size:clamp(22px,2vw,29px);
  font-weight:810;
  font-variant-numeric:tabular-nums;
  line-height:1.3;
  white-space:nowrap;
}
.season-payroll-season-summary-total .season-payroll-status{
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%);
  margin:0;
  flex-shrink:0;
}
.season-payroll-season-summary-metric>strong{
  color:#dce7ee;
}
.season-payroll-season-summary-divider{
  background:rgba(209,223,234,.33);
}
@media(max-width:790px){
  .season-club-finance-tabs{width:min(400px,100%);}
}
@media(max-width:540px){
  .season-payroll-season-summary h2{
    padding:0 31px 0 0;
    font-size:18px;
  }
  .season-payroll-season-summary-help{
    top:13px;
    right:12px;
  }
  .season-payroll-season-summary-help .season-help{
    width:30px;
    height:30px;
  }
  .season-payroll-season-summary-total-number{
    flex-direction:column;
    gap:8px;
  }
  .season-payroll-season-summary-total .season-payroll-status{
    position:static;
    transform:none;
  }
}


/* Ajuda da Folha salarial: texto centralizado e sem cabeçalho,
   sem interferir nas demais janelas de explicação da temporada. */
dialog.season-finance-help-dialog{
  text-align:center;
}
dialog.season-finance-help-dialog p{
  text-align:center;
  margin:8px auto 28px;
  max-width:52ch;
  line-height:1.65;
}
dialog.season-finance-help-dialog .actions{
  justify-content:center;
}


/* MCO Lesões: boletim médico e desfalques espelhados do confronto */
.season-calendar-modal-card.has-medical-sides{
  width:min(1130px,calc(100vw - 36px));
  min-height:394px;
  /* Espaco simetrico extra: quadro cresce para cima/baixo e o X se afasta do escudo. */
  padding:64px 30px;
  background:
    radial-gradient(circle at 48% 0,rgba(47,116,157,.14),transparent 42%),
    linear-gradient(155deg,#252a2e,#121519 70%);
}
.season-medical-match-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,355px) minmax(0,1fr);
  gap:25px;
  align-items:stretch;
}
.season-medical-match-main{min-width:0;text-align:center;padding:4px 0 12px}
.season-medical-match-main .season-calendar-matchup{margin-top:26px}
.season-medical-match-main .season-calendar-matchup-club{width:92px;height:92px}
.season-medical-match-main .season-calendar-matchup-crest{width:85px;height:85px}
.season-medical-match-main .season-calendar-confirmed-actions{margin-top:22px}
.season-medical-unavailable{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding-top:13px;
}
.season-medical-unavailable-heading{
  min-height:38px;
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-rows:minmax(28px,auto) 1px;
  row-gap:10px;
  align-items:center;
  color:#e4eaf0;
}
.season-medical-unavailable-heading-content{
  grid-column:1;
  grid-row:1;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.season-medical-unavailable-heading strong{
  font-size:14.4px;
  font-weight:740;
  white-space:nowrap;
  letter-spacing:-.1px;
}
.season-medical-unavailable-line-solid{
  grid-column:1;
  grid-row:2;
  height:1px;
  background:#414950;
}
.season-medical-unavailable-line-fade{
  grid-column:2;
  grid-row:2;
  height:1px;
  background:linear-gradient(to right,#414950,rgba(65,73,80,0));
}
.season-medical-unavailable.is-away .season-medical-unavailable-heading{
  grid-template-columns:minmax(0,1fr) max-content;
  text-align:right;
}
.season-medical-unavailable.is-away .season-medical-unavailable-heading-content{
  grid-column:2;
  justify-content:flex-end;
}
.season-medical-unavailable.is-away .season-medical-unavailable-line-solid{
  grid-column:2;
}
.season-medical-unavailable.is-away .season-medical-unavailable-line-fade{
  grid-column:1;
  background:linear-gradient(to left,#414950,rgba(65,73,80,0));
}
.season-medical-side-crest{
  width:28px;height:28px;flex:0 0 28px;object-fit:contain;
}
.season-medical-unavailable-list{
  min-height:190px;
  max-height:256px;
  margin-top:10px;
  padding:2px 4px 4px 0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#53616c #1a2025;
}
.season-medical-unavailable.is-away .season-medical-unavailable-list{padding:2px 0 4px 4px}
.season-medical-unavailable-list::-webkit-scrollbar{width:6px}
.season-medical-unavailable-list::-webkit-scrollbar-thumb{background:#53616c;border-radius:20px}
.season-medical-unavailable-list::-webkit-scrollbar-track{background:#1a2025;border-radius:20px}
.season-medical-unavailable-empty{
  display:flex;
  min-height:170px;
  justify-content:center;
  align-items:center;
  color:#8796a2!important;
  font-size:12px!important;
  line-height:1.55!important;
  text-align:center;
  padding:0 14px;
}
.season-medical-unavailable-row{
  display:grid;
  grid-template-columns:31px 30px 42px 24px minmax(0,1fr);
  align-items:center;
  gap:5px;
  min-height:41px;
  padding:3px 2px;
  border-radius:7px;
  color:#ecf0f4;
}
.season-medical-unavailable-row+.season-medical-unavailable-row{
  border-top:1px solid rgba(165,186,199,.07);
}
.season-medical-rating.draft-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  width:31px;
  min-width:31px;
  height:28px;
  min-height:28px;
  padding:0;
  font-size:12px;
  font-weight:800;
}
.season-medical-position{
  min-width:0;
  text-align:center;
  font-size:10px;
  font-weight:750;
  color:#b8c6d1;
}
.season-medical-face{height:35px;display:flex;align-items:center;justify-content:center}
.season-medical-face .season-roster-face{
  width:33px;height:36px;transform:none;
}
.season-medical-face .season-roster-face::after{width:36px}
.season-medical-flag{display:flex;align-items:center;justify-content:center}
.season-medical-flag .season-roster-flag{display:flex;align-items:center;justify-content:center}
.season-medical-player-name{
  font-size:11px;
  font-weight:660;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  text-align:left;
}
.season-medical-unavailable-row.is-away{
  grid-template-columns:minmax(0,1fr) 24px 42px 30px 31px;
}
.season-medical-unavailable-row.is-away .season-medical-player-name{order:1;text-align:right}
.season-medical-unavailable-row.is-away .season-medical-flag{order:2}
.season-medical-unavailable-row.is-away .season-medical-face{order:3}
.season-medical-unavailable-row.is-away .season-medical-position{order:4}
.season-medical-unavailable-row.is-away .season-medical-rating{order:5}

/* Notícia interrompendo a data pessoal do calendário. */
.season-medical-notice-backdrop{
  position:fixed;inset:0;z-index:310;
  display:grid;place-items:center;
  padding:18px;
  background:rgba(8,14,20,.46);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}
.season-medical-notice-card{
  width:min(570px,calc(100vw - 24px));
  max-height:calc(100vh - 36px);
  overflow-y:auto;
  padding:34px 38px 27px;
  border:1px solid #4e5c65;
  border-radius:20px;
  color:#f2f5f7;
  text-align:center;
  background:linear-gradient(150deg,#2e3942,#192127 85%);
  box-shadow:0 28px 85px rgba(0,0,0,.76),inset 0 1px 0 rgba(255,255,255,.08);
}
.season-medical-notice-heading{
  display:flex;align-items:center;justify-content:center;
  gap:12px;min-height:41px;
}
.season-medical-notice-heading h2{
  margin:0;font-size:21px;font-weight:650;line-height:1.3;
  color:#f4f7f9;text-align:left;
}
.season-medical-cross{
  width:40px;height:40px;flex:0 0 40px;
  display:grid;place-items:center;
  border-radius:50%;background:#f5f6f7;
  color:#e6404e;font-size:30px;font-weight:900;line-height:1;
}
.season-medical-notice-player{
  margin:18px auto 14px;
  display:flex;flex-direction:column;align-items:center;
}
.season-medical-notice-diagnosis{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:0 auto 20px;
  padding:17px 10px;
  border:1px solid #3d464e;
  border-radius:11px;
  background:#151b20;
}
.season-medical-notice-diagnosis>div{
  min-height:94px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:space-between;
  gap:12px;padding:2px 15px 3px;
}
.season-medical-notice-diagnosis>div+div{border-left:1px solid #53616a}
.season-medical-notice-diagnosis span{
  color:#aeb9c2;font-size:12px;font-weight:640;line-height:1.3;
}
.season-medical-notice-diagnosis strong{
  color:#f4f6f7;font-size:15px;font-weight:760;line-height:1.3;
}
.season-medical-notice-error{
  margin:0 auto 15px;
  max-width:470px;
  padding:9px 12px;
  border:1px solid rgba(225,95,105,.65);
  border-radius:9px;
  background:rgba(119,31,42,.25);
  color:#ffdce0;
  font-size:13px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.season-medical-notice-understood{
  min-width:140px;min-height:39px;
  padding:9px 24px;
  border:1px solid #e0e4e7;
  border-radius:100px;
  background:#f0f1f2;color:#151c21;
  font-size:14px;font-weight:660;
  box-shadow:none;
}
.season-medical-notice-understood:hover:enabled,
.season-medical-notice-understood:focus-visible{
  background:#d2e4ef;border-color:#d2e4ef;
  color:#14232c;transform:none;box-shadow:none;
}
@media(max-width:960px){
  .season-calendar-modal-card.has-medical-sides{padding:64px 18px;width:calc(100vw - 24px)}
  .season-medical-match-layout{gap:13px;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr)}
  .season-medical-unavailable-heading strong{white-space:normal}
  .season-medical-unavailable-row{gap:3px}
}
@media(max-width:720px){
  .season-calendar-modal-card.has-medical-sides{padding:40px 18px}
  .season-medical-match-layout{grid-template-columns:1fr 1fr;gap:16px}
  .season-medical-match-main{grid-column:1/-1;grid-row:1;padding:0 0 12px}
  .season-medical-unavailable{grid-row:2;padding-top:0}
  .season-medical-unavailable-heading strong{font-size:13.2px}
  .season-medical-unavailable-list{max-height:180px;min-height:130px}
  .season-medical-unavailable-empty{min-height:118px;font-size:11px!important}
  .season-medical-unavailable-row{grid-template-columns:28px 20px 31px minmax(0,1fr);gap:3px}
  .season-medical-unavailable-row.is-away{grid-template-columns:minmax(0,1fr) 31px 20px 28px}
  .season-medical-unavailable-row .season-medical-flag{display:none}
  .season-medical-face .season-roster-face{width:29px;height:32px}
  .season-medical-rating.draft-rating{width:28px;min-width:28px}
}
@media(max-width:480px){
  .season-medical-unavailable-heading{grid-template-columns:minmax(0,1fr) minmax(0,25%)}
  .season-medical-unavailable.is-away .season-medical-unavailable-heading{grid-template-columns:minmax(0,25%) minmax(0,1fr)}
  .season-medical-unavailable-heading strong{overflow-wrap:anywhere}
  .season-medical-notice-card{padding:24px 18px 20px}
  .season-medical-notice-heading h2{font-size:17px}
  .season-medical-cross{width:32px;height:32px;flex-basis:32px;font-size:24px}
  .season-medical-notice-diagnosis>div{padding:3px 8px}
  .season-medical-notice-diagnosis strong{font-size:13px}
}

/* Contexto medico individual: bloqueio de janela antiga. */
.season-calendar-refresh-medical{
  display:block;
  margin:13px auto;
  padding:9px 20px;
  border:1px solid #5e7c90;
  border-radius:9px;
  background:#273944;
  color:#eff6fb;
  font-size:13px;
  font-weight:680;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.season-calendar-refresh-medical:hover{
  background:#324c5e;
  border-color:#82a6bb;
  color:#fff;
}


/* EA FC: espaco suficiente para declarar lesoes, sem sobra abaixo das acoes. */
.season-calendar-modal-card.is-result-entry{
  min-height:565px;
  padding:46px 34px 22px;
}
.season-calendar-modal-actions.is-result-entry-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}
.season-calendar-modal-actions.is-result-entry-actions > button{
  width:100%;
  min-width:0;
  min-height:46px;
  justify-self:stretch;
  white-space:nowrap;
}
.season-calendar-injury-action{
  display:flex;
  justify-content:center;
  margin:28px auto 0;
  width:100%;
}
.season-calendar-injury-action button{
  width:min(240px,100%);
  padding:9px 13px;
  min-height:38px;
  background:#2b1c20;
  border:1px solid #734148;
  color:#e8a8ac;
  border-radius:9px;
  font-size:12px;
  font-weight:680;
  box-shadow:none;
  transition:background .16s,border-color .16s;
}
.season-calendar-injury-action button:hover:enabled{
  background:#3a252a;
  border-color:#965862;
  color:#ffcccf;
  box-shadow:none;
  transform:none;
}
.season-calendar-injury-action button:disabled{opacity:.45}

/* Quadro separado: declaracoes de lesao ocorridas durante a partida. */
.season-calendar-injury-backdrop{
  position:fixed;
  inset:0;
  z-index:275;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(6px);
}
.season-calendar-injury-card{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(710px,calc(100vw - 32px));
  max-height:calc(100dvh - 40px);
  padding:30px;
  border:1px solid #50606b;
  border-radius:18px;
  background:linear-gradient(145deg,#263038,#151b20 78%);
  box-shadow:0 28px 95px rgba(0,0,0,.7);
  overflow-y:auto;
  color:#edf3f6;
}
.season-calendar-injury-close{
  position:absolute;
  right:14px;top:13px;
  width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid #53616c;
  border-radius:50%;
  color:#e9eff3;background:#1a252d;
  font-size:23px;
  box-shadow:none;
}
.season-calendar-injury-eyebrow{
  text-align:center;
  color:#a5b4bf;
  font-size:10px;
  letter-spacing:1.4px;
  font-weight:800;
}
.season-calendar-injury-card h3{
  margin:8px 34px 10px;
  font-size:22px;
  font-weight:780;
  text-align:center;
}
.season-calendar-injury-intro{
  margin:0 auto 20px;
  max-width:530px;
  font-size:12px!important;
  line-height:1.6!important;
  text-align:center;
  color:#aebbc5!important;
}
.season-calendar-injury-teams{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid #455460;
  border-radius:11px;
  overflow:hidden;
  background:#1b242b;
}
.season-calendar-injury-teams button{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  min-height:49px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#b7c5ce;
  font-size:13px;
  font-weight:680;
  box-shadow:none;
}
.season-calendar-injury-teams button+button{border-left:1px solid #455460}
.season-calendar-injury-teams button.is-active{
  background:#394a56;
  color:#fff;
}
.season-calendar-injury-team-crest{
  width:29px;height:29px;object-fit:contain;
}
.season-calendar-injury-search{
  width:100%;
  min-height:40px;
  margin:14px 0 0;
  padding:8px 13px;
  border:1px solid #4b5a66;
  border-radius:9px;
  background:#0f171d;
  color:#fff;
  font-size:13px;
  box-shadow:none;
}
.season-calendar-injury-roster{
  min-height:108px;
  max-height:175px;
  padding:5px;
  margin-top:8px;
  overflow:auto;
  border-radius:10px;
  border:1px solid #34404b;
  background:rgba(7,12,16,.4);
}
.season-calendar-injury-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-height:37px;
  padding:5px 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#e5edf2;
  font-size:12px;
  font-weight:650;
  text-align:left;
  box-shadow:none;
}
.season-calendar-injury-option:hover:enabled{
  background:#33434e;
  box-shadow:none;
}
.season-calendar-injury-option > span:nth-last-child(2){flex:1}
.season-calendar-injury-option > small{margin-left:auto;color:#91a3af}
.season-calendar-injury-option:disabled{opacity:.52}
.season-calendar-injury-option[hidden]{display:none}
.season-calendar-injury-selection-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:18px 0 9px;
  font-size:12px;
}
.season-calendar-injury-selection-title span{color:#adbdc7}
.season-calendar-injury-selected-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.season-calendar-injury-empty{
  margin:0;
  padding:15px;
  color:#90a3b0!important;
  font-size:12px!important;
  text-align:center;
}
.season-calendar-injury-picked{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(215px,1.15fr) 30px;
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid #3e4e58;
  border-radius:10px;
  background:#1e2a32;
}
.season-calendar-injury-picked-player{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.season-calendar-injury-picked-player .season-roster-face{
  width:36px;height:38px;
  flex-shrink:0;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.season-calendar-injury-picked-player strong{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:12px;
}
.season-calendar-injury-picked-player small{font-size:10px;color:#94a8b5}
.season-calendar-injury-question > span{font-size:11px;color:#b9c8d2}
.season-calendar-injury-answers{display:flex;gap:7px;margin-top:6px}
.season-calendar-injury-answers button{
  padding:6px 12px;
  min-height:29px;
  border:1px solid #576671;
  border-radius:7px;
  color:#d4e0e8;
  font-size:11px;
  background:#202a32;
  box-shadow:none;
}
.season-calendar-injury-answers button.is-selected{
  border-color:#8ba8b8;
  background:#425967;
  color:#fff;
}
.season-calendar-injury-remove{
  width:28px;height:28px;padding:0;
  border:0;
  background:transparent;
  color:#d99398;
  font-size:23px;
  box-shadow:none;
}
.season-calendar-injury-warning,.season-calendar-injury-error{
  margin:12px auto 0;
  color:#d8a5aa!important;
  font-size:11px!important;
  text-align:center;
}
.season-calendar-injury-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
}
.season-calendar-injury-footer button{
  min-height:42px;
  padding:9px 20px;
  border-radius:9px;
}
.season-calendar-injury-save{
  background:#354d5b;
  border:1px solid #637e8f;
  color:#f2f6f9;
  font-weight:720;
}
.season-calendar-injury-save:hover:enabled{
  background:#446272;
  border-color:#83a2b4;
}

@media(max-width:760px){
  .season-calendar-modal-card.is-result-entry{
    min-height:0;
    padding:42px 22px 30px;
  }
  .season-calendar-modal-actions.is-result-entry-actions{
    grid-template-columns:1fr;
  }
  .season-calendar-injury-card{
    padding:24px 15px;
  }
}
@media(max-width:560px){
  .season-calendar-injury-picked{
    grid-template-columns:1fr 30px;
  }
  .season-calendar-injury-question{
    grid-column:1/-1;
    grid-row:2;
  }
  .season-calendar-injury-footer{
    flex-direction:column-reverse;
  }
  .season-calendar-injury-footer button{width:100%}
}


/* Departamento de lesoes no resultado — modal largo, duas colunas e fundo suave. */
.season-calendar-injury-backdrop{
  background:rgba(8,14,19,.37);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  padding:24px;
}
.season-calendar-injury-card{
  width:min(1250px,calc(100vw - 48px));
  height:min(744px,calc(100dvh - 48px));
  max-height:calc(100dvh - 48px);
  padding:32px 34px 24px;
  overflow:hidden;
  background:linear-gradient(145deg,#27333c,#171f25 80%);
}
.season-calendar-injury-card h3{
  flex:0 0 auto;
  margin:3px 48px 26px;
  font-size:23px;
  line-height:1.32;
  font-weight:780;
  text-align:center;
}
.season-calendar-injury-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  flex:1 1 auto;
  min-height:0;
}
.season-calendar-injury-left,
.season-calendar-injury-right{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
}
.season-calendar-injury-left{
  padding-right:27px;
  border-right:1px solid rgba(161,181,193,.29);
}
.season-calendar-injury-right{
  padding-left:27px;
}
.season-calendar-injury-intro{
  margin:0 0 22px;
  max-width:none;
  font-size:13px!important;
  line-height:1.55!important;
  text-align:left;
}
.season-calendar-injury-teams{
  flex:0 0 auto;
}
.season-calendar-injury-teams button{
  min-width:0;
  padding:7px 10px;
  gap:8px;
}
.season-calendar-injury-teams button span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.season-calendar-injury-team-crest{
  width:27px;
  height:27px;
  flex:0 0 27px;
}
.season-calendar-injury-search{
  flex:0 0 auto;
  margin-top:16px;
}
.season-calendar-injury-roster{
  flex:1 1 auto;
  min-height:95px;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.season-calendar-injury-selection-title{
  flex:0 0 auto;
  margin:4px 0 14px;
  font-size:14px;
}
.season-calendar-injury-selected-list{
  flex:1 1 auto;
  min-height:0;
  padding-right:4px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.season-calendar-injury-picked{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) 26px;
  min-height:98px;
  gap:9px;
  padding:12px;
}
.season-calendar-injury-picked-player{
  min-width:0;
}
.season-calendar-injury-player-details{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.season-calendar-injury-picked-player strong{
  font-size:12px;
}
.season-calendar-injury-question > span{
  display:block;
  font-size:11px;
  line-height:1.38;
}
.season-calendar-injury-warning,.season-calendar-injury-error{
  flex:0 0 auto;
  margin:10px auto 0;
  max-width:95%;
  line-height:1.4!important;
}
.season-calendar-injury-footer{
  flex:0 0 auto;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  column-gap:32px;
  margin:22px 0 0;
}
.season-calendar-injury-footer button{
  width:min(240px,100%);
  min-height:46px;
  justify-self:center;
  font-weight:730;
}
.season-calendar-injury-footer button:first-child{justify-self:start}
.season-calendar-injury-footer button:last-child{justify-self:end}
.season-calendar-injury-save:disabled{
  cursor:not-allowed;
  opacity:.4;
  background:#273843;
  color:#8796a0;
  border-color:#4b5d69;
  transform:none;
}
.season-calendar-injury-action{
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.season-calendar-injury-count{
  display:block;
  color:#aab7c1;
  font-size:11px;
  font-weight:560;
  text-align:center;
}
.season-calendar-injury-confirm-backdrop{
  position:fixed;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(3,8,12,.62);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.season-calendar-injury-confirm-card{
  width:min(455px,calc(100vw - 38px));
  padding:28px 29px 25px;
  background:linear-gradient(150deg,#2b3740,#161f26);
  border:1px solid #5c6e7b;
  border-radius:16px;
  box-shadow:0 22px 75px rgba(0,0,0,.65);
  text-align:center;
  color:#f4f7f9;
}
.season-calendar-injury-confirm-card h4{
  margin:0 0 14px;
  font-size:19px;
  font-weight:750;
}
.season-calendar-injury-confirm-card p{
  margin:0;
  color:#b9c7d1!important;
  font-size:13px!important;
  line-height:1.6!important;
}
.season-calendar-injury-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
}
.season-calendar-injury-confirm-actions button{
  min-height:43px;
  border-radius:9px;
  font-size:13px;
}
.season-calendar-injury-confirm-accept{
  background:#395668;
  border:1px solid #7694a7;
  color:#fff;
  font-weight:720;
}
.season-calendar-injury-confirm-accept:hover:enabled{
  background:#476d81;
  border-color:#93b5c6;
}

@media(max-width:900px){
  .season-calendar-injury-card{
    padding:24px 18px 20px;
    height:min(765px,calc(100dvh - 36px));
  }
  .season-calendar-injury-left{padding-right:15px}
  .season-calendar-injury-right{padding-left:15px}
  .season-calendar-injury-picked{
    grid-template-columns:1fr 28px;
  }
  .season-calendar-injury-question{
    grid-column:1/-1;
    grid-row:2;
  }
}
@media(max-width:650px){
  .season-calendar-injury-backdrop{padding:9px}
  .season-calendar-injury-card{
    width:calc(100vw - 18px);
    height:calc(100dvh - 18px);
    max-height:calc(100dvh - 18px);
    padding:22px 14px 16px;
  }
  .season-calendar-injury-card h3{
    margin:0 30px 18px;
    font-size:18px;
  }
  .season-calendar-injury-body{
    grid-template-columns:minmax(0,1fr);
    gap:17px;
    overflow-y:auto;
  }
  .season-calendar-injury-left{
    padding:0 0 16px;
    border-right:0;
    border-bottom:1px solid rgba(161,181,193,.29);
    min-height:265px;
    max-height:340px;
  }
  .season-calendar-injury-right{
    padding:0;
    min-height:145px;
  }
  .season-calendar-injury-roster{min-height:108px}
  .season-calendar-injury-selected-list{
    min-height:115px;
    overflow:visible;
  }
  .season-calendar-injury-picked{
    grid-template-columns:minmax(0,1fr) 28px;
  }
  .season-calendar-injury-footer{
    gap:12px;
    margin-top:14px;
  }
  .season-calendar-injury-footer button{
    width:100%;
    min-width:0;
    padding:9px;
  }
}


/* Miniatura uniforme (OVR, rosto, bandeira, nome) no resultado e nas lesoes. */
.season-calendar-player-picker-menu{
  width:310px;
  max-width:calc(100vw - 42px);
}
.season-calendar-player-list{
  max-height:169px;
}
.season-calendar-player-option{
  display:flex;
  align-items:center;
  min-height:51px;
  padding:3px 6px;
  gap:0;
}
.season-calendar-compact-player{
  display:grid;
  grid-template-columns:34px 40px 24px minmax(0,1fr);
  align-items:center;
  column-gap:6px;
  min-width:0;
  width:100%;
  min-height:48px;
  color:#ebf1f5;
}
.season-calendar-compact-player .draft-rating{
  width:34px;
  min-width:34px;
  height:36px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:7px;
  font-size:15px;
  line-height:1;
  font-weight:800;
  justify-self:center;
}
.season-calendar-compact-player .season-roster-face,
.season-calendar-injury-picked-player .season-roster-face{
  width:40px;
  min-width:40px;
  height:43px;
  flex-shrink:0;
  justify-self:center;
  align-self:center;
  transform:translateY(-2px);
}
.season-calendar-compact-player .season-roster-face::after{
  width:42px;
}
.season-calendar-compact-player .season-roster-flag{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  min-width:24px;
  font-size:16px;
  justify-self:center;
}
.season-calendar-compact-player-info{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
}
.season-calendar-compact-player-name{
  display:block;
  width:100%;
  color:#f0f3f6;
  font-size:12px;
  line-height:1.3;
  font-weight:740;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
}
.season-calendar-compact-player-info small{
  color:#9db0bd;
  font-size:10px;
  font-weight:520;
  line-height:1.25;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
.season-calendar-injury-option{
  min-height:54px;
  padding:3px 10px;
  gap:8px;
}
.season-calendar-injury-option > .season-calendar-compact-player{
  flex:1 1 auto;
  min-width:0;
}
.season-calendar-injury-option > .season-calendar-injury-option-state{
  flex:0 0 auto;
  margin:0 0 0 6px;
  color:#8fa4b2;
  font-size:11px;
  font-weight:690;
  text-align:right;
}
.season-calendar-injury-option:disabled .season-calendar-compact-player{
  opacity:.78;
}
.season-calendar-injury-picked{
  grid-template-columns:minmax(0,1.28fr) minmax(175px,1fr) 26px;
  gap:9px;
  align-items:center;
}
.season-calendar-injury-picked-player{
  display:block;
  min-width:0;
}
.season-calendar-injury-picked-player .season-calendar-compact-player{
  display:grid;
  grid-template-columns:29px 34px 40px 24px minmax(0,1fr);
  column-gap:5px;
  width:100%;
}
.season-calendar-injury-picked-player .season-calendar-compact-club-crest{
  display:flex;
  align-items:center;
  justify-content:center;
  width:29px;
  min-width:29px;
  height:34px;
}
.season-calendar-injury-picked-player .season-calendar-compact-club-img{
  display:block;
  width:29px;
  height:29px;
  object-fit:contain;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-info{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  min-width:0;
  gap:3px;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-name{
  font-size:11px;
  font-weight:760;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-info small{
  color:#a9bac6;
}
.season-calendar-injury-question{
  min-width:0;
  padding-left:5px;
}
.season-calendar-injury-question > span{
  display:block;
  font-size:11px;
  line-height:1.4;
}
/* Rodape centralizado, sem botões afastados para as extremidades. */
.season-calendar-injury-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  margin-top:20px;
}
.season-calendar-injury-footer button,
.season-calendar-injury-footer button:first-child,
.season-calendar-injury-footer button:last-child{
  flex:0 1 220px;
  width:min(220px,46%);
  min-width:0;
  justify-self:auto;
  font-size:13px;
}
/* X desenhado por duas linhas, com cruzamento centralizado matematicamente. */
.season-calendar-injury-close{
  box-sizing:border-box;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  line-height:0;
  overflow:hidden;
}
.season-calendar-injury-close-icon{
  position:relative;
  display:block;
  width:17px;
  height:17px;
  pointer-events:none;
}
.season-calendar-injury-close-icon::before,
.season-calendar-injury-close-icon::after{
  content:"";
  position:absolute;
  top:calc(50% - 1.3px);
  left:0;
  width:100%;
  height:2.6px;
  border-radius:3px;
  background:#e5edf3;
  transform-origin:center;
}
.season-calendar-injury-close-icon::before{transform:rotate(45deg)}
.season-calendar-injury-close-icon::after{transform:rotate(-45deg)}

@media(max-width:900px){
  .season-calendar-injury-picked{
    grid-template-columns:minmax(0,1fr) 26px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-player{
    grid-template-columns:27px 32px 36px 22px minmax(0,1fr);
    column-gap:4px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-player .draft-rating{
    width:32px;
    min-width:32px;
    height:33px;
    min-height:33px;
    font-size:14px;
  }
  .season-calendar-injury-picked-player .season-roster-face{
    width:36px;
    min-width:36px;
    height:40px;
  }
  .season-calendar-injury-question{
    grid-column:1/-1;
    grid-row:2;
    padding:3px 0 0;
  }
}
@media(max-width:650px){
  .season-calendar-injury-footer{
    flex-direction:row;
    justify-content:center;
    gap:10px;
  }
  .season-calendar-injury-footer button,
  .season-calendar-injury-footer button:first-child,
  .season-calendar-injury-footer button:last-child{
    flex:1 1 0;
    width:auto;
    padding:9px 7px;
  }
  .season-calendar-player-picker-menu{width:310px}
}


/* Registro de lesões EA FC: painel assimétrico e ficha em três colunas. */
.season-calendar-injury-body{
  display:grid;
  grid-template-columns:minmax(0, .36fr) minmax(0, .64fr);
  gap:0;
}
.season-calendar-injury-left{
  padding-right:20px;
}
.season-calendar-injury-right{
  padding-left:20px;
}
.season-calendar-injury-intro{
  width:100%;
  margin:4px 0 21px;
  max-width:none;
  text-align:center;
  color:#b5c4ce!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.season-calendar-injury-selected-headings,
.season-calendar-injury-picked{
  display:grid;
  grid-template-columns:minmax(0,1.31fr) minmax(100px,.66fr) minmax(155px,1.04fr) 28px;
  column-gap:10px;
  align-items:center;
}
.season-calendar-injury-selected-headings{
  flex:0 0 auto;
  padding:3px 11px 10px;
  border-bottom:1px solid rgba(149,170,184,.18);
  margin-bottom:9px;
}
.season-calendar-injury-selected-headings span{
  display:block;
  text-align:center;
  color:#b8c7d2;
  font-size:11px;
  line-height:1.36;
  font-weight:650;
}
.season-calendar-injury-picked{
  min-height:88px;
  padding:9px 11px;
}
.season-calendar-injury-picked-player{
  min-width:0;
}
.season-calendar-injury-picked-player .season-calendar-compact-player{
  width:100%;
  grid-template-columns:27px 32px 37px 22px minmax(0,1fr);
  gap:4px;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-info{
  justify-content:center;
}
.season-calendar-injury-picked-player .season-calendar-compact-player-info small{
  display:none;
}
.season-calendar-injury-picked-player .season-calendar-compact-club-crest{
  width:27px;
  min-width:27px;
  height:31px;
}
.season-calendar-injury-picked-player .season-calendar-compact-club-img{
  width:27px;
  height:27px;
}
.season-calendar-injury-picked-player .season-calendar-compact-player .draft-rating{
  width:32px;
  min-width:32px;
  height:34px;
  min-height:34px;
  font-size:14px;
}
.season-calendar-injury-picked-player .season-roster-face{
  width:37px;
  min-width:37px;
  height:40px;
}
.season-calendar-injury-question{
  display:flex;
  justify-content:center;
  padding:0;
  min-width:0;
}
.season-calendar-injury-answers{
  display:flex;
  justify-content:center;
  gap:6px;
  margin:0;
}
.season-calendar-injury-answers button,
.season-calendar-injury-answers button:hover:enabled,
.season-calendar-injury-answers button:focus-visible{
  box-shadow:none;
  transform:none;
  outline-offset:2px;
}
.season-calendar-injury-answers button{
  min-height:32px;
  padding:5px 9px;
  background:#202c35;
  border:1px solid #556a78;
  color:#d9e4ed;
  border-radius:7px;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.season-calendar-injury-answers button:hover:enabled,
.season-calendar-injury-answers button:focus-visible{
  background:#33434f;
  border-color:#8199a9;
  color:#f6fafc;
  filter:none;
}
.season-calendar-injury-answers button.is-selected,
.season-calendar-injury-answers button.is-selected:hover:enabled{
  background:#435d6d;
  border-color:#8cabbf;
  color:#fff;
}
.season-calendar-injury-region{
  display:flex;
  align-items:center;
  min-width:0;
}
.season-calendar-injury-body-select{
  display:block;
  width:100%;
  min-width:0;
  min-height:38px;
  margin:0;
  padding:6px 27px 6px 10px;
  background:#101a21;
  border:1px solid #52636f;
  border-radius:8px;
  color:#ecf4f8;
  font-size:11.5px;
  line-height:1.4;
  outline:none;
  box-shadow:none;
  cursor:pointer;
}
.season-calendar-injury-body-select:hover,
.season-calendar-injury-body-select:focus-visible{
  background:#182731;
  border-color:#7d97a8;
  box-shadow:none;
}
.season-calendar-injury-remove{
  box-sizing:border-box;
  display:grid;
  place-items:center;
  justify-self:center;
  align-self:center;
  width:30px;
  height:30px;
  min-width:30px;
  padding:0;
  line-height:0;
  background:transparent;
  border:1px solid transparent;
  border-radius:8px;
  color:#d78d98;
  box-shadow:none;
  filter:none;
  transform:none;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.season-calendar-injury-remove:hover:enabled,
.season-calendar-injury-remove:focus-visible{
  background:rgba(160,76,92,.16);
  border-color:rgba(193,103,121,.34);
  color:#efbcc5;
  box-shadow:none;
  filter:none;
  transform:none;
}
.season-calendar-injury-remove-icon{
  position:relative;
  display:block;
  width:14px;
  height:14px;
  pointer-events:none;
}
.season-calendar-injury-remove-icon::before,
.season-calendar-injury-remove-icon::after{
  content:"";
  position:absolute;
  width:100%;
  height:2px;
  border-radius:3px;
  top:calc(50% - 1px);
  left:0;
  background:currentColor;
  transform-origin:center;
}
.season-calendar-injury-remove-icon::before{transform:rotate(45deg)}
.season-calendar-injury-remove-icon::after{transform:rotate(-45deg)}

/* Rolagem apenas no conteúdo das fichas; cabeçalhos sempre visíveis. */
.season-calendar-injury-selected-list{
  padding-right:4px;
  min-width:0;
}
@media(max-width:1170px) and (min-width:651px){
  .season-calendar-injury-body{
    grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);
  }
  .season-calendar-injury-left{padding-right:13px}
  .season-calendar-injury-right{padding-left:13px}
  .season-calendar-injury-picked,
  .season-calendar-injury-selected-headings{
    grid-template-columns:minmax(0,1.24fr) minmax(85px,.66fr) minmax(135px,1fr) 25px;
    column-gap:6px;
  }
  .season-calendar-injury-picked{padding:7px}
  .season-calendar-injury-picked-player .season-calendar-compact-player{
    grid-template-columns:22px 29px 32px 19px minmax(0,1fr);
    gap:3px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-club-crest,
  .season-calendar-injury-picked-player .season-calendar-compact-club-img{
    width:22px;
    min-width:22px;
    height:24px;
  }
  .season-calendar-injury-picked-player .season-roster-face{
    width:32px;
    min-width:32px;
    height:36px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-player .draft-rating{
    width:29px;
    min-width:29px;
    height:32px;
    min-height:32px;
  }
  .season-calendar-injury-selected-headings span{font-size:10px}
}
@media(max-width:650px){
  .season-calendar-injury-body{
    grid-template-columns:minmax(0,1fr);
  }
  .season-calendar-injury-left{
    padding:0 0 16px;
  }
  .season-calendar-injury-right{
    padding:0;
  }
  .season-calendar-injury-picked,
  .season-calendar-injury-selected-headings{
    grid-template-columns:minmax(0,1.15fr) minmax(75px,.75fr) minmax(115px,1.05fr) 24px;
    column-gap:5px;
    padding-left:5px;
    padding-right:5px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-player{
    grid-template-columns:19px 27px 30px 18px minmax(0,1fr);
    column-gap:2px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-player-name{
    font-size:10px;
  }
  .season-calendar-injury-picked-player .season-calendar-compact-club-crest,
  .season-calendar-injury-picked-player .season-calendar-compact-club-img{
    width:19px;
    height:21px;
    min-width:19px;
  }
  .season-calendar-injury-selected-headings span{font-size:9.5px}
  .season-calendar-injury-body-select{font-size:10px;padding:5px 18px 5px 5px}
  .season-calendar-injury-answers{gap:3px}
  .season-calendar-injury-answers button{padding:5px}
  .season-calendar-injury-question{grid-column:auto;grid-row:auto}
}


/* Refinamento das declarações EA FC: título central e colunas com respiro. */
.season-calendar-injury-selection-title{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  margin:5px 0 17px;
  text-align:center;
}
.season-calendar-injury-selection-title strong{
  display:block;
  width:100%;
  text-align:center;
}
.season-calendar-injury-selected-headings{
  padding-bottom:12px;
  margin-bottom:11px;
}
.season-calendar-injury-selected-headings span:nth-child(3){
  box-sizing:border-box;
  padding-inline:7px 13px;
}
.season-calendar-injury-region{
  box-sizing:border-box;
  padding-left:8px;
  padding-right:18px;
}
@media(max-width:1170px){
  .season-calendar-injury-region{
    padding-left:5px;
    padding-right:10px;
  }
  .season-calendar-injury-selected-headings span:nth-child(3){
    padding-inline:5px 8px;
  }
}
@media(max-width:650px){
  .season-calendar-injury-region{
    padding-left:2px;
    padding-right:6px;
  }
  .season-calendar-injury-selected-headings span:nth-child(3){
    padding-inline:2px 4px;
  }
}


/* Modal de conflito realmente sobreposto ao confronto, sem aviso no corpo. */
.season-calendar-stale-overlay{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(5,9,13,.65);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.season-calendar-stale-card{
  width:min(450px,calc(100vw - 36px));
  padding:30px 28px 27px;
  text-align:center;
  border:1px solid #536977;
  border-radius:17px;
  background:linear-gradient(150deg,#2d3943,#171f26);
  box-shadow:0 25px 70px rgba(0,0,0,.65);
}
.season-calendar-stale-card h3{
  margin:0 0 24px;
  font-size:18px;
  line-height:1.4;
  font-weight:730;
  color:#f4f7f9;
}
.season-calendar-stale-card button{
  padding:11px 24px;
  border-radius:10px;
  border:1px solid #708c9e;
  color:#edf4f8;
  background:#385262;
  box-shadow:none;
}
.season-calendar-stale-card button:hover:enabled{
  background:#476476;
  border-color:#8ba7b7;
  transform:none;
  box-shadow:none;
}
/* Textos de indisponibilidade iniciam logo abaixo da linha e acompanham
   o alinhamento do lado do clube, sem centrar verticalmente grandes vazios. */
.season-medical-unavailable-list{
  min-height:0;
  margin-top:10px;
  padding:0 3px 4px 0;
}
.season-medical-unavailable.is-away .season-medical-unavailable-list{
  padding:0 0 4px 3px;
}
.season-medical-unavailable-empty{
  display:block;
  min-height:0;
  margin:0;
  padding:3px 0 0;
  text-align:left;
  line-height:1.5!important;
}
.season-medical-unavailable.is-away .season-medical-unavailable-empty{
  text-align:right;
}
/* Aviso visual apenas quando o clube ainda precisa atualizar o boletim médico. */
.season-medical-unavailable-empty.season-medical-unavailable-pending{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
}
.season-medical-unavailable.is-away .season-medical-unavailable-pending{
  /* No eixo invertido, flex-start encosta o ícone na borda direita. */
  justify-content:flex-start;
  flex-direction:row-reverse;
}
.season-medical-unavailable-warning-icon{
  display:inline-flex;
  flex:0 0 19.55px;
  width:19.55px;
  height:19.55px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d7a623;
  color:#000;
  font-size:13.8px;
  font-weight:850;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
}
/* Departamento médico: mais espaço para os diagnósticos e somente data abaixo do prazo. */
.season-roster-medical-panel{
  width:min(1010px,100%);
}
.season-roster-medical-panel .season-roster-header,
.season-roster-medical-panel .season-roster-row{
  grid-template-columns:40% 43% 17%;
}
.season-roster-medical-panel .season-roster-header::before,
.season-roster-medical-panel .season-roster-row::before{left:40%}
.season-roster-medical-panel .season-roster-header::after,
.season-roster-medical-panel .season-roster-row::after{left:83%}
/* O retrato do boletim usa diretamente mco-details-portrait, o mesmo
   componente oficial da ficha de jogador. Não duplicar estilos aqui. */
.season-medical-notice-card{
  width:min(640px,calc(100vw - 24px));
}

/* Boletim médico: uma ÚNICA grade define o centro exato de cada metade.
   Os wrappers não criam subgrades independentes; assim os dois títulos e
   os dois valores ocupam células da mesma largura, sem deslocamentos X/Y.
   Textos longos quebram dentro da própria metade sem alterar a divisória. */
.season-medical-notice-diagnosis{
  box-sizing:border-box;
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:minmax(46px,auto) minmax(90px,auto);
  min-height:136px;
  padding:0;
}
.season-medical-notice-diagnosis>div{
  display:contents;
}
.season-medical-notice-diagnosis>div+div{
  border-left:0;
}
.season-medical-notice-diagnosis::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:#53616a;
  pointer-events:none;
}
.season-medical-notice-diagnosis>div>span,
.season-medical-notice-diagnosis>div>strong{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:stretch;
  align-self:stretch;
  min-width:0;
  min-height:0;
  width:100%;
  height:auto;
  margin:0;
  padding:8px 16px;
  text-align:center;
  overflow-wrap:anywhere;
  transform:none;
}
.season-medical-notice-diagnosis>div:first-child>span{
  grid-column:1;
  grid-row:1;
}
.season-medical-notice-diagnosis>div:first-child>strong{
  grid-column:1;
  grid-row:2;
}
.season-medical-notice-diagnosis>div:last-child>span{
  grid-column:2;
  grid-row:1;
  padding-inline:16px;
}
.season-medical-notice-diagnosis>div:last-child>strong{
  grid-column:2;
  grid-row:2;
}
/* Os dois valores ficam no eixo vertical do quadro inteiro.
   Os títulos permanecem na primeira faixa, sem alteração de posição. */
.season-medical-notice-diagnosis>div>strong{
  transform:translateY(-24px);
}
@media(max-width:480px){
  .season-medical-notice-diagnosis{
    grid-template-rows:minmax(46px,auto) minmax(82px,auto);
  }
}

@media(max-width:720px){
  .season-medical-unavailable-list{min-height:0;max-height:180px}
  .season-medical-unavailable-empty{min-height:0}
}
@media(max-width:480px){
  .season-medical-notice-diagnosis,
  .season-medical-notice-diagnosis>div{min-height:128px}
  .season-medical-notice-diagnosis>div{height:128px}
}


/* =======================================================
   TEMPORADA > RANKINGS: padrão visual de Meu Elenco
   ======================================================= */
.season-ranking-page{
  width:min(1160px,calc(100% - 64px));
  margin:0 auto;
  padding:24px 0 68px;
}
.season-ranking-page .season-roster-title{
  margin-bottom:26px;
}
.season-ranking-tabs{
  width:min(1050px,100%);min-height:46px;
  margin:0 auto 20px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;overflow:hidden;
  background:#202a32;
}
.season-ranking-tab{
  display:block;width:100%;min-height:46px;
  margin:0;border:0;border-radius:0;
  color:#e9eff4;background:transparent;
  font:inherit;font-size:16px;font-weight:750;
  cursor:default;box-shadow:none;
}
.season-ranking-tab.is-active{
  background:linear-gradient(180deg,#50616c,#374752);
  color:#f8f9fb;
}
.season-ranking-preview-notice{
  max-width:1050px;margin:0 auto 14px;
  color:#d7cdb7;font-size:12px;font-weight:650;
  text-align:center;line-height:1.5;
}
.season-ranking-status{
  max-width:1050px;margin:0 auto 14px;
  color:#c1ced8;font-size:13px;text-align:center;
}
.season-ranking-status.is-error{color:#f3bcb2}
.season-ranking-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;gap:20px;width:100%;
}
.season-ranking-card{
  min-width:0;overflow:visible;
  border:1px solid rgba(186,207,223,.17);
  border-radius:23px;
  background:linear-gradient(145deg,#303d47,#27343e);
  box-shadow:0 15px 45px rgba(0,0,0,.19);
  padding:17px 15px 20px;
}
.season-ranking-card-heading{
  display:grid;grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;column-gap:5px;
  min-height:52px;
  padding:4px 7px;
  background:rgba(14,25,33,.32);
  border-radius:11px;
}
.season-ranking-card-heading h2{
  grid-column:2;grid-row:1;
  margin:0;text-align:center;
  color:#e9f2f8;
  font-size:15px;line-height:1.3;font-weight:760;
}
.season-ranking-card-heading-history h2{
  grid-column:1/-1;
}
.season-ranking-step{
  display:flex;align-items:center;justify-content:center;
  position:relative;
  width:31px;height:33px;padding:0;margin:0 auto;
  box-sizing:border-box;
  background:rgba(70,99,122,.28);
  color:#d7e9f7;border:1px solid rgba(157,189,214,.2);
  border-radius:9px;
  /* Desenho ancorado exatamente no centro; não depende da linha de base da fonte. */
  font-size:0;line-height:0;cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
.season-ranking-step::before{
  content:"";display:block;position:absolute;
  top:50%;left:50%;width:9px;height:9px;box-sizing:border-box;
  border-top:2px solid currentColor;border-right:2px solid currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
}
.season-ranking-card-heading>.season-ranking-step:first-child::before{
  transform:translate(-50%,-50%) rotate(-135deg);
}
.season-ranking-step:hover:enabled{
  background:rgba(81,126,161,.48);
  border-color:rgba(164,204,233,.48);color:white;
  box-shadow:none;transform:none;
}
.season-ranking-step:disabled{
  background:transparent;border-color:transparent;
  color:rgba(188,206,219,.27);opacity:1;cursor:default;
}
.season-ranking-card-body{
  min-width:0;min-height:152px;padding-top:12px;
}
.season-ranking-compact-table{
  width:100%;border-collapse:collapse;
  table-layout:fixed;
}
.season-ranking-compact-table th{
  padding:10px 5px 11px;
  color:#b8c9d5;background:rgba(14,24,32,.24);
  border-bottom:1px solid rgba(190,210,224,.17);
  font-size:11px;font-weight:730;text-align:center;
}
.season-ranking-compact-table th:first-child{width:91px}
.season-ranking-compact-table th:last-child{width:69px}
.season-ranking-compact-table th:nth-child(2){text-align:left;padding-left:9px}
.season-ranking-compact-table td{
  height:53px;padding:5px;
  color:#e2e9ef;
  border-bottom:1px solid rgba(188,208,224,.085);
  text-align:center;font-size:13px;
}
.season-ranking-compact-table tr:last-child td{border-bottom:0}
.season-ranking-compact-table tbody tr:hover td{
  background:rgba(105,145,176,.09);
}
.season-ranking-position-content{
  display:grid;grid-template-columns:36px 1fr;
  align-items:center;gap:2px;white-space:nowrap;
  min-height:35px;
}
.season-ranking-position-content strong{
  color:#f0f5f9;font-size:14px;font-weight:770;
}
.season-ranking-trend{
  display:inline-flex;align-items:center;justify-content:center;
  gap:2px;font-size:11px;line-height:1;font-weight:750;
}
.season-ranking-trend>span:first-child{font-size:17px}
.season-ranking-trend.is-up{color:#63bd8a}
.season-ranking-trend.is-down{color:#ec8582}
.season-ranking-trend-space{display:inline-block;width:32px}
.season-ranking-compact-table td.season-ranking-club{
  min-width:0;padding-left:9px;text-align:left;
}
.season-ranking-club-inner{
  display:flex;align-items:center;gap:9px;min-width:0;
}
.season-ranking-crest{
  display:block;flex:0 0 29px;
  width:29px;height:29px;object-fit:contain;
}
.season-ranking-club-name{
  display:block;min-width:0;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;
  color:#edf1f6;font-size:13px;font-weight:660;
}
.season-ranking-points{
  font-weight:780!important;font-size:14px!important;
  color:#e7f3fb!important;
}
.season-ranking-empty{
  display:flex;align-items:center;justify-content:center;
  min-height:132px;padding:14px 18px;
  font-size:13px;color:#aebeca;line-height:1.6;text-align:center;
}
.season-ranking-preview-footer{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:10px;
  margin:31px auto 0;color:#889aaa;font-size:11px;
}
.season-ranking-preview-toggle{
  min-height:29px;padding:5px 11px;
  border:1px solid rgba(157,177,193,.25);
  border-radius:8px;background:rgba(23,34,44,.46);
  color:#a8bac9;font:inherit;font-size:11px;font-weight:600;
  box-shadow:none;cursor:pointer;
}
.season-ranking-preview-toggle:hover:enabled{
  background:rgba(55,78,95,.55);
  border-color:rgba(161,195,215,.45);
  color:#e2edf5;box-shadow:none;transform:none;
}
@media(max-width:900px){
  .season-ranking-grid{grid-template-columns:1fr;gap:17px}
  .season-ranking-page{width:min(640px,calc(100% - 36px))}
}
@media(max-width:480px){
  .season-ranking-card{padding:12px 9px 15px;border-radius:16px}
  .season-ranking-card-heading h2{font-size:14px}
  .season-ranking-compact-table th:first-child{width:85px}
  .season-ranking-compact-table th:last-child{width:62px}
  .season-ranking-club-inner{gap:5px}
  .season-ranking-club-name{font-size:12px}
  .season-ranking-crest{width:26px;height:26px;flex-basis:26px}
}


/* Rankings — critérios por temporada: botão sob a tabela esquerda e modal.
   Pos./Clube continuam com colunas sem rótulos para manter alinhamento. */
.season-ranking-season-column{
  display:flex;flex-direction:column;gap:14px;min-width:0;
}
.season-ranking-season-column>.season-ranking-card{width:100%;box-sizing:border-box}
.season-ranking-criteria-footer{
  width:100%;display:flex;align-items:center;justify-content:center;
  margin:0;padding:0 8px;box-sizing:border-box;
}
.season-ranking-criteria-button{
  display:inline-flex;align-items:center;justify-content:center;
  max-width:100%;min-height:37px;
  padding:8px 16px;border-radius:9px;
  border:1px solid rgba(166,188,204,.36);
  background:linear-gradient(180deg,#303d48,#24313c);
  color:#dce8f2;font:inherit;font-size:12px;font-weight:680;
  line-height:1.3;text-align:center;cursor:pointer;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.season-ranking-criteria-button:hover{
  border-color:rgba(168,210,241,.62);
  background:linear-gradient(180deg,#3a4e60,#2d4051);
  color:#fff;box-shadow:0 6px 19px rgba(0,0,0,.16);
}
.season-ranking-criteria-dialog{
  box-sizing:border-box;
  width:min(780px,calc(100vw - 30px));
  max-width:780px;max-height:min(86vh,900px);
  padding:22px 24px 24px;
  border:1px solid #647380;border-radius:20px;
  background:linear-gradient(145deg,#35434e,#28343e);
  color:#edf2f7;box-shadow:0 26px 90px rgba(0,0,0,.58);
  overflow:auto;
}
.season-ranking-criteria-dialog::backdrop{
  background:rgba(2,7,12,.75);backdrop-filter:blur(5px);
}
.season-ranking-criteria-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;margin-bottom:14px;
}
.season-ranking-criteria-top h2{
  flex:1;min-width:0;margin:0;
  font-size:20px;line-height:1.3;font-weight:790;text-align:center;
}
.season-ranking-criteria-close{
  width:31px;height:31px;flex:0 0 31px;margin:-3px -4px 0 0;
  border:1px solid rgba(192,211,225,.23);border-radius:50%;
  color:#dce7ef;background:rgba(12,25,36,.32);
  font-size:25px;line-height:1;cursor:pointer;
}
.season-ranking-criteria-close:hover{
  background:rgba(77,108,133,.48);color:#fff;
}
.season-ranking-criteria-description,.season-ranking-criteria-note{
  margin:0 0 13px;line-height:1.6;color:#cbd9e4;font-size:13px;
}
.season-ranking-criteria-note{
  margin-top:12px;font-size:12px;color:#b8c8d4;
}
.season-ranking-criteria-scroll{
  width:100%;max-height:48vh;overflow:auto;
  border:1px solid rgba(195,213,226,.18);border-radius:11px;
  scrollbar-width:thin;
}
.season-ranking-criteria-table{
  width:100%;border-collapse:collapse;text-align:center;
  font-variant-numeric:tabular-nums;
}
.season-ranking-criteria-table thead th{
  position:sticky;top:0;z-index:1;
  background:#22303b;color:#e1ebf2;font-size:12px;
  font-weight:750;line-height:1.2;padding:12px 7px;
  border-bottom:1px solid rgba(179,205,222,.25);
}
.season-ranking-criteria-table td{
  padding:10px 7px;font-size:13px;color:#e8f0f5;
  border-bottom:1px solid rgba(184,204,216,.095);
}
.season-ranking-criteria-table tr:last-child td{border-bottom:0}
.season-ranking-criteria-table tbody tr:first-child td{font-weight:780}
.season-ranking-criteria-table tbody tr:nth-child(even){background:rgba(12,25,35,.12)}
.season-ranking-criteria-done{
  display:block;margin:18px auto 0;min-width:125px;min-height:40px;
  border:1px solid #3587c2;border-radius:9px;
  color:#fff;background:linear-gradient(180deg,#16689f,#124c7a);
  font:inherit;font-size:13px;font-weight:780;cursor:pointer;
}
.season-ranking-criteria-done:hover{
  background:linear-gradient(180deg,#227cb5,#165c8e);
}
@media(max-width:600px){
  .season-ranking-criteria-dialog{padding:18px 12px}
  .season-ranking-criteria-top h2{font-size:16px}
  .season-ranking-criteria-table thead th{font-size:10px;padding:9px 3px}
  .season-ranking-criteria-table td{font-size:11px;padding:9px 3px}
  .season-ranking-criteria-button{font-size:11px}
}


/* Ranking > Critérios: Copa é pontuada por fase/empates, não pela linha
   individual de colocação. Distingue a primeira temporada das demais. */
.season-ranking-criteria-table th:nth-child(4){
  min-width:180px;
}
.season-ranking-criteria-cup-label{
  display:inline-block;margin-top:3px;
  color:#a9c0d0;font-size:10px;font-weight:600;
}
.season-ranking-criteria-table td.season-ranking-criteria-cup{
  min-width:180px;white-space:normal;line-height:1.28;
}
.season-ranking-criteria-cup strong{
  display:block;color:#eef4f9;font-size:13px;font-weight:780;
}
.season-ranking-criteria-cup-stage{
  display:block;margin-top:4px;
  color:#adc0cd;font-size:10px;font-weight:520;
  line-height:1.3;max-width:235px;margin-inline:auto;
}
@media(max-width:600px){
  .season-ranking-criteria-table th:nth-child(4),
  .season-ranking-criteria-table td.season-ranking-criteria-cup{
    min-width:150px;
  }
  .season-ranking-criteria-cup-stage{font-size:9px}
}



/* Rankings > critérios: quadro largo e tabela com colunas equilibradas.
   A coluna de posição é menor; as quatro competições têm larguras iguais. */
.season-ranking-criteria-dialog{
  width:min(1120px,calc(100vw - 36px));
  max-width:1120px;
  max-height:min(90vh,920px);
  padding:23px 29px 24px;
  overflow:auto;
}
.season-ranking-criteria-top{
  position:relative;
  min-height:33px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 40px;
  margin-bottom:19px;
}
.season-ranking-criteria-top h2{
  flex:0 1 auto;
  width:100%;
  font-size:21px;
  text-align:center;
}
.season-ranking-criteria-close{
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  flex:none;
  width:34px;
  height:34px;
  margin:0;
  padding:0;
  overflow:hidden;
  appearance:none;
  line-height:1;
  font-size:22px;
  font-weight:500;
  box-sizing:border-box;
}
.season-ranking-criteria-close>span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:block;
  margin:0;
  padding:0;
  line-height:1;
  font-size:24px;
  pointer-events:none;
}
.season-ranking-criteria-scroll{
  max-height:min(67vh,640px);
  overflow:auto;
}
.season-ranking-criteria-table{
  min-width:740px;
  table-layout:fixed;
  width:100%;
}
.season-ranking-criteria-table .season-ranking-criteria-position-column{
  width:11%;
}
.season-ranking-criteria-table .season-ranking-criteria-competition-column{
  width:22.25%;
}
.season-ranking-criteria-table thead th{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  text-align:center;
  vertical-align:middle;
  height:55px;
  padding:9px 11px;
  font-size:12px;
  line-height:1.25;
}
.season-ranking-criteria-table th:nth-child(4),
.season-ranking-criteria-table td.season-ranking-criteria-cup{
  min-width:0;
}
.season-ranking-criteria-table tbody td{
  box-sizing:border-box;
  position:relative;
  height:68px;
  padding:7px 10px;
  text-align:center;
  vertical-align:middle;
  font-size:14px;
  line-height:1.3;
}
.season-ranking-criteria-table td.season-ranking-criteria-cup strong{
  display:block;
  margin:0;
  padding:0;
  font-size:14px;
  line-height:1.3;
}
.season-ranking-criteria-table td.season-ranking-criteria-cup
.season-ranking-criteria-cup-stage{
  position:absolute;
  top:calc(50% + 10px);
  left:7px;
  right:7px;
  max-width:none;
  margin:0;
  padding:0;
  color:#b7c7d3;
  text-align:center;
  font-size:10px;
  font-weight:520;
  line-height:1.18;
  overflow-wrap:normal;
}
.season-ranking-criteria-done{
  margin-top:19px;
}
@media(max-width:760px){
  .season-ranking-criteria-dialog{
    width:calc(100vw - 24px);
    padding:17px 12px 18px;
  }
  .season-ranking-criteria-top{
    padding:0 35px;
  }
  .season-ranking-criteria-top h2{
    font-size:17px;
  }
  .season-ranking-criteria-table{
    min-width:740px;
  }
}



/* Calendário — passagem visual entre datas confirmadas.
   A borda amarela se desloca a cada 500ms sem alterar o relógio do Mundo. */
.season-calendar-frame.is-animating .season-calendar-day.is-current::after{
  animation:season-calendar-day-arrival .33s ease-out both;
}
.season-calendar-frame.is-animating .season-calendar-day.is-past{
  transition:background-color .22s ease-out,filter .22s ease-out;
}
.season-calendar-toggle:disabled,
.season-calendar-frame.is-animating .season-calendar-month-arrow:disabled{
  opacity:.45;
  cursor:default;
}
@keyframes season-calendar-day-arrival{
  0%{
    border-color:#fff1a0;
    box-shadow:0 0 5px rgba(255,216,61,.3), inset 0 0 3px rgba(255,216,61,.2);
  }
  70%{
    border-color:#ffe45a;
    box-shadow:0 0 16px rgba(255,216,61,.88),0 0 27px rgba(255,196,0,.45);
  }
  100%{
    border-color:#ffd83d;
    box-shadow:0 0 11px #ffd83dbf,0 0 22px #ffc40070,inset 0 0 10px #ffd83d55;
  }
}
@media(prefers-reduced-motion:reduce){
  .season-calendar-frame.is-animating .season-calendar-day.is-current::after{
    animation:none;
  }
}



/* Tela obrigatória de acompanhamento do relógio individual.
   A camada é TRANSPARENTE: os dias ficam totalmente visíveis, mas
   nenhum botão, aba, menu, scroll ou toque pode interceptar a sequência. */
.season-calendar-animation-lock{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:block;
  width:100vw;
  height:100dvh;
  background:transparent;
  border:0;
  margin:0;
  padding:0;
  outline:none;
  cursor:wait;
  touch-action:none;
  overscroll-behavior:contain;
}
.season-calendar-animation-lock-text{
  position:absolute;
  left:50%;
  bottom:max(14px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  max-width:calc(100vw - 24px);
  padding:7px 18px;
  border:1px solid rgba(220,232,241,.17);
  border-radius:999px;
  background:rgba(18,28,37,.92);
  color:#dce8f0;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  box-shadow:0 4px 15px rgba(0,0,0,.25);
  pointer-events:none;
  white-space:nowrap;
}

/* Rankings: segunda categoria e menu de rankings de jogadores. */
.season-ranking-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.season-ranking-tab{cursor:pointer}
.season-ranking-tab:not(.is-active):hover{background:#33434f;color:#fff;box-shadow:none;transform:none}
.season-ranking-subtabs{width:min(1050px,100%);margin:-7px auto 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(255,255,255,.11);border-radius:12px;overflow:hidden;background:#202a32}
.season-ranking-subtab{border:0;border-radius:0;min-height:43px;margin:0;padding:8px;color:#d5e0e9;background:transparent;font:inherit;font-size:13px;font-weight:730;cursor:pointer}
.season-ranking-subtab+.season-ranking-subtab{border-left:1px solid rgba(255,255,255,.1)}
.season-ranking-subtab.is-active{color:#fff;background:linear-gradient(180deg,#50616c,#374752)}
.season-ranking-subtab:not(.is-active):hover{background:#344550;color:#fff;box-shadow:none;transform:none}
/* Cabeçalho longo apenas das tabelas de assistências. */
.season-ranking-players-table.is-assistances th:last-child{
  font-size:9.5px;
  padding-right:11px;
}
.season-ranking-players-table .season-ranking-club-name{font-size:14px}
.season-ranking-category-placeholder{margin:35px auto;max-width:800px}
@media(max-width:580px){.season-ranking-tab{font-size:13px}.season-ranking-subtab{font-size:11px;padding:7px 4px}}

/* Artilharia: identidade idêntica à do Plantel, sem a posição de campo. */
.season-ranking-players-table td.season-ranking-club{padding-left:9px}
.season-ranking-player-identity{
  min-width:0;display:grid;align-items:center;
  grid-template-columns:35px 37px 29px 24px minmax(0,1fr);
  column-gap:7px;text-align:left;
}
.season-ranking-player-identity>.draft-rating,
.season-ranking-ovr-column>.draft-rating{
  width:34.1px;min-width:34.1px;height:35.2px;min-height:35.2px;
  font-size:16.72px;justify-self:center;
}
/* Apenas Melhores jogadores: identidade sem badge e OVR como badge
   centralizado na coluna de valor, sem duplicar a nota. */
.season-ranking-players-table.is-overall .season-ranking-player-identity{
  grid-template-columns:37px 29px 24px minmax(0,1fr);
}
.season-ranking-ovr-column{
  display:flex;align-items:center;justify-content:center;width:100%;
}
.season-ranking-player-face{
  min-width:0;min-height:42px;display:flex;align-items:center;justify-content:center;
}
.season-ranking-player-face>.season-roster-face{
  width:36px;min-width:36px;height:40px;flex:0 0 36px;transform:translateY(-2px);
}
.season-ranking-player-face>.season-roster-face::after{width:39px}
.season-ranking-player-club{
  display:flex;align-items:center;justify-content:center;min-width:0;
}
.season-ranking-player-crest{
  display:block;width:28px;height:28px;object-fit:contain;
}
.season-ranking-player-crest.is-fallback-ball{width:24px;height:24px}
.season-ranking-player-flag{
  display:flex;align-items:center;justify-content:center;
  min-width:0;white-space:nowrap;
}
.season-ranking-player-flag .season-roster-flag{font-size:17px}
.season-ranking-player-identity>.season-ranking-club-name{
  display:block;min-width:0;overflow:hidden;white-space:nowrap;
  text-overflow:ellipsis;font-size:13px;
}
.season-ranking-player-ovr-empty,.season-ranking-player-crest-empty,
.season-ranking-player-face-empty{
  display:grid;place-items:center;min-width:0;color:#8da3b3;
}
.season-ranking-player-ovr-empty{width:34px;height:35px;background:rgba(255,255,255,.06);border-radius:7px}
@media(max-width:580px){
  .season-ranking-player-identity{grid-template-columns:31px 32px 25px 20px minmax(0,1fr);column-gap:4px}
  .season-ranking-player-identity>.draft-rating,
  .season-ranking-ovr-column>.draft-rating{width:30px;min-width:30px;height:32px;min-height:32px;font-size:14px}
  .season-ranking-players-table.is-overall .season-ranking-player-identity{
    grid-template-columns:32px 25px 20px minmax(0,1fr);
  }
  .season-ranking-player-face>.season-roster-face{width:31px;min-width:31px;height:36px;flex-basis:31px}
  .season-ranking-player-face>.season-roster-face::after{width:34px}
  .season-ranking-player-crest{width:24px;height:24px}
  .season-ranking-player-identity>.season-ranking-club-name{font-size:11px}
}


/* Resultado concluído: consulta sem campos editáveis, isolada dos formulários. */
.season-calendar-modal-card.is-completed-view{
  min-height:0;display:flex;flex-direction:column;align-items:center;
  padding:45px 34px 27px;
}
.season-calendar-modal-card.is-completed-view h2{
  margin:0;text-align:center;
}
.season-completed-match-score{
  width:100%;max-width:480px;
  display:grid;grid-template-columns:minmax(65px,1fr) 55px 24px 55px minmax(65px,1fr);
  gap:13px;align-items:center;justify-items:center;margin:37px auto 0;
}
.season-completed-match-score .season-calendar-matchup-crest{
  width:min(94px,100%);height:94px;object-fit:contain;
}
.season-completed-match-number{
  color:#f3f5f8;font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;
}
.season-completed-match-goals{width:100%;max-width:465px;margin:29px auto 0;min-height:64px}
.season-completed-match-wo{
  display:table;margin:26px auto 12px;
  padding:4px 9px;border-radius:5px;
  color:#e4cc94;background:rgba(130,104,48,.24);
  font-size:12px;font-weight:750;line-height:1.2;
  letter-spacing:.07em;
}
.season-completed-match-state{
  min-height:145px;display:grid;place-items:center;text-align:center;color:#c6d1d8;
}
.season-completed-match-state.is-error{color:#f1a4a4}
.season-completed-match-actions{
  display:flex;align-items:center;justify-content:center;margin-top:42px;width:100%;
}
.season-completed-match-actions button{min-width:220px;min-height:46px}
.season-competition-result-row.is-viewable{
  width:100%;padding:0 6px;border:0;
  border-bottom:1px solid rgba(255,255,255,.055);
  border-radius:4px;background:transparent;box-shadow:none;cursor:pointer;
}
.season-competition-result-row.is-viewable:hover:enabled,
.season-competition-result-row.is-viewable:focus-visible{
  background:rgba(105,145,176,.16);box-shadow:none;transform:none;
}
.season-competition-result-row.is-viewable:disabled{cursor:default}
@media(max-width:560px){
  .season-calendar-modal-card.is-completed-view{padding:42px 18px 24px}
  .season-completed-match-score{
    grid-template-columns:minmax(40px,1fr) 33px 15px 33px minmax(40px,1fr);gap:6px;
  }
  .season-completed-match-score .season-calendar-matchup-crest{height:66px}
  .season-completed-match-number{font-size:26px}
  .season-completed-match-actions button{width:min(100%,220px)}
}


/* Edição de resultado: visual alinhado ao lançamento original, mas sem lesões. */
.season-completed-edit-button{
  width:min(240px,100%);
  min-height:42px;
  padding:10px 18px;
  background:#6d5b34;
  border:1px solid #99814b;
  border-radius:10px;
  color:#f3dfac;
  box-shadow:none;
  font-weight:750;
}
.season-completed-edit-button:hover:enabled,
.season-completed-edit-button:focus-visible{
  background:#79663d;
  border-color:#baa061;
  color:#fff0c6;
  box-shadow:none;
  transform:none;
}
.season-completed-match-actions{
  flex-direction:column;
  gap:13px;
}
.season-calendar-modal-card.is-completed-view.is-editing{
  width:min(820px,calc(100vw - 36px));
  padding:44px 34px 27px;
}
.season-completed-match-score.is-editing{
  margin:38px auto 0;
}
.season-completed-match-score.is-editing .season-calendar-score-input{
  width:56px;
  height:52px;
}
.season-completed-edit-details{
  width:100%;
  grid-template-columns:190px minmax(180px,1fr) 190px;
  gap:15px;
  margin-top:26px;
}
.season-completed-edit-details .season-completed-match-goals{
  width:100%;
  margin:0;
  min-height:75px;
}
.season-completed-remove{
  margin:0 0 0 5px;
  min-width:18px;
  min-height:18px;
  padding:0 4px;
  font-size:14px;
  line-height:18px;
  color:#d6a7a7;
  background:rgba(130,60,60,.15);
  border:0;
  box-shadow:none;
  border-radius:4px;
}
.season-completed-remove:hover:enabled{
  background:rgba(180,70,70,.27);
  color:#fff;
  box-shadow:none;
  transform:none;
}
.season-calendar-modal-card.is-completed-view.is-editing
  .season-completed-edit-actions{
  width:100%;
  margin-top:52px;
}
.season-calendar-modal-card.is-completed-view.is-editing
  .season-completed-edit-actions>button{
  min-width:0;
}
@media(max-width:760px){
  .season-completed-edit-details{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .season-completed-edit-details .season-completed-match-goals{
    grid-column:1/-1;
    grid-row:2;
  }
  .season-calendar-modal-card.is-completed-view.is-editing
    .season-completed-edit-actions{
    grid-template-columns:1fr;
    margin-top:30px;
  }
}

/* Centralização óptica de setas nos navegadores do Calendário e de Competições. */
.season-calendar-month-arrow,
.season-competition-results-arrow{
  display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;padding-top:0;padding-bottom:5px;
}
/* Editar resultado fica propositalmente menor e mais discreto que Voltar. */
.season-completed-match-actions .season-completed-edit-button{
  width:min(174px,100%);min-height:33px;padding:6px 12px;
  font-size:12px;font-weight:650;
  background:#51472f;border-color:#746344;color:#d8c493;
}
.season-completed-match-actions .season-completed-edit-button:hover:enabled{
  background:#615336;border-color:#8b784e;color:#f0dca8;
}
.season-calendar-modal-card.is-completed-view.is-editing.is-wo{
  min-height:0;height:auto;padding-bottom:25px;
}
.season-calendar-modal-card.is-completed-view.is-editing.is-wo
.season-completed-edit-actions{margin-top:23px}
.season-competition-result-x{position:relative;display:flex;align-items:center;justify-content:center}
.season-competition-wo-badge{
  position:absolute;bottom:calc(100% + 1px);left:50%;transform:translateX(-50%);
  padding:0;border-radius:0;font-size:8px;font-weight:750;line-height:1.05;
  color:#e4cc94;background:transparent;white-space:nowrap;
}
.season-competition-bracket-match.is-viewable{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.season-competition-bracket-match.is-viewable:hover,
.season-competition-bracket-match.is-viewable:focus-visible{
  border-color:#afcce3;background:linear-gradient(145deg,#344957,#273b47);
  box-shadow:0 0 0 2px rgba(103,165,203,.16);outline:none;
}
.season-completed-match-navigation{position:relative;width:100%;height:0}
.season-completed-match-nav-arrow{
  position:absolute;top:-64px;display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;padding:0 0 4px;box-sizing:border-box;
  border-radius:9px;border:1px solid #455564;background:rgba(42,58,69,.65);
  color:#eff5fa;font-size:24px;line-height:1;
}
.season-completed-match-nav-arrow.is-previous{left:0}
.season-completed-match-nav-arrow.is-next{right:0}
.season-completed-match-nav-arrow:hover:enabled{
  background:#344958;border-color:#7297b0;color:#fff;box-shadow:none;transform:none;
}
.season-completed-match-nav-arrow:disabled{opacity:.26;cursor:default}
.season-completed-match-nav-count{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  font-size:11px;color:#94a7b5;
}
@media(max-width:580px){
  .season-completed-match-nav-arrow{top:-56px;width:30px;height:30px}
}


/* Registro inicial de W.O.: sem altura reservada para goleadores/lesões. */
.season-calendar-modal-card.is-result-entry.is-wo-result{
  min-height:0;
  height:auto;
  padding-bottom:26px;
}


/* Seletor de W.O. como etapa independente do lançamento do resultado.
   Voltar desativa apenas o seletor, preservando os campos anteriores. */
.season-calendar-modal-card.is-result-entry.is-wo-picker{
  min-height:0;
  height:auto;
  padding-bottom:28px;
}
.season-calendar-modal-card.is-wo-picker .season-calendar-matchup.is-result-entry,
.season-calendar-modal-card.is-wo-picker .season-calendar-wo-row,
.season-calendar-modal-card.is-wo-picker .season-calendar-wo-label,
.season-calendar-modal-card.is-wo-picker .season-calendar-wo-note,
.season-calendar-modal-card.is-wo-picker .season-calendar-result-details,
.season-calendar-modal-card.is-wo-picker .season-calendar-injury-action,
.season-calendar-modal-card.is-wo-picker .season-calendar-third-tiebreak-note,
.season-calendar-modal-card.is-wo-picker .season-calendar-result-error,
.season-calendar-modal-card.is-wo-picker .season-calendar-modal-actions.is-result-entry-actions{
  display:none;
}
.season-calendar-modal-card.is-wo-picker .season-calendar-wo-panel{
  margin:20px auto 0;
}


/* Financeiro · Transferir dinheiro */
.season-club-finance-tabs{width:min(680px,94%);grid-template-columns:repeat(3,minmax(0,1fr))}
.season-money-transfer{width:min(1120px,100%);margin:0 auto;display:grid;gap:22px}
.season-money-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:16px 8px;border:1px solid #4b5863;border-radius:16px;background:linear-gradient(145deg,#384651,#26323b)}
.season-money-field{padding:8px 18px;display:flex;flex-direction:column;gap:18px;min-width:0;border-right:1px solid #ffffff26}
.season-money-field:last-child{border:0}
.season-money-field label{font-weight:750;text-align:center;min-height:26px}
.season-money-field input,.season-money-field select{height:47px;background:#1b2730;color:#f5f7fa;border:1px solid #687987}
.season-money-field button{height:47px;white-space:nowrap;color:#fff;background:linear-gradient(180deg,#536775,#354853);border:1px solid #708493;font-size:13px}
.season-money-balance{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:stretch;min-height:155px;padding:16px 0;border-radius:16px;background:linear-gradient(145deg,#384651,#26323b);border:1px solid #4b5863}
.season-money-separator{background:#d1dfea55}
.season-money-metric{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:12px}
.season-money-metric span{font-size:16px;font-weight:750}
.season-money-metric strong{font-size:26px;color:#e6f0f6}
.season-money-metric strong.is-negative{color:#f0a2a2}
.season-money-notice,.season-money-error{margin:0;padding:12px 18px;border-radius:8px;text-align:center;background:#573f30;color:#ffe5c9}
.season-money-error{background:#513037;color:#ffc6cb}
.season-money-confirm-backdrop{position:fixed;inset:0;z-index:99999;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px}
.season-money-confirm{width:min(470px,100%);padding:28px;background:linear-gradient(155deg,#34414b,#1f2931);border:1px solid #6c7983;border-radius:18px;text-align:center;box-shadow:0 25px 90px #0009}
.season-money-confirm h2{font-size:21px;margin:0 0 18px}
.season-money-confirm p{line-height:1.7}
.season-money-confirm-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}
@media(max-width:750px){.season-money-form{grid-template-columns:1fr}.season-money-field{border-right:0;border-bottom:1px solid #ffffff26}.season-money-balance{grid-template-columns:1fr;gap:8px}.season-money-separator{height:1px}.season-club-finance-tabs{width:100%}.season-club-finance-tab{padding:9px 3px;font-size:11px}.season-money-metric strong{font-size:22px}}


/* CLUBE · FINANCEIRO — melhorias do seletor e da projeção de transferências */
.season-money-transfer .season-money-balance{
  width:70%;
  max-width:100%;
  margin-inline:auto;
}
.season-money-field:has(.season-money-picker.is-open){z-index:50}
.season-money-picker{position:relative;min-width:0;width:100%}
.season-money-field .season-money-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  height:47px;
  padding:0 13px;
  border:1px solid #627382;
  border-radius:11px;
  color:#edf3f7;
  text-align:left;
  font-size:14px;
  font-weight:600;
  background:linear-gradient(180deg,#243441,#192731);
  box-shadow:inset 0 1px 0 #ffffff0a,0 3px 9px #0000001c;
  transition:border-color .17s ease,background .17s ease,box-shadow .17s ease;
}
.season-money-field .season-money-toggle:hover:not(:disabled){
  transform:none;
  border-color:#92b4c7;
  background:linear-gradient(180deg,#314657,#213440);
  box-shadow:inset 0 1px 0 #ffffff13,0 4px 13px #00000032;
}
.season-money-field .season-money-toggle:focus-visible,
.season-money-picker.is-open .season-money-toggle{
  outline:none;
  border-color:#83bad8;
  box-shadow:0 0 0 3px #67add62a,inset 0 1px 0 #ffffff12;
}
.season-money-toggle-content{
  display:flex;
  align-items:center;
  min-width:0;
  gap:11px;
}
.season-money-toggle-content>span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.season-money-toggle-content .is-placeholder{color:#adbac5;font-weight:500}
.season-money-chevron{
  width:18px;
  height:18px;
  flex:0 0 18px;
  color:#b7c9d6;
  transition:transform .18s ease;
}
.season-money-picker.is-open .season-money-chevron{transform:rotate(180deg)}
.season-money-options{
  position:absolute;
  top:calc(100% + 9px);
  left:0;
  right:0;
  z-index:70;
  max-height:335px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:7px;
  border:1px solid #607585;
  border-radius:15px;
  background:linear-gradient(155deg,#354652,#1c2a34 88%);
  box-shadow:0 18px 45px #0009,inset 0 1px 0 #ffffff16;
  scrollbar-color:#607483 #23323d;
  scrollbar-width:thin;
}
.season-money-options[hidden]{display:none!important}
.season-money-field .season-money-option{
  width:100%;
  min-height:47px;
  height:auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#e8eff4;
  box-shadow:none;
  font-size:13px;
  font-weight:590;
  text-align:left;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.season-money-field .season-money-option:hover:enabled,
.season-money-field .season-money-option:focus-visible{
  transform:none;
  outline:none;
  background:linear-gradient(90deg,#4a6171,#344957);
  border-color:#7c98a64d;
  color:#fff;
  box-shadow:none;
}
.season-money-field .season-money-option.is-selected{
  background:#425a6980;
  border-color:#86abc044;
}
.season-money-crest{
  display:block;
  width:29px;
  height:29px;
  flex:0 0 29px;
  object-fit:contain;
  filter:drop-shadow(0 2px 3px #0004);
}
.season-money-crest.is-fallback-ball{
  padding:3px;
  filter:none;
}
.season-money-option-name{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.season-money-option-check{
  margin-left:auto;
  color:#9bcce3;
  font-size:17px;
  font-weight:800;
}
@media(max-width:900px){
  .season-money-transfer .season-money-balance{width:82%}
}
@media(max-width:750px){
  .season-money-transfer .season-money-balance{width:100%}
}


/* Transferir dinheiro: isolar a tipografia deste seletor.
   A regra legada .season-money-field span (de outras telas) aplicava
   display:block e margin-bottom:7px, empilhando escudo e nome. */
.season-money-transfer .season-money-toggle-content{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  min-width:0;
  margin:0;
  line-height:1.25;
}
.season-money-transfer .season-money-toggle-content > span:last-child{
  display:flex;
  flex-direction:row;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  min-height:29px;
  margin:0;
  padding:0;
  color:#edf3f7;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
  vertical-align:middle;
}
.season-money-transfer .season-money-toggle-content > span.is-placeholder{
  color:#adbac5;
  font-weight:500;
}
.season-money-transfer .season-money-crest{
  display:block;
  flex:0 0 29px;
  align-self:center;
  width:29px;
  height:29px;
  margin:0;
  padding:0;
  object-fit:contain;
}
.season-money-transfer .season-money-option{
  display:flex;
  flex-direction:row;
  align-items:center;
}
.season-money-transfer .season-money-option-name{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  min-height:29px;
  margin:0;
  padding:0;
  color:#e8eff4;
  font-size:13px;
  font-weight:590;
  line-height:1.25;
}
.season-money-transfer .season-money-option-check{
  display:flex;
  align-items:center;
  align-self:center;
  margin:0 0 0 auto;
  color:#9bcce3;
  font-size:17px;
}


/* COMPETIÇÕES: 30% a mais para a barra lateral, sem encurtar a área máxima da tabela. */
@media(min-width:981px){
  .season-competition-opening-layout{
    width:min(1360px,100%);
    grid-template-columns:minmax(0,1fr) 390px;
  }
}
.season-competition-side-tabs.is-three-options{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
/* Lista simples: posição na coluna menor, valor na maior. */
.season-competition-prizes-list{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.season-competition-prize-row{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  align-items:center;
  min-height:49px;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.season-competition-prize-row:last-child{border-bottom:0}
.season-competition-prize-position,
.season-competition-prize-amount{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 8px;
  font-size:13px;
  line-height:1.3;
  text-align:center;
  color:#eef3f6;
}
.season-competition-prize-position{font-weight:620}
.season-competition-prize-amount{
  font-weight:800;
  border-left:0;
}
.season-competition-prizes-empty{
  padding:26px 12px;
  color:#b4bdc5;
  font-size:13px;
  text-align:center;
}

/* Estatísticas e chaveamentos das competições */
.season-competition-stat-total{
  position:relative;
  right:12px;
}
.season-competition-bracket-club.is-eliminated .season-competition-bracket-crest{
  filter:grayscale(.88);
  opacity:.60;
}
.season-competition-bracket-club.is-eliminated .season-competition-bracket-club-main strong{
  color:#adb8c1;
  opacity:.77;
}
/* A final tem a FAIXA vencedora dourada de borda a borda, sem retângulo interno.
   Funciona tanto quando o campeão está na linha superior quanto na inferior. */
.season-competition-bracket-match:has(> .season-competition-bracket-club.is-champion){
  padding:0;
  overflow:hidden;
}
.season-competition-bracket-match:has(> .season-competition-bracket-club.is-champion)
  > .season-competition-bracket-club{
  box-sizing:border-box;
  min-height:39px;
  padding:5px 7px;
  border-radius:0;
}
.season-competition-bracket-club.is-champion{
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,rgba(211,171,78,.29),rgba(160,121,41,.21));
  box-shadow:none;
}
.season-competition-bracket-club.is-champion .season-competition-bracket-club-main strong{
  color:#ffe6aa;
}
.season-competition-champion-summary{
  width:100%;
  box-sizing:border-box;
  margin-top:22px;
  padding:26px 12px 12px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
}
.season-competition-champion-crest{
  display:block;
  width:72px;
  height:72px;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.season-competition-champion-crest.is-fallback-ball{width:64px;height:64px}
.season-competition-champion-summary strong{
  color:#f5f7f9;
  font-size:16px;
  font-weight:840;
  letter-spacing:.09em;
}

/* Na Copa, confrontos com avanço automático (BYE) mostram duas vagas
   visuais vazias. O chaveamento e as ligações seguem as posições originais. */
.season-competition-bracket-match.is-visual-bye{
  border-color:rgba(129,150,164,.33);
  background:linear-gradient(145deg,rgba(37,48,56,.78),rgba(27,37,44,.78));
}
.season-competition-bracket-club.is-visual-bye-row{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  color:#9ca8b2;
}
.season-competition-bracket-club.is-visual-bye-row span{
  font-size:16px;
  font-weight:600;
  line-height:1;
}


/* Calendário: a parada médica é discreta, sem um cartão claro ou
   indicação antecipada de qual dia terá o aviso. */
.season-calendar-day.is-medical-stop.is-current::after{
  border:2px solid rgba(142,167,185,.36);
  box-shadow:inset 0 0 0 1px rgba(142,167,185,.10);
}
/* Aviso médico surge suavemente somente após o relógio chegar ao dia. */
.season-medical-notice-backdrop{
  animation:mco-medical-notice-overlay-in .28s ease-out both;
}
.season-medical-notice-card{
  animation:mco-medical-notice-card-in .36s cubic-bezier(.22,1,.36,1) both;
}
@keyframes mco-medical-notice-overlay-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes mco-medical-notice-card-in{
  from{opacity:0;transform:translateY(11px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .season-medical-notice-backdrop,
  .season-medical-notice-card{animation:none}
}
/* O retrato de um indisponível deve ficar centrado na linha,
   como acontece com o retrato junto ao OVR no Plantel. */
.season-medical-unavailable-row .season-medical-face .season-roster-face{
  transform:translateY(-3px);
}
/* Aviso da ordem dos compromissos, separado dos botões com maior respiro. */
.season-calendar-modal-card p.season-calendar-opponent-wait-notice{
  /* Somente a apresentação: mantém posição e espaço ocupado no modal. */
  position:relative;
  isolation:isolate;
  max-width:min(510px,100%);
  margin:24px auto 0;
  padding:0 12px;
  transform:translateY(29px);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
  text-align:center;
}
.season-calendar-opponent-wait-notice::before{
  content:"";
  position:absolute;
  /* Folgas simétricas sobre/abaixo do texto e ~20px nas laterais. */
  inset:-12px -8px -12px;
  z-index:-1;
  border:1px solid rgba(123,194,235,.72);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(41,103,147,.88),rgba(31,83,126,.85));
  box-shadow:inset 0 1px 0 rgba(211,239,255,.12),0 2px 10px rgba(0,0,0,.12);
  pointer-events:none;
}
@media(max-width:720px){
  .season-calendar-opponent-wait-notice{
    transform:translateY(12px);
  }
  .season-calendar-opponent-wait-notice::before{
    inset:-10px -8px -10px;
  }
}


/* Bola de Ouro — tabela reduzida em 30%, sem cabeçalho, sem colunas espaçadoras. */
.season-ranking-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.season-bola-page .season-ranking-bola-card{
  width:min(504px,100%);margin:0 auto;box-sizing:border-box;
}
.season-ranking-bola-card .season-ranking-card-heading h2{font-size:15px}
.season-bola-table .season-bola-col-position{width:49px}
.season-bola-table .season-bola-position{
  color:#edf2f7;font-size:15px;font-weight:780;text-align:center;
  padding-left:3px;padding-right:3px;
}
.season-bola-table td.season-ranking-club{
  padding:5px 7px 5px 3px;text-align:left;
}
.season-bola-table .season-bola-identity{
  /* OVR, rosto, escudo, bandeira e nome separados pelo mesmo espaço. */
  display:grid;align-items:center;min-width:0;
  grid-template-columns:35px 36px 29px 24px minmax(0,1fr);
  column-gap:8px;
}
.season-bola-table .season-bola-identity>.draft-rating{
  display:flex;align-items:center;justify-content:center;
  justify-self:center;margin:0;
  width:34.1px;height:35.2px;min-width:34.1px;min-height:35.2px;
  font-size:16.72px;
}
.season-bola-table .season-bola-identity>.season-ranking-player-ovr-empty{justify-self:center}
.season-bola-table .season-bola-identity>.season-ranking-club-name{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.season-bola-page .season-ranking-bola-empty{min-height:230px}
@media(max-width:580px){
  .season-ranking-tabs .season-ranking-tab{font-size:12px}
  .season-bola-table .season-bola-col-position{width:37px}
  .season-bola-table td.season-ranking-club{padding-left:2px;padding-right:3px}
  .season-bola-table .season-bola-position{font-size:13px}
  .season-bola-table .season-bola-identity{
    grid-template-columns:30px 31px 24px 21px minmax(0,1fr);
    column-gap:5px;
  }
  .season-bola-table .season-bola-identity>.draft-rating{
    width:30px;min-width:30px;height:32px;min-height:32px;font-size:14px;
  }
  .season-bola-table .season-bola-identity>.season-ranking-club-name{font-size:11px}
}


/* Competições · decisão do título principal (jogo único ou ida e volta).
   Mantém o painel do chaveamento, mas apresenta apenas a única final. */
.season-competition-final-layout{
  /* Usa a mesma grade de Classificação/Chaveamento + Premiações. */
  width:min(1360px,100%);
}
.season-competition-final-layout .season-competition-side-tabs.is-only-prizes{
  grid-template-columns:minmax(0,1fr);
}
.season-competition-final-layout .season-competition-side-tabs.is-only-prizes h3{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  border-right:0;
  font-family:inherit;
  font-size:11px;
  line-height:1.1;
  font-weight:780;
}
.season-competition-table-card.is-season-final-view{
  width:100%;
  /* A altura do painel depende do conteúdo: exibe o campeão abaixo
     do confronto sem deixar uma reserva vazia quando ainda não há vencedor. */
  min-height:0;
  padding-bottom:25px;
}
.season-competition-final-stage{
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:13px 8px 17px;
}
.season-competition-final-confrontation{
  width:min(430px,100%);
  box-sizing:border-box;
  margin:0 auto;
  padding:10px 13px;
  border-radius:13px;
}
.season-competition-final-confrontation .season-competition-bracket-club{
  min-height:52px;
  gap:12px;
}
.season-competition-final-confrontation .season-competition-bracket-club-main{
  grid-template-columns:31px minmax(0,1fr);
  gap:11px;
}
.season-competition-final-confrontation .season-competition-bracket-crest{
  width:30px;height:30px;
}
.season-competition-final-confrontation .season-competition-bracket-club-main strong{
  font-size:14px;
}
.season-competition-final-confrontation .season-competition-bracket-scores span{
  width:31px;min-width:31px;height:31px;
  font-size:13px;
}
.season-competition-final-confrontation:has(>.is-champion){
  padding:0;
}
.season-competition-final-confrontation:has(>.is-champion)
  >.season-competition-bracket-club{
  min-height:58px;
  padding:7px 13px;
}
.season-competition-final-confrontation.is-dispensed{
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(28,37,44,.56),rgba(19,28,36,.56));
  opacity:.42;
  padding:10px 13px;
}
.season-competition-final-blank-row{
  height:52px;
  border-radius:7px;
}
.season-competition-final-blank-row+.season-competition-final-blank-row{
  border-top:1px solid rgba(255,255,255,.05);
}
.is-season-final-view .season-competition-champion-summary{
  margin-top:0;
}
@media(max-width:580px){
  .season-competition-table-card.is-season-final-view{padding:18px 13px 22px}
  .season-competition-final-stage{padding-left:0;padding-right:0}
  .season-competition-final-confrontation{padding:8px 8px}
  .season-competition-final-confrontation .season-competition-bracket-club-main strong{font-size:12px}
  .season-competition-final-confrontation .season-competition-bracket-scores span{
    width:24px;min-width:24px;height:27px;font-size:11px;
  }
}


/* Clube > Geral > Por temporada */
.club-overview-page{width:100%}
.club-overview-season{
  display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;
  width:min(460px,100%);height:44px;margin:0 auto 27px;
  border:1px solid rgba(255,255,255,.11);border-radius:12px;
  background:linear-gradient(180deg,#303f49,#25323b);
  box-sizing:border-box;
}
.club-overview-season strong{font-size:15px;text-align:center;color:#f1f6fb}
.club-overview-season button{
  display:grid;place-items:center;position:relative;
  width:33px;height:32px;min-height:32px;padding:0;margin:auto;
  background:transparent;border:1px solid transparent;border-radius:8px;
  color:#bed2df;box-shadow:none;cursor:pointer;
}
.club-overview-season button:hover:not(:disabled){
  background:#3a5060;color:#fff;border-color:#557489;
}
.club-overview-season button:disabled{opacity:.25;cursor:default}
.club-overview-season button:focus-visible{outline:2px solid #87cafa;outline-offset:1px}
.club-overview-season button span{
  position:absolute;top:50%;left:50%;height:8px;width:8px;
  border-right:2px solid currentColor;border-top:2px solid currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
}
.club-overview-season button:first-child span{transform:translate(-50%,-50%) rotate(-135deg)}
.club-overview-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;align-items:stretch;
}
.club-overview-card{
  box-sizing:border-box;min-width:0;min-height:440px;
  border:1px solid rgba(178,211,235,.12);border-radius:19px;
  background:linear-gradient(180deg,#34434e,#28343e);
  padding:20px 14px 22px;box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.club-overview-card h2{
  font-size:19px;font-weight:800;color:#f5f8fc;margin:0;
  text-align:center;line-height:1.35;
}
.club-overview-subtitle{
  height:76px;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;padding:11px 1px 12px;
}
.club-overview-chip{
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;min-height:33px;max-width:100%;
  padding:7px 15px;box-sizing:border-box;
  border-radius:9px;background:#245778;border:1px solid #3e789e;
  color:#f2f7fc;font-size:12px;line-height:1.25;font-weight:750;
  text-align:center;
}
.club-overview-rank-chip strong{font-size:12px}
.club-overview-rank-chip small{
  display:block;font-size:10px;color:#c6e0ef;margin-top:4px;
}
.club-overview-card-body{display:flex;flex-direction:column;gap:22px}
.club-overview-metrics,.club-overview-competitions{
  width:100%;border:1px solid rgba(168,193,214,.17);border-radius:8px;
  border-spacing:0;overflow:hidden;table-layout:fixed;
  background:#23323d;color:#e9f1f8;
}
.club-overview-metrics th,.club-overview-metrics td{
  border-right:1px solid rgba(168,193,214,.14);
  text-align:center;box-sizing:border-box;
}
.club-overview-metrics th:last-child,.club-overview-metrics td:last-child{border-right:0}
.club-overview-metrics th{
  height:39px;padding:7px 4px;font-size:11px;line-height:1.2;
  background:#202d36;color:#e1edf6;font-weight:750;
}
.club-overview-metrics td{
  height:46px;padding:6px 3px;font-size:17px;font-weight:800;
  border-top:1px solid rgba(168,193,214,.16);
}
.club-overview-competitions th,.club-overview-competitions td{
  height:54px;padding:9px 7px;line-height:1.23;font-size:11px;
  border-bottom:1px solid rgba(168,193,214,.14);
}
.club-overview-competitions tr:last-child th,.club-overview-competitions tr:last-child td{border-bottom:0}
.club-overview-competitions th{
  font-weight:650;text-align:left;overflow-wrap:anywhere;width:62%;
}
.club-overview-competitions td{
  text-align:center;border-left:1px solid rgba(168,193,214,.14);
}
.club-overview-position{color:#edf3f8;font-size:12px}
.club-overview-position.is-champion{color:#edc55a}
.club-overview-position.is-vice{color:#c8d0d9}
.club-overview-position-unset{color:#b3c1cc}
.club-overview-player-tabs{
  width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  background:#22313d;border:1px solid rgba(156,194,221,.18);
  border-radius:9px;overflow:hidden;
}
.club-overview-player-tabs button{
  box-sizing:border-box;min-width:0;min-height:38px;height:100%;
  margin:0;padding:6px 3px;border:0;border-right:1px solid rgba(156,194,221,.18);
  border-radius:0;background:transparent;color:#cbd8e4;box-shadow:none;
  font-size:10px;line-height:1.2;font-weight:650;text-align:center;
}
.club-overview-player-tabs button:last-child{border-right:0}
.club-overview-player-tabs button:hover{background:#355067;color:#fff;transform:none}
.club-overview-player-tabs button.is-active{background:#42667f;color:#fff;font-weight:800}
.club-overview-card.is-players .club-overview-card-body{gap:0}
.club-overview-players-table{
  border-collapse:collapse;table-layout:auto;width:100%;
  color:#f4f7fb;font-size:11px;
}
.club-overview-players-table th{
  height:28px;background:#22313d;color:#dce9f1;
  font-size:10px;font-weight:700;text-align:right;
}
.club-overview-players-table td{
  height:55px;border-bottom:1px solid rgba(176,200,214,.14);
  padding:5px 2px;vertical-align:middle;
}
.club-overview-players-table tr:last-child td{border-bottom:0}
.club-overview-rank{min-width:25px;width:30px;text-align:center;font-size:13px;font-weight:750}
.club-overview-player{
  display:grid;grid-template-columns:32px 34px 20px minmax(0,1fr);
  align-items:center;column-gap:5px;min-width:0;cursor:pointer;
}
.club-overview-player .draft-rating{
  min-width:30px;width:30px;height:32px;min-height:32px;
  font-size:14px;display:flex;align-items:center;justify-content:center;
}
.club-overview-player strong{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;
}
.club-overview-face,.club-overview-flag{display:flex;align-items:center;justify-content:center;min-width:0}
.club-overview-face{width:34px;height:35px;overflow:hidden}
.club-overview-face img{max-width:100%;max-height:100%;object-fit:contain}
.club-overview-flag{width:20px}
.club-overview-player-score{text-align:right;font-size:14px;font-weight:800;min-width:25px}
.club-overview-player-empty,.club-overview-info,.club-overview-error{
  margin:15px 0;padding:15px 6px;color:#cbd7e0;text-align:center;
  font-size:12px;line-height:1.5;
}
.club-overview-error{color:#f2b4b4}
@media(max-width:900px){
  .club-overview-grid{grid-template-columns:1fr}
  .club-overview-card{min-height:0}
  .club-overview-player{grid-template-columns:38px 42px 25px minmax(0,1fr);column-gap:10px}
  .club-overview-player .draft-rating{width:34px;min-width:34px;height:35px;min-height:35px}
  .club-overview-player strong{font-size:13px}
  .club-overview-player-tabs button{font-size:12px}
}
@media(max-width:510px){
  .club-overview-season{grid-template-columns:35px minmax(0,1fr) 35px}
  .club-overview-card{padding:18px 11px}
  .club-overview-player{grid-template-columns:30px 34px 20px minmax(0,1fr);column-gap:5px}
  .club-overview-player strong{font-size:11px}
}


/* Clube > Geral: acabamentos de rankings, paginação e altura individual. */
.club-overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.62fr);align-items:start}
.club-overview-card{min-height:0;align-self:start}
.club-overview-competitions th{text-align:center}
.club-overview-metrics td.club-overview-result-win{color:#66d28f}
.club-overview-metrics td.club-overview-result-draw{color:#efcb67}
.club-overview-metrics td.club-overview-result-loss{color:#f17c84}
/* As cinco abas distribuem a largura proporcionalmente ao texto;
   Líderes de assistências recebe mais espaço e nenhuma label quebra linha. */
.club-overview-player-tabs{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.6fr) minmax(0,1.25fr)
    minmax(0,.95fr) minmax(0,1.25fr)
}
.club-overview-player-tabs button{white-space:nowrap;font-size:10px;letter-spacing:-.12px;padding-inline:3px}
.club-overview-players-table th{background:transparent}
.club-overview-players-table th:last-child,
.club-overview-players-table td.club-overview-player-score{
  width:64px;min-width:64px;text-align:center;box-sizing:border-box;
  padding-left:4px;padding-right:10px;
}
.club-overview-players-table.is-assists th:last-child{font-size:9px;letter-spacing:-.2px}
.club-overview-player{grid-template-columns:29px 36px 22px minmax(0,1fr);column-gap:7px}
.club-overview-player .draft-rating{width:28px;min-width:28px;height:30px;min-height:30px;font-size:12.6px}
.club-overview-ovr-missing{width:28px;min-width:28px;height:30px;display:grid;place-items:center}
.club-overview-face{width:36px;height:42px;overflow:visible;position:relative}
.club-overview-face>.season-roster-face{width:36px;min-width:36px;height:40px;transform:translateY(-4px)}
.club-overview-face>.season-roster-face::after{width:39px}
.club-overview-face img{object-fit:contain}
.club-overview-player strong{font-size:11.5px}
.club-overview-players-table.is-team-season .club-overview-player{margin-left:8px}
.club-overview-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;padding:0 6px}
.club-overview-pagination button{width:32px;height:30px;min-height:30px;
 border:1px solid rgba(175,201,219,.25);border-radius:8px;
 color:#e2f0f9;background:#2e4859;font-size:0;position:relative;box-sizing:border-box}
.club-overview-pagination button::before{content:"";position:absolute;top:50%;left:50%;
 width:8px;height:8px;box-sizing:border-box;border-top:2px solid currentColor;
 border-right:2px solid currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.club-overview-pagination button:first-child::before{transform:translate(-50%,-50%) rotate(-135deg)}
.club-overview-pagination button:disabled{opacity:.28;cursor:default}
.club-overview-pagination button:not(:disabled):hover{background:#42677f}
.club-overview-pagination span{color:#d8e4ed;font-size:11px;font-weight:700}
@media(max-width:1250px){
 .club-overview-grid{grid-template-columns:1fr}
 .club-overview-player-tabs button{font-size:12px}
 .club-overview-player strong{font-size:13px}
}
@media(max-width:560px){
 .club-overview-player-tabs{grid-template-columns:repeat(5,minmax(max-content,1fr));overflow-x:auto}
 .club-overview-player-tabs button{font-size:9px;padding-inline:4px}
 .club-overview-players-table th:last-child,
 .club-overview-players-table td.club-overview-player-score{width:55px;min-width:55px;padding-right:5px}
}


/* Clube > Geral: ampliar apenas a coluna Jogadores em ~30% sem apertar
   Registros e Conquistas. Menus acima mantêm as mesmas larguras. */
@media(min-width:1251px){
  .season-club-page:has(.club-overview-grid){
    width:min(1290px,calc(100% - 80px));
  }
  .club-overview-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.106fr);
  }
}

/* Rankings de jogadores (temporada e história): cabeçalho transparente.
   Assistências fica centralizado na mesma coluna e eixo dos valores. */
.season-ranking-players-table thead th{
  background:transparent;
}
.season-ranking-players-table.is-assistances thead th:last-child{
  font-size:8.7px;
  line-height:1.1;
  letter-spacing:-.15px;
  white-space:nowrap;
  text-align:center;
  padding-inline:4px;
}
.season-ranking-players-table thead th:last-child,
.season-ranking-players-table tbody td:last-child{
  text-align:center;
}


/* Tabelas com retratos menores que os do Plantel: OVR proporcional.
   Referência: Plantel = badge 34,1 × 35,2 e retrato 44 × 47.
   Fichas amplas (.mco-details-portrait) e o Plantel permanecem intactos. */
.season-ranking-players-table .season-ranking-player-identity{
  grid-template-columns:30px 37px 29px 24px minmax(0,1fr);
}
.season-ranking-players-table.is-overall .season-ranking-player-identity{
  /* Nos melhores jogadores o badge continua apenas na coluna OVR. */
  grid-template-columns:37px 29px 24px minmax(0,1fr);
}
.season-bola-table .season-bola-identity{
  grid-template-columns:30px 36px 29px 24px minmax(0,1fr);
}
:is(
  .season-ranking-players-table .season-ranking-player-identity>.draft-rating,
  .season-ranking-players-table .season-ranking-ovr-column>.draft-rating,
  .season-bola-table .season-bola-identity>.draft-rating,
  .season-market-player .draft-rating,
  .season-market-external-sale-table .draft-rating,
  .season-market-history-player .draft-rating
){
  width:28px;
  min-width:28px;
  height:30px;
  min-height:30px;
  font-size:13px;
  line-height:1;
  padding:0;
  justify-self:center;
}
:is(
  .season-ranking-players-table .season-ranking-player-ovr-empty,
  .season-bola-table .season-ranking-player-ovr-empty
){
  width:28px;
  height:30px;
}
.season-payroll-player .draft-rating{
  width:25px;min-width:25px;
  height:27px;min-height:27px;
  font-size:11px;
}
.season-medical-rating.draft-rating{
  width:26px;min-width:26px;
  height:27px;min-height:27px;
  font-size:11px;
}
.season-calendar-compact-player .draft-rating{
  width:31px;min-width:31px;
  height:33px;min-height:33px;
  font-size:13px;
}
.season-calendar-injury-picked-player .season-calendar-compact-player .draft-rating{
  width:29px;min-width:29px;
  height:30px;min-height:30px;
  font-size:12px;
}
@media(max-width:580px){
  .season-ranking-players-table .season-ranking-player-identity{
    grid-template-columns:27px 32px 25px 20px minmax(0,1fr);
  }
  .season-ranking-players-table.is-overall .season-ranking-player-identity{
    grid-template-columns:32px 25px 20px minmax(0,1fr);
  }
  .season-bola-table .season-bola-identity{
    grid-template-columns:27px 31px 24px 21px minmax(0,1fr);
  }
  :is(
    .season-ranking-players-table .season-ranking-player-identity>.draft-rating,
    .season-ranking-players-table .season-ranking-ovr-column>.draft-rating,
    .season-bola-table .season-bola-identity>.draft-rating
  ){
    width:25px;min-width:25px;
    height:27px;min-height:27px;
    font-size:12px;
  }
  :is(
    .season-ranking-players-table .season-ranking-player-ovr-empty,
    .season-bola-table .season-ranking-player-ovr-empty
  ){width:25px;height:27px;}
}


/* Clube > Geral > Conquistas: as quatro competições exibem os mesmos
   troféus oficiais usados nas conquistas da ficha dos jogadores. */
.club-overview-card .club-overview-competitions th{
  width:66%;
  padding:8px 9px;
  text-align:left;
}
.club-overview-competition-label{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  width:100%;
  min-width:0;
  text-align:left;
}
.club-overview-competition-icon{
  display:block;
  flex:0 0 26px;
  width:26px;
  height:26px;
  background-image:url('assets/conquistas-jogadores.webp');
  background-size:600% 100%;
  background-repeat:no-repeat;
  background-position:0% 50%;
}
.club-overview-competition-icon.is-principal{background-position:20% 50%}
.club-overview-competition-icon.is-copa{background-position:40% 50%}
.club-overview-competition-name{
  display:block;
  min-width:0;
  line-height:1.3;
  overflow-wrap:anywhere;
}
@media(max-width:560px){
  .club-overview-competition-icon{
    flex-basis:23px;
    width:23px;
    height:23px;
  }
  .club-overview-competition-label{gap:6px}
}



/* Clube > Geral — 6 abas de igual largura e quadro de jogadores ampliado. */
@media(min-width:1251px){
  .season-club-page:has(.club-overview-grid){
    width:min(1470px,calc(100% - 28px));
  }
  .club-overview-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2.8fr);
  }
}
.club-overview-player-tabs{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.club-overview-player-tabs button{
  width:100%;min-width:0;
  font-size:9.3px;
  letter-spacing:-.17px;
  white-space:nowrap;
  padding:6px 2px;
}
.club-overview-awards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid rgba(170,204,225,.17);
  border-radius:11px;
  background:rgba(24,35,44,.2);
  min-width:0;
  overflow:hidden;
}
.club-overview-awards-competition{
  display:flex;flex-direction:column;
  min-width:0;
  border-right:1px solid rgba(170,204,225,.17);
}
.club-overview-awards-competition:last-child{border-right:0}
.club-overview-awards-competition h3{
  display:flex;align-items:center;justify-content:center;
  min-height:49px;margin:0;padding:9px 6px;
  box-sizing:border-box;
  background:#202e38;
  border-bottom:1px solid rgba(170,204,225,.22);
  color:#eef6fc;font-size:11px;font-weight:750;
  text-align:center;line-height:1.3;
  overflow-wrap:anywhere;
}
.club-overview-awards-entries{
  display:flex;flex-direction:column;
  flex:1;gap:18px;padding:13px 7px 15px;
  min-width:0;
}
.club-overview-award-entry{
  display:flex;flex-direction:column;
  min-width:0;
}
.club-overview-award-player{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid rgba(128,176,207,.25);
  background:linear-gradient(180deg,#344b5d,#2a4252);
  border-radius:9px;
  padding:5px 6px;
  grid-template-columns:28px 36px 20px minmax(0,1fr);
  gap:5px;
}
.club-overview-award-player:hover{
  background:linear-gradient(180deg,#3c5870,#30495d);
}
.club-overview-award-player strong{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:11px;
}
.club-overview-award-player .draft-rating{
  width:27px;min-width:27px;
  height:29px;min-height:29px;font-size:12px;
}
.club-overview-award-player .club-overview-face>.season-roster-face{
  transform:translateY(-3px);
}
.club-overview-award-result{
  margin:5px 0 0;
  color:#d8e8f2;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  text-align:center;
}
.club-overview-award-empty{
  display:flex;align-items:center;justify-content:center;
  flex:1;margin:0;min-height:145px;
  padding:12px 5px;
  color:#bdcdd9;font-size:11px;
  line-height:1.55;text-align:center;
}
@media(max-width:1250px){
  .club-overview-awards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .club-overview-player-tabs button{font-size:10px}
}
@media(max-width:710px){
  .club-overview-awards{grid-template-columns:1fr}
  .club-overview-awards-competition{
    border-right:0;
    border-bottom:1px solid rgba(170,204,225,.17);
  }
  .club-overview-awards-competition:last-child{border-bottom:0}
  .club-overview-award-empty{min-height:85px}
  .club-overview-player-tabs{
    grid-template-columns:repeat(6,minmax(133px,1fr));
    overflow-x:auto;
  }
  .club-overview-player-tabs button{font-size:10px}
}

/* Histórico do Clube: mesma composição dos quadros anuais, sem seletor. */
.club-overview-page.is-history{padding-top:5px}
.club-overview-titles-count{font-weight:800;font-size:15px;color:#f0f6fa}
.club-overview-players-table.is-history-award thead th{background:transparent}
.club-overview-players-table.is-history-award .club-overview-year-col{
 width:88px;min-width:88px;font-size:11px;white-space:nowrap;
 text-align:center;padding:4px 5px;
}
@media(max-width:560px){
 .club-overview-players-table.is-history-award .club-overview-year-col{
  width:76px;min-width:76px;font-size:10px;
 }
}


/* Meu Elenco > Plantel: quadro de distribuição do plantel atual. */
.season-roster-summary{
  width:min(600px,100%);margin:0 auto 20px;padding:16px 22px 19px;
  box-sizing:border-box;border:1px solid rgba(175,200,219,.17);
  border-radius:23px;background:linear-gradient(145deg,#323f49,#2a3640);
  box-shadow:0 14px 42px rgba(0,0,0,.17);
}
.season-roster-summary-total{
  display:flex;align-items:center;justify-content:center;
  min-height:40px;padding:9px 12px;border-radius:10px;
  border:1px solid rgba(176,198,214,.10);background:rgba(10,18,26,.43);
  color:#edf3f7;font-size:15px;font-weight:800;text-align:center;
}
.season-roster-summary-groups{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;margin-top:13px;
}
.season-roster-summary-group{
  min-width:0;min-height:83px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:9px;padding:10px 6px;
  border:1px solid rgba(186,205,221,.13);border-radius:12px;
  background:rgba(13,24,33,.25);
}
.season-roster-summary-label{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:50px;min-height:24px;padding:3px 12px;border-radius:6px;
  border:0;
  background:
    radial-gradient(ellipse at 28% 0%,rgba(255,255,255,.075),transparent 58%),
    linear-gradient(165deg,#1c2227 0%,#101418 43%,#080b0d 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.36),0 2px 4px rgba(0,0,0,.14);
  font-size:12px;font-weight:850;line-height:1;
}
.season-roster-summary-label.is-gol{
  color:#eba761;
  text-shadow:0 0 7px rgba(235,167,97,.3);
}
.season-roster-summary-label.is-def{
  color:#f3d66f;
  text-shadow:0 0 7px rgba(243,214,111,.3);
}
.season-roster-summary-label.is-mei{
  color:#84d092;
  text-shadow:0 0 7px rgba(132,208,146,.3);
}
.season-roster-summary-label.is-ata{
  color:#80b9f2;
  text-shadow:0 0 7px rgba(128,185,242,.3);
}
.season-roster-summary-value{
  font-size:18px;font-weight:800;line-height:1;color:#f6f9fb;
  font-variant-numeric:tabular-nums;
}
@media(max-width:540px){
  .season-roster-summary{padding:12px}
  .season-roster-summary-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}

/* Coluna Informações básicas: lesão, empréstimo recebido, aposentadoria. */
.season-roster-panel .season-roster-name-line{gap:5px}
.season-roster-panel .season-roster-name-line>.season-roster-name{
  flex:0 1 auto;min-width:0;
}
.season-roster-indicators{
  display:inline-flex;align-items:center;justify-content:flex-end;
  flex:0 0 auto;gap:4px;margin-left:auto;
}
.season-roster-indicators .season-retirement-announced-badge{
  flex:0 0 19px;margin-left:0;
}
.season-roster-indicators .season-roster-badge-injury{
  background:#f6f6f6;border-color:#eef0f2;
  color:#d52a3b;font-size:15px;font-weight:850;
}
.season-roster-indicators .season-roster-badge-injury:is(:hover,:focus-visible){
  background:#fff;border-color:#efadb5;color:#be2233;
}
.season-roster-indicators .season-roster-badge-loan{
  background:rgba(92,173,224,.19);color:#99d8ff;
  border-color:rgba(112,192,240,.55);font-size:11px;font-weight:850;
}
.season-roster-indicators .season-roster-badge-loan:is(:hover,:focus-visible){
  background:rgba(92,173,224,.29);border-color:rgba(162,220,252,.75);color:#c2e8ff;
}

/* Estatísticas: identificação da liga acima do recorte temporal. */
.season-stats-panel:not(.season-info-panel) .season-stats-header{
  min-height:94px;grid-template-rows:30px 32px 32px;
}
.season-stats-panel:not(.season-info-panel) .season-stats-basic-heading{
  grid-row:1 / 4;
}
.season-stats-panel:not(.season-info-panel) .season-stats-league-heading{
  display:flex;align-items:center;justify-content:center;
  grid-column:2 / 6;grid-row:1;min-width:0;padding:4px 12px;
  background:rgba(3,10,16,.55);
  border-bottom:1px solid rgba(194,214,229,.13);
  color:#edf4fa;font-size:12px;font-weight:800;
}
.season-stats-panel:not(.season-info-panel) .season-stats-group-heading{
  grid-row:2;
}
.season-stats-panel:not(.season-info-panel) .season-stats-column-heading{
  grid-row:3;
}
.season-stats-panel:not(.season-info-panel) .season-stats-header::after{
  content:none;
}
.season-stats-panel:not(.season-info-panel) :is(.season-stats-history-heading,.season-stats-history-goals){
  border-left:1px solid var(--season-roster-divider);
  box-sizing:border-box;
}


/* Silhueta padrão de jogadores sem foto — baseada na imagem fornecida. */
/* Preserva todas as fotos carregadas: o desenho ocupa somente os espaços
   reservados aos fallbacks das faces do Plantel, Mercado, Calendário e Base. */
.season-roster-face-placeholder svg,
.season-market-face-placeholder svg{
  display:none;
}
/* Apoiar a base da silhueta na mesma linha inferior dos retratos. */
.season-roster-face-placeholder,
.season-market-face-placeholder{
  align-items:flex-end;
}
.season-roster-face-placeholder::before,
.season-market-face-placeholder::before{
  content:"";
  display:block;
  flex:0 0 auto;
  width:58.32%;
  height:76.95%;
  background-color:rgba(89,104,117,.9);
  -webkit-mask:url("assets/jogador-sem-foto.svg") center bottom / contain no-repeat;
  mask:url("assets/jogador-sem-foto.svg") center bottom / contain no-repeat;
}
.mco-details-portrait-silhouette{
  height:106.92px;
  bottom:0;
  font-size:0;
  background-color:rgba(89,104,117,.9);
  -webkit-mask:url("assets/jogador-sem-foto.svg") center bottom / contain no-repeat;
  mask:url("assets/jogador-sem-foto.svg") center bottom / contain no-repeat;
}

/* Cabeçalho constante em todas as áreas da temporada. */
.season-header-identity{
  position:absolute;
  right:clamp(20px,3vw,46px);
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:15px;
  min-width:0;
  max-width:37%;
}
.season-header-names{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  min-width:0;
  max-width:260px;
  text-align:right;
  line-height:1.25;
}
.season-header-names strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:17px;
  font-weight:780;
  color:#f4f6f8;
}
.season-header-names span{
  display:block;
  max-width:100%;
  margin-top:6px;
  /* Folga inferior para as descendentes, como o "g" de Liga. */
  padding-bottom:3px;
  line-height:1.5;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#b9c7d1;
  font-size:13px;
  font-weight:560;
}
.season-header-identity .season-current-club-badge{
  position:static;
  transform:none;
  flex:0 0 78px;
  width:78px;
  height:78px;
}
.season-header-identity .season-current-club-crest{
  width:74px;
  height:74px;
}
.season-header-identity .season-current-club-crest.is-fallback-ball{
  width:48px;
  height:48px;
}
.season-checkpoint-badge{
  position:absolute;
  left:clamp(184px,18vw,294px);
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 15px;
  border:1px solid #dcb956;
  border-radius:9px;
  background:linear-gradient(180deg,#e8ca73,#cfa646);
  color:#30240b;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 0 13px rgba(240,192,63,.20),inset 0 1px 0 rgba(255,255,255,.3);
}
.season-checkpoint-badge[hidden]{display:none!important;}
.season-checkpoint-badge:hover:enabled{
  background:linear-gradient(180deg,#f2d689,#dfb658);
  box-shadow:0 0 18px rgba(246,196,69,.29);
  transform:translateY(-50%);
}
@media(max-width:1100px){
  .season-header-identity{gap:8px;max-width:41%;}
  .season-header-names{max-width:150px;}
  .season-header-names strong{font-size:14px;}
  .season-header-names span{font-size:11px;}
  .season-checkpoint-badge{left:168px;font-size:12px;padding:7px 10px;}
}
@media(max-width:760px){
  .season-home-topbar{min-height:138px;align-items:flex-start;padding-top:22px;}
  .season-home-brand{margin-top:0;}
  .season-header-identity{right:14px;top:auto;bottom:10px;transform:none;max-width:70%;}
  .season-header-identity .season-current-club-badge{flex-basis:48px;width:48px;height:48px;}
  .season-header-identity .season-current-club-crest{width:45px;height:45px;}
  .season-header-names strong{font-size:12px;}
  .season-header-names span{font-size:10px;margin-top:3px;}
  .season-checkpoint-badge{top:auto;bottom:12px;left:16px;transform:none;max-width:42%;white-space:normal;text-align:center;}
  .season-checkpoint-badge:hover:enabled{transform:none;}
}


/* Escolha de clubes (primeira temporada e viradas):
   escudo oficial + nome, sem bandeira da nacionalidade. */
.club-choice-panel .club-card{
  justify-content:flex-start;
  gap:13px;
}
.club-choice-panel .club-card .club-card-info{
  flex:1;
  min-width:0;
}
.club-choice-panel .club-choice-crest,
.club-choice-panel .mco-virada-inscricao-crest{
  display:block;
  width:36px;
  height:36px;
  flex:0 0 36px;
  object-fit:contain;
  margin:0;
}
.club-choice-panel .club-current strong{
  display:flex;
  align-items:center;
  gap:12px;
}
.club-choice-panel .club-current .club-choice-crest,
.club-choice-panel .club-current .mco-virada-inscricao-crest{
  width:38px;
  height:38px;
  flex-basis:38px;
}
@media(max-width:550px){
  .club-choice-panel .club-choice-crest,
  .club-choice-panel .mco-virada-inscricao-crest{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}


/* Configurações da primeira temporada: premiações sem divisórias.
   Seletores específicos impedem interferência em componentes de finanças. */
.season-settings .season-reward-grid > .season-money-field{
  min-width:0;
  padding:0;
  margin:0;
  border:0;
  border-right:0;
  border-bottom:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
}
.season-settings .season-reward-grid > .season-money-field > span:first-child{
  display:block;
  width:100%;
  margin:0 0 3px;
  min-height:0;
  padding:0;
  text-align:center;
  line-height:1.3;
}
.season-settings .season-reward-grid .season-money-field input{
  width:100%;
  box-sizing:border-box;
  text-align:center;
  padding-inline:12px;
  margin:0;
}
.season-settings .season-reward-grid .season-money-input-wrap{
  display:block;
  width:100%;
  margin:0;
}
.season-settings .season-reward-grid .season-money-input-wrap input[readonly]{
  padding-left:38px;
  padding-right:38px;
}
.season-settings .season-suggestion.secondary:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:saturate(.55);
  box-shadow:none;
}

/* Configurações da primeira temporada: centralização do mercado e respiro nas premiações. */
.season-settings .season-transfer-panel{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  padding:32px 30px;
}
.season-settings .season-transfer-card-header{
  position:absolute;
  top:24px;
  right:30px;
  margin:0;
}
.season-settings .season-transfer-grid{
  width:100%;
}
.season-settings .season-prizes > h3 + .season-reward-grid,
.season-settings .season-field-wide > h3 + .season-reward-grid{
  margin-top:16px;
}
.season-settings .season-prizes > p + .season-reward-grid{
  margin-top:18px;
}
@media(max-width:850px){
  .season-settings .season-transfer-panel{
    min-height:0;
    padding:72px 24px 30px;
  }
  .season-settings .season-transfer-card-header{
    top:20px;
    right:24px;
  }
}

/* Configurações da próxima temporada: herdam as mesmas classes, medidas
   e paleta da tela de configurações da primeira temporada. Somente os
   elementos próprios da virada recebem ajustes específicos abaixo. */
#mco-virada-config-root{
  position:fixed;
  inset:0;
  z-index:31000;
  overflow-y:auto;
  overflow-x:hidden;
  color:var(--text);
  background:
    radial-gradient(ellipse at 50% -15%,#34404a66,transparent 58%),
    radial-gradient(ellipse at 100% 65%,#1b273045,transparent 45%),
    linear-gradient(135deg,#0d1114,#07090b 55%,#0a0d10);
  background-attachment:fixed;
}
#mco-virada-config-root .mco-next-shell{
  width:100%;
  padding:0 clamp(20px,2.4vw,40px);
}
#mco-virada-config-root .mco-next-brand{
  font-weight:650; /* idêntico ao botão .brand da tela inicial */
}
#mco-virada-config-root .season-budget-panel .budget-grid input{
  text-align:center;
}
/* Linha sutil entre as verbas dos ingressantes e as demais configurações. */
#mco-virada-config-root .mco-next-divider{
  height:1px;
  background:var(--border);
  margin:-30px 0 34px;
}
#mco-virada-config-root .mco-next-restore-row{
  display:flex;
  justify-content:center;
  margin:0 auto 54px;
}
#mco-virada-config-root .mco-next-restore-row button{
  max-width:100%;
  min-height:49px;
  padding:12px 26px;
  background:linear-gradient(180deg,#194d78,#123956);
  border:1px solid #367db8;
  color:#e6f4ff;
}
#mco-virada-config-root .mco-next-restore-row button:disabled{
  opacity:.65;
  background:#1c3448;
  border-color:#31506a;
  color:#9db7ca;
  cursor:default;
}
/* Mesma proporção dos campos de nomes e dos blocos da tela inicial. */
#mco-virada-config-root .season-field .season-name-input{
  width:calc((100% - 24px)/2);
  max-width:100%;
}
#mco-virada-config-root .season-prizes > p + .season-reward-grid{
  margin-top:18px;
}
#mco-virada-config-root .mco-next-feedback{
  min-height:24px;
  margin-top:25px;
  text-align:center;
  color:var(--muted);
}
#mco-virada-config-root footer{
  margin-top:32px;
}
@media(max-width:850px){
  #mco-virada-config-root .season-budget-panel .budget-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  #mco-virada-config-root .mco-next-shell{
    padding:0 16px;
  }
  #mco-virada-config-root .season-budget-panel .budget-grid{
    grid-template-columns:1fr;
  }
  #mco-virada-config-root .season-field .season-name-input{
    width:100%;
  }
}

/* Confirmação de início de temporada: primeira temporada e virada. */
dialog.mco-start-season-confirmation{
  text-align:center;
}
dialog.mco-start-season-confirmation h2{
  margin:0 0 18px;
  text-align:center;
}
dialog.mco-start-season-confirmation p{
  max-width:50ch;
  margin:0 auto 12px;
  text-align:center;
}
dialog.mco-start-season-confirmation .actions{
  margin-top:32px;
  justify-content:center;
}

/* Acompanhamento modal e bloqueante da inicialização atômica da virada. */
dialog.mco-next-processing-dialog{
  text-align:center;
  width:min(580px,calc(100% - 30px));
  border:1px solid #425564;
  background:linear-gradient(145deg,#1c272e,#101619);
}
dialog.mco-next-processing-dialog .mco-next-processing-content{
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:14px;
  padding:12px 0;
}
dialog.mco-next-processing-dialog h2{
  margin:5px 0 0;
  line-height:1.25;
}
dialog.mco-next-processing-dialog p{
  margin:0 auto;
  max-width:46ch;
  line-height:1.6;
  color:var(--muted);
}
.mco-next-processing-spinner{
  width:46px;
  height:46px;
  border:4px solid #273c50;
  border-top-color:#62a8ec;
  border-radius:50%;
  animation:mco-next-spinning 900ms linear infinite;
}
@keyframes mco-next-spinning{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .mco-next-processing-spinner{animation-duration:2.5s}
}

/* Aviso de saída definitiva do participante após a virada coletiva. */
.season-removed-world{
  min-height:calc(100vh - 230px);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:36px 20px 80px;
}
.season-removed-world-card{
  width:min(640px,100%);
  background:linear-gradient(155deg,#1e2931,#121a20);
  border:1px solid var(--border);
  border-radius:20px;
  padding:36px 28px;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:20px;
  align-items:center;
}
.season-removed-world-card h1{font-size:clamp(20px,3vw,27px);margin:0}
.season-removed-world-card p{color:var(--muted);margin:0;line-height:1.5}
.season-removed-world-card button{max-width:100%;white-space:normal}

/* Garantir que o botão global Logout não seja mostrado depois da saída. */
body:has(.season-removed-world) #logout-btn{display:none !important;}


/* Quadro de carregamento durante inicialização e mudança de páginas. */
.mco-loading-overlay[hidden]{display:none!important}
.mco-loading-overlay{
  position:fixed;inset:0;z-index:12000;display:grid;place-items:center;
  background:rgba(9,9,10,.76);backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.mco-loading-card{
  min-width:min(280px,85vw);min-height:154px;padding:28px 42px;
  box-sizing:border-box;display:flex;flex-direction:column;
  justify-content:center;align-items:center;gap:20px;text-align:center;
  border:1px solid rgba(202,216,228,.25);border-radius:22px;
  color:#f5f7f9;background:linear-gradient(145deg,#38424a,#232a30);
  box-shadow:0 0 36px rgba(145,175,199,.14),0 24px 70px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.15);
  font-size:23px;font-weight:750;letter-spacing:.2px;
}
.mco-loading-spinner{
  width:35px;height:35px;border-radius:50%;
  border:3px solid rgba(223,231,239,.18);border-top-color:#cedce7;
  animation:mco-loading-spin 1s linear infinite;
}
@keyframes mco-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .mco-loading-spinner{animation:none;border-color:#cedce7}
}
/* Saldo visível exclusivamente na aba principal Financeiro do Clube. */
.season-club-current-balance{
  width:min(320px,95%);margin:0 auto 15px;padding:13px 18px;
  display:flex;flex-direction:column;gap:5px;align-items:center;
  box-sizing:border-box;border:1px solid rgba(160,194,214,.28);
  border-radius:14px;background:linear-gradient(150deg,#314452,#263440);
  box-shadow:0 8px 25px rgba(0,0,0,.18);text-align:center;
}
.season-club-current-balance span{font-size:14px;font-weight:650;color:#d4e0e9}
.season-club-current-balance strong{font-size:22px;font-weight:800;color:#fff}
.season-club-current-balance strong.is-negative{color:#fa626b}


/* Tela inicial do mundo: mensagem de entrada e aviso futuro. */
.season-world-welcome{
  width:min(960px,calc(100% - 40px));
  margin:32px auto 0;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.season-world-welcome h1{
  margin:0;line-height:1.18;font-size:clamp(27px,3vw,39px);
  font-weight:800;color:#fafafa;letter-spacing:-.7px;
}
.season-world-welcome p{
  margin:12px 0 0;font-size:clamp(15px,1.4vw,19px);
  color:#d2dae0;font-weight:500;
}
.season-world-welcome-notice{
  margin:55px auto 0;width:min(680px,100%);
  padding:24px 28px;box-sizing:border-box;
  background:linear-gradient(150deg,#263f50,#1b2b38);
  border:1px solid rgba(97,166,211,.55);
  color:#eaf5ff;border-radius:16px;
  font-size:16px;font-weight:650;line-height:1.4;
  box-shadow:0 10px 30px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.1);
}
/* Escudo em destaque no lugar do nome da liga no menu lateral. */
.season-sidebar{overflow-y:auto;overscroll-behavior:contain}
.season-sidebar-header{
  min-height:98px;margin-bottom:13px;
}
.season-sidebar-header .season-sidebar-club-crest{
  display:block;width:86px;height:86px;max-width:100%;
  object-fit:contain;margin:auto;
}
.season-sidebar-header .season-sidebar-crest-fallback{font-size:48px}
.season-sidebar-link.is-exit{color:#e1e6ec;font-weight:700}
.season-sidebar-link.is-exit:hover:enabled{color:#fff}
/* Confirmação de retorno à página inicial do MCO. */
.season-exit-overlay{
  position:fixed;inset:0;z-index:4000;
  display:grid;place-items:center;background:rgba(0,0,0,.73);
  backdrop-filter:blur(5px);padding:18px;box-sizing:border-box;
}
.season-exit-dialog{
  width:min(480px,100%);padding:27px 30px 25px;
  box-sizing:border-box;text-align:center;
  background:linear-gradient(145deg,#35424b,#222b32);
  border:1px solid rgba(185,204,217,.36);border-radius:18px;
  box-shadow:0 25px 70px #000a,0 0 22px rgba(127,166,195,.12);
}
.season-exit-dialog h2{font-size:23px;color:#fff;margin:0 0 13px}
.season-exit-dialog p{font-size:15px;line-height:1.5;color:#dce4ec;margin:0 0 24px}
.season-exit-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.season-exit-actions button{
  min-width:138px;padding:11px 18px;border-radius:10px;
  background:#2b3945;border:1px solid #657c8a;color:#fff;box-shadow:none;
  font-weight:700;
}
.season-exit-actions [data-season-exit-confirm]{background:#1c608a;border-color:#3489b7}
.season-exit-actions button:hover:enabled{filter:brightness(1.2)}
/* Identidade sutil dos títulos de seções: linhas nas laterais. */
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1){
  display:flex;align-items:center;justify-content:center;
  gap:clamp(9px,1.7vw,20px);
  text-shadow:0 0 20px rgba(190,212,228,.11);
}
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::before,
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::after{
  content:"";width:clamp(18px,6vw,75px);height:7px;
  flex:0 1 auto;opacity:.75;
}
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::before{
  background:linear-gradient(90deg,transparent,rgba(172,196,212,.55));
}
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::after{
  background:linear-gradient(90deg,rgba(172,196,212,.55),transparent);
}
@media(max-width:700px){
  .season-sidebar-header .season-sidebar-club-crest{width:70px;height:70px}
  .season-sidebar-header{min-height:80px}
  .season-world-welcome{margin-top:26px}
  .season-world-welcome-notice{margin-top:38px;padding:18px}
  .season-exit-dialog{padding:25px 17px}
}
#logout-btn{display:none!important}


/* Refinamento do menu lateral: escudo menor, mais alto e opções compactas. */
@media(min-width:701px){
  .season-sidebar{
    padding:16px 20px 14px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .season-sidebar-header{
    min-height:76px;
    margin:0 4px 13px;
  }
  .season-sidebar-header .season-sidebar-club-crest{
    width:70px;
    height:70px;
  }
  .season-sidebar-link{
    min-height:clamp(48px,7.7vh,65px);
    padding:8px 9px;
    font-size:15.5px;
  }
}
@media(min-width:701px) and (max-height:660px){
  .season-sidebar{padding:12px 20px}
  .season-sidebar-header{min-height:64px;margin-bottom:6px}
  .season-sidebar-header .season-sidebar-club-crest{width:60px;height:60px}
  .season-sidebar-link{min-height:46px;padding:5px 8px;font-size:14.5px}
}
/* Linhas laterais contínuas, sem pontos, com fade suave nas duas pontas. */
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::before,
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::after{
  width:clamp(30px,8vw,130px);
  height:6px;
  opacity:.86;
}
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::before{
  background:linear-gradient(90deg,
    transparent 0%,rgba(153,185,204,.10) 20%,
    rgba(171,202,218,.40) 58%,rgba(171,202,218,.25) 79%,
    transparent 100%) center / 100% 1px no-repeat;
}
:is(.season-roster-page > .season-roster-title,
    .season-market-page > .season-market-title,
    .season-base-heading > h1,
    .season-club-heading > h1,
    .season-calendar-heading > h1,
    .season-competition-heading > h1,
    .season-federacao-heading > h1)::after{
  background:linear-gradient(90deg,
    transparent 0%,rgba(171,202,218,.25) 21%,
    rgba(171,202,218,.40) 42%,rgba(153,185,204,.10) 80%,
    transparent 100%) center / 100% 1px no-repeat;
}

/* Logo e saída das telas anteriores à temporada; cabeçalho da temporada é independente. */
.topbar .brand{display:flex;align-items:center;justify-content:center;min-width:0;line-height:1;padding:0;box-shadow:none}
.topbar .brand-image{display:block;width:195px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 1px 8px rgba(255,255,255,.06))}
.topbar-end{justify-self:end;display:flex;align-items:center;justify-content:flex-end;min-width:0}
.topbar-exit{min-width:96px;min-height:42px;padding:9px 18px;font-size:14px}
.home-screen .topbar .brand-image{width:290px;max-width:80vw}
.mco-setup-exit-dialog{margin:auto;max-width:calc(100vw - 32px);color:#f2f2f2}
.mco-setup-exit-dialog::backdrop{background:rgba(0,0,0,.73);backdrop-filter:blur(5px)}
.season-exit-actions [data-setup-exit-confirm]{background:#1c608a;border-color:#3489b7}
@media(max-width:560px){
  .topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:95px;gap:8px;padding:14px 0}
  .topbar .brand{grid-column:2;grid-row:1}
  .topbar .brand-image{width:150px;max-width:42vw}
  .topbar-end{grid-column:3;grid-row:1}
  .topbar-exit{min-width:60px;min-height:36px;padding:7px 10px;font-size:12px}
  .home-screen .topbar .brand-image{width:230px;max-width:80vw}
}

/* Identificação da versão de testes na Home, logo abaixo da marca oficial. */
.home-screen .topbar .brand{position:relative}
.home-screen .topbar .brand .home-alpha-label{
  position:absolute;
  top:calc(100% + 20px);
  left:50%;
  transform:translateX(-50%);
  margin:0;
  width:max-content;
  color:#b9c3cb;
  font-size:13px;
  line-height:1.25;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:none;
  white-space:nowrap;
  pointer-events:none;
}
@media(max-width:560px){
  .home-screen .topbar .brand .home-alpha-label{
    top:calc(100% + 13px);
    font-size:11px;
    letter-spacing:.12em;
  }
}
