/* FUTEBOL VISEU V249 — Taça pública + gestão administrativa simplificada */
:root{--fv249-navy:#071827;--fv249-navy2:#0c2a3d;--fv249-green:#79c900;--fv249-green2:#5ca000;--fv249-bg:#f3f6f8;--fv249-card:#fff;--fv249-text:#102131;--fv249-muted:#667887;--fv249-line:#dce5eb}

/* PÁGINA PÚBLICA — TAÇA DE PORTUGAL */
body.fv223-league-page{background:var(--fv249-bg)!important;color:var(--fv249-text)!important}
body.fv223-league-page .fv205-professional-hero{min-height:0!important;padding:22px 0!important;background:linear-gradient(120deg,#071827,#0c2a3d 68%,#153a27)!important;border-bottom:3px solid var(--fv249-green)!important}
body.fv223-league-page .fv243-cup-head{gap:13px!important}
body.fv223-league-page .fv243-cup-logo{width:54px!important;height:54px!important;padding:6px!important;border-radius:14px!important;box-shadow:none!important}
body.fv223-league-page .fv143-title-row{display:flex!important;align-items:center!important;gap:11px!important;flex-wrap:wrap!important}
body.fv223-league-page .fv143-title-row h1{margin:0!important;color:#fff!important;font-size:clamp(28px,4vw,44px)!important;line-height:1!important;letter-spacing:-.04em!important}
body.fv223-league-page .fv143-season{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:0 10px!important;border-radius:999px!important;background:rgba(121,201,0,.14)!important;border:1px solid rgba(121,201,0,.35)!important;color:#c9ff88!important;font-size:12px!important;font-weight:900!important}
body.fv223-league-page .fv243-cup-note{display:none!important}
body.fv223-league-page .fv143-simple-nav{position:sticky!important;top:72px!important;z-index:50!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:min(1180px,calc(100% - 24px))!important;margin:14px auto 16px!important;padding:7px!important;border:1px solid var(--fv249-line)!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 10px 24px rgba(7,24,39,.07)!important;backdrop-filter:blur(10px)!important}
body.fv223-league-page .fv143-simple-nav a{min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px 12px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#496071!important;font-size:12px!important;font-weight:900!important;text-decoration:none!important}
body.fv223-league-page .fv143-simple-nav a:hover{background:#f3f8ed!important;color:#376500!important}
body.fv223-league-page .fv143-simple-nav a.active{background:linear-gradient(135deg,#79c900,#98df1a)!important;color:#0c1a22!important;box-shadow:0 8px 18px rgba(121,201,0,.2)!important}
body.fv223-league-page #proxima-jornada.fv-series-layout{display:block!important;width:min(1180px,calc(100% - 24px))!important;margin:0 auto!important}
body.fv223-league-page #proxima-jornada .fv-series-card,
body.fv223-league-page .fv-results-block,
body.fv223-league-page .fv-teams-block{padding:20px!important;border:1px solid var(--fv249-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 28px rgba(7,24,39,.055)!important}
body.fv223-league-page #proxima-jornada .fv-series-card-head{align-items:center!important;margin-bottom:15px!important;padding-bottom:14px!important;border-bottom:1px solid #e8eef2!important}
body.fv223-league-page #proxima-jornada .fv-series-card-head p{display:none!important}
body.fv223-league-page .fv-pill{background:#eff8df!important;color:#3d7100!important;border:1px solid #d3e9b7!important;font-size:10px!important;font-weight:950!important}
body.fv223-league-page .fv73-round-controls select{min-height:42px!important;border:1px solid #ccd9e1!important;border-radius:12px!important;background:#fff!important;color:#102131!important;font-weight:850!important}
body.fv223-league-page .fv-round-date{background:#eff8df!important;color:#376500!important;border:1px solid #d3e9b7!important;border-radius:999px!important;padding:7px 11px!important;font-weight:900!important}
body.fv223-league-page .fv-round-games{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
body.fv223-league-page .fv-game-card{display:grid!important;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:14px!important;border:1px solid #e1e8ed!important;border-radius:16px!important;background:#fbfdfe!important;box-shadow:none!important;position:relative!important}
body.fv223-league-page .fv-game-card:hover{border-color:#b9db91!important;background:#fbfff8!important}
body.fv223-league-page .fv231-game-date{grid-column:1/-1!important;margin:0 0 3px!important;padding:0!important;background:transparent!important;border:0!important}
body.fv223-league-page .fv-game-team{gap:8px!important;color:#102131!important;font-size:12px!important;font-weight:900!important}
body.fv223-league-page .fv-game-team img{width:38px!important;height:38px!important;border-radius:10px!important;padding:3px!important;background:#fff!important;border:1px solid #e4ebef!important}
body.fv223-league-page .fv-game-team span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15!important}
body.fv223-league-page .fv-game-time strong{display:block!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:17px!important;font-weight:950!important}
body.fv223-league-page .fv-game-time small{display:none!important}
body.fv223-league-page .fv-game-field{grid-column:1/-1!important;margin:0!important;padding-top:7px!important;border-top:1px solid #edf1f4!important;color:#6a7b88!important;font-size:10px!important;text-align:center!important}
body.fv223-league-page .fv231-game-sheet-wrap{grid-column:1/-1!important;margin-top:2px!important;text-align:right!important}
body.fv223-league-page .fv154-game-link{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:32px!important;margin:0!important;padding:6px 10px!important;border:1px solid #cfe6ad!important;border-radius:999px!important;background:#f3fae9!important;color:#376500!important;font-size:9.5px!important;font-weight:950!important}
body.fv223-league-page .fv-results-block{margin-top:18px!important}
body.fv223-league-page .fv77-results-head{margin-bottom:12px!important;padding-bottom:12px!important;border-bottom:1px solid #e7edf1!important}
body.fv223-league-page .fv77-results-head h2{margin:4px 0 0!important;color:#102131!important;font-size:24px!important}
body.fv223-league-page .fv77-result-row{min-height:60px!important;padding:9px 12px!important;margin:0 0 7px!important;border:1px solid #e2e9ee!important;border-radius:13px!important;background:#fbfdfe!important;box-shadow:none!important}
body.fv223-league-page .fv77-score{background:#79c900!important;color:#102131!important;border-radius:9px!important;padding:7px 9px!important}
body.fv223-league-page .fv205-vs{font-size:8px!important;font-style:normal!important;margin:0 4px!important}
body.fv223-league-page .fv-teams-block{margin-top:18px!important}
body.fv223-league-page .fv-section-head p{display:none!important}
body.fv223-league-page .fv-teams-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.fv223-league-page .fv-team-card-wrap{min-width:0!important}
body.fv223-league-page .fv-team-card{min-height:92px!important;padding:12px!important;border:1px solid #e0e8ed!important;border-radius:15px!important;background:#fbfdfe!important;box-shadow:none!important}
body.fv223-league-page .fv-team-card img{width:44px!important;height:44px!important;object-fit:contain!important}
body.fv223-league-page .fv-team-card strong{color:#102131!important;font-size:11.5px!important}
body.fv223-league-page .fv-team-card small{color:#6b7c89!important;font-size:9.5px!important}
body.fv223-league-page .fv169-team-game-link{display:inline-flex!important;margin-top:6px!important;padding:5px 8px!important;border-radius:999px!important;background:#eff8df!important;color:#376500!important;font-size:9px!important;font-weight:900!important}

/* ADMIN — TAÇA DE PORTUGAL */
#taca-portugal-admin.fv244-taca-admin{padding:0!important;overflow:hidden!important;border:1px solid #dbe5eb!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,24,39,.07)!important}
#taca-portugal-admin.fv244-taca-admin:before{display:none!important}
#taca-portugal-admin .fv249-taca-admin-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0!important;padding:18px 20px!important;background:linear-gradient(120deg,#071827,#0c2a3d)!important;color:#fff!important}
#taca-portugal-admin .fv249-taca-admin-head h2{color:#fff!important;margin:2px 0 0!important}
#taca-portugal-admin .fv244-taca-eyebrow{color:#a8e857!important}
#taca-portugal-admin .fv249-taca-external{display:flex!important;gap:7px!important;flex-wrap:wrap!important}
#taca-portugal-admin .fv249-taca-external .btn{margin:0!important;border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.07)!important;color:#fff!important}
#taca-portugal-admin .fv249-taca-external .btn:hover{background:rgba(255,255,255,.13)!important}
#taca-portugal-admin .fv244-taca-note,#taca-portugal-admin>.fv244-taca-actions{display:none!important}
#taca-portugal-admin .fv249-taca-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;padding:10px!important;border-bottom:1px solid #e4ebef!important;background:#f7fafb!important}
#taca-portugal-admin .fv249-taca-tabs button{min-height:42px!important;padding:8px 10px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#526675!important;font-size:11px!important;font-weight:900!important;cursor:pointer!important}
#taca-portugal-admin .fv249-taca-tabs button:hover{background:#edf4f7!important;color:#102131!important}
#taca-portugal-admin .fv249-taca-tabs button.is-active{background:#79c900!important;color:#102131!important;box-shadow:0 7px 16px rgba(121,201,0,.18)!important}
#taca-portugal-admin .fv249-taca-panel{margin:0!important;padding:18px 20px!important;border:0!important;border-radius:0!important;border-top:0!important;background:#fff!important;box-shadow:none!important}
#taca-portugal-admin .fv249-taca-panel[hidden]{display:none!important}
#taca-portugal-admin .fv245-taca-clubs-head{align-items:center!important;margin-bottom:12px!important}
#taca-portugal-admin .fv245-taca-clubs-head h3{margin:0!important;color:#102131!important;font-size:17px!important}
#taca-portugal-admin .fv245-taca-clubs-head p{display:none!important}
#taca-portugal-admin .fv245-taca-count{border:0!important;border-radius:999px!important;background:#eff8df!important;color:#376500!important}
#taca-portugal-admin .fv247-round-form,#taca-portugal-admin .fv246-taca-game-form,#taca-portugal-admin .fv245-taca-add{padding:13px!important;border:1px solid #e1e9ee!important;border-radius:14px!important;background:#f8fbfc!important}
#taca-portugal-admin .fv247-round-list,#taca-portugal-admin .fv246-taca-games-list,#taca-portugal-admin .fv245-taca-grid{gap:9px!important}
#taca-portugal-admin .fv247-round-item,#taca-portugal-admin .fv246-taca-game-card,#taca-portugal-admin .fv245-taca-card{border:1px solid #e1e9ee!important;border-left:3px solid #79c900!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important}
#taca-portugal-admin .fv246-taca-game-teams span{border-radius:8px!important;background:#eff8df!important;color:#376500!important;font-size:10px!important;font-weight:950!important}
#taca-portugal-admin .fv245-taca-search input{border-radius:12px!important}

@media(max-width:900px){
 body.fv223-league-page .fv-round-games{grid-template-columns:1fr!important}
 body.fv223-league-page .fv-teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #taca-portugal-admin .fv249-taca-admin-head{align-items:flex-start!important;flex-direction:column!important}
 #taca-portugal-admin .fv249-taca-external{width:100%!important}
}
@media(max-width:700px){
 body.fv223-league-page .fv143-simple-nav{top:64px!important;width:calc(100% - 14px)!important;margin-top:9px!important}
 body.fv223-league-page .fv143-simple-nav a{font-size:10px!important;padding:7px 5px!important}
 body.fv223-league-page #proxima-jornada.fv-series-layout{width:calc(100% - 14px)!important}
 body.fv223-league-page #proxima-jornada .fv-series-card,body.fv223-league-page .fv-results-block,body.fv223-league-page .fv-teams-block{padding:14px!important;border-radius:16px!important}
 body.fv223-league-page .fv-game-card{grid-template-columns:1fr 60px 1fr!important;padding:12px!important}
 body.fv223-league-page .fv-game-team{flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:5px!important}
 body.fv223-league-page .fv-game-team.away img{order:0!important}
 body.fv223-league-page .fv-game-team.away span{text-align:center!important}
 body.fv223-league-page .fv-game-team img{width:36px!important;height:36px!important}
 body.fv223-league-page .fv-game-time strong{font-size:15px!important}
 #taca-portugal-admin .fv249-taca-tabs{grid-template-columns:1fr!important}
 #taca-portugal-admin .fv249-taca-tabs button{text-align:left!important;justify-content:flex-start!important}
 #taca-portugal-admin .fv249-taca-panel{padding:14px!important}
}
@media(max-width:480px){
 body.fv223-league-page .fv-teams-grid{grid-template-columns:1fr!important}
 body.fv223-league-page .fv243-cup-logo{width:46px!important;height:46px!important}
 body.fv223-league-page .fv143-title-row h1{font-size:27px!important}
}
