/*
 * 师途智汇管理端统一导航样式：层级增强版
 * 目标：
 * 1. 左侧有明确分组层级；
 * 2. 当前页面有明显颜色高亮；
 * 3. 页面顶部显示当前位置；
 * 4. 手机/平板自动转为顶部横向导航。
 */

:root {
  --stzh-admin-blue: #0b4f8a;
  --stzh-admin-blue2: #2563eb;
  --stzh-admin-green: #16a34a;
  --stzh-admin-orange: #ea580c;
  --stzh-admin-purple: #7c3aed;
  --stzh-admin-teal: #0f766e;
  --stzh-admin-red: #dc2626;
  --stzh-admin-text: #12385f;
  --stzh-admin-muted: #64748b;
  --stzh-admin-bg: #f4f8fb;
  --stzh-admin-card: #ffffff;
  --stzh-admin-border: #e5edf5;
}

body.stzh-admin-page {
  background: var(--stzh-admin-bg) !important;
  padding-left: 306px !important;
  min-height: 100vh;
}

/* 左侧总导航 */
.stzh-admin-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 286px;
  background: #ffffff;
  border-right: 1px solid var(--stzh-admin-border);
  box-shadow: 10px 0 32px rgba(15,23,42,.07);
  z-index: 9998;
  display: flex;
  flex-direction: column;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
}

