/* ===== 信八方招商网 · 管理后台样式 v2（浅色科技风） ===== */
:root{
  --admin-bg:#eef2f7; --admin-sidebar:#0f172a; --admin-sidebar-hover:#1e293b;
  --admin-primary:#2563eb; --admin-primary-d:#1d4ed8;
  --admin-danger:#dc2626; --admin-success:#16a34a; --admin-warn:#f59e0b;
  --admin-text:#0f172a; --admin-text2:#64748b; --admin-border:#e2e8f0;
  --admin-shadow:0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.06);
  --admin-shadow-l:0 8px 28px rgba(15,23,42,.12);
  --admin-radius:12px;
}
*{box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'PingFang SC','Microsoft YaHei',sans-serif}

/* ===== 整体布局 ===== */
.admin-body{display:flex;min-height:100vh;background:linear-gradient(180deg,#f1f5f9 0%,#e8eef5 100%);color:var(--admin-text)}

/* ===== 左侧导航 ===== */
.admin-sidebar{width:236px;background:linear-gradient(180deg,#0f172a 0%,#1e293b 100%);color:#94a3b8;flex-shrink:0;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;z-index:20}
.admin-sidebar .logo{padding:18px 18px 14px;border-bottom:1px solid rgba(148,163,184,.12)}
.admin-sidebar .logo .logo-title{font-size:19px;font-weight:700;color:#fff;letter-spacing:.5px}
.admin-sidebar .logo .logo-title span{color:#60a5fa}
.admin-sidebar .logo .logo-sub{font-size:11px;color:#64748b;margin-top:4px;letter-spacing:1px}
/* 导航滚动区（独立于底部操作区） */
.nav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 12px 16px;min-height:0}
.nav-scroll::-webkit-scrollbar{width:4px}
.nav-scroll::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}
.nav-scroll::-webkit-scrollbar-thumb:hover{background:#475569}
/* 分组标题（可点击折叠） */
.nav-group{margin-bottom:2px}
.nav-group-title{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 7px;font-size:11px;color:#64748b;letter-spacing:.8px;font-weight:600;cursor:pointer;user-select:none;border-radius:8px;transition:color .15s ease,background .15s ease}
.nav-group-title:hover{color:#cbd5e1;background:rgba(148,163,184,.08)}
.g-arrow{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .22s ease;opacity:.7;margin-right:4px;margin-top:-2px;flex-shrink:0}
.nav-group.open .g-arrow{transform:rotate(45deg);margin-top:2px}
/* 折叠动画（grid 行高过渡，无需 max-height 魔数） */
.nav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.nav-group.open .nav-sub{grid-template-rows:1fr}
.nav-sub-inner{overflow:hidden;min-height:0}
/* 菜单项 */
.admin-sidebar a{display:flex;align-items:center;gap:11px;padding:9px 12px;margin:1px 0;color:#94a3b8;font-size:13.5px;border-radius:9px;transition:all .16s ease;text-decoration:none;position:relative}
.admin-sidebar a::before{content:'';position:absolute;left:-12px;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:18px;border-radius:0 3px 3px 0;background:#60a5fa;transition:transform .16s ease}
.admin-sidebar a:hover{background:rgba(148,163,184,.12);color:#e2e8f0}
.admin-sidebar a:hover::before{transform:translateY(-50%) scaleY(1)}
.admin-sidebar a .nav-ico{width:28px;height:28px;border-radius:8px;background:rgba(148,163,184,.10);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .16s ease}
.admin-sidebar a:hover .nav-ico{background:rgba(96,165,250,.22);transform:scale(1.06)}
.admin-sidebar a.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.35)}
.admin-sidebar a.active::before{transform:translateY(-50%) scaleY(1);background:#fff}
.admin-sidebar a.active .nav-ico{background:rgba(255,255,255,.18)}
/* 子菜单缩进 */
.nav-sub-inner a{padding-left:14px}
/* 底部操作区 */
.sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid rgba(148,163,184,.12)}
.sidebar-foot a{display:flex;align-items:center;gap:11px;padding:9px 12px;margin:1px 0;color:#94a3b8;font-size:13px;border-radius:9px;transition:all .16s ease;text-decoration:none}
.sidebar-foot a:hover{background:rgba(148,163,184,.12);color:#e2e8f0}
.sidebar-foot a .nav-ico{width:28px;height:28px;border-radius:8px;background:rgba(148,163,184,.10);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.sidebar-foot a:hover .nav-ico{background:rgba(96,165,250,.22)}
.sidebar-foot a.foot-logout:hover{background:rgba(220,38,38,.14);color:#fca5a5}
.sidebar-foot a.foot-logout:hover .nav-ico{background:rgba(220,38,38,.2)}
.sidebar-ver{font-size:10.5px;color:#475569;line-height:1.8;text-align:center;padding:10px 4px 2px}

/* ===== 右侧主区 ===== */
.admin-main{flex:1;margin-left:236px;padding:24px 32px 48px;min-width:0}
.admin-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:16px 24px;margin-bottom:24px;box-shadow:var(--admin-shadow);position:sticky;top:16px;z-index:10;gap:16px}
.admin-header h1{font-size:20px;font-weight:700;color:var(--admin-text);line-height:1.4}
.admin-header .admin-header-sub{font-size:12px;color:var(--admin-text2);margin-top:2px}
.admin-user{display:flex;align-items:center;gap:12px}
.admin-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0}
.admin-user-name{font-size:14px;font-weight:600;color:var(--admin-text);margin-bottom:2px;line-height:1.2}
.admin-user .admin-badge{margin-top:2px}

/* ===== 统计卡片 ===== */
.admin-stat{display:flex;gap:16px;flex-wrap:wrap}
.admin-stat .item{flex:1;min-width:180px;background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:22px 20px;text-align:center;box-shadow:var(--admin-shadow);position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.admin-stat .item::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.admin-stat .item:nth-child(2)::before{background:linear-gradient(90deg,#16a34a,#4ade80)}
.admin-stat .item:nth-child(3)::before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.admin-stat .item:nth-child(4)::before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.admin-stat .item:nth-child(5)::before{background:linear-gradient(90deg,#0891b2,#22d3ee)}
.admin-stat .item:hover{transform:translateY(-3px);box-shadow:var(--admin-shadow-l)}
.admin-stat .item .num{font-size:30px;font-weight:700;color:var(--admin-primary);letter-spacing:-.5px}
.admin-stat .item .label{font-size:13px;color:var(--admin-text2);margin-top:6px}

/* ===== 卡片 ===== */
.admin-card{background:#fff;border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:24px;margin-bottom:20px;box-shadow:var(--admin-shadow)}
.admin-card h3{font-size:15px;font-weight:600;color:var(--admin-text)}

/* ===== 表格 ===== */
.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--admin-radius);overflow:hidden}
.admin-card .admin-table{border:1px solid var(--admin-border);border-radius:var(--admin-radius)}
.admin-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:12.5px;font-weight:600;color:var(--admin-text2);border-bottom:1px solid var(--admin-border);white-space:nowrap}
.admin-table td{padding:13px 16px;font-size:13.5px;color:var(--admin-text);border-bottom:1px solid #f1f5f9;vertical-align:middle}
.admin-table tbody tr:nth-child(even){background:#fafcff}
.admin-table tbody tr:hover td{background:#eff6ff}
.admin-table tbody tr:last-child td{border-bottom:none}

/* ===== 按钮 ===== */
.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 18px;border-radius:8px;font-size:13.5px;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:all .18s ease;line-height:1.4}
.admin-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.15)}
.admin-btn:active{transform:translateY(0)}
.admin-btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}
.admin-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.admin-btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}
.admin-btn-warn{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}
.admin-btn-outline{background:#fff;border:1px solid var(--admin-border);color:var(--admin-text2)}
.admin-btn-outline:hover{border-color:var(--admin-primary);color:var(--admin-primary)}
.admin-btn-sm{padding:4px 11px;font-size:12px;border-radius:6px}

/* ===== 表单 ===== */
.admin-form-group{margin-bottom:18px}
.admin-form-group label{display:block;font-size:13.5px;color:var(--admin-text2);margin-bottom:6px;font-weight:500}
.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:9px 13px;border:1px solid var(--admin-border);border-radius:8px;font-size:14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease;background:#fff;color:var(--admin-text)}
.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:var(--admin-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.admin-form-group textarea{min-height:90px;resize:vertical}
/* ===== 图片上传字段 ===== */
.upload-field{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.upload-field input[type=text]{flex:1;min-width:220px}
.upload-field .admin-btn{flex-shrink:0;white-space:nowrap}
.upload-preview{margin-top:10px;width:120px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--admin-border);background:#f8fafc;display:none}
@media(max-width:560px){.upload-field{flex-direction:column;align-items:stretch}.upload-field .admin-btn{width:100%}}

/* ===== 徽章 ===== */
.admin-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.5}
.admin-badge-success{background:#dcfce7;color:#166534}
.admin-badge-danger{background:#fee2e2;color:#991b1b}
.admin-badge-warn{background:#fef3c7;color:#92400e}
.admin-badge-gray{background:#f1f5f9;color:#475569}

/* ===== 分页 ===== */
.admin-pagination{display:flex;gap:6px;justify-content:center;padding:20px 0 4px}
.admin-pagination a,.admin-pagination span{padding:7px 14px;border:1px solid var(--admin-border);border-radius:8px;font-size:13px;color:var(--admin-text2);text-decoration:none;transition:all .18s ease;background:#fff}
.admin-pagination a:hover{border-color:var(--admin-primary);color:var(--admin-primary)}
.admin-pagination .current{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(37,99,235,.3)}

/* ===== 发文日历 ===== */
.admin-calendar{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;margin:16px 0}
.admin-calendar .slot{height:26px;border-radius:4px;background:#f1f5f9;position:relative;cursor:pointer;transition:transform .12s ease}
.admin-calendar .slot:hover{transform:scale(1.15);z-index:5}
.admin-calendar .slot.has-tasks{background:#bfdbfe}
.admin-calendar .slot.high-load{background:#fde68a}
.admin-calendar .slot.full{background:#fca5a5}
.admin-calendar .slot:hover .tooltip{display:block;position:absolute;bottom:110%;left:50%;transform:translateX(-50%);background:#0f172a;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;white-space:nowrap;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.admin-calendar .tooltip{display:none}

/* ===== 滚动条（主区） ===== */
.admin-main::-webkit-scrollbar{width:8px}
.admin-main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.admin-main::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .admin-sidebar{width:200px}
  .admin-main{margin-left:200px;padding:20px}
  .admin-stat .item{min-width:150px}
}
@media(max-width:768px){
  .admin-body{flex-direction:column}
  .admin-sidebar{position:static;width:100%;height:auto}
  .nav-scroll{max-height:220px}
  .sidebar-foot{display:none}
  .admin-main{margin-left:0;padding:16px}
  .admin-header{position:static;flex-wrap:wrap}
}
