:root{
  --blau:#004d98; --blau-dark:#003b8e; --grana:#a50044; --grana-light:#e01a4f;
  --gold:#edbb00; --ink:#16213a; --paper:#eef3fb; --card:#ffffff;
  --muted:#6b7689; --line:#e4e8f0; --ok:#1aa463; --warn:#e0a800; --bad:#e03131;
  --ucl:#1d8f4e; --copa:#a50044; --super:#edbb00;
}
*{box-sizing:border-box;}
body{margin:0;font-family:"PingFang SC","Microsoft YaHei",-apple-system,Segoe UI,Roboto,sans-serif;
  background:
    linear-gradient(180deg, rgba(0,77,152,.06), rgba(165,0,68,.06)),
    var(--paper);
  color:var(--ink);line-height:1.6;}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:5px;z-index:200;
  background:linear-gradient(90deg,var(--blau) 0 50%,var(--grana) 50% 100%);}
.muted{color:var(--muted);font-size:13px;}
h2.section-title{font-size:24px;margin:8px 0 4px;
  background:linear-gradient(90deg,var(--blau),var(--grana));-webkit-background-clip:text;background-clip:text;color:transparent;}
.sub{margin:18px 0 8px;color:var(--blau-dark);border-left:4px solid var(--grana);padding-left:8px;}
.hidden{display:none !important;}

/* 顶栏 */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;
  padding:10px 20px;background:linear-gradient(90deg,var(--blau),var(--grana));color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.18);}
.brand{display:flex;align-items:center;gap:10px;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text strong{font-size:17px;letter-spacing:.5px;}
.brand-text span{font-size:12px;opacity:.85;}
.mainnav{display:flex;gap:4px;overflow-x:auto;flex:1;}
.navbtn{background:rgba(255,255,255,.12);border:none;color:#fff;padding:8px 14px;border-radius:20px;
  cursor:pointer;font-size:14px;white-space:nowrap;transition:.2s;}
.navbtn:hover{background:rgba(255,255,255,.28);}
.navbtn.active{background:#fff;color:var(--grana);font-weight:700;}
.navbtn.admin-entry{background:var(--gold);color:#3a2c00;font-weight:700;}

/* 队徽 SVG */
.crest{width:38px;height:38px;}
.crest.big{width:90px;height:90px;}
.crest img{width:100%;height:100%;object-fit:contain;display:block;}

/* 页面容器 */
.page{display:none;padding:18px 22px 40px;max-width:1180px;margin:0 auto;animation:fade .3s;}
.page.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* 首页合照 */
.team-photo{position:relative;border-radius:14px;overflow:hidden;margin-bottom:18px;height:300px;
  background:linear-gradient(135deg,var(--blau),var(--grana));display:flex;align-items:center;justify-content:center;}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-photo-placeholder{text-align:center;color:#fff;}
.team-photo-placeholder p{font-size:22px;font-weight:700;margin:10px 0 2px;}
.team-photo-placeholder span{font-size:13px;opacity:.85;}

.home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.home-card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);border-top:4px solid var(--blau);}
.home-card h3{margin:0 0 8px;font-size:14px;color:var(--muted);}
.big-num{font-size:30px;font-weight:800;color:var(--grana);}
.big-num.sm{font-size:22px;color:var(--blau-dark);}

.next-match{background:var(--card);border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:20px;text-align:center;}
.next-match h3{margin:0 0 10px;color:var(--blau-dark);}
.nm-row{display:flex;align-items:center;justify-content:center;gap:18px;font-size:22px;font-weight:800;}
.nm-vs-line{color:var(--grana);}
.nm-meta{color:var(--muted);margin:6px 0;}
.nm-countdown{font-size:26px;font-weight:800;color:var(--blau);letter-spacing:1px;}

.home-news h3{color:var(--blau-dark);}

/* 新闻卡片 */
.news-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.news-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.news-card .nc-img{height:150px;background:linear-gradient(135deg,var(--blau),var(--grana));display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;}
.news-card .nc-img img{width:100%;height:100%;object-fit:cover;}
.news-card .nc-body{padding:12px 14px;}
.news-card .nc-date{font-size:12px;color:var(--grana);font-weight:700;}
.news-card .nc-title{font-weight:700;margin:4px 0;font-size:15px;}
.news-card .nc-text{font-size:13px;color:var(--muted);}

/* 荣誉墙 */
.honors-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-top:14px;}
.honor-cat{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);border-top:4px solid var(--gold);}
.honor-cat h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:17px;}
.honor-item{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);}
.honor-item:last-child{border-bottom:none;}
.honor-item .hi-name{font-weight:600;}
.honor-item .hi-years{font-size:11px;color:var(--muted);margin-top:2px;}
.honor-badge{background:var(--grana);color:#fff;border-radius:20px;padding:2px 12px;font-weight:800;font-size:14px;white-space:nowrap;box-shadow:0 2px 6px rgba(165,0,68,.3);}
.honor-item{position:relative;background:linear-gradient(90deg,rgba(237,187,0,.08),transparent);border-radius:10px;padding-left:10px;}
.hi-left{display:flex;align-items:flex-start;gap:10px;}
.trophy-ic{flex:0 0 auto;margin-top:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));}
.honor-cat h3 .trophy-ic{width:24px;height:24px;}

