[hidden]{display:none !important;}

/* =========================================================
   Jincai League · 动态页面统一风格
   与 index.html / stat.html / value.html / news.html 一致：
   白纸底、衬线体、细灰线分隔、深灰表头、直角、悬停反色。
   仅 login.html / bets.html / admin.html 使用。
   ========================================================= */
:root{
    --ink:#111;
    --sub:#555;
    --line:#ddd;
    --soft:#eee;
    --head:#333;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scrollbar-gutter:stable;}
body{
    background:#fff;
    color:var(--ink);
    font-family:'Times New Roman','Noto Serif SC',serif;
    line-height:1.65;
    min-height:100vh;
    padding:36px 18px;
    max-width:1000px;
    margin:0 auto;
}
a{color:var(--ink);}

/* ---------- 页头 ---------- */
.back{
    display:inline-block;
    margin-bottom:22px;
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid #999;
    font-size:16px;
    transition:.2s;
}
.back:hover{border-bottom-color:var(--ink);}

.logo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:30px;
}
.logo-img{width:56px;height:auto;}
.logo-text-group{display:flex;flex-direction:column;align-items:flex-start;}
.logo-text{font-size:44px;font-weight:bold;letter-spacing:2px;line-height:1.1;}
.logo-subtext{font-size:16px;color:#333;letter-spacing:1px;margin-top:6px;}

.topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
    margin-bottom:24px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:28px;font-weight:bold;letter-spacing:1px;}
.brand-logo{width:28px;height:auto;}
.userbox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--sub);}
.navlinks{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:4px;}
a.nav{
    color:var(--sub);
    font-size:15px;
    text-decoration:none;
    border-bottom:1px solid transparent;
    transition:.2s;
}
a.nav:hover{color:var(--ink);border-bottom-color:var(--ink);}

/* ---------- 标题 ---------- */
h1{font-size:26px;font-weight:bold;}
h2{
    font-size:24px;
    font-weight:bold;
    margin:34px 0 14px;
    padding-bottom:8px;
    border-bottom:1px solid var(--line);
}
h2.first{margin-top:0;}

/* ---------- 卡片 / 区块 ---------- */
.card{border:1px solid var(--line);padding:20px 22px;}
.card + .card{margin-top:14px;}
.card-head{background:var(--head);color:#fff;padding:13px 20px;font-weight:bold;font-size:17px;}
.box{border:1px solid var(--line);}

/* ---------- 表格 ---------- */
.table{width:100%;border-collapse:collapse;}
.table th,
.table td{
    padding:12px 14px;
    text-align:left;
    font-size:15px;
    border-bottom:1px solid var(--line);
    vertical-align:middle;
}
.table thead th{background:var(--head);color:#fff;font-weight:bold;border-bottom:0;}
.table tbody tr:last-child td{border-bottom:0;}
.table tbody tr:hover{background:#fafafa;}
.num{text-align:right;font-variant-numeric:tabular-nums;}

/* ---------- 按钮 ---------- */
.btn{
    font-family:inherit;
    font-size:15px;
    line-height:1.4;
    padding:8px 16px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink);
    cursor:pointer;
    border-radius:0;
    transition:.22s ease;
}
.btn:hover{background:var(--head);color:#fff;border-color:var(--head);}
.btn.primary{background:var(--head);color:#fff;border-color:var(--head);}
.btn.primary:hover{background:#111;border-color:#111;}
.btn.small{padding:5px 10px;font-size:13px;}
.btn.danger{color:#b3261e;border-color:#e0bfbb;}
.btn.danger:hover{background:#b3261e;color:#fff;border-color:#b3261e;}
.btn:disabled{opacity:.45;cursor:default;}
.btn:disabled:hover{background:#fff;color:var(--ink);border-color:var(--line);}
.btn.primary:disabled:hover{background:var(--head);color:#fff;border-color:var(--head);}

/* ---------- 表单 ---------- */
.field{display:flex;flex-direction:column;gap:6px;}
.field label,
label{font-size:14px;color:var(--sub);}
input,
select,
textarea{
    font-family:inherit;
    font-size:15px;
    color:var(--ink);
    padding:9px 11px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:0;
}
input:focus,
select:focus,
textarea:focus{outline:none;border-color:var(--ink);}
.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}

/* ---------- 小徽标 / 状态 ---------- */
.pill{
    display:inline-block;
    border:1px solid var(--line);
    padding:3px 10px;
    font-size:14px;
    color:var(--sub);
    text-decoration:none;
    border-radius:0;
    transition:.2s;
}
a.pill:hover{border-color:var(--ink);color:var(--ink);}
.tag{display:inline-block;border:1px solid var(--head);padding:1px 8px;font-size:13px;color:var(--head);}
.tag.done{border-color:var(--line);color:var(--sub);}

.muted{color:var(--sub);font-size:13px;}
.empty{color:var(--sub);font-size:15px;padding:14px 0;}

/* ---------- 提示条 ---------- */
.toast{
    position:fixed;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    background:var(--head);
    color:#fff;
    padding:11px 18px;
    font-size:15px;
    opacity:0;
    transition:opacity .2s;
    pointer-events:none;
    max-width:88vw;
}
.toast.on{opacity:1;}

/* ---------- 选项卡 ---------- */
.tabs{display:flex;margin-bottom:22px;}
.tabs button{
    flex:1;
    padding:10px 0;
    font-family:inherit;
    font-size:16px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--sub);
    cursor:pointer;
    border-radius:0;
    transition:.2s;
}
.tabs button + button{border-left:0;}
.tabs button.on{background:var(--head);color:#fff;border-color:var(--head);}

/* ---------- 比赛卡（积分竞猜） ---------- */
.match{border:1px solid var(--line);margin-bottom:14px;transition:.22s ease;}
.match:hover{border-color:#bbb;}
.match-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    flex-wrap:wrap;
    padding:14px 18px 8px;
}
.teams{font-size:18px;font-weight:bold;}
.teams span{color:var(--sub);font-weight:normal;font-size:14px;margin:0 8px;}
.meta{font-size:13px;color:var(--sub);margin-top:2px;}
.betrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 18px 14px;}
.betrow input{width:110px;}
.unit{font-size:13px;color:var(--sub);}
.sel{
    font-family:inherit;
    font-size:15px;
    padding:8px 20px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink);
    cursor:pointer;
    border-radius:0;
    transition:.22s ease;
}
.sel:hover{background:var(--head);color:#fff;border-color:var(--head);}
.mine{font-size:13px;color:var(--sub);padding:0 18px 12px;}

/* ---------- 移动端 ---------- */
@media screen and (max-width:768px){
    body{padding:16px 12px;}
    .logo-wrap{margin-bottom:20px;gap:8px;}
    .logo-img{width:40px;}
    .logo-text{font-size:30px;}
    .logo-subtext{font-size:13px;}
    h1{font-size:21px;}
    h2{font-size:18px;margin:24px 0 10px;}
    .table th,
    .table td{padding:9px 8px;font-size:13px;}
    .table thead th{font-size:13px;}
    .teams{font-size:16px;}
    .card{padding:14px 14px;}
    .card-head{padding:11px 14px;font-size:15px;}
    .match-head{padding:12px 12px 6px;}
    .betrow{padding:8px 12px 12px;}
    .betrow input{width:88px;}
    .mine{padding:0 12px 10px;}
    .brand{font-size:20px;}
    .brand-logo{width:26px;}
    .navlinks{gap:12px;}
}
