/* Identidade fornecida pelo proprietário: verde, lima, creme e Capi. */
.team-avatar { position:relative; overflow:hidden; }
.team-avatar.has-team-logo { background:#fff; border:1px solid var(--line); }
.team-avatar > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; padding:3px; background:#fff; }
.team-avatar.has-team-logo > [data-team-abbreviation] { visibility:hidden; }
.team-logo-editor { display:grid; grid-template-columns:132px minmax(0,1fr); align-items:start; gap:24px; margin-bottom:28px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.team-logo-preview { text-align:center; }
.logo-preview-avatar { width:120px; height:120px; border-radius:18px; font-size:1.2rem; }
.logo-preview-avatar > img { padding:8px; }
.team-logo-caption { display:block; margin-top:8px; color:var(--muted); font-size:.75rem; }
.team-logo-fields { min-width:0; margin-bottom:0!important; }
.team-logo-fields input[type=file] { overflow:hidden; font-size:.875rem; }
.team-logo-fields input[type=file]::file-selector-button { border:0; border-radius:5px; background:#e6eddf; color:var(--ink); padding:7px 10px; margin-right:12px; cursor:pointer; }
.app-form .team-logo-remove { display:flex; align-items:center; gap:10px; min-height:44px; margin:12px 0 0; }
.app-form .team-logo-remove input { flex-shrink:0; width:18px; height:18px; accent-color:var(--green); }
.app-form .team-logo-remove > span { color:var(--ink); font-weight:500; }
.team-logo-clear { margin-top:12px; }
.team-logo-fields [data-logo-status]:empty { display:none; }
.team-logo-fields [data-logo-status].logo-error { color:#a6422d; }
.fixture-team-stack { display:flex; flex-direction:column; gap:9px; }
.fixture-team-stack .team-cell { gap:9px; }
.winner-option > .team-avatar { margin-left:auto; }
@media(max-width:600px) { .team-logo-editor { grid-template-columns:1fr; gap:18px; } .team-logo-preview { text-align:left; } .logo-preview-avatar { width:96px; height:96px; } }
.championship-summary { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; padding:20px 24px; margin-bottom:24px; border-radius:14px; background:var(--deep); color:#fff; }
.championship-summary strong { color:var(--lime); font-size:1.5rem; margin-right:5px; }
.championship-summary a { color:var(--lime); min-height:44px; display:inline-flex; align-items:center; }
.championship-section,.championship-notes { margin-bottom:24px; scroll-margin-top:24px; }
.championship-notes { padding:24px; }
.championship-notes h2 { font-size:1rem; }
.championship-notes p { margin-bottom:0; overflow-wrap:anywhere; }
.championship-setup { display:grid; grid-template-columns:1fr 2fr; gap:28px; padding:0 24px 24px; }
.championship-setup h3,.championship-group h3 { font-size:1rem; font-weight:700; }
.championship-setup .app-form { min-width:0; }
.championship-setup small,.championship-side small { display:block; color:var(--muted); font-size:.875rem; margin-top:8px; }
.championship-groups { padding:0 24px 24px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px; }
.championship-group { border:1px solid #dce4d6; border-radius:12px; padding:18px; min-width:0; }
.championship-group h3 { display:flex; justify-content:space-between; gap:16px; border-bottom:3px solid var(--lime); padding-bottom:12px; }
.championship-group h3 span { color:var(--muted); }
.championship-group ul { padding:0; margin:0; list-style:none; }
.championship-group li { display:flex; align-items:center; gap:12px; padding:10px 0; overflow-wrap:anywhere; }
.championship-hint { padding:0 24px 12px; color:var(--muted); }
.championship-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.championship-actions .btn { font-size:.875rem; min-height:44px; }
.championship-pagination { display:flex; gap:20px; align-items:center; justify-content:center; flex-wrap:wrap; }
.championship-pagination a { padding:10px; }
.championship-side { border:1px solid #dce4d6; border-radius:12px; padding:20px; margin:12px 0 24px; }
.championship-side legend { float:none; width:auto; padding:0 8px; font-size:1rem; font-weight:700; }
.championship-side .field { margin-bottom:0; }
.championship-table td { white-space:normal; min-width:130px; }
.championship-table td:nth-child(3) { min-width:220px; }
.admin-main .page-heading h1 { overflow-wrap:anywhere; }
@media(max-width:900px) { .championship-setup { grid-template-columns:1fr; } }
@media(max-width:600px) { .championship-summary { padding:18px; gap:12px 20px; } .championship-side { padding:16px; } .championship-setup,.championship-groups { padding-inline:18px; } .championship-side .form-grid { gap:20px; } }
.capivara .brand-official { display: inline-flex; flex-shrink: 0; padding: 0; background: var(--deep); max-width: 100%; }
.brand-window { display: block; width: 230px; max-width: 100%; }
.brand-art { display: block; width: 100%; height: auto; }
.admin-sidebar > .brand-official { padding: 0 8px; }
.admin-sidebar .brand-window { width: 190px; }
.auth-side > .brand-official { align-self: flex-start; }
.capivara .btn-lime:hover { background: #c7f174; }
.capivara .btn-dark-green:hover { background: #1b5140; }
.capivara .eyebrow { color: #53664b; font-size: .8125rem; }
.capivara .eyebrow.light { color: #c0d4aa; }
.capivara :focus-visible { outline-color: #659331; }
.capivara .brand-official { min-height: 44px; }
.site-header-inner { gap: 28px; }
.games-layout { align-items: start; }
.auth-brand-side { padding: 36px 9%; overflow: hidden; }
.auth-brand-side .auth-intro { padding: 30px 0 12px; width: 100%; }
.auth-brand-side .auth-intro h1 { font-size: clamp(2.3rem, 3.5vw, 3.5rem); margin: 14px 0; letter-spacing: -.04em; }
.auth-brand-side .auth-intro p { max-width: 350px; color: #c1d0c5; }
.auth-mascot { display: block; width: min(100%, 400px); height: auto; margin: 12px auto 0; border-radius: 16px; }
.auth-brand-side .auth-caption { flex-wrap: wrap; font-size: .75rem; color: #a5bcaa; }
.capivara .login-help { color: #58694e; font-size: .875rem; }
.capivara .auth-footer { color: #58694e; font-size: .875rem !important; }
.brand-app-card { padding: 24px; overflow: hidden; }
.home-mascot { display: block; width: 100%; height: auto; border-radius: 12px; margin: 18px auto 0; }
.brand-app-card h2 { color: var(--lime); font-size: 2rem; margin-top: 18px; }
.brand-app-card p { color: #c1d0c5; }
.official-app-icon { display: block; border-radius: 22%; width: 120px; height: auto; }
.offline-brand { display: block; width: 88px; height: 88px; border-radius: 22%; margin: 0 auto 24px; }
.admin-sidebar .sidebar-label, .admin-sidebar .version-label { color: #a1b49e; }
@media (max-width: 1150px) {
    .site-header-inner { gap: 22px; }
    .site-header .brand-window { width: 205px; }
    .site-nav { gap: 22px; margin-right: 12px; }
    .admin-sidebar .brand-window { width: 170px; }
    .auth-brand-side { padding-inline: 7%; }
}
@media (max-width: 760px) {
 .public-aside { display: block; }
    .auth-brand-side { padding: 22px 25px; }
    .auth-brand-side .auth-intro { display: none; }
    .auth-brand-side .brand-window { width: 230px; }
 .site-header-inner { column-gap: 12px; row-gap: 0; }
 .site-header .brand-window { width: 170px; }
 .site-account-actions { width: auto; gap: 12px; margin: 0 0 0 auto; }
 .site-account-actions .btn { padding: 9px 10px; min-height: 44px; gap: 6px; }
 .site-account-actions .site-login-link { display: inline-flex; align-items: center; min-height: 44px; }
 .site-account-actions .btn > i { display: none; }
    .admin-sidebar .brand-window { width: 190px; }
    .brand-app-card { display: grid; grid-template-columns: 1fr 120px; align-items: center; column-gap: 18px; }
    .brand-app-card .eyebrow, .brand-app-card h2, .brand-app-card p { grid-column: 1; }
    .home-mascot { grid-column: 2; grid-row: 1 / 4; margin: 0; }
    .brand-app-card .btn { grid-column: 1 / -1; }
    .brand-app-card h2 { font-size: 1.7rem; }
    .official-app-icon { width: 84px; }
}
@media (max-width: 380px) {
 .site-header .brand-window { width: 145px; }
 .site-account-actions { gap: 8px; }
 .site-account-actions .btn { font-size: .8125rem; padding-inline: 8px; }
    .brand-app-card { grid-template-columns: 1fr 90px; column-gap: 12px; padding: 20px; }
}