/* 战术 */
.tac-philosophy{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);font-size:15px;}
.tac-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0;}
.tac-card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.tac-card h3{margin:0 0 12px;color:var(--blau-dark);}
.role-list,.variant-list{list-style:none;padding:0;margin:0;}
.role-list li{padding:8px 0;border-bottom:1px dashed var(--line);}
.role-list li b{color:var(--grana);}
.variant-list li{padding:8px 0;border-bottom:1px dashed var(--line);}
.variant-list li b{color:var(--blau);}
.metric-row{margin:10px 0;}
.metric-row .ml{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;}
.metric-bar{height:8px;background:var(--line);border-radius:6px;overflow:hidden;}
.metric-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blau),var(--grana));}
.formation-card{margin-top:8px;}
.formation-svg-wrap{background:linear-gradient(180deg,#0b6b3a,#0a5e33);border-radius:12px;padding:10px;}
.formation-svg-wrap svg{max-width:100%;height:auto;display:block;margin:0 auto;}
.tac-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px;font-size:12px;color:var(--muted);}
.tac-legend .dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:4px;vertical-align:middle;}
.tac-legend .dot.gk{background:#edbb00;}
.tac-legend .dot.df{background:#004d98;}
.tac-legend .dot.mf{background:#a50044;}
.tac-legend .dot.fw{background:#1aa463;}

/* 战术后台可视化编辑 */
.tac-edit-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0;}
.tac-edit-preview{background:linear-gradient(180deg,#0b6b3a,#0a5e33);border-radius:12px;padding:10px;}
.tac-edit-rows{max-height:420px;overflow:auto;}
.xi-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap;}
.xi-row select.xi-player{flex:1;min-width:120px;}
.xi-lab{font-size:12px;display:flex;align-items:center;gap:3px;color:var(--muted);}
.xi-lab input{width:54px;}
.xi-del{background:var(--grana);color:#fff;border:none;border-radius:6px;width:24px;height:24px;cursor:pointer;}

/* 排名控件 */
.rank-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:10px 0 6px;}
.rc-label{font-size:13px;display:flex;align-items:center;gap:6px;}
.rc-label select{padding:5px 8px;border-radius:7px;border:1px solid var(--line);}
.rank-range{display:flex;gap:10px;align-items:center;}

/* 身价 */
.value-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin:14px 0;}
.value-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.value-card h3{margin:0 0 10px;font-size:15px;color:var(--blau-dark);}
.value-table-wrap{background:var(--card);border-radius:12px;padding:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow-x:auto;}
.data-table{width:100%;border-collapse:collapse;font-size:14px;}
.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);}
.data-table th{background:var(--blau);color:#fff;cursor:pointer;position:sticky;top:0;}
.data-table th:hover{background:var(--blau-dark);}
.data-table tbody tr:hover{background:#f0f4fb;}

/* 本赛季数据排名 */
.rank-tabs{display:flex;gap:8px;margin:14px 0 18px;flex-wrap:wrap;}
.rank-tabs button{background:var(--card);border:2px solid var(--line);color:var(--ink);padding:8px 18px;border-radius:20px;cursor:pointer;font-size:14px;transition:.2s;}
.rank-tabs button:hover{border-color:var(--blau);}
.rank-tabs button.active{background:linear-gradient(90deg,var(--blau),var(--grana));color:#fff;border-color:transparent;font-weight:700;}
.rank-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.rank-table .data-table th{background:var(--grana);}
.rank-chart{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
@media(max-width:900px){.rank-wrap{grid-template-columns:1fr;}}
.season-scorers{margin-top:22px;background:var(--card);border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.season-scorers h4{margin:0 0 12px;color:var(--blau-dark);border-left:4px solid var(--grana);padding-left:8px;}
.sc-block{margin-bottom:14px;}
.sc-title{font-weight:700;color:var(--grana);margin-bottom:6px;}
.sc-list{margin:0;padding-left:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;}
.sc-list li{display:flex;align-items:baseline;gap:6px;font-size:14px;padding:3px 0;border-bottom:1px dashed rgba(0,0,0,.06);}
.sc-list .sc-name{font-weight:600;}
.sc-list small{color:var(--muted);}
.sc-list b{margin-left:auto;color:var(--ok);}
@media(max-width:700px){.sc-list{grid-template-columns:1fr;}}
.md-scorers{margin:14px 0;background:rgba(0,77,152,.05);border-radius:10px;padding:12px 14px;}
.md-scorers h4{margin:0 0 8px;color:var(--grana);}
.md-scorers ul{margin:0;padding-left:18px;}
.md-scorers li{font-size:14px;padding:2px 0;}
.md-scorers .sc-min{color:var(--grana);font-weight:700;margin:0 4px;}

/* 首页实时排名 */
.home-standings{margin-top:18px;}
.home-standings h3{margin:6px 0 10px;color:var(--blau-dark);border-left:4px solid var(--grana);padding-left:8px;}
.hs-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:6px 0 10px;}
.hs-head h3{margin:0;border-left:4px solid var(--grana);padding-left:8px;}
.hs-controls{display:flex;align-items:center;gap:14px;}
.hs-label{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.hs-select{padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13px;}
.visitor-counter{font-size:13px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:5px 12px;}
.visitor-counter b{color:var(--grana);font-size:15px;}
.standings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.standing-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.st-head{font-weight:700;margin-bottom:8px;color:var(--blau-dark);}
.st-table{font-size:13px;}
.st-table td,.st-table th{padding:6px 8px;}
.st-table .me{background:rgba(237,187,0,.14);font-weight:700;}
.me-tag{background:var(--grana);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;margin-left:4px;}
@media(max-width:900px){.standings-grid{grid-template-columns:1fr;}}
.win{color:var(--ok);font-weight:700;}
.lose{color:var(--bad);font-weight:700;}
.draw{color:var(--warn);font-weight:700;}

/* 球员 */
.player-filter{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;}
.player-filter button{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 16px;cursor:pointer;font-size:13px;}
.player-filter button.active{background:var(--grana);color:#fff;border-color:var(--grana);}
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
.player-card{background:var(--card);border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;text-align:center;transition:.2s;border-top:4px solid var(--blau);}
.player-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.12);}
.pc-avatar{width:70px;height:70px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;object-fit:cover;background:var(--blau);}
img.pc-avatar{border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);}
.pc-name{font-weight:700;font-size:15px;}
.pc-cn{font-size:12px;color:var(--muted);}
.pc-role{font-size:12px;color:var(--grana);margin-top:4px;}
.pc-val{font-size:12px;color:var(--blau-dark);margin-top:2px;}
.pc-wc{display:inline-block;background:#f7d774;color:#7a5b00;border-radius:10px;padding:1px 7px;font-size:11px;margin:3px 0 2px;font-weight:700;}
.pc-meta{display:flex;gap:6px;justify-content:center;margin-top:3px;font-size:12px;}
.pc-flag{color:var(--blau-dark);}
.pc-pos{color:var(--muted);}
.pc-no{color:var(--grana);font-weight:700;}
.pc-born{font-size:11px;color:var(--muted);margin-top:2px;}

/* 阵容赛季筛选条 */
.squad-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px;background:var(--card);border-radius:10px;padding:10px 14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.squad-season{display:flex;align-items:center;gap:8px;}
.squad-season label{font-weight:700;color:var(--blau-dark);}
.squad-season select{padding:6px 10px;border-radius:8px;border:1px solid #ccd;font-size:14px;background:#fff;color:#16213a;}
.squad-coach{font-size:14px;color:#334;}
.squad-coach b{color:var(--grana);}
.home-coach-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.18);margin:0 auto 6px;display:block;}
.squad-coach-photo{width:30px;height:30px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:6px;border:1px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.18);}
.squad-count{margin-left:auto;font-size:13px;color:var(--muted);}

/* 球员详情 */
.player-modal-box{max-width:760px;}
.player-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.pd-left{text-align:center;}
.pd-avatar{width:110px;height:110px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:30px;overflow:hidden;background:var(--blau);}
.pd-avatar img{width:100%;height:100%;object-fit:cover;}
.pd-tag.wc{background:#f7d774;color:#7a5b00;}
.pd-name{font-size:22px;font-weight:800;}
.pd-cn{color:var(--muted);}
.pd-tags{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0;}
.pd-tag{background:var(--blau);color:#fff;border-radius:14px;padding:2px 10px;font-size:12px;}
.pd-bio{font-size:14px;color:#334;margin-top:10px;text-align:left;}
.pd-totals{display:flex;gap:10px;justify-content:center;margin:10px 0;}
.pd-totals .pt{flex:1;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 4px;}
.pd-totals .pt b{display:block;font-size:20px;color:var(--grana);}
.pd-totals .pt span{font-size:12px;color:var(--muted);}
.pd-honors{list-style:none;padding:0;margin:6px 0 0;text-align:left;}
.pd-honors li{font-size:13px;color:#334;padding:4px 0 4px 18px;position:relative;border-bottom:1px dashed var(--line);}
.pd-honors li:before{content:"🏅";position:absolute;left:0;}
.pd-right h4{margin:14px 0 6px;color:var(--blau-dark);}
.pd-attrs{font-size:13px;}
.pd-attr{display:flex;align-items:center;gap:8px;margin:4px 0;}
.pd-attr span{width:48px;color:var(--muted);}
.pd-attr .bar{flex:1;height:8px;background:var(--line);border-radius:6px;overflow:hidden;}
.pd-attr .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--grana),var(--gold));}
#chartPlayerRadar{max-width:320px;margin:0 auto;}

/* 赛程 */
.fixtures-countdown{background:linear-gradient(90deg,var(--blau),var(--grana));color:#fff;border-radius:12px;padding:18px;margin:14px 0;text-align:center;}
.fc-label{display:block;font-size:13px;opacity:.85;}
.fc-opp{display:block;font-size:26px;font-weight:800;margin:4px 0;}
.fc-time{display:block;font-size:28px;font-weight:800;letter-spacing:1px;}
.fixtures-list{display:grid;gap:10px;}
.fixture-card{background:var(--card);border-radius:12px;padding:14px 16px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.fixture-card.next{border:2px solid var(--gold);}
.fx-left{font-weight:700;font-size:16px;}
.fx-meta{font-size:12px;color:var(--muted);}
.fx-note{font-size:12px;color:#555;margin-top:4px;max-width:420px;}
.fx-date{text-align:right;font-size:13px;color:var(--blau-dark);white-space:nowrap;}
.fx-tag{display:inline-block;background:var(--gold);color:#3a2c00;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700;}

/* 历史战绩 */
.history-filter{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
.history-filter select,.history-filter input{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;}
.history-stats{display:flex;gap:14px;margin:10px 0;flex-wrap:wrap;}
.hstat{background:var(--card);border-radius:10px;padding:10px 18px;box-shadow:0 2px 8px rgba(0,0,0,.06);text-align:center;}
.hstat b{display:block;font-size:22px;color:var(--grana);}
.btn{background:var(--blau);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;}
.btn:hover{background:var(--blau-dark);}
.btn.danger{background:var(--bad);}
.btn.gold{background:var(--gold);color:#3a2c00;}

/* 展示 */
.showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:8px;}
.show-card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.show-card .sc-img{height:170px;background:linear-gradient(135deg,var(--blau),var(--grana));display:flex;align-items:center;justify-content:center;color:#fff;}
.show-card .sc-img img{width:100%;height:100%;object-fit:cover;}
.show-card .sc-body{padding:12px 14px;}
.show-card .sc-title{font-weight:700;}
.show-card .sc-desc{font-size:13px;color:var(--muted);margin-top:4px;}

/* 转会 */
.transfer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.transfer-col{background:var(--card);border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.transfer-col h3{margin:0 0 10px;}
.transfer-col.joined{border-top:4px solid var(--ok);}
.transfer-col.ongoing{border-top:4px solid var(--warn);}
.transfer-col.left{border-top:4px solid var(--bad);}
.transfer-col ul{list-style:none;padding:0;margin:0;}
.transfer-col li{padding:10px 0;border-bottom:1px dashed var(--line);}
.transfer-col li b{display:block;}
.transfer-col li span{font-size:12px;color:var(--muted);}

/* 弹窗 */
.modal{position:fixed;inset:0;background:rgba(10,20,40,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal-box{background:#fff;border-radius:14px;padding:22px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
.modal-close{position:absolute;top:10px;right:14px;background:none;border:none;font-size:26px;cursor:pointer;color:var(--muted);}

/* 后台 */
.admin-modal-box{max-width:920px;}
.admin-gate{text-align:center;padding:20px;}
.admin-gate input{padding:10px 14px;width:240px;border:1px solid var(--line);border-radius:8px;font-size:15px;text-align:center;}
.admin-gate .btn{margin-top:12px;display:block;margin-left:auto;margin-right:auto;}
.admin-gate .err{color:var(--bad);min-height:18px;}
.admin-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px;}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;}
.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.admin-tabs button{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:13px;}
.admin-tabs button.active{background:var(--grana);color:#fff;border-color:var(--grana);}
.admin-content .field{margin:10px 0;}
.admin-content label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px;}
.admin-content input,.admin-content textarea,.admin-content select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;}
.admin-content textarea{resize:vertical;min-height:60px;}
.admin-content .row{display:flex;gap:10px;flex-wrap:wrap;}
.admin-content .row>.field{flex:1;min-width:160px;}
.admin-tip{margin-top:12px;font-style:italic;}
.admin-save{margin-top:10px;}
.editor-item{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0;}
.editor-item .ei-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.editor-item .ei-del{background:var(--bad);color:#fff;border:none;border-radius:6px;padding:4px 10px;cursor:pointer;font-size:12px;}
.admin-add{background:var(--ok);color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;margin-top:6px;}

.footer{text-align:center;padding:20px;color:var(--muted);font-size:13px;}
.sync-badge{margin:6px 0 0;font-size:12px;color:var(--blau-dark);}
.sync-badge b{color:var(--grana);}

/* 赛事标签配色 */
.comp-tag{display:inline-block;border-radius:10px;padding:1px 9px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;}
.comp-西甲{background:var(--blau);}
.comp-欧冠{background:var(--ucl);}
.comp-国王杯{background:var(--copa);}
.comp-西超杯{background:var(--super);color:#3a2c00;}

/* 球场展示 */
.stadium-block{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);border-top:4px solid var(--grana);}
.stadium-hero{height:220px;background:linear-gradient(135deg,var(--blau),var(--grana));display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;position:relative;}
.stadium-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.stadium-hero .sh-text{position:relative;z-index:2;padding:14px;}
.stadium-hero .sh-name{font-size:26px;font-weight:800;}
.stadium-hero .sh-cn{font-size:15px;opacity:.9;}
.stadium-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);}
.stadium-body{padding:16px;}
.stadium-body p{margin:0 0 10px;font-size:14px;}
.stadium-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px;}
.stadium-fact{background:var(--paper);border-radius:10px;padding:10px 12px;border-left:3px solid var(--blau);}
.stadium-fact b{display:block;font-size:13px;color:var(--grana);}
.stadium-fact span{font-size:13px;color:var(--ink);}

/* 比赛详情弹窗 */
.match-modal-box{max-width:880px;}
.match-detail .md-head{text-align:center;padding-bottom:10px;border-bottom:2px solid var(--line);margin-bottom:12px;}
.md-score{font-size:40px;font-weight:800;color:var(--grana);letter-spacing:2px;}
.md-teams{font-size:18px;font-weight:700;margin-bottom:4px;}
.md-meta{font-size:13px;color:var(--muted);}
.md-tabs{display:flex;gap:6px;margin:10px 0;}
.md-tabs button{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px;}
.md-tabs button.active{background:var(--blau);color:#fff;border-color:var(--blau);}
.md-preview{background:var(--paper);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:10px;}
.md-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.md-col h4{margin:0 0 8px;color:var(--blau-dark);}
.md-col.opp h4{color:var(--grana);}
.player-stat{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px;}
.player-stat .ps-name{flex:1;font-weight:600;}
.player-stat .ps-name small{color:var(--muted);font-weight:400;margin-left:6px;}
.player-stat .ps-g{width:42px;text-align:center;color:var(--ok);font-weight:700;}
.player-stat .ps-a{width:42px;text-align:center;color:var(--blau);font-weight:700;}
.player-stat .ps-m{width:38px;text-align:center;color:var(--muted);}
.player-stat .ps-r{width:46px;text-align:center;font-weight:800;border-radius:10px;padding:2px 0;color:#fff;}
.md-chart-wrap{margin-top:10px;background:var(--paper);border-radius:10px;padding:10px;}
@media(max-width:700px){.md-grid{grid-template-columns:1fr;}}

@media(max-width:900px){
  .home-grid{grid-template-columns:repeat(2,1fr);}
  .tac-grid,.value-grid,.transfer-cols{grid-template-columns:1fr;}
  .player-detail{grid-template-columns:1fr;}
}
