/* ==================================================================
   TAÇA DAS PELADINHAS · V38
   Visual-only enhancement. Kept separate for simple rollback.
   No forms, event handlers, security configuration or data changes.
   ================================================================== */
:root {
  --polish-border: #303741;
  --polish-border-soft: #262d36;
  --polish-surface: #171b21;
  --polish-surface-lift: #1b2027;
  --polish-surface-deep: #11151a;
  --polish-yellow: #f4c846;
  --polish-muted: #aeb7c4;
  --polish-radius: 15px;
}
html { scroll-padding-top: 96px; }
body { letter-spacing: -.008em; }
::selection { color:#141414; background:#f5ca43; }
:is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid #f8d45d !important;
  outline-offset: 3px;
}
:is(button,a,summary) { -webkit-tap-highlight-color: transparent; }
button:not(:disabled) { touch-action: manipulation; }
button:disabled { cursor:not-allowed; }
/* Brand remains the original picture-based lockup, without text distortion. */
.header { box-shadow: 0 3px 24px rgba(0,0,0,.19); }
.header .brand-lettering { filter: drop-shadow(0 1px 1px rgba(0,0,0,.24)); }
.nav a { transition: background-color .15s ease, color .15s ease; }
.nav a.active { box-shadow: inset 0 -2px 0 rgba(244,200,70,.85); }
/* A single consistent material vocabulary across the public interface. */
#public-content .card,
#public-content .match-card,
#public-content .team-card,
#public-content .fan-league-box,
#public-content .standings-focus,
#public-content .competition-bracket,
#public-content .phase-preview {
  border-color: var(--polish-border) !important;
  border-radius: var(--polish-radius) !important;
  background-color: var(--polish-surface) !important;
}
#public-content .section-head h2 { letter-spacing:-.037em; line-height:1.12; }
#public-content .section-head .eyebrow { color:#eac24d; font-size:10px; letter-spacing:.15em; }
#public-content .section-head { gap:14px; }
#public-content .section-head p { color:#abb4c2; line-height:1.55; }
/* Opening bar + featured match: compact, higher perceived quality. */
#inicio.league-infobar {
  border-radius:14px !important;
  border:1px solid #353d47 !important;
  background: linear-gradient(115deg,rgba(31,36,43,.98),rgba(22,26,32,.98)) !important;
}
.league-infobar-main #hero-desc { line-height:1.5; }
.league-infobar-meta { color:#bfc6d1; }
#jogo-destaque #live-feature {
  background: linear-gradient(155deg,#1b2027,#151920) !important;
  border-radius:17px !important;
  box-shadow:0 12px 36px rgba(0,0,0,.16) !important;
}
.feature-score, #jogo-destaque .feature-score { font-variant-numeric: tabular-nums; }
#jogo-destaque .feature-foot { border-color:#343b44; }
.feature-actions .button, .feature-actions button { white-space:nowrap; }
/* Both classification boards share tone, spacing and crisp dividers. */
.dual-trophies { gap:18px !important; }
.dual-trophies .standings-focus,
.dual-trophies .fan-league-box { box-shadow:0 8px 28px rgba(0,0,0,.09); }
.dual-trophy-section .section-head { margin-bottom:13px!important; }
.competition-switch { background:#131820; border-color:#343a45; border-radius:11px; }
.competition-switch-btn { border-radius:9px; }
#full-standing .league-table,
#full-standing-extra .league-table { width:100%; }
.league-table thead th {
  background:#1b2027 !important;
  color:#bac3ce !important;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.league-table td { border-color:#303740; font-variant-numeric:tabular-nums; }
.league-table tbody tr { transition:background-color .15s ease; }
.league-table tbody tr:hover { background-color:rgba(248,202,67,.055); }
.standing-details summary, .phase-preview summary { font-weight:750; }
.standing-details summary:hover, .phase-preview summary:hover { color:#f4d578; }
.dual-trophies .fan-league-box { background:linear-gradient(180deg,#1b2027,#151a20)!important; }
.dual-trophies .fan-league-head { border-color:#353b45; }
.dual-trophies .fan-league-head h3 { font-size:19px; font-weight:850; }
.dual-trophies .fan-league-row { border-color:#2c333d; }
.fan-league-row:hover { background:rgba(248,202,67,.035); }
.fan-league-meter { height:6px; background:#343943; }
.fan-league-meter span { background:linear-gradient(90deg,#ad8621,#f8d054); }
/* Calendar: gentle hover and density, without hiding controls or scores. */
#calendario .schedule-round-select { background-color:#20252e!important; border-color:#3c4550!important; }
#calendario .schedule-arrows button { background:#20252b; border-color:#3b434e; }
#schedule .match-card {
  border-color:var(--polish-border) !important;
  background:linear-gradient(175deg,#1b1f26,#161b21)!important;
  transition:border-color .16s ease, box-shadow .16s ease;
}
#schedule .match-card:hover { border-color:#736137!important; box-shadow:0 5px 16px rgba(0,0,0,.14); }
#schedule .match-card-head { color:#b0bac8!important; }
#schedule .match-score { box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
#schedule .match-detail-link, .match-detail-link { font-weight:800; }
#schedule .journey-group > .phase-header { border-bottom-color:#323943; }
/* Player statistics: same components and typographic scale. */
.stats-duo-grid { gap:18px; }
.stats-card { border:1px solid var(--polish-border)!important; border-radius:var(--polish-radius)!important; background:#181c22!important; }
.stats-card-head { padding:10px 6px 14px; border-bottom:1px solid #343b45; }
.stats-card-head h3 { color:#f3f5f7; letter-spacing:-.025em; }
.stats-card .scorer-line { padding:13px 5px; border-color:#2e3540; min-height:61px; }
.stats-card .scorer-line:last-child { border-bottom:0; }
.stats-card .scorer-name { min-width:0; }
.stats-card .scorer-name strong { line-height:1.3; overflow-wrap:anywhere; }
.stats-card .scorer-place { color:#b1bbc9; }
.stats-card .scorer-total { color:#f7ce50; min-width:38px; text-align:right; }
/* Bracket & team list: readable identity, not bulky tiles. */
.mini-bracket-match, .bracket-match { background:#191e25; border-color:#353e49; }
.mini-bracket-match.is-final, .final-match { border-color:#9b7e36; }
.mini-bracket-meta { color:#b9c2ce; }
.mini-bracket-team.is-winner { color:#f4d274; }
.team-grid .team-card { border-color:var(--polish-border)!important; background:#1a1e25!important; }
.team-grid .team-card:hover { border-color:#867039!important; background:#20242b!important; }
.team-grid .team-card strong { letter-spacing:-.01em; }
.team-card-open { font-size:11px; }
/* Sponsor slots stay integrated and collapse when empty. */
.sponsor-placement:not([hidden]) { border-color:#303743!important; background:#181c22!important; }
.sponsor-inline-card { background:#1c2129!important; border-color:#343a43!important; }
.sponsor-inline-card:hover { border-color:#8b763e!important; }
/* Admin: hierarchy + responsive controls, preserve sidebar behavior. */
.admin-body { color:#eef1f5; }
.sidebar { background:#101318!important; border-right-color:#303640!important; }
.side-menu { gap:3px; }
.side-menu button { border-radius:11px; transition:background-color .14s ease,color .14s ease; }
.side-menu button.active { background:#24252a!important; color:#ffdf79!important; box-shadow:inset 3px 0 0 #f2c544; }
.side-menu button:hover:not(.active) { background:#1c222b; }
.side-bottom { border-color:#30353f; }
.admin-main { padding-top:30px; }
.admin-top { padding-bottom:22px; border-bottom-color:#303741; gap:16px; }
.admin-page-title { font-size:clamp(33px,3vw,44px); line-height:1.1; letter-spacing:-.04em; }
.admin-page-desc { color:#b2bbc8!important; line-height:1.5; }
.admin-status { flex-wrap:wrap; gap:8px; }
.admin-main .card,
#modal-container .modal,
#admin-content .match-card,
#admin-content .team-card,
#admin-dashboard .kpi {
  background:#191d24;
  border-color:#303741;
  border-radius:15px;
}
.admin-headline { gap:12px; align-items:center; }
.admin-headline h3 { font-size:24px; line-height:1.18; }
#admin-content .fine, #admin-content .small-muted { line-height:1.5; }
#admin-content .toolbar { gap:13px; }
#admin-content .section-card-head { background:#1c2128; border-bottom-color:#343b45; }
#admin-content .section-card-head h3 { font-size:16px; }
#admin-content .table-wrap { border-color:#303743; background:#161a21; }
#admin-content .admin-table th { background:#1e232b; color:#bac4d0; letter-spacing:.07em; }
#admin-content .admin-table td { border-color:#303742; }
#admin-content .admin-table tbody tr:hover { background:#222832; }
#admin-content .button.ghost { background:#1d222b; }
#admin-content .button.ghost:hover { background:#272d37; border-color:#5d6470; }
#admin-content .editor-match { border-bottom-color:#313843; }
#admin-content .quick-goal-team { background:#171b22; border-color:#333a46; }
#admin-content .goal-editor-event { background:#1d222b; }
#admin-content .goal-editor-timeline { gap:8px; }
#admin-content label, #modal-container label { color:#cad1db; }
#admin-content input, #admin-content textarea, #admin-content select,
#modal-container input, #modal-container textarea, #modal-container select {
  border-color:#3b434e; background:#11161d; color:#f2f4f7;
}
#admin-content input::placeholder,#modal-container input::placeholder { color:#929ba9; }
#admin-content input:focus,#admin-content textarea:focus,#admin-content select:focus,
#modal-container input:focus,#modal-container textarea:focus,#modal-container select:focus {
  border-color:#caa640; box-shadow:0 0 0 3px rgba(244,200,70,.12);
}
/* Finances: calm colour coding, consistent tile geometry and clearer ledgers. */
.finance-kpi-grid { gap:12px; }
.finance-kpi { border:1px solid #353d47; background:linear-gradient(160deg,#1e232b,#171b22); border-radius:15px; padding:19px 20px; }
.finance-kpi-label { letter-spacing:.095em; color:#b8c2d0; }
.finance-kpi strong { letter-spacing:-.03em; font-size:clamp(23px,2.15vw,32px); }
.finance-kpi small { color:#adb6c4; line-height:1.45; }
.finance-kpi.negative { border-color:#664046; }
.finance-kpi.negative strong { color:#ffb0b4; }
.finance-tools { margin:28px 0 18px; }
.finance-tools h3 { font-size:21px; }
.finance-tools-buttons { align-items:center; }
.finance-secondary-grid,.finance-bottom-grid { gap:16px; }
.finance-secondary-grid > .card, .finance-bottom-grid > .card { min-width:0; }
.finance-summary-row,.finance-metrics-row { border-bottom-color:#303943; padding:12px 0; }
.finance-metrics-row strong,.finance-summary-row strong { color:#fafafa; }
.finance-progress { height:8px; background:#333944; }
.finance-progress > span { background:linear-gradient(90deg,#bc922b,#f7d159); }
.finance-ledgers { gap:16px; }
.finance-ledgers .section-card-head { background:#1e232a; }
.finance-table { width:100%; }
.finance-table .finance-amount.positive { color:#f8d164; }
.finance-table tr:hover td { background:rgba(244,200,70,.035); }
.finance-activity { scrollbar-color:#4e5763 #161a20; }
.finance-activity>div { padding:11px 0; border-color:#303842; }
.finance-category { margin-top:18px; }
.finance-category>div:first-child { font-size:12px; }
.finance-warning { border-radius:0 8px 8px 0; }
/* Modal + login: no new copy or controls, just spacing and visible state. */
#modal-container .modal { border-color:#414a56; box-shadow:0 30px 100px rgba(0,0,0,.58); }
#login-screen.minimal-login .minimal-login-card {
  border-color:#363d47;
  background:linear-gradient(165deg,#1b1f26,#15191f);
  box-shadow:0 32px 90px rgba(0,0,0,.35);
}
#login-screen .minimal-login-form #login-button { box-shadow:0 5px 18px rgba(244,197,51,.12); }
/* Responsive refinement: no fixed columns that can force page-wide scrolling. */
@media(max-width:1120px) {
  .dual-trophies { gap:6px!important; }
  .admin-main { padding-left:22px; padding-right:22px; }
}
@media(max-width:800px) {
  #public-content.page { padding-left:16px!important; padding-right:16px!important; }
  .header .brand-lettering { max-width:min(74vw,370px); height:auto; }
  #public-content .section-head h2 { font-size:clamp(25px,6.1vw,34px); }
  .stats-duo-grid { grid-template-columns:1fr; gap:15px; }
  .admin-top { align-items:flex-start; flex-wrap:wrap; }
  .finance-secondary-grid,.finance-bottom-grid { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  #public-content.page { padding-left:13px!important; padding-right:13px!important; }
  #public-content .section-head { gap:9px; }
  #public-content .section-head p { font-size:12px; }
  #inicio.league-infobar { padding:12px!important; }
  .stats-card .scorer-line { gap:8px; }
  #schedule .match-card { border-radius:12px!important; }
  .sponsor-placement:not([hidden]) { border-radius:11px!important; }
  .admin-main { padding:22px 14px 56px; }
  .admin-status { width:100%; justify-content:flex-start; }
  .admin-status .button { min-height:39px; }
  .finance-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .finance-kpi { padding:13px 12px; }
  .finance-kpi strong { font-size:clamp(19px,5vw,25px); overflow-wrap:anywhere; }
  .finance-kpi-label { line-height:1.35; font-size:9px; }
  .finance-tools { align-items:stretch; }
  .finance-tools-buttons { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .finance-tools-buttons button { width:100%; min-width:0; white-space:normal; }
  .finance-table td { padding:11px 9px; }
  .finance-table td:first-child { min-width:165px; }
}
@media(max-width:360px) {
  #public-content.page { padding-left:10px!important; padding-right:10px!important; }
  .finance-kpi-grid { grid-template-columns:1fr 1fr; }
  .finance-kpi { padding:11px 9px; }
}
@media(prefers-reduced-motion:reduce) {
  .nav a,.side-menu button,#schedule .match-card,.team-grid .team-card,
  .fan-league-meter span,.button { transition:none!important; }
}
