/* =====================================================================
   马114 — 后台样式
   风格：与前台一致的极简清爽（白卡片 + 青绿主色 + 柔和冷灰底）
   说明：本文件只放后台专有布局，基础变量/按钮/表单/表格沿用 css/style.css
   ===================================================================== */

/* ---------------- 整体布局 ---------------- */
.a-shell{display:flex;min-height:100vh;align-items:stretch;}

/* 左侧栏 */
.a-side{
  flex:0 0 222px;width:222px;background:#fff;border-right:1px solid var(--line);
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.a-logo{display:flex;align-items:center;gap:10px;padding:17px 18px;border-bottom:1px solid var(--line);}
.a-logo .mk{
  flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;
}
.a-logo .tx{min-width:0;}
.a-logo .tx b{display:block;font-size:14.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.a-logo .tx i{font-style:normal;font-size:11.5px;color:var(--sub);}

.a-nav{padding:10px 10px 24px;}
.a-g{font-size:11.5px;color:#9aa9b2;padding:14px 11px 6px;letter-spacing:.08em;}
.a-nav a{
  display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;
  font-size:13.5px;color:#33454e;transition:.15s;margin-bottom:1px;
}
.a-nav a:hover{background:#f2f9f8;color:var(--brand-d);}
.a-nav a.on{background:var(--brand-l);color:var(--brand-d);font-weight:600;}
.a-nav a .ic{
  flex:0 0 18px;width:18px;text-align:center;font-size:13px;opacity:.85;
}
.a-badge{
  margin-left:auto;background:#ef4444;color:#fff;font-size:11px;font-weight:600;
  min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;
}
.a-nav a.on .a-badge{background:#ef4444;}

/* 主区域 */
.a-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;background:var(--bg);}
.a-top{
  height:58px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:12px;padding:0 22px;position:sticky;top:0;z-index:30;
}
.a-top .t1{font-size:15.5px;font-weight:700;}
.a-top .t2{font-size:12.5px;color:var(--sub);}
.a-top .sp{flex:1 1 auto;}
.a-top .who{display:flex;align-items:center;gap:8px;font-size:13px;color:#31424b;}
.a-top .who .av{
  width:28px;height:28px;border-radius:50%;background:var(--brand-l);color:var(--brand-d);
  display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;
}
.a-wrap{padding:22px;flex:1 1 auto;min-width:0;}

/* 页脚 */
.a-foot{
  padding:15px 22px;border-top:1px solid var(--line);background:#fff;
  font-size:12.5px;color:var(--sub);
}

/* ---------------- 指标卡 ---------------- */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.kpi{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;
  box-shadow:var(--sh1);transition:.18s;
}
.kpi:hover{border-color:#bfe4df;box-shadow:0 6px 18px rgba(13,148,136,.09);}
.kpi .lb{font-size:12.5px;color:var(--sub);display:flex;align-items:center;gap:6px;}
.kpi .nm{font-size:26px;font-weight:700;line-height:1.35;color:#16232b;}
.kpi .nm em{font-style:normal;font-size:13px;font-weight:500;color:var(--sub);margin-left:3px;}
.kpi .ft{font-size:12px;color:var(--sub);}
.kpi.b .nm{color:var(--brand-d);}
.kpi.o .nm{color:#c2760a;}
.kpi.g .nm{color:#0a8f6a;}
.kpi.r .nm{color:#d93a3a;}

/* ---------------- 面板 ---------------- */
.a-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--sh1);margin-bottom:18px;
}
.a-card-hd{
  padding:14px 18px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.a-card-hd h3{font-size:15px;font-weight:700;}
.a-card-hd .sp{flex:1 1 auto;}
.a-card-hd .hint{font-size:12.5px;color:var(--sub);}
.a-card-bd{padding:18px;}
.a-card-bd.p0{padding:0;}
.a-card-bd + .a-card-bd{border-top:1px solid var(--line);}
.a-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.a-cols-3{display:grid;grid-template-columns:2fr 1fr;gap:18px;}

/* ---------------- 工具条 ---------------- */
.a-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.a-toolbar .inp,.a-toolbar .sel{width:auto;min-width:150px;height:38px;}
.a-toolbar .inp.w220{min-width:220px;}
.a-toolbar .grow{flex:1 1 auto;}
.a-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.a-pull{display:flex;gap:10px;align-items:center;margin-left:auto;}

/* ---------------- 行内小元素 ---------------- */
.a-mini{font-size:12.5px;color:var(--sub);}
.a-sub{font-size:12.5px;color:var(--sub);}
.a-nowrap{white-space:nowrap;}
.a-sep{color:#cbd6dc;}
.lnk{background:none;border:0;padding:0;font:inherit;color:var(--brand-d);cursor:pointer;}
.lnk:hover{text-decoration:underline;}
.lnk.del{color:#d93a3a;}
.a-strong{font-weight:600;color:#1d2c34;}
.a-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand);margin-right:6px;vertical-align:1px;}
.a-dot.o{background:var(--orange);}
.a-dot.r{background:var(--red);}
.a-dot.g{background:var(--gray-l);}

/* ---------------- 登录页 ---------------- */
.a-login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(1000px 460px at 12% -10%, #e6f6f4 0%, rgba(230,246,244,0) 62%),
    radial-gradient(760px 420px at 96% 8%, #eef4f8 0%, rgba(238,244,248,0) 60%),
    var(--bg);
}
.a-login{width:100%;max-width:396px;}
.a-login .bd{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 30px;box-shadow:var(--sh2);}
.a-login .hd{text-align:center;margin-bottom:22px;}
.a-login .hd .mk{
  width:48px;height:48px;border-radius:14px;background:var(--brand);color:#fff;font-size:22px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.a-login .hd h1{font-size:19px;font-weight:700;}
.a-login .hd p{font-size:13px;color:var(--sub);margin-top:5px;}
.a-login .ft{text-align:center;font-size:12.5px;color:var(--sub);margin-top:18px;}
.a-login .ft a{color:var(--brand-d);}

/* ---------------- 表格补充 ---------------- */
.tbl .t-sub{font-size:12px;color:var(--sub);display:block;margin-top:2px;}
.tbl th.ck,.tbl td.ck{width:38px;text-align:center;}
.tbl td .tag{margin-right:4px;}
.tbl .ops a:last-child{margin-right:0;}
/* 赛事状态异常整行提示：改期=橙、取消=红，避免运营漏改前台信息 */
.tbl tr.row-warn td{background:#fffbf2;}
.tbl tr.row-warn td:first-child{box-shadow:inset 3px 0 0 #f59e0b;}
.tbl tr.row-cancel td{background:#fff6f6;}
.tbl tr.row-cancel td:first-child{box-shadow:inset 3px 0 0 #ef4444;}
.a-tbl-tools{display:flex;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);background:#fafcfc;}

/* ---------------- 迷你统计条 ---------------- */
.a-bars{display:flex;flex-direction:column;gap:11px;}
.a-bar{display:flex;align-items:center;gap:12px;font-size:13px;}
.a-bar .nm{flex:0 0 120px;color:#31424b;}
.a-bar .tr{flex:1 1 auto;height:8px;background:var(--gray-l);border-radius:5px;overflow:hidden;}
.a-bar .tr i{display:block;height:100%;background:var(--brand);border-radius:5px;}
.a-bar .vl{flex:0 0 52px;text-align:right;color:var(--sub);font-variant-numeric:tabular-nums;}

/* ---------------- 表单补充 ---------------- */
.a-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 18px;}
.a-form-grid .full{grid-column:1 / -1;}
.a-form-grid .half{grid-column:span 2;}
.a-hd-line{
  grid-column:1 / -1;font-size:13px;font-weight:700;color:var(--brand-d);
  padding:14px 0 8px;border-bottom:1px dashed var(--line2);margin-bottom:14px;
}
.a-hint-box{
  background:#f7fafb;border:1px dashed var(--line2);border-radius:11px;padding:12px 14px;
  font-size:12.5px;color:var(--sub);line-height:1.7;
}

/* ---------------- 响应式 ---------------- */
@media (max-width:1180px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .a-cols,.a-cols-3{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .a-shell{flex-direction:column;}
  .a-side{flex:0 0 auto;width:100%;height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);}
  .a-nav{display:flex;gap:6px;overflow-x:auto;padding:10px;}
  .a-nav .a-g{display:none;}
  .a-nav a{white-space:nowrap;margin-bottom:0;}
  .a-wrap{padding:16px;}
  .a-form-grid{grid-template-columns:1fr;}
  .a-form-grid .half{grid-column:auto;}
  .a-top{padding:0 16px;}
  .a-top .t2{display:none;}
}
@media (max-width:560px){
  .kpi-grid{grid-template-columns:1fr;}
  .a-toolbar .inp,.a-toolbar .sel{min-width:0;width:100%;}
  .a-toolbar .btn{width:100%;}
}

/* v1.3.0 赛事组别分项：可增删的行编辑器 */
.ei-row{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr auto;
  gap:8px;
  margin-bottom:8px;
  align-items:center;
}
@media (max-width:900px){
  .ei-row{grid-template-columns:1fr 1fr 1fr;}
}
