/* 久享总部后台 · 美团式总运营台 */
body.dash{
  --mt-y:#ffd100;
  --mt-y-h:#ffe14d;
  --mt-ink:#111;
  --mt-text:#222;
  --mt-sub:#666;
  --mt-mute:#8c8c8c;
  --mt-line:#ebebeb;
  --mt-bg:#f2f3f5;
  --mt-side:#1a1a1a;
  --mt-side-2:#111;
  --mt-ok:#00a870;
  --mt-ok-bg:#e8f8f0;
  --mt-warn:#ff6a00;
  --mt-warn-bg:#fff4e0;
  --mt-bad:#f23030;
  --mt-bad-bg:#ffecec;
  --mt-blue:#1664ff;
  --mt-blue-bg:#e8f3ff;
  margin:0;
  background:var(--mt-bg);
  color:var(--mt-text);
  font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;
  min-height:100vh;
}
body.dash .jx-top,body.dash .jx-banner{display:none}

/* 顶栏 */
.ops-header{
  height:48px;display:flex;align-items:center;gap:8px;
  padding:0 16px 0 12px;background:var(--mt-ink);color:#fff;
  position:sticky;top:0;z-index:50;
}
.ops-logo{
  display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:15px;
  padding-right:12px;margin-right:4px;flex-shrink:0;
}
.ops-mark{
  width:24px;height:24px;border-radius:4px;background:var(--mt-y);color:#111;
  display:grid;place-items:center;font-size:13px;font-weight:800;
}
.ops-logo em{font-style:normal;color:var(--mt-y);margin-left:2px;font-weight:700}
.ops-biz{display:flex;align-items:stretch;height:48px;flex:1;min-width:0;overflow:auto}
.ops-biz button{
  border:0;background:transparent;color:rgba(255,255,255,.72);
  padding:0 14px;font-size:14px;height:48px;position:relative;white-space:nowrap;
}
.ops-biz button:hover{color:#fff;background:rgba(255,255,255,.06)}
.ops-biz button.active{color:#fff;font-weight:650}
.ops-biz button.active:after{
  content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--mt-y);
}
.ops-header-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.ops-search{
  display:flex;align-items:center;gap:6px;background:#2a2a2a;border:1px solid #3a3a3a;
  border-radius:4px;padding:0 10px;width:240px;height:30px;
}
.ops-search input{border:0;outline:0;background:transparent;color:#fff;width:100%;font-size:12px}
.ops-search input::placeholder{color:#8a8a8a}
.ops-search svg{width:14px;height:14px;color:#8a8a8a}
.ops-env{
  font-size:11px;background:#2a2a2a;color:var(--mt-y);border:1px solid #3d3d3d;
  border-radius:3px;padding:2px 6px;white-space:nowrap;
}
.ops-ico{
  position:relative;width:32px;height:32px;border:0;background:transparent;color:#fff;
  display:grid;place-items:center;border-radius:4px;
}
.ops-ico:hover{background:#2a2a2a}
.ops-ico svg{width:16px;height:16px}
.ops-dot{
  position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;
  background:var(--mt-bad);color:#fff;border-radius:8px;font-size:10px;line-height:16px;font-weight:700;
}
.ops-help{color:rgba(255,255,255,.7);font-size:13px}
.ops-help:hover{color:#fff}
.ops-user{display:flex;align-items:center;gap:8px;padding-left:8px;border-left:1px solid #333}
.ops-avatar{
  width:28px;height:28px;border-radius:50%;background:var(--mt-y);color:#111;
  display:grid;place-items:center;font-size:12px;font-weight:700;
}
.ops-user b{display:block;font-size:12px;font-weight:650;line-height:1.2}
.ops-user small{display:block;font-size:11px;color:#8a8a8a}

.ops-notice{
  background:#fff8e1;color:#7a5a00;font-size:12px;line-height:32px;
  padding:0 16px;border-bottom:1px solid #f3e2a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ops-notice a{color:#a36a00;text-decoration:underline}

/* 布局 */
body.dash .dash-layout{
  display:grid;grid-template-columns:200px 1fr;
  min-height:calc(100vh - 80px);
}
body.dash .dash-side{
  background:var(--mt-side);color:#c8c8c8;
  padding:8px 0 24px;position:sticky;top:48px;height:calc(100vh - 48px);
  overflow:auto;border-right:0;
}
body.dash .dash-side-foot{display:none}
.nav-group{margin:0}
.nav-group > summary{
  list-style:none;cursor:pointer;user-select:none;
  color:#8c8c8c;font-size:12px;font-weight:600;
  padding:12px 16px 6px;display:flex;align-items:center;justify-content:space-between;
}
.nav-group > summary::-webkit-details-marker{display:none}
.nav-group > summary:after{
  content:"";width:6px;height:6px;border-right:1.5px solid #666;border-bottom:1.5px solid #666;
  transform:rotate(45deg);transition:.15s;
}
.nav-group[open] > summary:after{transform:rotate(225deg);margin-top:4px}
body.dash .dash-side .side-title{display:none}
body.dash .dash-side .side-link{
  display:flex;align-items:center;gap:8px;
  margin:0;padding:0 16px 0 20px;height:36px;border-radius:0;
  color:#c8c8c8;font-size:13px;position:relative;
}
body.dash .dash-side .side-link:hover{background:#262626;color:#fff}
body.dash .dash-side .side-link.active{
  background:#2b2b2b;color:var(--mt-y);font-weight:650;box-shadow:none;
}
body.dash .dash-side .side-link.active:before{
  content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--mt-y);border-radius:0 2px 2px 0;
}
body.dash .dash-side .side-link i,
body.dash .dash-side .side-link svg{width:14px;height:14px;color:inherit}
body.dash .dash-side .side-link .pill{
  margin-left:auto;background:var(--mt-bad);color:#fff;border-radius:8px;
  min-width:16px;height:16px;padding:0 5px;justify-content:center;font-size:10px;font-weight:700;
}

body.dash .dash-main{padding:0 0 48px;min-width:0;background:var(--mt-bg)}
.ops-crumb{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:10px 20px 0;font-size:12px;color:var(--mt-mute);
}
.ops-crumb a{color:var(--mt-sub)}
.ops-crumb a:hover{color:var(--mt-blue)}
.ops-crumb b{color:var(--mt-text);font-weight:600}

body.dash .dash-view{padding:8px 20px 0}
body.dash .dash-head{
  align-items:center;margin:8px 0 12px;padding:0;
}
body.dash .dash-head h1{
  font-size:18px;font-weight:650;letter-spacing:0;margin:0 0 2px;color:var(--mt-text);
}
body.dash .fr-tag{display:none}
.doc-spec{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  margin:0 0 12px;font-size:12px;color:#666;
}
.doc-spec b{color:#111;margin-right:2px}
.doc-spec i{
  display:inline-flex;align-items:center;background:#fff;border:1px solid #ebebeb;
  border-radius:2px;padding:2px 8px;font-style:normal;line-height:18px;
}
.doc-spec i.on{border-color:#b7e0cc;color:#00a870;background:#e8f8f0}
body.dash .dash-head .muted.small{font-size:12px;color:var(--mt-sub)}

/* 按钮 */
body.dash .jx-btn{
  background:var(--mt-y);color:#111;border:1px solid #e6bc00;
  border-radius:4px;font-weight:650;height:32px;padding:0 14px;
  box-shadow:none;
}
body.dash .jx-btn:hover{background:var(--mt-y-h)}
body.dash .jx-btn.ghost,
body.dash .jx-btn.sm.ghost{
  background:#fff;color:var(--mt-text);border:1px solid #d9d9d9;font-weight:500;
}
body.dash .jx-btn.ghost:hover{border-color:#bbb;color:#111}
body.dash .jx-btn.sm{height:28px;padding:0 10px;font-size:12px;border-radius:4px}

/* 卡片 / 指标 */
body.dash .dash-card{
  background:#fff;border:1px solid var(--mt-line);border-radius:8px;padding:16px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
body.dash .dash-grid{gap:12px}
body.dash .dash-stat{padding:14px 16px}
body.dash .stat-label{font-size:12px;color:var(--mt-sub)}
body.dash .dash-stat .number{font-size:24px;font-weight:700;letter-spacing:0;margin:4px 0 6px;color:#111}
body.dash .stat-delta{font-size:12px;color:var(--mt-sub)}
.kpi-trend{font-size:12px;margin-top:2px}
.kpi-trend.up{color:var(--mt-ok)}
.kpi-trend.down{color:var(--mt-bad)}

body.dash .metric-strip{gap:12px;margin-bottom:12px}
body.dash .metric-mini{
  background:#fff;border:1px solid var(--mt-line);border-radius:8px;padding:12px 14px;
}
body.dash .metric-mini b{font-size:18px;font-weight:700}
body.dash .metric-mini span{color:var(--mt-sub)}

/* 表 */
body.dash .dash-table{font-size:13px}
body.dash .dash-table th{
  background:#fafafa;color:#666;font-weight:600;font-size:12px;
  padding:9px 12px;border-bottom:1px solid var(--mt-line);white-space:nowrap;
}
body.dash .dash-table td{
  padding:9px 12px;border-bottom:1px solid #f0f0f0;color:#333;
}
body.dash .dash-table tbody tr:hover{background:#fffbe6}
body.dash .dash-table tr:last-child td{border-bottom:1px solid #f0f0f0}
body.dash .action-link{color:var(--mt-blue);font-size:13px;padding:0 6px 0 0}
body.dash .action-link:hover{text-decoration:underline}
body.dash .danger-link{color:var(--mt-bad)}

body.dash .status{
  display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:2px;
  font-size:12px;background:#f5f5f5;color:#666;line-height:20px;
}
body.dash .status.ok{background:var(--mt-ok-bg);color:var(--mt-ok)}
body.dash .status.warn{background:var(--mt-warn-bg);color:var(--mt-warn)}
body.dash .status.bad{background:var(--mt-bad-bg);color:var(--mt-bad)}

body.dash .pill{background:#f5f5f5;color:#666;border-radius:2px;height:20px;align-items:center}
body.dash .pill.red{background:var(--mt-bad-bg);color:var(--mt-bad)}
body.dash .pill.green{background:var(--mt-ok-bg);color:var(--mt-ok)}
body.dash .pill.lime{background:var(--mt-warn-bg);color:var(--mt-warn)}

/* 筛选 / Tab */
.filter-panel{
  background:#fff;border:1px solid var(--mt-line);border-radius:8px;
  padding:12px 16px 4px;margin-bottom:12px;
}
.filter-row{
  display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:12px;
}
.filter-item{display:flex;align-items:center;gap:8px}
.filter-item > span,.filter-item > label{
  font-size:13px;color:var(--mt-sub);white-space:nowrap;min-width:52px;text-align:right;
}
.filter-item .admin-search{width:220px}
.filter-item input,.filter-item select,
body.dash .admin-select,body.dash .admin-search{
  height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;padding:0 8px;font-size:13px;
}
body.dash .admin-search{min-width:200px;padding:0 10px;border-radius:4px}
body.dash .admin-toolbar{gap:8px;margin-bottom:0}
.filter-actions{margin-left:auto;display:flex;gap:8px}

body.dash .view-tabs{
  background:#fff;border:1px solid var(--mt-line);border-bottom:0;border-radius:8px 8px 0 0;
  margin:0;padding:0 8px;gap:0;
}
body.dash .view-tabs + .table-wrap,
body.dash .dash-card > .view-tabs{
  /* keep */
}
body.dash .dash-card .view-tabs{
  margin:-16px -16px 12px;padding:0 8px;border:0;border-bottom:1px solid var(--mt-line);border-radius:8px 8px 0 0;
}
body.dash .view-tabs button{
  height:40px;padding:0 16px;font-size:13px;color:var(--mt-sub);border-bottom:2px solid transparent;
}
body.dash .view-tabs button.active{color:#111;border-color:var(--mt-y);font-weight:650}

body.dash .admin-pagination{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 4px 0;font-size:12px;color:var(--mt-sub);
}
body.dash .page-buttons{display:flex;gap:4px}
body.dash .page-buttons button{
  min-width:28px;height:28px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;font-size:12px;
}
body.dash .page-buttons button.active{background:var(--mt-y);border-color:#e6bc00;color:#111}

/* 工作台 */
.todo-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.todo-pills button{
  display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--mt-line);
  border-radius:8px;padding:10px 14px;font-size:13px;color:var(--mt-text);
}
.todo-pills button:hover{border-color:#ffd100;background:#fffbe6}
.todo-pills b{
  min-width:22px;height:22px;border-radius:11px;background:var(--mt-bad);color:#fff;
  display:grid;place-items:center;font-size:12px;
}
.todo-pills button.ok b{background:var(--mt-ok)}
.todo-pills button.warn b{background:var(--mt-warn)}
.shortcut-grid{
  display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:12px;
}
.shortcut-grid button{
  background:#fff;border:1px solid var(--mt-line);border-radius:8px;
  padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:12px;color:#333;
}
.shortcut-grid button:hover{border-color:#ffd100;color:#111}
.shortcut-grid i,.shortcut-grid svg{width:22px;height:22px;color:#111}
.shortcut-grid .sc-ico{
  width:36px;height:36px;border-radius:10px;background:#fff6c2;display:grid;place-items:center;
}

body.dash .bar-chart{height:160px}
body.dash .bar-col span{background:#ffe58f}
body.dash .bar-col span:nth-child(2){background:#222}
body.dash .progress{height:6px;background:#f0f0f0;border-radius:3px}
body.dash .progress span{background:var(--mt-y);border-radius:3px}
body.dash .legend i{background:#ffe58f}
body.dash .legend span:nth-child(2) i{background:#222}

body.dash .list-item{padding:10px 0;border-bottom:1px solid #f0f0f0}
body.dash .callout-box{
  background:#fff;border:1px solid var(--mt-line);border-left:3px solid #d9d9d9;
  border-radius:4px;color:#666;padding:10px 12px;margin-bottom:12px;
}
body.dash .callout-box.warn{background:#fff8e1;border-color:#f3e2a8;border-left-color:var(--mt-warn);color:#7a5a00}
body.dash .callout-box.lock{background:#fff8e1;border-color:#f3e2a8;border-left-color:var(--mt-y);color:#7a5a00}

body.dash .slot-card,body.dash .king-admin .cell{
  border:1px solid var(--mt-line);border-radius:8px;background:#fff;
}
body.dash .im-board{border:1px solid var(--mt-line);border-radius:8px}
body.dash .im-item.active{background:#fffbe6}
body.dash .im-msgs{background:#f7f8fa}
body.dash .bubble.out{background:#222}
body.dash .setting-row{border-bottom:1px solid #f0f0f0}
body.dash .switch{background:#d9d9d9;border-radius:12px}
body.dash .switch.on{background:var(--mt-y)}
body.dash .switch.on:after{background:#111}

body.dash .admin-modal{border-radius:8px}
body.dash .admin-drawer{box-shadow:-8px 0 24px rgba(0,0,0,.12)}
body.dash .top-search{display:none}

body.dash .admin-mobile-nav{
  display:none;padding:8px 20px 0;gap:6px;
}
body.dash .admin-mobile-nav .jx-btn{background:#fff}

@media(max-width:1100px){
  .shortcut-grid{grid-template-columns:repeat(4,1fr)}
  .ops-biz button{padding:0 10px;font-size:13px}
  .ops-search{width:160px}
}
@media(max-width:980px){
  body.dash .dash-layout{grid-template-columns:1fr}
  body.dash .dash-side{display:none}
  body.dash .admin-mobile-nav{display:flex}
  .ops-user small,.ops-env,.ops-help{display:none}
  .shortcut-grid{grid-template-columns:repeat(4,1fr)}
  .ops-biz{display:none}
}
