/* Camada visual canônica. Carregada por último para encerrar conflitos entre temas legados. */
html{color-scheme:light}body{color:var(--ui-text);background:var(--ui-bg)}
.main,.content,.view,.jogo-view{min-width:0}.view,.jogo-view{color:var(--ui-text)}
.section-brand{min-height:58px;margin:0 0 12px!important;padding:9px 12px;border:1px solid #294d76!important;border-radius:var(--ui-radius);background:var(--ui-dark)!important;box-shadow:none}.section-brand>img:first-child{width:42px;height:42px}.section-brand>img:last-child{width:30px;height:30px}.section-brand small{color:#f2cf72;font-size:9px}.section-brand strong{color:var(--fce-neutral-100)!important;font-size:15px;line-height:1.25}
.panel,.card,.info-box,.doc-card,.inline-form,.ficha-tab-body{color:var(--ui-text)!important;border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)!important}.panel{margin-bottom:14px}.panel-head{min-height:54px;padding:9px 14px;border-bottom:1px solid #294d76!important;border-radius:0!important;background:var(--ui-dark)!important;color:var(--fce-neutral-100)!important}.panel-head h2,.panel-head h3,.panel-head h4{margin:0;color:var(--fce-neutral-100)!important;font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.25;letter-spacing:0!important;text-transform:none}.panel-head small,.panel-head p{color:#d6e2ef!important;font-size:10px;line-height:1.35}.panel-head-actions{gap:6px!important;padding:0!important}.panel-body{padding:14px;color:var(--ui-text);background:var(--ui-surface)!important}
h1,h2,h3,h4,h5,h6{color:var(--ui-text);line-height:1.25}.panel-eyebrow,.eyebrow{color:var(--ui-primary);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}p{line-height:1.5}.muted,small{color:var(--ui-muted)}
label{margin:9px 0 5px;color:#33465d!important;font-size:11px;font-weight:800!important;line-height:1.3!important;letter-spacing:0!important;opacity:1!important}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--ui-line-strong)!important;border-radius:8px!important;background:var(--fce-neutral-100)!important;color:var(--fce-blue-18-a)!important;font:500 12px/1.4 Inter,Arial,sans-serif!important;box-shadow:none}input,select{padding:0 10px!important}textarea{min-height:76px;padding:9px 10px!important}input::placeholder,textarea::placeholder{color:#5f7186!important;opacity:1}input:disabled,select:disabled,textarea:disabled,input[readonly]{background:#edf2f7!important;color:#475a70!important}input:focus,select:focus,textarea:focus{border-color:var(--ui-focus)!important;outline:3px solid rgba(37,111,189,.2)!important;outline-offset:0!important}
.btn{min-height:38px;height:auto!important;padding:7px 12px;border:1px solid var(--ui-primary)!important;border-radius:8px;background:var(--ui-primary)!important;color:var(--fce-neutral-100)!important;font:800 11px/1.2 Inter,Arial,sans-serif!important;box-shadow:none!important}.btn:hover{border-color:var(--ui-primary-hover)!important;background:var(--ui-primary-hover)!important;color:var(--fce-neutral-100)!important;transform:none!important}.btn.secondary,.btn.ghost{border-color:var(--ui-line-strong)!important;background:var(--fce-neutral-100)!important;color:#244766!important}.btn.secondary:hover,.btn.ghost:hover{border-color:#7894af!important;background:#eef4f9!important;color:var(--fce-blue-25)!important}.btn.gold,.btn.primary{border-color:#ad8424!important;background:var(--ui-gold)!important;color:#182842!important}.btn.red{border-color:#d5a3aa!important;background:#fff2f3!important;color:var(--ui-danger)!important}.btn.green{border-color:#8fc8ae!important;background:#edf9f3!important;color:#086a44!important}.btn.textual{border-color:transparent!important;background:transparent!important;color:var(--ui-primary)!important}.btn.sm{min-height:34px;padding:6px 10px;font-size:10px}.btn:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(37,111,189,.3)!important;outline-offset:2px!important}
.tabs{display:grid;gap:8px;margin:0 0 14px;padding:7px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--fce-blue-94)}.tab{min-height:64px;padding:10px 12px;border:1px solid transparent!important;border-radius:9px!important;background:var(--ui-soft)!important;color:var(--ui-text)!important;box-shadow:none;text-align:left}.tab small{display:block;margin:0 0 3px!important;color:var(--ui-subtle);font-size:9px;font-weight:900}.tab strong{color:#2b4057;font-size:12px;line-height:1.25}.tab:hover{border-color:var(--fce-blue-69)!important;background:var(--fce-neutral-100)!important;transform:none!important}.tab.active{border-color:#4b82ba!important;background:var(--fce-neutral-100)!important;color:var(--ui-primary)!important;box-shadow:0 2px 8px rgba(28,73,119,.1)!important}.tab.active small,.tab.active strong{color:var(--ui-primary)}
.toolbar,.finance-filters,.finance-report-filters{gap:9px;padding:10px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-soft)}
.table-wrap{overflow:auto;border:1px solid var(--ui-line);border-radius:10px;background:var(--fce-neutral-100)}.table-wrap table,table{border-collapse:collapse!important;background:var(--fce-neutral-100)!important;color:var(--ui-text)!important}th{padding:10px 11px!important;border-bottom:1px solid var(--ui-line)!important;background:#edf2f7!important;color:#40556b!important;font-size:9px!important;font-weight:900!important;letter-spacing:.05em!important}td{padding:10px 11px!important;border-bottom:1px solid var(--fce-blue-93-b)!important;background:var(--fce-neutral-100)!important;color:#263a50!important;font-size:11px!important}tbody tr:hover td{background:var(--fce-blue-98-a)!important}
details{color:var(--ui-text)}details>summary{color:#264765!important;font-size:11px!important;font-weight:850!important}details[open]>summary{border-bottom-color:var(--ui-line)!important}.badge,.finance-status{border:1px solid #c8d5e1!important;background:var(--fce-blue-95-a)!important;color:#314b64!important}.badge.green,.finance-status.ok{border-color:#a7d5bf!important;background:#eaf8f1!important;color:#086a44!important}.badge.off,.finance-status.late{border-color:#e2b2b7!important;background:var(--fce-red-97)!important;color:#a51e29!important}.empty-state,.finance-empty{color:var(--ui-muted)!important;background:var(--fce-blue-98-a)!important;border-color:var(--fce-blue-78)!important}
.modal{background:rgba(9,25,45,.68)!important}.modal-box{border:1px solid var(--ui-line)!important;border-radius:14px;background:var(--fce-neutral-100)!important}.modal-head{min-height:54px;padding:10px 14px!important;background:var(--ui-dark)!important;color:var(--fce-neutral-100)!important}.modal-head h2,.modal-head h3{color:var(--fce-neutral-100)!important;font-family:Inter,Arial,sans-serif;font-size:18px}.modal-body{padding:14px!important;background:var(--fce-neutral-100)!important;color:var(--ui-text)!important}
/* Superfícies operacionais escuras preservam contraste próprio. */
.training-editor>header,.field-panel .formation-bar,.unified-lineup-head,.unified-roster,.training-workspace.field-mode .training-savebar{background:var(--ui-dark)!important;color:var(--fce-neutral-100)!important}.training-editor>header h4,.training-editor>header p,.unified-lineup-head h3,.unified-lineup-head p{color:var(--fce-neutral-100)!important}.training-editor>header small,.unified-lineup-head small{color:#f2cf72!important}.field-panel,.training-editor,.training-block,.training-library,.postgame-box,.match-staff-fields{border-color:var(--ui-line)!important}.training-block{background:var(--fce-neutral-100)!important}.training-block>header{background:var(--fce-blue-95-a)!important}.training-board,.field{color:var(--fce-neutral-100)}
@media(max-width:900px){.panel-head{align-items:flex-start}.panel-head-actions{width:100%;display:flex;overflow-x:auto}.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-4,.form-row-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.content{padding-inline:8px!important}.panel-body{padding:10px!important}.panel-head{padding:9px 10px!important}.panel-head h2,.panel-head h3{font-size:16px!important}.tabs{gap:6px;padding:6px}.tab{min-height:58px!important;padding:8px!important}.form-row,.form-row-4,.form-row-3{grid-template-columns:1fr!important}.btn{min-height:42px!important}.toolbar{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.form-quick-checks{border:1px solid #cbd8e8;border-radius:10px;padding:12px;margin:0 0 11px}.form-quick-checks legend{padding:0 5px;font-size:12px;font-weight:850;color:#263b59}.form-quick-checks>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:8px}.form-quick-checks label{display:flex;align-items:center;gap:7px;margin:0;font-size:12px}.form-quick-checks input{width:18px;height:18px;flex:0 0 auto}.form-field-help{display:block;color:var(--fce-blue-47-a);font-size:11px;line-height:1.4;margin:2px 0 6px}@media(max-width:640px){.form-quick-checks>div{grid-template-columns:1fr}}

/* Colisão de cascata: theme-premium e theme-dark-forms pintam estes cartões
   como superfície escura e dão texto claro aos descendentes. Dezessete folhas
   depois, esta aqui vira o fundo para claro — e o !important do `color` só
   alcança o próprio cartão, porque herança perde para qualquer regra que mire
   o descendente. O resultado eram oito títulos de relatório brancos sobre
   branco. A cor do texto passa a viajar junto com o fundo que a exige. */
.panel strong,.card strong,.info-box strong,.doc-card strong,.inline-form strong,.ficha-tab-body strong,.field-panel strong{color:var(--ui-text)!important}
.panel p,.card p,.info-box p,.doc-card p,.inline-form p,.ficha-tab-body p,.field-panel p,.info-box small,.field-panel small{color:var(--ui-muted)!important}

/* Mesma colisão do bloco acima, em dois descendentes que ficaram de fora na
   primeira passada: theme-dark-forms pinta `.modal-body label` de var(--fce-blue-93-a) e
   `.panel-body p` de #a9bbdd para um fundo escuro que esta folha depois troca
   por branco. Davam 1.24:1 e 1.94:1 — texto praticamente invisível no editor
   genérico e no corpo dos painéis. */
.modal-body label{color:var(--ui-text)!important}
.panel-body p{color:var(--ui-muted)}
