/* ═══════════════════════════════════════════════════
   AUTO-EVO-AI V0.1 — 统一主题样式表
   所有模块页面共享的 CSS 变量和基础组件样式
   ═══════════════════════════════════════════════════ */

/* ── 亮色主题（默认） ── */
:root {
  --bg: #f5f5f8;
  --card: #ffffff;
  --sidebar-bg: #f0f0f4;
  --sidebar-hover: #e4e6ed;
  --sidebar-active: #eef0f8;
  --sidebar-text: #6b7280;
  --sidebar-text2: #9ca3af;
  --sidebar-accent: #4361ee;
  --text: #1a1a2e;
  --text2: #6b7280;
  --text3: #9ca3af;
  --border: #e8eaed;
  --border2: #e5e7eb;
  --accent: #4361ee;
  --accent-hover: #3651d4;
  --accent2: #7209b7;
  --glass: rgba(255,255,255,.7);
  --glow: rgba(67,97,238,.15);
  --shadow: rgba(0,0,0,.08);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-xs: 6px;
  --font: -apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}

/* ── 基础重置 ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;width:100%}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;width:100%;overflow-x:hidden;position:relative}

/* ── 渐变标题 ── */
.grad-title{font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── 侧边栏（120px 宽，与 chat.html 一致） ── */
.sidebar{width:120px;background:var(--sidebar-bg);display:flex;flex-direction:column;padding:4px 0;overflow-y:auto;flex-shrink:0;z-index:10;scrollbar-width:none;border-right:1px solid var(--border)}
.sidebar::-webkit-scrollbar{display:none}
.sidebar .logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;margin:0 auto 4px;flex-shrink:0}
.sbtn{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;border:none;background:transparent;color:var(--sidebar-text);font-size:11px;cursor:pointer;transition:all .15s;text-align:left;white-space:nowrap}
.sbtn .sicon{font-size:13px;width:20px;text-align:center;flex-shrink:0}
.sbtn:hover{background:var(--sidebar-hover);color:var(--text)}
.sbtn.active{background:var(--sidebar-active);color:var(--sidebar-accent);font-weight:600}
.spacer{flex:1}
.divider{height:1px;background:var(--border);margin:4px 10px}

/* ── 主区域 ── */
.main{flex:1;display:flex;flex-direction:column;min-width:0}

/* ── 顶栏 ── */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--card);height:44px}
.topbar-left{display:flex;align-items:center;gap:8px}
.topbar-left h1{font-size:14px;font-weight:600;color:var(--text)}
.topbar-right{display:flex;align-items:center;gap:6px}
.topbar-right button,.topbar-btn{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--sidebar-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .15s}
.topbar-right button:hover,.topbar-btn:hover{background:var(--sidebar-hover);color:var(--text)}

/* ── 搜索框 ── */
.search-box{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card);color:var(--text);font-size:13px;outline:none;transition:border .2s}
.search-box:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--glow)}
.search-box::placeholder{color:var(--text3)}

/* ── 卡片/网格 ├─ */
.card{padding:14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card)}
.gc{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);cursor:pointer;transition:all .2s}
.gc:hover{border-color:var(--accent);box-shadow:0 2px 8px var(--shadow)}
.gc .gicon{font-size:28px;margin-bottom:4px}
.gc .gname{font-size:14px;font-weight:600;color:var(--text)}
.gc .gdesc{font-size:11px;color:var(--text3);margin-top:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:10px}

/* ── 空状态 ── */
.empty{padding:40px 16px;text-align:center;color:var(--text3);font-size:14px}
.loading{padding:30px;text-align:center;color:var(--text3);font-size:14px}

/* ── 消息气泡 ── */
.msg{padding:10px 14px;border-radius:12px;margin:6px 0;max-width:85%;line-height:1.5;font-size:14px}
.msg.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg.bot{background:var(--card);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:4px}
.msg pre{background:rgba(0,0,0,.06);padding:8px;border-radius:6px;overflow-x:auto;font-size:12px;margin:4px 0}
.msg code{background:rgba(0,0,0,.06);padding:1px 4px;border-radius:3px;font-size:12px}

/* ── 块/容器 ── */
.row{display:flex;gap:6px;align-items:center}
.col{display:flex;flex-direction:column;gap:6px}
.badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:10px;background:var(--accent);color:#fff}

/* ── 响应式：移动端通用 ── */
@media(max-width:768px){
  body{-webkit-text-size-adjust:100%}
  table,.table,[class*="table"]{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  [class*="modal"],[class*="dialog"],[class*="overlay"],[class*="popup"]{width:92%;max-width:92%;padding:16px;left:4%;margin:0 auto}
  .msg,pre,code,img,video,iframe,svg,canvas{max-width:100%;height:auto}
  a,button,.btn,[onclick]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(67,97,238,.2)}
}
@media(min-width:769px){
  .hamburger{display:none}
  .sidebar-overlay{display:none!important}
}

/* ── 统计卡片 ── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:12px}
.stat-card{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);text-align:center;background:var(--card)}
.stat-card .snum{font-size:22px;font-weight:700;color:var(--accent)}
.stat-card .slabel{font-size:10px;color:var(--text3);margin-top:2px}

/* ── 标签 ── */
.tag{display:inline-block;font-size:9px;padding:1px 5px;border-radius:3px;margin-top:4px}
.tag.green{background:#d1fae5;color:#065f46}
.tag.yellow{background:#fef3c7;color:#92400e}
.tag.blue{background:#e0e7ff;color:#4338ca}

/* ── 亮暗主题 ── */
/* 暗色模式（点击🌙/☀️切换） */
body.dark{--bg:#0b0b16;--card:rgba(26,26,46,.5);--sidebar-bg:rgba(20,20,35,.9);--sidebar-hover:rgba(45,53,97,.2);--sidebar-active:rgba(67,97,238,.15);--sidebar-text:#c0c0d0;--sidebar-text2:#8892b0;--sidebar-accent:#4361ee;--text:#e8e8ef;--text2:#8892b0;--text3:#636e70;--border:rgba(45,53,97,.4);--border2:#1e293b;--accent:#4361ee;--accent-hover:#3651d4;--accent2:#7209b7;--glass:rgba(255,255,255,.05);--glow:rgba(67,97,238,.2);--shadow:rgba(0,0,0,.2)}
body.dark .msg.bot{background:var(--card);border-color:var(--border)}
body.dark .msg pre,body.dark .msg code{background:rgba(0,0,0,.06)}
body.dark .search-box:focus{box-shadow:0 0 0 2px rgba(59,130,246,.25)}
body.dark .gc:hover{border-color:var(--accent);box-shadow:0 2px 12px rgba(0,0,0,.08)}
/* ── 统一返回按钮（纯←，无下划线）── */
.back-btn,.back-btn:link,.back-btn:visited{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--accent);text-decoration:none!important;border-bottom:none!important;transition:all .15s;border:1px solid var(--border);background:var(--card)}
.back-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none!important}
}