.stzh-admin-brand {
  padding: 18px 18px 15px;
  background: linear-gradient(135deg, #0b4f8a, #2563eb);
  color: #fff;
}

.stzh-admin-brand-title {
  font-size: 21px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: .02em;
}

.stzh-admin-brand-sub {
  color: rgba(255,255,255,.78);
  font-size: 12px;
  margin-top: 6px;
}

/* 当前位置 */
.stzh-admin-crumb {
  margin: 14px auto 0;
  max-width: 1180px;
  background: #fff;
  border: 1px solid #dbeafe;
  border-left: 6px solid var(--stzh-admin-blue2);
  border-radius: 14px;
  padding: 12px 16px;
  color: #12385f;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 8px 22px rgba(15,23,42,.04);
}

.stzh-admin-crumb span {
  color: var(--stzh-admin-muted);
  font-weight: 600;
}

/* 导航滚动区 */
.stzh-admin-nav {
  padding: 14px;
  overflow-y: auto;
  flex: 1;
}

/* 分组块 */
.stzh-admin-section {
  margin-bottom: 15px;
  border-radius: 18px;
  padding: 10px;
  border: 1px solid #edf2f7;
  background: #fbfdff;
}

.stzh-admin-section.common {
  background: linear-gradient(180deg, #eff6ff, #ffffff);
}

.stzh-admin-section.system {
  background: linear-gradient(180deg, #fff7ed, #ffffff);
}

.stzh-admin-section.content {
  background: linear-gradient(180deg, #f0fdf4, #ffffff);
}

.stzh-admin-section.legacy {
  background: linear-gradient(180deg, #f5f3ff, #ffffff);
}

.stzh-admin-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  padding: 2px 4px;
  font-size: 13px;
  font-weight: 950;
  color: #334155;
}

.stzh-admin-section-title::before {
  content: "";
  width: 8px;
  height: 18px;
  border-radius: 999px;
  background: var(--stzh-admin-blue2);
}

.stzh-admin-section.system .stzh-admin-section-title::before {
  background: var(--stzh-admin-orange);
}

.stzh-admin-section.content .stzh-admin-section-title::before {
  background: var(--stzh-admin-green);
}

.stzh-admin-section.legacy .stzh-admin-section-title::before {
  background: var(--stzh-admin-purple);
}

/* 导航链接 */
.stzh-admin-nav a {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--stzh-admin-text);
  background: rgba(255,255,255,.92);
  border: 1px solid var(--stzh-admin-border);
  border-radius: 14px;
  padding: 11px 12px 11px 16px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.45;
  transition: .16s ease;
}

.stzh-admin-nav a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 4px;
  border-radius: 999px;
  background: #cbd5e1;
}

.stzh-admin-section.common a::before {
  background: #60a5fa;
}

.stzh-admin-section.system a::before {
  background: #fb923c;
}

.stzh-admin-section.content a::before {
  background: #4ade80;
}

.stzh-admin-section.legacy a::before {
  background: #a78bfa;
}

.stzh-admin-nav a span {
  display: block;
  margin-top: 4px;
  color: var(--stzh-admin-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

.stzh-admin-nav a:hover {
  transform: translateX(3px);
  background: #eff6ff;
  border-color: #93c5fd;
  box-shadow: 0 8px 18px rgba(37,99,235,.10);
}

/* 当前页强高亮 */
.stzh-admin-nav a.stzh-active {
  color: #fff;
  background: linear-gradient(135deg, #0b4f8a, #2563eb);
  border-color: #2563eb;
  box-shadow: 0 12px 28px rgba(37,99,235,.26);
}

.stzh-admin-nav a.stzh-active::before {
  background: #facc15;
  width: 5px;
}

.stzh-admin-nav a.stzh-active span {
  color: rgba(255,255,255,.78);
}

/* 底部返回操作 */
.stzh-admin-bottom {
  border-top: 1px solid var(--stzh-admin-border);
  padding: 12px 14px;
  display: grid;
  gap: 8px;
  background: #f8fbff;
}

.stzh-admin-bottom a {
  display: block;
  text-align: center;
  text-decoration: none;
  border-radius: 999px;
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 900;
  color: var(--stzh-admin-text);
  background: #fff;
  border: 1px solid var(--stzh-admin-border);
}

.stzh-admin-bottom a:hover {
  background: #eff6ff;
  border-color: #93c5fd;
}

/* 页面主体略收口，避免靠边 */
.stzh-admin-page .wrap,
.stzh-admin-page .container,
.stzh-admin-page .main,
.stzh-admin-page .main-content,
.stzh-admin-page .page,
.stzh-admin-page .admin-wrap {
  max-width: 1180px;
}

/* 手机顶部导航 */
.stzh-admin-topbar {
  display: none;
}

@media (max-width: 980px) {
  body.stzh-admin-page {
    padding-left: 0 !important;
    padding-top: 72px !important;
  }

  .stzh-admin-sidebar {
    display: none;
  }

  .stzh-admin-crumb {
    margin: 10px 12px;
  }

  .stzh-admin-topbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    min-height: 58px;
    background: #ffffff;
    border-bottom: 1px solid var(--stzh-admin-border);
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
    z-index: 9998;
    padding: 8px 12px;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  }

  .stzh-admin-topbar a {
    flex: 0 0 auto;
    text-decoration: none;
    color: var(--stzh-admin-text);
    background: #f8fbff;
    border: 1px solid var(--stzh-admin-border);
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 900;
  }

  .stzh-admin-topbar a.stzh-active {
    color: #fff;
    background: #2563eb;
    border-color: #2563eb;
  }
}

/* 资源与运营分组 */
.stzh-admin-section.resource {
  background: linear-gradient(180deg, #ecfeff, #ffffff);
}

.stzh-admin-section.resource .stzh-admin-section-title::before {
  background: #0891b2;
}

.stzh-admin-section.resource a::before {
  background: #22d3ee;
}

/* ==================================================
 * 管理端弹窗修复
 * 解决左侧统一管理导航遮挡弹窗、弹窗显示不完整的问题
 * ================================================== */

body.stzh-admin-page .mask,
body.stzh-admin-page .modal-mask,
body.stzh-admin-page .dialog-mask,
body.stzh-admin-page .popup-mask {
  position: fixed !important;
  left: 306px !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  z-index: 10050 !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
}

body.stzh-admin-page .modal,
body.stzh-admin-page .dialog,
body.stzh-admin-page .popup {
  width: min(820px, calc(100vw - 360px)) !important;
  max-width: min(820px, calc(100vw - 360px)) !important;
  max-height: calc(100vh - 48px) !important;
  overflow: auto !important;
  margin: auto !important;
  box-sizing: border-box !important;
}

body.stzh-admin-page .modal-head,
body.stzh-admin-page .dialog-head,
body.stzh-admin-page .popup-head {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: #fff !important;
}

body.stzh-admin-page .foot,
body.stzh-admin-page .modal-foot,
body.stzh-admin-page .dialog-foot,
body.stzh-admin-page .popup-foot {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2 !important;
  background: #fff !important;
}

body.stzh-admin-page .modal .form,
body.stzh-admin-page .dialog .form,
body.stzh-admin-page .popup .form {
  max-height: calc(100vh - 180px) !important;
  overflow: auto !important;
}

/* 平板和手机：弹窗不再避让左侧栏，因为左侧栏会隐藏 */
@media (max-width: 980px) {
  body.stzh-admin-page .mask,
  body.stzh-admin-page .modal-mask,
  body.stzh-admin-page .dialog-mask,
  body.stzh-admin-page .popup-mask {
    left: 0 !important;
    padding: 12px !important;
  }

  body.stzh-admin-page .modal,
  body.stzh-admin-page .dialog,
  body.stzh-admin-page .popup {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
  }

  body.stzh-admin-page .modal .form,
  body.stzh-admin-page .dialog .form,
  body.stzh-admin-page .popup .form {
    grid-template-columns: 1fr !important;
    max-height: calc(100vh - 170px) !important;
  }
}


/* ===== V11 待处理提醒条：桌面端也固定显示在当前位置下方 ===== */
.stzh-admin-crumb,
.stzh-admin-pending {
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: 1212px;
}

.stzh-admin-crumb {
  margin: 16px auto 0;
  min-height: 48px;
  display: flex;
  align-items: center;
  border-radius: 12px;
  box-shadow: 0 5px 16px rgba(15,23,42,.035);
}

.stzh-admin-pending {
  margin: 8px auto 0;
  background: #fffaf5;
  border: 1px solid #fed7aa;
  border-left: 5px solid #f97316;
  border-radius: 12px;
  padding: 9px 14px;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  color: #9a3412;
  box-shadow: 0 5px 16px rgba(15,23,42,.035);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;
}
.stzh-admin-pending-title { margin-right:4px; font-weight:950; color:#9a3412; white-space:nowrap; }
.stzh-admin-pending a { display:inline-flex; align-items:center; gap:5px; min-height:30px; box-sizing:border-box; background:#fff; border:1px solid #fed7aa; color:#9a3412; text-decoration:none; border-radius:999px; padding:5px 10px; font-size:13px; font-weight:800; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.stzh-admin-pending a:hover { background:#fff3e7; border-color:#fb923c; transform:translateY(-1px); }
.stzh-admin-pending a.empty { border-color:#e5e7eb; color:#64748b; background:#f8fafc; }
.stzh-admin-pending b { color:#dc2626; font-size:14px; }
.stzh-admin-pending-note { font-size:12px; color:#64748b; }
.stzh-admin-pending-refresh { min-height:30px; border:1px solid #fdba74; background:#fff; color:#9a3412; border-radius:999px; padding:5px 10px; font-weight:900; cursor:pointer; }
.stzh-admin-pending-refresh:hover { background:#fff3e7; }
@media(max-width:980px){
  .stzh-admin-crumb,.stzh-admin-pending { width:auto; margin-left:12px; margin-right:12px; }
  .stzh-admin-crumb { margin-top:10px; }
  .stzh-admin-pending { margin-top:8px; }
}
